unleash-server 7.5.1 → 7.6.2
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/lib/addons/feature-event-formatter-md-events.d.ts.map +1 -1
- package/dist/lib/addons/feature-event-formatter-md-events.js +16 -1
- package/dist/lib/addons/feature-event-formatter-md-events.js.map +1 -1
- package/dist/lib/addons/slack-app-definition.d.ts.map +1 -1
- package/dist/lib/addons/slack-app-definition.js +4 -1
- package/dist/lib/addons/slack-app-definition.js.map +1 -1
- package/dist/lib/app.d.ts.map +1 -1
- package/dist/lib/app.js +11 -25
- package/dist/lib/app.js.map +1 -1
- package/dist/lib/create-config.d.ts.map +1 -1
- package/dist/lib/create-config.js +3 -0
- package/dist/lib/create-config.js.map +1 -1
- package/dist/lib/db/api-token-store.d.ts +4 -1
- package/dist/lib/db/api-token-store.d.ts.map +1 -1
- package/dist/lib/db/api-token-store.js +17 -3
- package/dist/lib/db/api-token-store.js.map +1 -1
- package/dist/lib/error/bad-gateway-error.d.ts +7 -0
- package/dist/lib/error/bad-gateway-error.d.ts.map +1 -0
- package/dist/lib/error/bad-gateway-error.js +9 -0
- package/dist/lib/error/bad-gateway-error.js.map +1 -0
- package/dist/lib/error/gateway-timeout-error.d.ts +7 -0
- package/dist/lib/error/gateway-timeout-error.d.ts.map +1 -0
- package/dist/lib/error/gateway-timeout-error.js +9 -0
- package/dist/lib/error/gateway-timeout-error.js.map +1 -0
- package/dist/lib/error/index.d.ts +3 -1
- package/dist/lib/error/index.d.ts.map +1 -1
- package/dist/lib/error/index.js +3 -1
- package/dist/lib/error/index.js.map +1 -1
- package/dist/lib/error/unleash-error.d.ts +1 -1
- package/dist/lib/error/unleash-error.d.ts.map +1 -1
- package/dist/lib/error/unleash-error.js +2 -0
- package/dist/lib/error/unleash-error.js.map +1 -1
- package/dist/lib/events/index.d.ts +4 -1
- package/dist/lib/events/index.d.ts.map +1 -1
- package/dist/lib/events/index.js +6 -0
- package/dist/lib/events/index.js.map +1 -1
- package/dist/lib/features/client-feature-toggles/client-feature-toggle-store.d.ts.map +1 -1
- package/dist/lib/features/client-feature-toggles/client-feature-toggle-store.js +5 -0
- package/dist/lib/features/client-feature-toggles/client-feature-toggle-store.js.map +1 -1
- package/dist/lib/features/client-feature-toggles/client-feature-toggle-store.test.d.ts +2 -0
- package/dist/lib/features/client-feature-toggles/client-feature-toggle-store.test.d.ts.map +1 -0
- package/dist/lib/features/client-feature-toggles/client-feature-toggle-store.test.js +53 -0
- package/dist/lib/features/client-feature-toggles/client-feature-toggle-store.test.js.map +1 -0
- package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta-read-model.d.ts.map +1 -1
- package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta-read-model.js +5 -0
- package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta-read-model.js.map +1 -1
- package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta-read-model.test.d.ts +2 -0
- package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta-read-model.test.d.ts.map +1 -0
- package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta-read-model.test.js +59 -0
- package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta-read-model.test.js.map +1 -0
- package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.d.ts +9 -3
- package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.d.ts.map +1 -1
- package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.js +165 -92
- package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.js.map +1 -1
- package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.test.js +475 -1
- package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.test.js.map +1 -1
- package/dist/lib/features/client-feature-toggles/delta/delta-cache.d.ts.map +1 -1
- package/dist/lib/features/client-feature-toggles/delta/delta-cache.js +3 -0
- package/dist/lib/features/client-feature-toggles/delta/delta-cache.js.map +1 -1
- package/dist/lib/features/client-feature-toggles/delta/delta-cache.test.js +15 -0
- package/dist/lib/features/client-feature-toggles/delta/delta-cache.test.js.map +1 -1
- package/dist/lib/features/client-feature-toggles/delta/visible-revision.d.ts +3 -0
- package/dist/lib/features/client-feature-toggles/delta/visible-revision.d.ts.map +1 -0
- package/dist/lib/features/client-feature-toggles/delta/visible-revision.js +16 -0
- package/dist/lib/features/client-feature-toggles/delta/visible-revision.js.map +1 -0
- package/dist/lib/features/client-feature-toggles/delta/visible-revision.test.d.ts +2 -0
- package/dist/lib/features/client-feature-toggles/delta/visible-revision.test.d.ts.map +1 -0
- package/dist/lib/features/client-feature-toggles/delta/visible-revision.test.js +25 -0
- package/dist/lib/features/client-feature-toggles/delta/visible-revision.test.js.map +1 -0
- package/dist/lib/features/context/context.d.ts +0 -1
- package/dist/lib/features/context/context.d.ts.map +1 -1
- package/dist/lib/features/context/context.js +7 -15
- package/dist/lib/features/context/context.js.map +1 -1
- package/dist/lib/features/edgetokens/edge-token-store.d.ts +2 -0
- package/dist/lib/features/edgetokens/edge-token-store.d.ts.map +1 -1
- package/dist/lib/features/edgetokens/edge-token-store.js +20 -0
- package/dist/lib/features/edgetokens/edge-token-store.js.map +1 -1
- package/dist/lib/features/edgetokens/fake-edge-token-store.d.ts +2 -0
- package/dist/lib/features/edgetokens/fake-edge-token-store.d.ts.map +1 -1
- package/dist/lib/features/edgetokens/fake-edge-token-store.js +6 -0
- package/dist/lib/features/edgetokens/fake-edge-token-store.js.map +1 -1
- package/dist/lib/features/events/event-store.d.ts +2 -4
- package/dist/lib/features/events/event-store.d.ts.map +1 -1
- package/dist/lib/features/events/event-store.js +1 -4
- package/dist/lib/features/events/event-store.js.map +1 -1
- package/dist/lib/features/feature-search/feature-search-controller.d.ts.map +1 -1
- package/dist/lib/features/feature-search/feature-search-controller.js +2 -1
- package/dist/lib/features/feature-search/feature-search-controller.js.map +1 -1
- package/dist/lib/features/feature-search/feature-search-service.d.ts.map +1 -1
- package/dist/lib/features/feature-search/feature-search-service.js +5 -0
- package/dist/lib/features/feature-search/feature-search-service.js.map +1 -1
- package/dist/lib/features/feature-search/feature-search-store.d.ts.map +1 -1
- package/dist/lib/features/feature-search/feature-search-store.js +17 -1
- package/dist/lib/features/feature-search/feature-search-store.js.map +1 -1
- package/dist/lib/features/feature-search/feature.search.e2e.test.js +56 -1
- package/dist/lib/features/feature-search/feature.search.e2e.test.js.map +1 -1
- package/dist/lib/features/feature-toggle/configuration-revision-service.d.ts +1 -2
- package/dist/lib/features/feature-toggle/configuration-revision-service.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/configuration-revision-service.js +2 -10
- package/dist/lib/features/feature-toggle/configuration-revision-service.js.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.js +3 -2
- package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.js.map +1 -1
- package/dist/lib/features/feature-toggle/types/feature-toggle-strategies-store-type.d.ts +1 -0
- package/dist/lib/features/feature-toggle/types/feature-toggle-strategies-store-type.d.ts.map +1 -1
- package/dist/lib/features/frontend-api/frontend-api-service.d.ts.map +1 -1
- package/dist/lib/features/frontend-api/frontend-api-service.js +8 -0
- package/dist/lib/features/frontend-api/frontend-api-service.js.map +1 -1
- package/dist/lib/features/frontend-api/frontend-api.e2e.test.js +43 -0
- package/dist/lib/features/frontend-api/frontend-api.e2e.test.js.map +1 -1
- package/dist/lib/features/frontend-api/frontend-api.middleware.e2e.test.d.ts +3 -0
- package/dist/lib/features/frontend-api/frontend-api.middleware.e2e.test.d.ts.map +1 -0
- package/dist/lib/features/frontend-api/frontend-api.middleware.e2e.test.js +1071 -0
- package/dist/lib/features/frontend-api/frontend-api.middleware.e2e.test.js.map +1 -0
- package/dist/lib/features/index.d.ts +1 -0
- package/dist/lib/features/index.d.ts.map +1 -1
- package/dist/lib/features/index.js +1 -0
- package/dist/lib/features/index.js.map +1 -1
- package/dist/lib/features/instance-stats/instance-stats-service.d.ts.map +1 -1
- package/dist/lib/features/instance-stats/instance-stats-service.js +1 -3
- package/dist/lib/features/instance-stats/instance-stats-service.js.map +1 -1
- package/dist/lib/features/metrics/impact/impact-metrics.e2e.test.js +12 -12
- package/dist/lib/features/metrics/impact/impact-metrics.e2e.test.js.map +1 -1
- package/dist/lib/features/metrics/impact/metrics-translator.d.ts +5 -2
- package/dist/lib/features/metrics/impact/metrics-translator.d.ts.map +1 -1
- package/dist/lib/features/metrics/impact/metrics-translator.js +86 -102
- package/dist/lib/features/metrics/impact/metrics-translator.js.map +1 -1
- package/dist/lib/features/metrics/impact/metrics-translator.test.js +70 -112
- package/dist/lib/features/metrics/impact/metrics-translator.test.js.map +1 -1
- package/dist/lib/features/project/createProjectService.d.ts.map +1 -1
- package/dist/lib/features/project/createProjectService.js +6 -0
- package/dist/lib/features/project/createProjectService.js.map +1 -1
- package/dist/lib/features/project/project-service.d.ts +2 -1
- package/dist/lib/features/project/project-service.d.ts.map +1 -1
- package/dist/lib/features/project/project-service.js +3 -1
- package/dist/lib/features/project/project-service.js.map +1 -1
- package/dist/lib/features/project-environments/project-environments.e2e.test.js +37 -0
- package/dist/lib/features/project-environments/project-environments.e2e.test.js.map +1 -1
- package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.d.ts.map +1 -1
- package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.js +2 -5
- package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.js.map +1 -1
- package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.test.js +2 -2
- package/dist/lib/features/release-plans/release-plan-milestone-strategy-service.test.js.map +1 -1
- package/dist/lib/features/release-plans/release-plan-milestone-strategy-store.d.ts +2 -1
- package/dist/lib/features/release-plans/release-plan-milestone-strategy-store.d.ts.map +1 -1
- package/dist/lib/features/release-plans/release-plan-milestone-strategy-store.js +20 -3
- package/dist/lib/features/release-plans/release-plan-milestone-strategy-store.js.map +1 -1
- package/dist/lib/features/release-plans/release-plan-milestone-strategy.d.ts +2 -0
- package/dist/lib/features/release-plans/release-plan-milestone-strategy.d.ts.map +1 -1
- package/dist/lib/features/release-plans/release-plan-store.d.ts.map +1 -1
- package/dist/lib/features/release-plans/release-plan-store.js +2 -0
- package/dist/lib/features/release-plans/release-plan-store.js.map +1 -1
- package/dist/lib/features/release-plans/release-plan-template-store.d.ts.map +1 -1
- package/dist/lib/features/release-plans/release-plan-template-store.js +4 -3
- package/dist/lib/features/release-plans/release-plan-template-store.js.map +1 -1
- package/dist/lib/features/release-plans/release-plan-template-store.test.d.ts +2 -0
- package/dist/lib/features/release-plans/release-plan-template-store.test.d.ts.map +1 -0
- package/dist/lib/features/release-plans/release-plan-template-store.test.js +47 -0
- package/dist/lib/features/release-plans/release-plan-template-store.test.js.map +1 -0
- package/dist/lib/metric-events.d.ts +3 -2
- package/dist/lib/metric-events.d.ts.map +1 -1
- package/dist/lib/metric-events.js +2 -1
- package/dist/lib/metric-events.js.map +1 -1
- package/dist/lib/middleware/api-token-middleware.d.ts.map +1 -1
- package/dist/lib/middleware/api-token-middleware.js +1 -5
- package/dist/lib/middleware/api-token-middleware.js.map +1 -1
- package/dist/lib/middleware/api-token-middleware.test.js +35 -25
- package/dist/lib/middleware/api-token-middleware.test.js.map +1 -1
- package/dist/lib/middleware/backend-token-middleware.d.ts +5 -0
- package/dist/lib/middleware/backend-token-middleware.d.ts.map +1 -0
- package/dist/lib/middleware/backend-token-middleware.js +61 -0
- package/dist/lib/middleware/backend-token-middleware.js.map +1 -0
- package/dist/lib/middleware/backend-token-middleware.test.d.ts +2 -0
- package/dist/lib/middleware/backend-token-middleware.test.d.ts.map +1 -0
- package/dist/lib/middleware/backend-token-middleware.test.js +73 -0
- package/dist/lib/middleware/backend-token-middleware.test.js.map +1 -0
- package/dist/lib/middleware/conditional-middleware.d.ts +20 -0
- package/dist/lib/middleware/conditional-middleware.d.ts.map +1 -1
- package/dist/lib/middleware/conditional-middleware.js +26 -0
- package/dist/lib/middleware/conditional-middleware.js.map +1 -1
- package/dist/lib/middleware/conditional-middleware.test.d.ts +2 -0
- package/dist/lib/middleware/conditional-middleware.test.d.ts.map +1 -0
- package/dist/lib/middleware/conditional-middleware.test.js +31 -0
- package/dist/lib/middleware/conditional-middleware.test.js.map +1 -0
- package/dist/lib/middleware/frontend-token-middleware.d.ts +5 -0
- package/dist/lib/middleware/frontend-token-middleware.d.ts.map +1 -0
- package/dist/lib/middleware/frontend-token-middleware.js +61 -0
- package/dist/lib/middleware/frontend-token-middleware.js.map +1 -0
- package/dist/lib/middleware/user-token-client-api-logger-middleware.js +1 -1
- package/dist/lib/middleware/user-token-client-api-logger-middleware.js.map +1 -1
- package/dist/lib/openapi/spec/event-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/event-search-response-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/events-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/export-result-schema.d.ts +1018 -100
- package/dist/lib/openapi/spec/export-result-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/export-result-schema.js +4 -2
- package/dist/lib/openapi/spec/export-result-schema.js.map +1 -1
- package/dist/lib/openapi/spec/feature-environment-safeguard-schema.d.ts +168 -0
- package/dist/lib/openapi/spec/feature-environment-safeguard-schema.d.ts.map +1 -0
- package/dist/lib/openapi/spec/feature-environment-safeguard-schema.js +66 -0
- package/dist/lib/openapi/spec/feature-environment-safeguard-schema.js.map +1 -0
- package/dist/lib/openapi/spec/feature-environment-schema.d.ts +265 -7
- package/dist/lib/openapi/spec/feature-environment-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/feature-environment-schema.js +13 -0
- package/dist/lib/openapi/spec/feature-environment-schema.js.map +1 -1
- package/dist/lib/openapi/spec/feature-events-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/feature-schema.d.ts +475 -16
- package/dist/lib/openapi/spec/feature-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/feature-schema.js +4 -2
- package/dist/lib/openapi/spec/feature-schema.js.map +1 -1
- package/dist/lib/openapi/spec/feature-search-environment-schema.d.ts +688 -14
- package/dist/lib/openapi/spec/feature-search-environment-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/feature-search-environment-schema.js +8 -0
- package/dist/lib/openapi/spec/feature-search-environment-schema.js.map +1 -1
- package/dist/lib/openapi/spec/feature-search-query-parameters.d.ts +10 -1
- package/dist/lib/openapi/spec/feature-search-query-parameters.d.ts.map +1 -1
- package/dist/lib/openapi/spec/feature-search-query-parameters.js +10 -0
- package/dist/lib/openapi/spec/feature-search-query-parameters.js.map +1 -1
- package/dist/lib/openapi/spec/feature-search-response-schema.d.ts +8097 -155
- package/dist/lib/openapi/spec/feature-search-response-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/feature-search-response-schema.js +22 -0
- package/dist/lib/openapi/spec/feature-search-response-schema.js.map +1 -1
- package/dist/lib/openapi/spec/health-overview-schema.d.ts +1336 -210
- package/dist/lib/openapi/spec/health-overview-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/health-overview-schema.js +8 -0
- package/dist/lib/openapi/spec/health-overview-schema.js.map +1 -1
- package/dist/lib/openapi/spec/health-report-schema.d.ts +1336 -210
- package/dist/lib/openapi/spec/health-report-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/import-toggles-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/import-toggles-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/import-toggles-schema.js +4 -2
- package/dist/lib/openapi/spec/import-toggles-schema.js.map +1 -1
- package/dist/lib/openapi/spec/index.d.ts +4 -2
- package/dist/lib/openapi/spec/index.d.ts.map +1 -1
- package/dist/lib/openapi/spec/index.js +4 -2
- package/dist/lib/openapi/spec/index.js.map +1 -1
- package/dist/lib/openapi/spec/integration-event-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/integration-events-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/metric-query-schema.d.ts +6 -0
- package/dist/lib/openapi/spec/metric-query-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/metric-query-schema.js +6 -0
- package/dist/lib/openapi/spec/metric-query-schema.js.map +1 -1
- package/dist/lib/openapi/spec/profile-schema.d.ts +475 -16
- package/dist/lib/openapi/spec/profile-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/project-overview-schema.d.ts +1336 -210
- package/dist/lib/openapi/spec/project-overview-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/project-overview-schema.js +8 -0
- package/dist/lib/openapi/spec/project-overview-schema.js.map +1 -1
- package/dist/lib/openapi/spec/release-plan-milestone-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.js +1 -1
- package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.js.map +1 -1
- package/dist/lib/openapi/spec/{safeguard-schema.d.ts → release-plan-safeguard-schema.d.ts} +16 -4
- package/dist/lib/openapi/spec/release-plan-safeguard-schema.d.ts.map +1 -0
- package/dist/lib/openapi/spec/{safeguard-schema.js → release-plan-safeguard-schema.js} +3 -3
- package/dist/lib/openapi/spec/release-plan-safeguard-schema.js.map +1 -0
- package/dist/lib/openapi/spec/release-plan-schema.d.ts +23 -5
- package/dist/lib/openapi/spec/release-plan-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/release-plan-schema.js +3 -3
- package/dist/lib/openapi/spec/release-plan-schema.js.map +1 -1
- package/dist/lib/openapi/spec/release-plan-template-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/release-plan-templates-schema.d.ts +2897 -0
- package/dist/lib/openapi/spec/release-plan-templates-schema.d.ts.map +1 -0
- package/dist/lib/openapi/spec/release-plan-templates-schema.js +29 -0
- package/dist/lib/openapi/spec/release-plan-templates-schema.js.map +1 -0
- package/dist/lib/openapi/spec/release-plans-schema.d.ts +45 -9
- package/dist/lib/openapi/spec/release-plans-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/release-plans-schema.js +2 -2
- package/dist/lib/openapi/spec/release-plans-schema.js.map +1 -1
- package/dist/lib/openapi/spec/search-features-schema.d.ts +13694 -5078
- package/dist/lib/openapi/spec/search-features-schema.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/api-token.js +1 -1
- package/dist/lib/routes/admin-api/api-token.js.map +1 -1
- package/dist/lib/routes/admin-api/project/api-token.js +1 -1
- package/dist/lib/routes/admin-api/project/api-token.js.map +1 -1
- package/dist/lib/routes/logout.js +1 -1
- package/dist/lib/routes/logout.js.map +1 -1
- package/dist/lib/routes/logout.test.js +4 -4
- package/dist/lib/routes/logout.test.js.map +1 -1
- package/dist/lib/schema/api-token-schema.d.ts.map +1 -1
- package/dist/lib/schema/api-token-schema.js +1 -0
- package/dist/lib/schema/api-token-schema.js.map +1 -1
- package/dist/lib/server-impl.d.ts +5 -5
- package/dist/lib/server-impl.d.ts.map +1 -1
- package/dist/lib/server-impl.js +3 -3
- package/dist/lib/server-impl.js.map +1 -1
- package/dist/lib/services/api-token-service.d.ts +2 -2
- package/dist/lib/services/api-token-service.d.ts.map +1 -1
- package/dist/lib/services/api-token-service.js +5 -3
- package/dist/lib/services/api-token-service.js.map +1 -1
- package/dist/lib/services/api-token-service.test.js +5 -4
- package/dist/lib/services/api-token-service.test.js.map +1 -1
- package/dist/lib/services/edge-service.d.ts +1 -0
- package/dist/lib/services/edge-service.d.ts.map +1 -1
- package/dist/lib/services/edge-service.js +5 -2
- package/dist/lib/services/edge-service.js.map +1 -1
- package/dist/lib/services/user-service.d.ts.map +1 -1
- package/dist/lib/services/user-service.js +0 -4
- package/dist/lib/services/user-service.js.map +1 -1
- package/dist/lib/types/experimental.d.ts +1 -1
- package/dist/lib/types/experimental.d.ts.map +1 -1
- package/dist/lib/types/experimental.js +7 -8
- package/dist/lib/types/experimental.js.map +1 -1
- package/dist/lib/types/model.d.ts +2 -1
- package/dist/lib/types/model.d.ts.map +1 -1
- package/dist/lib/types/model.js.map +1 -1
- package/dist/lib/types/option.d.ts +2 -0
- package/dist/lib/types/option.d.ts.map +1 -1
- package/dist/lib/types/stores/api-token-store.d.ts +2 -1
- package/dist/lib/types/stores/api-token-store.d.ts.map +1 -1
- package/dist/lib/types/stores/edge-store.d.ts +2 -0
- package/dist/lib/types/stores/edge-store.d.ts.map +1 -1
- package/dist/lib/types/stores/event-store.d.ts +1 -1
- package/dist/lib/types/stores/event-store.d.ts.map +1 -1
- package/dist/lib/util/clone-db-config.d.ts +3 -0
- package/dist/lib/util/clone-db-config.d.ts.map +1 -0
- package/dist/lib/util/clone-db-config.js +18 -0
- package/dist/lib/util/clone-db-config.js.map +1 -0
- package/dist/lib/util/clone-db-config.test.d.ts +2 -0
- package/dist/lib/util/clone-db-config.test.d.ts.map +1 -0
- package/dist/lib/util/clone-db-config.test.js +40 -0
- package/dist/lib/util/clone-db-config.test.js.map +1 -0
- package/dist/lib/util/db-lock.d.ts.map +1 -1
- package/dist/lib/util/db-lock.js +2 -3
- package/dist/lib/util/db-lock.js.map +1 -1
- package/dist/lib/util/sortStrategies.d.ts +1 -1
- package/dist/lib/util/sortStrategies.d.ts.map +1 -1
- package/dist/lib/util/sortStrategies.js +6 -2
- package/dist/lib/util/sortStrategies.js.map +1 -1
- package/dist/lib/util/sortStrategies.test.js +21 -0
- package/dist/lib/util/sortStrategies.test.js.map +1 -1
- package/dist/migrations/20260309125735-drop-cascade-for-edge-api-token.d.ts +3 -0
- package/dist/migrations/20260309125735-drop-cascade-for-edge-api-token.d.ts.map +1 -0
- package/dist/migrations/20260309125735-drop-cascade-for-edge-api-token.js +15 -0
- package/dist/migrations/20260309125735-drop-cascade-for-edge-api-token.js.map +1 -0
- package/dist/migrations/20260310134100-split-safeguards-table.d.ts +3 -0
- package/dist/migrations/20260310134100-split-safeguards-table.d.ts.map +1 -0
- package/dist/migrations/20260310134100-split-safeguards-table.js +31 -0
- package/dist/migrations/20260310134100-split-safeguards-table.js.map +1 -0
- package/dist/migrations/20260311073041-migrate-safeguards-data.d.ts +3 -0
- package/dist/migrations/20260311073041-migrate-safeguards-data.d.ts.map +1 -0
- package/dist/migrations/20260311073041-migrate-safeguards-data.js +42 -0
- package/dist/migrations/20260311073041-migrate-safeguards-data.js.map +1 -0
- package/dist/migrations/20260312100000-release-plans-fix-cascade-on-env-disconnect.d.ts +3 -0
- package/dist/migrations/20260312100000-release-plans-fix-cascade-on-env-disconnect.d.ts.map +1 -0
- package/dist/migrations/20260312100000-release-plans-fix-cascade-on-env-disconnect.js +31 -0
- package/dist/migrations/20260312100000-release-plans-fix-cascade-on-env-disconnect.js.map +1 -0
- package/dist/migrations/20260316113111-update-memory-usage-to-big-int.d.ts +3 -0
- package/dist/migrations/20260316113111-update-memory-usage-to-big-int.d.ts.map +1 -0
- package/dist/migrations/20260316113111-update-memory-usage-to-big-int.js +8 -0
- package/dist/migrations/20260316113111-update-memory-usage-to-big-int.js.map +1 -0
- package/dist/migrations/20260316140000-safeguards-fix-cascade-on-env-disconnect.d.ts +3 -0
- package/dist/migrations/20260316140000-safeguards-fix-cascade-on-env-disconnect.d.ts.map +1 -0
- package/dist/migrations/20260316140000-safeguards-fix-cascade-on-env-disconnect.js +54 -0
- package/dist/migrations/20260316140000-safeguards-fix-cascade-on-env-disconnect.js.map +1 -0
- package/dist/migrations/20260317140000-safeguards-drop-project-not-null.d.ts +3 -0
- package/dist/migrations/20260317140000-safeguards-drop-project-not-null.d.ts.map +1 -0
- package/dist/migrations/20260317140000-safeguards-drop-project-not-null.js +21 -0
- package/dist/migrations/20260317140000-safeguards-drop-project-not-null.js.map +1 -0
- package/dist/migrations/20260318100000-safeguards-drop-project-column.d.ts +3 -0
- package/dist/migrations/20260318100000-safeguards-drop-project-column.d.ts.map +1 -0
- package/dist/migrations/20260318100000-safeguards-drop-project-column.js +14 -0
- package/dist/migrations/20260318100000-safeguards-drop-project-column.js.map +1 -0
- package/dist/migrations/20260406132537-user-access-requests.d.ts +3 -0
- package/dist/migrations/20260406132537-user-access-requests.d.ts.map +1 -0
- package/dist/migrations/20260406132537-user-access-requests.js +16 -0
- package/dist/migrations/20260406132537-user-access-requests.js.map +1 -0
- package/dist/migrations/20260406161629-user-access-requests-unique-email.d.ts +3 -0
- package/dist/migrations/20260406161629-user-access-requests-unique-email.d.ts.map +1 -0
- package/dist/migrations/20260406161629-user-access-requests-unique-email.js +14 -0
- package/dist/migrations/20260406161629-user-access-requests-unique-email.js.map +1 -0
- package/dist/migrator.d.ts.map +1 -1
- package/dist/migrator.js +4 -3
- package/dist/migrator.js.map +1 -1
- package/dist/server-dev.js +4 -7
- package/dist/server-dev.js.map +1 -1
- package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js +5 -5
- package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/api-token.e2e.test.js +3 -2
- package/dist/test/e2e/api/admin/api-token.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/conditional-middleware.e2e.test.js +106 -38
- package/dist/test/e2e/api/admin/conditional-middleware.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/context-api-include-query-params.e2e.test.js +1 -7
- package/dist/test/e2e/api/admin/context-api-include-query-params.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/project/api-token.e2e.test.js +2 -1
- package/dist/test/e2e/api/admin/project/api-token.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/project/project.api.tokens.e2e.test.js +5 -5
- package/dist/test/e2e/api/admin/project/project.api.tokens.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/project-context.e2e.test.js +1 -7
- package/dist/test/e2e/api/admin/project-context.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/feature.token.access.e2e.test.js +34 -1
- package/dist/test/e2e/api/client/feature.token.access.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/api-token-service.e2e.test.js +21 -6
- package/dist/test/e2e/services/api-token-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/edge-service.e2e.test.js +4 -3
- package/dist/test/e2e/services/edge-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/api-token-store.e2e.test.js +15 -14
- package/dist/test/e2e/stores/api-token-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/event-store.e2e.test.js +8 -9
- package/dist/test/e2e/stores/event-store.e2e.test.js.map +1 -1
- package/dist/test/fixtures/fake-api-token-store.d.ts +2 -1
- package/dist/test/fixtures/fake-api-token-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-api-token-store.js +4 -1
- package/dist/test/fixtures/fake-api-token-store.js.map +1 -1
- package/dist/test/fixtures/fake-event-store.d.ts +1 -1
- package/dist/test/fixtures/fake-event-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-event-store.js +1 -1
- package/dist/test/fixtures/fake-event-store.js.map +1 -1
- package/dist/test/fixtures/fake-release-plan-milestone-strategy-store.d.ts +2 -2
- package/dist/test/fixtures/fake-release-plan-milestone-strategy-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-release-plan-milestone-strategy-store.js +3 -2
- package/dist/test/fixtures/fake-release-plan-milestone-strategy-store.js.map +1 -1
- package/frontend/build/index.html +1 -1
- package/frontend/build/static/AdvancedPlayground-BTPrG6RW.js +3 -0
- package/frontend/build/static/BackendConnections-CRh8Vxoe.js +1 -0
- package/frontend/build/static/{CreateProject-DV-Ad8Sn.js → CreateProject-DEMalH1j.js} +1 -1
- package/frontend/build/static/EnterpriseEdge-Cp-pGMa0.js +6 -0
- package/frontend/build/static/FeatureMetricsChart-DQOE71LA.js +2 -0
- package/frontend/build/static/FeatureStaleDialog-B6BfnDiQ.js +689 -0
- package/frontend/build/static/{FeatureViewLazyExport-Bsw7-knb.js → FeatureViewLazyExport-BkNTNFqK.js} +4 -7
- package/frontend/build/static/FlagMetricsChart-zYDF9bet.js +2 -0
- package/frontend/build/static/FrontendNetworkTrafficUsage-CbxdFXH7.js +1 -0
- package/frontend/build/static/GridLayoutWrapper-Cq6Bzm36.js +3 -0
- package/frontend/build/static/ImpactMetricsPage-CFYXYXPb.js +1 -0
- package/frontend/build/static/LazyAdminExport-ByTh4iFa.js +38 -0
- package/frontend/build/static/LazyProjectExport-K12Xy3w9.js +46 -0
- package/frontend/build/static/{LifecycleChartComponent-cxR-TN3V.js → LifecycleChartComponent-DHvlFNd2.js} +3 -3
- package/frontend/build/static/LineChartComponent-BlhKm3cw.js +1 -0
- package/frontend/build/static/MarkCompletedDialogue-apmlFjVY.js +1 -0
- package/frontend/build/static/{NetworkOverview-DxaPXUzZ.js → NetworkOverview-BiLOuQ4c.js} +1 -1
- package/frontend/build/static/{NetworkPrometheusAPIWarning-ltyTlXFF.js → NetworkPrometheusAPIWarning-CYo3j2Tj.js} +1 -1
- package/frontend/build/static/{NetworkTraffic-Dhw4yIBs.js → NetworkTraffic-DONL5oIx.js} +1 -1
- package/frontend/build/static/NetworkTrafficUsage-DjQiYq0S.js +1 -0
- package/frontend/build/static/{PercentageDonut-JGNh2FVZ.js → PercentageDonut-CA9hYg3v.js} +1 -1
- package/frontend/build/static/{ReactJSONEditor-GHl7KvdS.js → ReactJSONEditor-9cJL1vJY.js} +31 -31
- package/frontend/build/static/{RoleCell-CjVCxBgl.js → RoleCell-ZzU5Oqy8.js} +1 -1
- package/frontend/build/static/Safeguard-DY1N4aPz.js +1 -0
- package/frontend/build/static/aggregateFeatureMetrics-D6bHft_C.js +1 -0
- package/frontend/build/static/{formatTickValue-BZb4ZIL9.js → formatTickValue-BcLsqREh.js} +2 -2
- package/frontend/build/static/{index-DcWBU_a4.js → index-B87DWXbl.js} +1 -1
- package/frontend/build/static/index-CoLhlfXP.js +565 -0
- package/frontend/build/static/loginBackground-CQx0IRYc.png +0 -0
- package/frontend/build/static/{networkTrafficUsageHighlightPlugin-BbfAyDiQ.js → networkTrafficUsageHighlightPlugin-CqEM-cK_.js} +1 -1
- package/frontend/build/static/passwordSuccess-fcvTEYOw.png +0 -0
- package/frontend/build/static/useApiTokens-ClWvohC9.js +1 -0
- package/frontend/package.json +50 -42
- package/package.json +11 -10
- package/dist/lib/openapi/spec/safeguard-schema.d.ts.map +0 -1
- package/dist/lib/openapi/spec/safeguard-schema.js.map +0 -1
- package/frontend/build/static/AdvancedPlayground-CF0hkpiE.js +0 -3
- package/frontend/build/static/BackendConnections-DhZczar-.js +0 -1
- package/frontend/build/static/EnterpriseEdge-D1To2ugP.js +0 -3
- package/frontend/build/static/FeatureMetricsChart-D8sRgx5P.js +0 -2
- package/frontend/build/static/FeatureStaleDialog-DOkhgvaj.js +0 -7
- package/frontend/build/static/FlagMetricsChart-CF_kEyQa.js +0 -2
- package/frontend/build/static/FrontendNetworkTrafficUsage-C8zJSvoc.js +0 -1
- package/frontend/build/static/GridLayoutWrapper-DpJcUbQB.js +0 -3
- package/frontend/build/static/ImpactMetricsPage-KLVv-tP4.js +0 -1
- package/frontend/build/static/LazyAdminExport-CWQiknO-.js +0 -38
- package/frontend/build/static/LazyProjectExport-DsMn4Yxm.js +0 -728
- package/frontend/build/static/LineChartComponent-_yZEp3dd.js +0 -1
- package/frontend/build/static/MarkCompletedDialogue-DFtLyDN0.js +0 -1
- package/frontend/build/static/NetworkTrafficUsage-deKWRhIS.js +0 -1
- package/frontend/build/static/aggregateFeatureMetrics-YEdZNNoV.js +0 -1
- package/frontend/build/static/index-DMSjiFEm.js +0 -583
- package/frontend/build/static/useApiTokens-DBB3NvXL.js +0 -1
|
@@ -1151,6 +1151,13 @@ export declare const projectOverviewSchema: {
|
|
|
1151
1151
|
readonly $ref: "#/components/schemas/releasePlanSchema";
|
|
1152
1152
|
};
|
|
1153
1153
|
};
|
|
1154
|
+
readonly safeguards: {
|
|
1155
|
+
readonly type: "array";
|
|
1156
|
+
readonly description: "Safeguards for this feature environment";
|
|
1157
|
+
readonly items: {
|
|
1158
|
+
readonly $ref: "#/components/schemas/featureEnvironmentSafeguardSchema";
|
|
1159
|
+
};
|
|
1160
|
+
};
|
|
1154
1161
|
readonly yes: {
|
|
1155
1162
|
readonly type: "integer";
|
|
1156
1163
|
readonly description: "How many times the feature evaluated to true (enabled)";
|
|
@@ -1609,7 +1616,7 @@ export declare const projectOverviewSchema: {
|
|
|
1609
1616
|
readonly type: "array";
|
|
1610
1617
|
readonly description: "An array of safeguards configured for this release plan.";
|
|
1611
1618
|
readonly items: {
|
|
1612
|
-
readonly $ref: "#/components/schemas/
|
|
1619
|
+
readonly $ref: "#/components/schemas/releasePlanSafeguardSchema";
|
|
1613
1620
|
};
|
|
1614
1621
|
};
|
|
1615
1622
|
};
|
|
@@ -1694,7 +1701,7 @@ export declare const projectOverviewSchema: {
|
|
|
1694
1701
|
readonly additionalProperties: false;
|
|
1695
1702
|
readonly description: "Schema representing the creation of a release plan milestone strategy.";
|
|
1696
1703
|
readonly type: "object";
|
|
1697
|
-
readonly required: readonly ["id", "milestoneId", "sortOrder", "strategyName"];
|
|
1704
|
+
readonly required: readonly ["id", "milestoneId", "sortOrder", "name", "strategyName"];
|
|
1698
1705
|
readonly properties: {
|
|
1699
1706
|
readonly id: {
|
|
1700
1707
|
readonly type: "string";
|
|
@@ -2363,7 +2370,7 @@ export declare const projectOverviewSchema: {
|
|
|
2363
2370
|
readonly additionalProperties: false;
|
|
2364
2371
|
readonly description: "Schema representing the creation of a release plan milestone strategy.";
|
|
2365
2372
|
readonly type: "object";
|
|
2366
|
-
readonly required: readonly ["id", "milestoneId", "sortOrder", "strategyName"];
|
|
2373
|
+
readonly required: readonly ["id", "milestoneId", "sortOrder", "name", "strategyName"];
|
|
2367
2374
|
readonly properties: {
|
|
2368
2375
|
readonly id: {
|
|
2369
2376
|
readonly type: "string";
|
|
@@ -3024,8 +3031,8 @@ export declare const projectOverviewSchema: {
|
|
|
3024
3031
|
};
|
|
3025
3032
|
readonly components: {};
|
|
3026
3033
|
};
|
|
3027
|
-
readonly
|
|
3028
|
-
readonly $id: "#/components/schemas/
|
|
3034
|
+
readonly releasePlanSafeguardSchema: {
|
|
3035
|
+
readonly $id: "#/components/schemas/releasePlanSafeguardSchema";
|
|
3029
3036
|
readonly type: "object";
|
|
3030
3037
|
readonly required: readonly ["id", "action", "triggerCondition", "impactMetric"];
|
|
3031
3038
|
readonly description: "A safeguard configuration for a release plan.";
|
|
@@ -3094,6 +3101,12 @@ export declare const projectOverviewSchema: {
|
|
|
3094
3101
|
readonly project: readonly ["default"];
|
|
3095
3102
|
};
|
|
3096
3103
|
};
|
|
3104
|
+
readonly source: {
|
|
3105
|
+
readonly type: "string";
|
|
3106
|
+
readonly enum: readonly ["internal", "external"];
|
|
3107
|
+
readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
|
|
3108
|
+
readonly example: "internal";
|
|
3109
|
+
};
|
|
3097
3110
|
readonly id: {
|
|
3098
3111
|
readonly type: "string";
|
|
3099
3112
|
readonly description: "The unique identifier for this impact metric";
|
|
@@ -3143,6 +3156,12 @@ export declare const projectOverviewSchema: {
|
|
|
3143
3156
|
readonly project: readonly ["default"];
|
|
3144
3157
|
};
|
|
3145
3158
|
};
|
|
3159
|
+
readonly source: {
|
|
3160
|
+
readonly type: "string";
|
|
3161
|
+
readonly enum: readonly ["internal", "external"];
|
|
3162
|
+
readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
|
|
3163
|
+
readonly example: "internal";
|
|
3164
|
+
};
|
|
3146
3165
|
};
|
|
3147
3166
|
readonly components: {};
|
|
3148
3167
|
};
|
|
@@ -3208,6 +3227,12 @@ export declare const projectOverviewSchema: {
|
|
|
3208
3227
|
readonly project: readonly ["default"];
|
|
3209
3228
|
};
|
|
3210
3229
|
};
|
|
3230
|
+
readonly source: {
|
|
3231
|
+
readonly type: "string";
|
|
3232
|
+
readonly enum: readonly ["internal", "external"];
|
|
3233
|
+
readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
|
|
3234
|
+
readonly example: "internal";
|
|
3235
|
+
};
|
|
3211
3236
|
};
|
|
3212
3237
|
readonly components: {};
|
|
3213
3238
|
};
|
|
@@ -3314,7 +3339,7 @@ export declare const projectOverviewSchema: {
|
|
|
3314
3339
|
readonly additionalProperties: false;
|
|
3315
3340
|
readonly description: "Schema representing the creation of a release plan milestone strategy.";
|
|
3316
3341
|
readonly type: "object";
|
|
3317
|
-
readonly required: readonly ["id", "milestoneId", "sortOrder", "strategyName"];
|
|
3342
|
+
readonly required: readonly ["id", "milestoneId", "sortOrder", "name", "strategyName"];
|
|
3318
3343
|
readonly properties: {
|
|
3319
3344
|
readonly id: {
|
|
3320
3345
|
readonly type: "string";
|
|
@@ -3983,7 +4008,7 @@ export declare const projectOverviewSchema: {
|
|
|
3983
4008
|
readonly additionalProperties: false;
|
|
3984
4009
|
readonly description: "Schema representing the creation of a release plan milestone strategy.";
|
|
3985
4010
|
readonly type: "object";
|
|
3986
|
-
readonly required: readonly ["id", "milestoneId", "sortOrder", "strategyName"];
|
|
4011
|
+
readonly required: readonly ["id", "milestoneId", "sortOrder", "name", "strategyName"];
|
|
3987
4012
|
readonly properties: {
|
|
3988
4013
|
readonly id: {
|
|
3989
4014
|
readonly type: "string";
|
|
@@ -4591,6 +4616,239 @@ export declare const projectOverviewSchema: {
|
|
|
4591
4616
|
};
|
|
4592
4617
|
readonly components: {};
|
|
4593
4618
|
};
|
|
4619
|
+
readonly featureEnvironmentSafeguardSchema: {
|
|
4620
|
+
readonly $id: "#/components/schemas/featureEnvironmentSafeguardSchema";
|
|
4621
|
+
readonly type: "object";
|
|
4622
|
+
readonly required: readonly ["id", "action", "triggerCondition", "impactMetric"];
|
|
4623
|
+
readonly description: "A safeguard configuration for a feature environment.";
|
|
4624
|
+
readonly additionalProperties: false;
|
|
4625
|
+
readonly properties: {
|
|
4626
|
+
readonly id: {
|
|
4627
|
+
readonly type: "string";
|
|
4628
|
+
readonly description: "The unique ULID identifier for this safeguard";
|
|
4629
|
+
readonly example: "01JB9GGTGQYEQ9D40R17T3YVW1";
|
|
4630
|
+
};
|
|
4631
|
+
readonly action: {
|
|
4632
|
+
readonly type: "object";
|
|
4633
|
+
readonly required: readonly ["type", "featureName", "environment", "project"];
|
|
4634
|
+
readonly additionalProperties: false;
|
|
4635
|
+
readonly description: "Disable a feature in an environment when triggered.";
|
|
4636
|
+
readonly properties: {
|
|
4637
|
+
readonly type: {
|
|
4638
|
+
readonly type: "string";
|
|
4639
|
+
readonly description: "The type of action to perform.";
|
|
4640
|
+
readonly example: "disableFeatureEnvironment";
|
|
4641
|
+
};
|
|
4642
|
+
readonly featureName: {
|
|
4643
|
+
readonly type: "string";
|
|
4644
|
+
readonly description: "The feature flag name this safeguard applies to.";
|
|
4645
|
+
};
|
|
4646
|
+
readonly environment: {
|
|
4647
|
+
readonly type: "string";
|
|
4648
|
+
readonly description: "The environment this safeguard applies to.";
|
|
4649
|
+
};
|
|
4650
|
+
readonly project: {
|
|
4651
|
+
readonly type: "string";
|
|
4652
|
+
readonly description: "The project this safeguard applies to.";
|
|
4653
|
+
};
|
|
4654
|
+
};
|
|
4655
|
+
};
|
|
4656
|
+
readonly triggerCondition: {
|
|
4657
|
+
readonly $ref: "#/components/schemas/safeguardTriggerConditionSchema";
|
|
4658
|
+
readonly description: "The condition that triggers the safeguard.";
|
|
4659
|
+
};
|
|
4660
|
+
readonly impactMetric: {
|
|
4661
|
+
readonly type: "object";
|
|
4662
|
+
readonly required: readonly ["id", "metricName", "timeRange", "aggregationMode", "labelSelectors"];
|
|
4663
|
+
readonly additionalProperties: false;
|
|
4664
|
+
readonly properties: {
|
|
4665
|
+
readonly metricName: {
|
|
4666
|
+
readonly type: "string";
|
|
4667
|
+
readonly description: "The Prometheus metric series to query. It includes both unleash prefix and metric type and display name";
|
|
4668
|
+
readonly example: "unleash_counter_feature_toggle_usage_total";
|
|
4669
|
+
};
|
|
4670
|
+
readonly timeRange: {
|
|
4671
|
+
readonly type: "string";
|
|
4672
|
+
readonly enum: readonly ["hour", "day", "week", "month"];
|
|
4673
|
+
readonly description: "The time range for the metric data.";
|
|
4674
|
+
readonly example: "day";
|
|
4675
|
+
};
|
|
4676
|
+
readonly aggregationMode: {
|
|
4677
|
+
readonly type: "string";
|
|
4678
|
+
readonly description: "The aggregation mode for the metric data.";
|
|
4679
|
+
readonly enum: readonly ["rps", "count", "avg", "sum", "p95", "p99", "p50"];
|
|
4680
|
+
readonly example: "rps";
|
|
4681
|
+
};
|
|
4682
|
+
readonly labelSelectors: {
|
|
4683
|
+
readonly type: "object";
|
|
4684
|
+
readonly additionalProperties: {
|
|
4685
|
+
readonly type: "array";
|
|
4686
|
+
readonly items: {
|
|
4687
|
+
readonly type: "string";
|
|
4688
|
+
};
|
|
4689
|
+
};
|
|
4690
|
+
readonly description: "The selected labels and their values for filtering the metric data.";
|
|
4691
|
+
readonly example: {
|
|
4692
|
+
readonly environment: readonly ["development"];
|
|
4693
|
+
readonly project: readonly ["default"];
|
|
4694
|
+
};
|
|
4695
|
+
};
|
|
4696
|
+
readonly source: {
|
|
4697
|
+
readonly type: "string";
|
|
4698
|
+
readonly enum: readonly ["internal", "external"];
|
|
4699
|
+
readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
|
|
4700
|
+
readonly example: "internal";
|
|
4701
|
+
};
|
|
4702
|
+
readonly id: {
|
|
4703
|
+
readonly type: "string";
|
|
4704
|
+
readonly description: "The unique identifier for this impact metric";
|
|
4705
|
+
readonly example: "01JB9GGTGQYEQ9D40R17T3YVW1";
|
|
4706
|
+
};
|
|
4707
|
+
};
|
|
4708
|
+
readonly description: "The metric configuration used to evaluate the safeguard condition.";
|
|
4709
|
+
};
|
|
4710
|
+
};
|
|
4711
|
+
readonly components: {
|
|
4712
|
+
readonly schemas: {
|
|
4713
|
+
readonly metricQuerySchema: {
|
|
4714
|
+
readonly $id: "#/components/schemas/metricQuerySchema";
|
|
4715
|
+
readonly type: "object";
|
|
4716
|
+
readonly required: readonly ["metricName", "timeRange", "aggregationMode", "labelSelectors"];
|
|
4717
|
+
readonly description: "Common metric query configuration for selecting and filtering metric data.";
|
|
4718
|
+
readonly additionalProperties: false;
|
|
4719
|
+
readonly properties: {
|
|
4720
|
+
readonly metricName: {
|
|
4721
|
+
readonly type: "string";
|
|
4722
|
+
readonly description: "The Prometheus metric series to query. It includes both unleash prefix and metric type and display name";
|
|
4723
|
+
readonly example: "unleash_counter_feature_toggle_usage_total";
|
|
4724
|
+
};
|
|
4725
|
+
readonly timeRange: {
|
|
4726
|
+
readonly type: "string";
|
|
4727
|
+
readonly enum: readonly ["hour", "day", "week", "month"];
|
|
4728
|
+
readonly description: "The time range for the metric data.";
|
|
4729
|
+
readonly example: "day";
|
|
4730
|
+
};
|
|
4731
|
+
readonly aggregationMode: {
|
|
4732
|
+
readonly type: "string";
|
|
4733
|
+
readonly description: "The aggregation mode for the metric data.";
|
|
4734
|
+
readonly enum: readonly ["rps", "count", "avg", "sum", "p95", "p99", "p50"];
|
|
4735
|
+
readonly example: "rps";
|
|
4736
|
+
};
|
|
4737
|
+
readonly labelSelectors: {
|
|
4738
|
+
readonly type: "object";
|
|
4739
|
+
readonly additionalProperties: {
|
|
4740
|
+
readonly type: "array";
|
|
4741
|
+
readonly items: {
|
|
4742
|
+
readonly type: "string";
|
|
4743
|
+
};
|
|
4744
|
+
};
|
|
4745
|
+
readonly description: "The selected labels and their values for filtering the metric data.";
|
|
4746
|
+
readonly example: {
|
|
4747
|
+
readonly environment: readonly ["development"];
|
|
4748
|
+
readonly project: readonly ["default"];
|
|
4749
|
+
};
|
|
4750
|
+
};
|
|
4751
|
+
readonly source: {
|
|
4752
|
+
readonly type: "string";
|
|
4753
|
+
readonly enum: readonly ["internal", "external"];
|
|
4754
|
+
readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
|
|
4755
|
+
readonly example: "internal";
|
|
4756
|
+
};
|
|
4757
|
+
};
|
|
4758
|
+
readonly components: {};
|
|
4759
|
+
};
|
|
4760
|
+
readonly safeguardTriggerConditionSchema: {
|
|
4761
|
+
readonly $id: "#/components/schemas/safeguardTriggerConditionSchema";
|
|
4762
|
+
readonly type: "object";
|
|
4763
|
+
readonly required: readonly ["operator", "threshold"];
|
|
4764
|
+
readonly additionalProperties: false;
|
|
4765
|
+
readonly description: "The condition that triggers the safeguard.";
|
|
4766
|
+
readonly properties: {
|
|
4767
|
+
readonly operator: {
|
|
4768
|
+
readonly type: "string";
|
|
4769
|
+
readonly enum: readonly [">", "<"];
|
|
4770
|
+
readonly description: "The comparison operator for the threshold check.";
|
|
4771
|
+
readonly example: ">";
|
|
4772
|
+
};
|
|
4773
|
+
readonly threshold: {
|
|
4774
|
+
readonly type: "number";
|
|
4775
|
+
readonly description: "The threshold value to compare against.";
|
|
4776
|
+
readonly example: 100;
|
|
4777
|
+
};
|
|
4778
|
+
};
|
|
4779
|
+
readonly components: {};
|
|
4780
|
+
};
|
|
4781
|
+
};
|
|
4782
|
+
};
|
|
4783
|
+
};
|
|
4784
|
+
readonly safeguardTriggerConditionSchema: {
|
|
4785
|
+
readonly $id: "#/components/schemas/safeguardTriggerConditionSchema";
|
|
4786
|
+
readonly type: "object";
|
|
4787
|
+
readonly required: readonly ["operator", "threshold"];
|
|
4788
|
+
readonly additionalProperties: false;
|
|
4789
|
+
readonly description: "The condition that triggers the safeguard.";
|
|
4790
|
+
readonly properties: {
|
|
4791
|
+
readonly operator: {
|
|
4792
|
+
readonly type: "string";
|
|
4793
|
+
readonly enum: readonly [">", "<"];
|
|
4794
|
+
readonly description: "The comparison operator for the threshold check.";
|
|
4795
|
+
readonly example: ">";
|
|
4796
|
+
};
|
|
4797
|
+
readonly threshold: {
|
|
4798
|
+
readonly type: "number";
|
|
4799
|
+
readonly description: "The threshold value to compare against.";
|
|
4800
|
+
readonly example: 100;
|
|
4801
|
+
};
|
|
4802
|
+
};
|
|
4803
|
+
readonly components: {};
|
|
4804
|
+
};
|
|
4805
|
+
readonly metricQuerySchema: {
|
|
4806
|
+
readonly $id: "#/components/schemas/metricQuerySchema";
|
|
4807
|
+
readonly type: "object";
|
|
4808
|
+
readonly required: readonly ["metricName", "timeRange", "aggregationMode", "labelSelectors"];
|
|
4809
|
+
readonly description: "Common metric query configuration for selecting and filtering metric data.";
|
|
4810
|
+
readonly additionalProperties: false;
|
|
4811
|
+
readonly properties: {
|
|
4812
|
+
readonly metricName: {
|
|
4813
|
+
readonly type: "string";
|
|
4814
|
+
readonly description: "The Prometheus metric series to query. It includes both unleash prefix and metric type and display name";
|
|
4815
|
+
readonly example: "unleash_counter_feature_toggle_usage_total";
|
|
4816
|
+
};
|
|
4817
|
+
readonly timeRange: {
|
|
4818
|
+
readonly type: "string";
|
|
4819
|
+
readonly enum: readonly ["hour", "day", "week", "month"];
|
|
4820
|
+
readonly description: "The time range for the metric data.";
|
|
4821
|
+
readonly example: "day";
|
|
4822
|
+
};
|
|
4823
|
+
readonly aggregationMode: {
|
|
4824
|
+
readonly type: "string";
|
|
4825
|
+
readonly description: "The aggregation mode for the metric data.";
|
|
4826
|
+
readonly enum: readonly ["rps", "count", "avg", "sum", "p95", "p99", "p50"];
|
|
4827
|
+
readonly example: "rps";
|
|
4828
|
+
};
|
|
4829
|
+
readonly labelSelectors: {
|
|
4830
|
+
readonly type: "object";
|
|
4831
|
+
readonly additionalProperties: {
|
|
4832
|
+
readonly type: "array";
|
|
4833
|
+
readonly items: {
|
|
4834
|
+
readonly type: "string";
|
|
4835
|
+
};
|
|
4836
|
+
};
|
|
4837
|
+
readonly description: "The selected labels and their values for filtering the metric data.";
|
|
4838
|
+
readonly example: {
|
|
4839
|
+
readonly environment: readonly ["development"];
|
|
4840
|
+
readonly project: readonly ["default"];
|
|
4841
|
+
};
|
|
4842
|
+
};
|
|
4843
|
+
readonly source: {
|
|
4844
|
+
readonly type: "string";
|
|
4845
|
+
readonly enum: readonly ["internal", "external"];
|
|
4846
|
+
readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
|
|
4847
|
+
readonly example: "internal";
|
|
4848
|
+
};
|
|
4849
|
+
};
|
|
4850
|
+
readonly components: {};
|
|
4851
|
+
};
|
|
4594
4852
|
};
|
|
4595
4853
|
};
|
|
4596
4854
|
};
|
|
@@ -5047,7 +5305,7 @@ export declare const projectOverviewSchema: {
|
|
|
5047
5305
|
readonly type: "array";
|
|
5048
5306
|
readonly description: "An array of safeguards configured for this release plan.";
|
|
5049
5307
|
readonly items: {
|
|
5050
|
-
readonly $ref: "#/components/schemas/
|
|
5308
|
+
readonly $ref: "#/components/schemas/releasePlanSafeguardSchema";
|
|
5051
5309
|
};
|
|
5052
5310
|
};
|
|
5053
5311
|
};
|
|
@@ -5132,7 +5390,7 @@ export declare const projectOverviewSchema: {
|
|
|
5132
5390
|
readonly additionalProperties: false;
|
|
5133
5391
|
readonly description: "Schema representing the creation of a release plan milestone strategy.";
|
|
5134
5392
|
readonly type: "object";
|
|
5135
|
-
readonly required: readonly ["id", "milestoneId", "sortOrder", "strategyName"];
|
|
5393
|
+
readonly required: readonly ["id", "milestoneId", "sortOrder", "name", "strategyName"];
|
|
5136
5394
|
readonly properties: {
|
|
5137
5395
|
readonly id: {
|
|
5138
5396
|
readonly type: "string";
|
|
@@ -5801,7 +6059,7 @@ export declare const projectOverviewSchema: {
|
|
|
5801
6059
|
readonly additionalProperties: false;
|
|
5802
6060
|
readonly description: "Schema representing the creation of a release plan milestone strategy.";
|
|
5803
6061
|
readonly type: "object";
|
|
5804
|
-
readonly required: readonly ["id", "milestoneId", "sortOrder", "strategyName"];
|
|
6062
|
+
readonly required: readonly ["id", "milestoneId", "sortOrder", "name", "strategyName"];
|
|
5805
6063
|
readonly properties: {
|
|
5806
6064
|
readonly id: {
|
|
5807
6065
|
readonly type: "string";
|
|
@@ -6462,8 +6720,8 @@ export declare const projectOverviewSchema: {
|
|
|
6462
6720
|
};
|
|
6463
6721
|
readonly components: {};
|
|
6464
6722
|
};
|
|
6465
|
-
readonly
|
|
6466
|
-
readonly $id: "#/components/schemas/
|
|
6723
|
+
readonly releasePlanSafeguardSchema: {
|
|
6724
|
+
readonly $id: "#/components/schemas/releasePlanSafeguardSchema";
|
|
6467
6725
|
readonly type: "object";
|
|
6468
6726
|
readonly required: readonly ["id", "action", "triggerCondition", "impactMetric"];
|
|
6469
6727
|
readonly description: "A safeguard configuration for a release plan.";
|
|
@@ -6532,6 +6790,12 @@ export declare const projectOverviewSchema: {
|
|
|
6532
6790
|
readonly project: readonly ["default"];
|
|
6533
6791
|
};
|
|
6534
6792
|
};
|
|
6793
|
+
readonly source: {
|
|
6794
|
+
readonly type: "string";
|
|
6795
|
+
readonly enum: readonly ["internal", "external"];
|
|
6796
|
+
readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
|
|
6797
|
+
readonly example: "internal";
|
|
6798
|
+
};
|
|
6535
6799
|
readonly id: {
|
|
6536
6800
|
readonly type: "string";
|
|
6537
6801
|
readonly description: "The unique identifier for this impact metric";
|
|
@@ -6581,6 +6845,12 @@ export declare const projectOverviewSchema: {
|
|
|
6581
6845
|
readonly project: readonly ["default"];
|
|
6582
6846
|
};
|
|
6583
6847
|
};
|
|
6848
|
+
readonly source: {
|
|
6849
|
+
readonly type: "string";
|
|
6850
|
+
readonly enum: readonly ["internal", "external"];
|
|
6851
|
+
readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
|
|
6852
|
+
readonly example: "internal";
|
|
6853
|
+
};
|
|
6584
6854
|
};
|
|
6585
6855
|
readonly components: {};
|
|
6586
6856
|
};
|
|
@@ -6646,6 +6916,12 @@ export declare const projectOverviewSchema: {
|
|
|
6646
6916
|
readonly project: readonly ["default"];
|
|
6647
6917
|
};
|
|
6648
6918
|
};
|
|
6919
|
+
readonly source: {
|
|
6920
|
+
readonly type: "string";
|
|
6921
|
+
readonly enum: readonly ["internal", "external"];
|
|
6922
|
+
readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
|
|
6923
|
+
readonly example: "internal";
|
|
6924
|
+
};
|
|
6649
6925
|
};
|
|
6650
6926
|
readonly components: {};
|
|
6651
6927
|
};
|
|
@@ -6752,7 +7028,7 @@ export declare const projectOverviewSchema: {
|
|
|
6752
7028
|
readonly additionalProperties: false;
|
|
6753
7029
|
readonly description: "Schema representing the creation of a release plan milestone strategy.";
|
|
6754
7030
|
readonly type: "object";
|
|
6755
|
-
readonly required: readonly ["id", "milestoneId", "sortOrder", "strategyName"];
|
|
7031
|
+
readonly required: readonly ["id", "milestoneId", "sortOrder", "name", "strategyName"];
|
|
6756
7032
|
readonly properties: {
|
|
6757
7033
|
readonly id: {
|
|
6758
7034
|
readonly type: "string";
|
|
@@ -7421,7 +7697,7 @@ export declare const projectOverviewSchema: {
|
|
|
7421
7697
|
readonly additionalProperties: false;
|
|
7422
7698
|
readonly description: "Schema representing the creation of a release plan milestone strategy.";
|
|
7423
7699
|
readonly type: "object";
|
|
7424
|
-
readonly required: readonly ["id", "milestoneId", "sortOrder", "strategyName"];
|
|
7700
|
+
readonly required: readonly ["id", "milestoneId", "sortOrder", "name", "strategyName"];
|
|
7425
7701
|
readonly properties: {
|
|
7426
7702
|
readonly id: {
|
|
7427
7703
|
readonly type: "string";
|
|
@@ -8029,8 +8305,8 @@ export declare const projectOverviewSchema: {
|
|
|
8029
8305
|
};
|
|
8030
8306
|
readonly components: {};
|
|
8031
8307
|
};
|
|
8032
|
-
readonly
|
|
8033
|
-
readonly $id: "#/components/schemas/
|
|
8308
|
+
readonly releasePlanSafeguardSchema: {
|
|
8309
|
+
readonly $id: "#/components/schemas/releasePlanSafeguardSchema";
|
|
8034
8310
|
readonly type: "object";
|
|
8035
8311
|
readonly required: readonly ["id", "action", "triggerCondition", "impactMetric"];
|
|
8036
8312
|
readonly description: "A safeguard configuration for a release plan.";
|
|
@@ -8099,6 +8375,12 @@ export declare const projectOverviewSchema: {
|
|
|
8099
8375
|
readonly project: readonly ["default"];
|
|
8100
8376
|
};
|
|
8101
8377
|
};
|
|
8378
|
+
readonly source: {
|
|
8379
|
+
readonly type: "string";
|
|
8380
|
+
readonly enum: readonly ["internal", "external"];
|
|
8381
|
+
readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
|
|
8382
|
+
readonly example: "internal";
|
|
8383
|
+
};
|
|
8102
8384
|
readonly id: {
|
|
8103
8385
|
readonly type: "string";
|
|
8104
8386
|
readonly description: "The unique identifier for this impact metric";
|
|
@@ -8148,6 +8430,12 @@ export declare const projectOverviewSchema: {
|
|
|
8148
8430
|
readonly project: readonly ["default"];
|
|
8149
8431
|
};
|
|
8150
8432
|
};
|
|
8433
|
+
readonly source: {
|
|
8434
|
+
readonly type: "string";
|
|
8435
|
+
readonly enum: readonly ["internal", "external"];
|
|
8436
|
+
readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
|
|
8437
|
+
readonly example: "internal";
|
|
8438
|
+
};
|
|
8151
8439
|
};
|
|
8152
8440
|
readonly components: {};
|
|
8153
8441
|
};
|
|
@@ -8175,33 +8463,198 @@ export declare const projectOverviewSchema: {
|
|
|
8175
8463
|
};
|
|
8176
8464
|
};
|
|
8177
8465
|
};
|
|
8178
|
-
readonly
|
|
8179
|
-
readonly $id: "#/components/schemas/
|
|
8466
|
+
readonly featureEnvironmentSafeguardSchema: {
|
|
8467
|
+
readonly $id: "#/components/schemas/featureEnvironmentSafeguardSchema";
|
|
8180
8468
|
readonly type: "object";
|
|
8181
|
-
readonly required: readonly ["
|
|
8182
|
-
readonly description: "
|
|
8469
|
+
readonly required: readonly ["id", "action", "triggerCondition", "impactMetric"];
|
|
8470
|
+
readonly description: "A safeguard configuration for a feature environment.";
|
|
8183
8471
|
readonly additionalProperties: false;
|
|
8184
8472
|
readonly properties: {
|
|
8185
|
-
readonly
|
|
8186
|
-
readonly type: "string";
|
|
8187
|
-
readonly description: "The Prometheus metric series to query. It includes both unleash prefix and metric type and display name";
|
|
8188
|
-
readonly example: "unleash_counter_feature_toggle_usage_total";
|
|
8189
|
-
};
|
|
8190
|
-
readonly timeRange: {
|
|
8191
|
-
readonly type: "string";
|
|
8192
|
-
readonly enum: readonly ["hour", "day", "week", "month"];
|
|
8193
|
-
readonly description: "The time range for the metric data.";
|
|
8194
|
-
readonly example: "day";
|
|
8195
|
-
};
|
|
8196
|
-
readonly aggregationMode: {
|
|
8473
|
+
readonly id: {
|
|
8197
8474
|
readonly type: "string";
|
|
8198
|
-
readonly description: "The
|
|
8199
|
-
readonly
|
|
8200
|
-
readonly example: "rps";
|
|
8475
|
+
readonly description: "The unique ULID identifier for this safeguard";
|
|
8476
|
+
readonly example: "01JB9GGTGQYEQ9D40R17T3YVW1";
|
|
8201
8477
|
};
|
|
8202
|
-
readonly
|
|
8478
|
+
readonly action: {
|
|
8203
8479
|
readonly type: "object";
|
|
8204
|
-
readonly
|
|
8480
|
+
readonly required: readonly ["type", "featureName", "environment", "project"];
|
|
8481
|
+
readonly additionalProperties: false;
|
|
8482
|
+
readonly description: "Disable a feature in an environment when triggered.";
|
|
8483
|
+
readonly properties: {
|
|
8484
|
+
readonly type: {
|
|
8485
|
+
readonly type: "string";
|
|
8486
|
+
readonly description: "The type of action to perform.";
|
|
8487
|
+
readonly example: "disableFeatureEnvironment";
|
|
8488
|
+
};
|
|
8489
|
+
readonly featureName: {
|
|
8490
|
+
readonly type: "string";
|
|
8491
|
+
readonly description: "The feature flag name this safeguard applies to.";
|
|
8492
|
+
};
|
|
8493
|
+
readonly environment: {
|
|
8494
|
+
readonly type: "string";
|
|
8495
|
+
readonly description: "The environment this safeguard applies to.";
|
|
8496
|
+
};
|
|
8497
|
+
readonly project: {
|
|
8498
|
+
readonly type: "string";
|
|
8499
|
+
readonly description: "The project this safeguard applies to.";
|
|
8500
|
+
};
|
|
8501
|
+
};
|
|
8502
|
+
};
|
|
8503
|
+
readonly triggerCondition: {
|
|
8504
|
+
readonly $ref: "#/components/schemas/safeguardTriggerConditionSchema";
|
|
8505
|
+
readonly description: "The condition that triggers the safeguard.";
|
|
8506
|
+
};
|
|
8507
|
+
readonly impactMetric: {
|
|
8508
|
+
readonly type: "object";
|
|
8509
|
+
readonly required: readonly ["id", "metricName", "timeRange", "aggregationMode", "labelSelectors"];
|
|
8510
|
+
readonly additionalProperties: false;
|
|
8511
|
+
readonly properties: {
|
|
8512
|
+
readonly metricName: {
|
|
8513
|
+
readonly type: "string";
|
|
8514
|
+
readonly description: "The Prometheus metric series to query. It includes both unleash prefix and metric type and display name";
|
|
8515
|
+
readonly example: "unleash_counter_feature_toggle_usage_total";
|
|
8516
|
+
};
|
|
8517
|
+
readonly timeRange: {
|
|
8518
|
+
readonly type: "string";
|
|
8519
|
+
readonly enum: readonly ["hour", "day", "week", "month"];
|
|
8520
|
+
readonly description: "The time range for the metric data.";
|
|
8521
|
+
readonly example: "day";
|
|
8522
|
+
};
|
|
8523
|
+
readonly aggregationMode: {
|
|
8524
|
+
readonly type: "string";
|
|
8525
|
+
readonly description: "The aggregation mode for the metric data.";
|
|
8526
|
+
readonly enum: readonly ["rps", "count", "avg", "sum", "p95", "p99", "p50"];
|
|
8527
|
+
readonly example: "rps";
|
|
8528
|
+
};
|
|
8529
|
+
readonly labelSelectors: {
|
|
8530
|
+
readonly type: "object";
|
|
8531
|
+
readonly additionalProperties: {
|
|
8532
|
+
readonly type: "array";
|
|
8533
|
+
readonly items: {
|
|
8534
|
+
readonly type: "string";
|
|
8535
|
+
};
|
|
8536
|
+
};
|
|
8537
|
+
readonly description: "The selected labels and their values for filtering the metric data.";
|
|
8538
|
+
readonly example: {
|
|
8539
|
+
readonly environment: readonly ["development"];
|
|
8540
|
+
readonly project: readonly ["default"];
|
|
8541
|
+
};
|
|
8542
|
+
};
|
|
8543
|
+
readonly source: {
|
|
8544
|
+
readonly type: "string";
|
|
8545
|
+
readonly enum: readonly ["internal", "external"];
|
|
8546
|
+
readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
|
|
8547
|
+
readonly example: "internal";
|
|
8548
|
+
};
|
|
8549
|
+
readonly id: {
|
|
8550
|
+
readonly type: "string";
|
|
8551
|
+
readonly description: "The unique identifier for this impact metric";
|
|
8552
|
+
readonly example: "01JB9GGTGQYEQ9D40R17T3YVW1";
|
|
8553
|
+
};
|
|
8554
|
+
};
|
|
8555
|
+
readonly description: "The metric configuration used to evaluate the safeguard condition.";
|
|
8556
|
+
};
|
|
8557
|
+
};
|
|
8558
|
+
readonly components: {
|
|
8559
|
+
readonly schemas: {
|
|
8560
|
+
readonly metricQuerySchema: {
|
|
8561
|
+
readonly $id: "#/components/schemas/metricQuerySchema";
|
|
8562
|
+
readonly type: "object";
|
|
8563
|
+
readonly required: readonly ["metricName", "timeRange", "aggregationMode", "labelSelectors"];
|
|
8564
|
+
readonly description: "Common metric query configuration for selecting and filtering metric data.";
|
|
8565
|
+
readonly additionalProperties: false;
|
|
8566
|
+
readonly properties: {
|
|
8567
|
+
readonly metricName: {
|
|
8568
|
+
readonly type: "string";
|
|
8569
|
+
readonly description: "The Prometheus metric series to query. It includes both unleash prefix and metric type and display name";
|
|
8570
|
+
readonly example: "unleash_counter_feature_toggle_usage_total";
|
|
8571
|
+
};
|
|
8572
|
+
readonly timeRange: {
|
|
8573
|
+
readonly type: "string";
|
|
8574
|
+
readonly enum: readonly ["hour", "day", "week", "month"];
|
|
8575
|
+
readonly description: "The time range for the metric data.";
|
|
8576
|
+
readonly example: "day";
|
|
8577
|
+
};
|
|
8578
|
+
readonly aggregationMode: {
|
|
8579
|
+
readonly type: "string";
|
|
8580
|
+
readonly description: "The aggregation mode for the metric data.";
|
|
8581
|
+
readonly enum: readonly ["rps", "count", "avg", "sum", "p95", "p99", "p50"];
|
|
8582
|
+
readonly example: "rps";
|
|
8583
|
+
};
|
|
8584
|
+
readonly labelSelectors: {
|
|
8585
|
+
readonly type: "object";
|
|
8586
|
+
readonly additionalProperties: {
|
|
8587
|
+
readonly type: "array";
|
|
8588
|
+
readonly items: {
|
|
8589
|
+
readonly type: "string";
|
|
8590
|
+
};
|
|
8591
|
+
};
|
|
8592
|
+
readonly description: "The selected labels and their values for filtering the metric data.";
|
|
8593
|
+
readonly example: {
|
|
8594
|
+
readonly environment: readonly ["development"];
|
|
8595
|
+
readonly project: readonly ["default"];
|
|
8596
|
+
};
|
|
8597
|
+
};
|
|
8598
|
+
readonly source: {
|
|
8599
|
+
readonly type: "string";
|
|
8600
|
+
readonly enum: readonly ["internal", "external"];
|
|
8601
|
+
readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
|
|
8602
|
+
readonly example: "internal";
|
|
8603
|
+
};
|
|
8604
|
+
};
|
|
8605
|
+
readonly components: {};
|
|
8606
|
+
};
|
|
8607
|
+
readonly safeguardTriggerConditionSchema: {
|
|
8608
|
+
readonly $id: "#/components/schemas/safeguardTriggerConditionSchema";
|
|
8609
|
+
readonly type: "object";
|
|
8610
|
+
readonly required: readonly ["operator", "threshold"];
|
|
8611
|
+
readonly additionalProperties: false;
|
|
8612
|
+
readonly description: "The condition that triggers the safeguard.";
|
|
8613
|
+
readonly properties: {
|
|
8614
|
+
readonly operator: {
|
|
8615
|
+
readonly type: "string";
|
|
8616
|
+
readonly enum: readonly [">", "<"];
|
|
8617
|
+
readonly description: "The comparison operator for the threshold check.";
|
|
8618
|
+
readonly example: ">";
|
|
8619
|
+
};
|
|
8620
|
+
readonly threshold: {
|
|
8621
|
+
readonly type: "number";
|
|
8622
|
+
readonly description: "The threshold value to compare against.";
|
|
8623
|
+
readonly example: 100;
|
|
8624
|
+
};
|
|
8625
|
+
};
|
|
8626
|
+
readonly components: {};
|
|
8627
|
+
};
|
|
8628
|
+
};
|
|
8629
|
+
};
|
|
8630
|
+
};
|
|
8631
|
+
readonly metricQuerySchema: {
|
|
8632
|
+
readonly $id: "#/components/schemas/metricQuerySchema";
|
|
8633
|
+
readonly type: "object";
|
|
8634
|
+
readonly required: readonly ["metricName", "timeRange", "aggregationMode", "labelSelectors"];
|
|
8635
|
+
readonly description: "Common metric query configuration for selecting and filtering metric data.";
|
|
8636
|
+
readonly additionalProperties: false;
|
|
8637
|
+
readonly properties: {
|
|
8638
|
+
readonly metricName: {
|
|
8639
|
+
readonly type: "string";
|
|
8640
|
+
readonly description: "The Prometheus metric series to query. It includes both unleash prefix and metric type and display name";
|
|
8641
|
+
readonly example: "unleash_counter_feature_toggle_usage_total";
|
|
8642
|
+
};
|
|
8643
|
+
readonly timeRange: {
|
|
8644
|
+
readonly type: "string";
|
|
8645
|
+
readonly enum: readonly ["hour", "day", "week", "month"];
|
|
8646
|
+
readonly description: "The time range for the metric data.";
|
|
8647
|
+
readonly example: "day";
|
|
8648
|
+
};
|
|
8649
|
+
readonly aggregationMode: {
|
|
8650
|
+
readonly type: "string";
|
|
8651
|
+
readonly description: "The aggregation mode for the metric data.";
|
|
8652
|
+
readonly enum: readonly ["rps", "count", "avg", "sum", "p95", "p99", "p50"];
|
|
8653
|
+
readonly example: "rps";
|
|
8654
|
+
};
|
|
8655
|
+
readonly labelSelectors: {
|
|
8656
|
+
readonly type: "object";
|
|
8657
|
+
readonly additionalProperties: {
|
|
8205
8658
|
readonly type: "array";
|
|
8206
8659
|
readonly items: {
|
|
8207
8660
|
readonly type: "string";
|
|
@@ -8213,6 +8666,12 @@ export declare const projectOverviewSchema: {
|
|
|
8213
8666
|
readonly project: readonly ["default"];
|
|
8214
8667
|
};
|
|
8215
8668
|
};
|
|
8669
|
+
readonly source: {
|
|
8670
|
+
readonly type: "string";
|
|
8671
|
+
readonly enum: readonly ["internal", "external"];
|
|
8672
|
+
readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
|
|
8673
|
+
readonly example: "internal";
|
|
8674
|
+
};
|
|
8216
8675
|
};
|
|
8217
8676
|
readonly components: {};
|
|
8218
8677
|
};
|
|
@@ -8339,6 +8798,13 @@ export declare const projectOverviewSchema: {
|
|
|
8339
8798
|
readonly $ref: "#/components/schemas/releasePlanSchema";
|
|
8340
8799
|
};
|
|
8341
8800
|
};
|
|
8801
|
+
readonly safeguards: {
|
|
8802
|
+
readonly type: "array";
|
|
8803
|
+
readonly description: "Safeguards for this feature environment";
|
|
8804
|
+
readonly items: {
|
|
8805
|
+
readonly $ref: "#/components/schemas/featureEnvironmentSafeguardSchema";
|
|
8806
|
+
};
|
|
8807
|
+
};
|
|
8342
8808
|
readonly yes: {
|
|
8343
8809
|
readonly type: "integer";
|
|
8344
8810
|
readonly description: "How many times the feature evaluated to true (enabled)";
|
|
@@ -8797,7 +9263,7 @@ export declare const projectOverviewSchema: {
|
|
|
8797
9263
|
readonly type: "array";
|
|
8798
9264
|
readonly description: "An array of safeguards configured for this release plan.";
|
|
8799
9265
|
readonly items: {
|
|
8800
|
-
readonly $ref: "#/components/schemas/
|
|
9266
|
+
readonly $ref: "#/components/schemas/releasePlanSafeguardSchema";
|
|
8801
9267
|
};
|
|
8802
9268
|
};
|
|
8803
9269
|
};
|
|
@@ -8882,7 +9348,7 @@ export declare const projectOverviewSchema: {
|
|
|
8882
9348
|
readonly additionalProperties: false;
|
|
8883
9349
|
readonly description: "Schema representing the creation of a release plan milestone strategy.";
|
|
8884
9350
|
readonly type: "object";
|
|
8885
|
-
readonly required: readonly ["id", "milestoneId", "sortOrder", "strategyName"];
|
|
9351
|
+
readonly required: readonly ["id", "milestoneId", "sortOrder", "name", "strategyName"];
|
|
8886
9352
|
readonly properties: {
|
|
8887
9353
|
readonly id: {
|
|
8888
9354
|
readonly type: "string";
|
|
@@ -9551,7 +10017,7 @@ export declare const projectOverviewSchema: {
|
|
|
9551
10017
|
readonly additionalProperties: false;
|
|
9552
10018
|
readonly description: "Schema representing the creation of a release plan milestone strategy.";
|
|
9553
10019
|
readonly type: "object";
|
|
9554
|
-
readonly required: readonly ["id", "milestoneId", "sortOrder", "strategyName"];
|
|
10020
|
+
readonly required: readonly ["id", "milestoneId", "sortOrder", "name", "strategyName"];
|
|
9555
10021
|
readonly properties: {
|
|
9556
10022
|
readonly id: {
|
|
9557
10023
|
readonly type: "string";
|
|
@@ -10212,8 +10678,8 @@ export declare const projectOverviewSchema: {
|
|
|
10212
10678
|
};
|
|
10213
10679
|
readonly components: {};
|
|
10214
10680
|
};
|
|
10215
|
-
readonly
|
|
10216
|
-
readonly $id: "#/components/schemas/
|
|
10681
|
+
readonly releasePlanSafeguardSchema: {
|
|
10682
|
+
readonly $id: "#/components/schemas/releasePlanSafeguardSchema";
|
|
10217
10683
|
readonly type: "object";
|
|
10218
10684
|
readonly required: readonly ["id", "action", "triggerCondition", "impactMetric"];
|
|
10219
10685
|
readonly description: "A safeguard configuration for a release plan.";
|
|
@@ -10282,6 +10748,12 @@ export declare const projectOverviewSchema: {
|
|
|
10282
10748
|
readonly project: readonly ["default"];
|
|
10283
10749
|
};
|
|
10284
10750
|
};
|
|
10751
|
+
readonly source: {
|
|
10752
|
+
readonly type: "string";
|
|
10753
|
+
readonly enum: readonly ["internal", "external"];
|
|
10754
|
+
readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
|
|
10755
|
+
readonly example: "internal";
|
|
10756
|
+
};
|
|
10285
10757
|
readonly id: {
|
|
10286
10758
|
readonly type: "string";
|
|
10287
10759
|
readonly description: "The unique identifier for this impact metric";
|
|
@@ -10331,6 +10803,12 @@ export declare const projectOverviewSchema: {
|
|
|
10331
10803
|
readonly project: readonly ["default"];
|
|
10332
10804
|
};
|
|
10333
10805
|
};
|
|
10806
|
+
readonly source: {
|
|
10807
|
+
readonly type: "string";
|
|
10808
|
+
readonly enum: readonly ["internal", "external"];
|
|
10809
|
+
readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
|
|
10810
|
+
readonly example: "internal";
|
|
10811
|
+
};
|
|
10334
10812
|
};
|
|
10335
10813
|
readonly components: {};
|
|
10336
10814
|
};
|
|
@@ -10396,6 +10874,12 @@ export declare const projectOverviewSchema: {
|
|
|
10396
10874
|
readonly project: readonly ["default"];
|
|
10397
10875
|
};
|
|
10398
10876
|
};
|
|
10877
|
+
readonly source: {
|
|
10878
|
+
readonly type: "string";
|
|
10879
|
+
readonly enum: readonly ["internal", "external"];
|
|
10880
|
+
readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
|
|
10881
|
+
readonly example: "internal";
|
|
10882
|
+
};
|
|
10399
10883
|
};
|
|
10400
10884
|
readonly components: {};
|
|
10401
10885
|
};
|
|
@@ -10502,7 +10986,7 @@ export declare const projectOverviewSchema: {
|
|
|
10502
10986
|
readonly additionalProperties: false;
|
|
10503
10987
|
readonly description: "Schema representing the creation of a release plan milestone strategy.";
|
|
10504
10988
|
readonly type: "object";
|
|
10505
|
-
readonly required: readonly ["id", "milestoneId", "sortOrder", "strategyName"];
|
|
10989
|
+
readonly required: readonly ["id", "milestoneId", "sortOrder", "name", "strategyName"];
|
|
10506
10990
|
readonly properties: {
|
|
10507
10991
|
readonly id: {
|
|
10508
10992
|
readonly type: "string";
|
|
@@ -11171,7 +11655,7 @@ export declare const projectOverviewSchema: {
|
|
|
11171
11655
|
readonly additionalProperties: false;
|
|
11172
11656
|
readonly description: "Schema representing the creation of a release plan milestone strategy.";
|
|
11173
11657
|
readonly type: "object";
|
|
11174
|
-
readonly required: readonly ["id", "milestoneId", "sortOrder", "strategyName"];
|
|
11658
|
+
readonly required: readonly ["id", "milestoneId", "sortOrder", "name", "strategyName"];
|
|
11175
11659
|
readonly properties: {
|
|
11176
11660
|
readonly id: {
|
|
11177
11661
|
readonly type: "string";
|
|
@@ -11779,88 +12263,321 @@ export declare const projectOverviewSchema: {
|
|
|
11779
12263
|
};
|
|
11780
12264
|
readonly components: {};
|
|
11781
12265
|
};
|
|
11782
|
-
|
|
11783
|
-
|
|
11784
|
-
|
|
11785
|
-
|
|
11786
|
-
|
|
11787
|
-
|
|
11788
|
-
|
|
11789
|
-
|
|
11790
|
-
|
|
11791
|
-
|
|
11792
|
-
|
|
11793
|
-
|
|
11794
|
-
|
|
11795
|
-
|
|
11796
|
-
|
|
11797
|
-
|
|
11798
|
-
|
|
11799
|
-
|
|
11800
|
-
|
|
11801
|
-
|
|
11802
|
-
|
|
11803
|
-
|
|
11804
|
-
|
|
11805
|
-
|
|
11806
|
-
|
|
11807
|
-
|
|
11808
|
-
|
|
11809
|
-
|
|
11810
|
-
|
|
11811
|
-
|
|
11812
|
-
|
|
11813
|
-
|
|
11814
|
-
|
|
11815
|
-
|
|
11816
|
-
|
|
11817
|
-
|
|
11818
|
-
|
|
11819
|
-
|
|
11820
|
-
|
|
11821
|
-
|
|
11822
|
-
|
|
11823
|
-
|
|
11824
|
-
|
|
11825
|
-
|
|
11826
|
-
|
|
11827
|
-
|
|
11828
|
-
|
|
11829
|
-
|
|
11830
|
-
|
|
11831
|
-
|
|
11832
|
-
|
|
11833
|
-
|
|
11834
|
-
|
|
11835
|
-
|
|
11836
|
-
|
|
11837
|
-
|
|
11838
|
-
|
|
11839
|
-
|
|
11840
|
-
|
|
11841
|
-
|
|
11842
|
-
|
|
11843
|
-
|
|
11844
|
-
|
|
11845
|
-
|
|
11846
|
-
|
|
11847
|
-
|
|
11848
|
-
|
|
11849
|
-
|
|
11850
|
-
|
|
11851
|
-
|
|
11852
|
-
|
|
11853
|
-
|
|
11854
|
-
|
|
11855
|
-
|
|
11856
|
-
|
|
11857
|
-
|
|
11858
|
-
|
|
11859
|
-
|
|
11860
|
-
|
|
11861
|
-
|
|
11862
|
-
|
|
11863
|
-
|
|
12266
|
+
readonly featureEnvironmentSafeguardSchema: {
|
|
12267
|
+
readonly $id: "#/components/schemas/featureEnvironmentSafeguardSchema";
|
|
12268
|
+
readonly type: "object";
|
|
12269
|
+
readonly required: readonly ["id", "action", "triggerCondition", "impactMetric"];
|
|
12270
|
+
readonly description: "A safeguard configuration for a feature environment.";
|
|
12271
|
+
readonly additionalProperties: false;
|
|
12272
|
+
readonly properties: {
|
|
12273
|
+
readonly id: {
|
|
12274
|
+
readonly type: "string";
|
|
12275
|
+
readonly description: "The unique ULID identifier for this safeguard";
|
|
12276
|
+
readonly example: "01JB9GGTGQYEQ9D40R17T3YVW1";
|
|
12277
|
+
};
|
|
12278
|
+
readonly action: {
|
|
12279
|
+
readonly type: "object";
|
|
12280
|
+
readonly required: readonly ["type", "featureName", "environment", "project"];
|
|
12281
|
+
readonly additionalProperties: false;
|
|
12282
|
+
readonly description: "Disable a feature in an environment when triggered.";
|
|
12283
|
+
readonly properties: {
|
|
12284
|
+
readonly type: {
|
|
12285
|
+
readonly type: "string";
|
|
12286
|
+
readonly description: "The type of action to perform.";
|
|
12287
|
+
readonly example: "disableFeatureEnvironment";
|
|
12288
|
+
};
|
|
12289
|
+
readonly featureName: {
|
|
12290
|
+
readonly type: "string";
|
|
12291
|
+
readonly description: "The feature flag name this safeguard applies to.";
|
|
12292
|
+
};
|
|
12293
|
+
readonly environment: {
|
|
12294
|
+
readonly type: "string";
|
|
12295
|
+
readonly description: "The environment this safeguard applies to.";
|
|
12296
|
+
};
|
|
12297
|
+
readonly project: {
|
|
12298
|
+
readonly type: "string";
|
|
12299
|
+
readonly description: "The project this safeguard applies to.";
|
|
12300
|
+
};
|
|
12301
|
+
};
|
|
12302
|
+
};
|
|
12303
|
+
readonly triggerCondition: {
|
|
12304
|
+
readonly $ref: "#/components/schemas/safeguardTriggerConditionSchema";
|
|
12305
|
+
readonly description: "The condition that triggers the safeguard.";
|
|
12306
|
+
};
|
|
12307
|
+
readonly impactMetric: {
|
|
12308
|
+
readonly type: "object";
|
|
12309
|
+
readonly required: readonly ["id", "metricName", "timeRange", "aggregationMode", "labelSelectors"];
|
|
12310
|
+
readonly additionalProperties: false;
|
|
12311
|
+
readonly properties: {
|
|
12312
|
+
readonly metricName: {
|
|
12313
|
+
readonly type: "string";
|
|
12314
|
+
readonly description: "The Prometheus metric series to query. It includes both unleash prefix and metric type and display name";
|
|
12315
|
+
readonly example: "unleash_counter_feature_toggle_usage_total";
|
|
12316
|
+
};
|
|
12317
|
+
readonly timeRange: {
|
|
12318
|
+
readonly type: "string";
|
|
12319
|
+
readonly enum: readonly ["hour", "day", "week", "month"];
|
|
12320
|
+
readonly description: "The time range for the metric data.";
|
|
12321
|
+
readonly example: "day";
|
|
12322
|
+
};
|
|
12323
|
+
readonly aggregationMode: {
|
|
12324
|
+
readonly type: "string";
|
|
12325
|
+
readonly description: "The aggregation mode for the metric data.";
|
|
12326
|
+
readonly enum: readonly ["rps", "count", "avg", "sum", "p95", "p99", "p50"];
|
|
12327
|
+
readonly example: "rps";
|
|
12328
|
+
};
|
|
12329
|
+
readonly labelSelectors: {
|
|
12330
|
+
readonly type: "object";
|
|
12331
|
+
readonly additionalProperties: {
|
|
12332
|
+
readonly type: "array";
|
|
12333
|
+
readonly items: {
|
|
12334
|
+
readonly type: "string";
|
|
12335
|
+
};
|
|
12336
|
+
};
|
|
12337
|
+
readonly description: "The selected labels and their values for filtering the metric data.";
|
|
12338
|
+
readonly example: {
|
|
12339
|
+
readonly environment: readonly ["development"];
|
|
12340
|
+
readonly project: readonly ["default"];
|
|
12341
|
+
};
|
|
12342
|
+
};
|
|
12343
|
+
readonly source: {
|
|
12344
|
+
readonly type: "string";
|
|
12345
|
+
readonly enum: readonly ["internal", "external"];
|
|
12346
|
+
readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
|
|
12347
|
+
readonly example: "internal";
|
|
12348
|
+
};
|
|
12349
|
+
readonly id: {
|
|
12350
|
+
readonly type: "string";
|
|
12351
|
+
readonly description: "The unique identifier for this impact metric";
|
|
12352
|
+
readonly example: "01JB9GGTGQYEQ9D40R17T3YVW1";
|
|
12353
|
+
};
|
|
12354
|
+
};
|
|
12355
|
+
readonly description: "The metric configuration used to evaluate the safeguard condition.";
|
|
12356
|
+
};
|
|
12357
|
+
};
|
|
12358
|
+
readonly components: {
|
|
12359
|
+
readonly schemas: {
|
|
12360
|
+
readonly metricQuerySchema: {
|
|
12361
|
+
readonly $id: "#/components/schemas/metricQuerySchema";
|
|
12362
|
+
readonly type: "object";
|
|
12363
|
+
readonly required: readonly ["metricName", "timeRange", "aggregationMode", "labelSelectors"];
|
|
12364
|
+
readonly description: "Common metric query configuration for selecting and filtering metric data.";
|
|
12365
|
+
readonly additionalProperties: false;
|
|
12366
|
+
readonly properties: {
|
|
12367
|
+
readonly metricName: {
|
|
12368
|
+
readonly type: "string";
|
|
12369
|
+
readonly description: "The Prometheus metric series to query. It includes both unleash prefix and metric type and display name";
|
|
12370
|
+
readonly example: "unleash_counter_feature_toggle_usage_total";
|
|
12371
|
+
};
|
|
12372
|
+
readonly timeRange: {
|
|
12373
|
+
readonly type: "string";
|
|
12374
|
+
readonly enum: readonly ["hour", "day", "week", "month"];
|
|
12375
|
+
readonly description: "The time range for the metric data.";
|
|
12376
|
+
readonly example: "day";
|
|
12377
|
+
};
|
|
12378
|
+
readonly aggregationMode: {
|
|
12379
|
+
readonly type: "string";
|
|
12380
|
+
readonly description: "The aggregation mode for the metric data.";
|
|
12381
|
+
readonly enum: readonly ["rps", "count", "avg", "sum", "p95", "p99", "p50"];
|
|
12382
|
+
readonly example: "rps";
|
|
12383
|
+
};
|
|
12384
|
+
readonly labelSelectors: {
|
|
12385
|
+
readonly type: "object";
|
|
12386
|
+
readonly additionalProperties: {
|
|
12387
|
+
readonly type: "array";
|
|
12388
|
+
readonly items: {
|
|
12389
|
+
readonly type: "string";
|
|
12390
|
+
};
|
|
12391
|
+
};
|
|
12392
|
+
readonly description: "The selected labels and their values for filtering the metric data.";
|
|
12393
|
+
readonly example: {
|
|
12394
|
+
readonly environment: readonly ["development"];
|
|
12395
|
+
readonly project: readonly ["default"];
|
|
12396
|
+
};
|
|
12397
|
+
};
|
|
12398
|
+
readonly source: {
|
|
12399
|
+
readonly type: "string";
|
|
12400
|
+
readonly enum: readonly ["internal", "external"];
|
|
12401
|
+
readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
|
|
12402
|
+
readonly example: "internal";
|
|
12403
|
+
};
|
|
12404
|
+
};
|
|
12405
|
+
readonly components: {};
|
|
12406
|
+
};
|
|
12407
|
+
readonly safeguardTriggerConditionSchema: {
|
|
12408
|
+
readonly $id: "#/components/schemas/safeguardTriggerConditionSchema";
|
|
12409
|
+
readonly type: "object";
|
|
12410
|
+
readonly required: readonly ["operator", "threshold"];
|
|
12411
|
+
readonly additionalProperties: false;
|
|
12412
|
+
readonly description: "The condition that triggers the safeguard.";
|
|
12413
|
+
readonly properties: {
|
|
12414
|
+
readonly operator: {
|
|
12415
|
+
readonly type: "string";
|
|
12416
|
+
readonly enum: readonly [">", "<"];
|
|
12417
|
+
readonly description: "The comparison operator for the threshold check.";
|
|
12418
|
+
readonly example: ">";
|
|
12419
|
+
};
|
|
12420
|
+
readonly threshold: {
|
|
12421
|
+
readonly type: "number";
|
|
12422
|
+
readonly description: "The threshold value to compare against.";
|
|
12423
|
+
readonly example: 100;
|
|
12424
|
+
};
|
|
12425
|
+
};
|
|
12426
|
+
readonly components: {};
|
|
12427
|
+
};
|
|
12428
|
+
};
|
|
12429
|
+
};
|
|
12430
|
+
};
|
|
12431
|
+
readonly safeguardTriggerConditionSchema: {
|
|
12432
|
+
readonly $id: "#/components/schemas/safeguardTriggerConditionSchema";
|
|
12433
|
+
readonly type: "object";
|
|
12434
|
+
readonly required: readonly ["operator", "threshold"];
|
|
12435
|
+
readonly additionalProperties: false;
|
|
12436
|
+
readonly description: "The condition that triggers the safeguard.";
|
|
12437
|
+
readonly properties: {
|
|
12438
|
+
readonly operator: {
|
|
12439
|
+
readonly type: "string";
|
|
12440
|
+
readonly enum: readonly [">", "<"];
|
|
12441
|
+
readonly description: "The comparison operator for the threshold check.";
|
|
12442
|
+
readonly example: ">";
|
|
12443
|
+
};
|
|
12444
|
+
readonly threshold: {
|
|
12445
|
+
readonly type: "number";
|
|
12446
|
+
readonly description: "The threshold value to compare against.";
|
|
12447
|
+
readonly example: 100;
|
|
12448
|
+
};
|
|
12449
|
+
};
|
|
12450
|
+
readonly components: {};
|
|
12451
|
+
};
|
|
12452
|
+
readonly metricQuerySchema: {
|
|
12453
|
+
readonly $id: "#/components/schemas/metricQuerySchema";
|
|
12454
|
+
readonly type: "object";
|
|
12455
|
+
readonly required: readonly ["metricName", "timeRange", "aggregationMode", "labelSelectors"];
|
|
12456
|
+
readonly description: "Common metric query configuration for selecting and filtering metric data.";
|
|
12457
|
+
readonly additionalProperties: false;
|
|
12458
|
+
readonly properties: {
|
|
12459
|
+
readonly metricName: {
|
|
12460
|
+
readonly type: "string";
|
|
12461
|
+
readonly description: "The Prometheus metric series to query. It includes both unleash prefix and metric type and display name";
|
|
12462
|
+
readonly example: "unleash_counter_feature_toggle_usage_total";
|
|
12463
|
+
};
|
|
12464
|
+
readonly timeRange: {
|
|
12465
|
+
readonly type: "string";
|
|
12466
|
+
readonly enum: readonly ["hour", "day", "week", "month"];
|
|
12467
|
+
readonly description: "The time range for the metric data.";
|
|
12468
|
+
readonly example: "day";
|
|
12469
|
+
};
|
|
12470
|
+
readonly aggregationMode: {
|
|
12471
|
+
readonly type: "string";
|
|
12472
|
+
readonly description: "The aggregation mode for the metric data.";
|
|
12473
|
+
readonly enum: readonly ["rps", "count", "avg", "sum", "p95", "p99", "p50"];
|
|
12474
|
+
readonly example: "rps";
|
|
12475
|
+
};
|
|
12476
|
+
readonly labelSelectors: {
|
|
12477
|
+
readonly type: "object";
|
|
12478
|
+
readonly additionalProperties: {
|
|
12479
|
+
readonly type: "array";
|
|
12480
|
+
readonly items: {
|
|
12481
|
+
readonly type: "string";
|
|
12482
|
+
};
|
|
12483
|
+
};
|
|
12484
|
+
readonly description: "The selected labels and their values for filtering the metric data.";
|
|
12485
|
+
readonly example: {
|
|
12486
|
+
readonly environment: readonly ["development"];
|
|
12487
|
+
readonly project: readonly ["default"];
|
|
12488
|
+
};
|
|
12489
|
+
};
|
|
12490
|
+
readonly source: {
|
|
12491
|
+
readonly type: "string";
|
|
12492
|
+
readonly enum: readonly ["internal", "external"];
|
|
12493
|
+
readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
|
|
12494
|
+
readonly example: "internal";
|
|
12495
|
+
};
|
|
12496
|
+
};
|
|
12497
|
+
readonly components: {};
|
|
12498
|
+
};
|
|
12499
|
+
};
|
|
12500
|
+
};
|
|
12501
|
+
};
|
|
12502
|
+
readonly overrideSchema: {
|
|
12503
|
+
readonly $id: "#/components/schemas/overrideSchema";
|
|
12504
|
+
readonly type: "object";
|
|
12505
|
+
readonly additionalProperties: false;
|
|
12506
|
+
readonly required: readonly ["contextName", "values"];
|
|
12507
|
+
readonly description: "An override for deciding which variant should be assigned to a user based on the context name";
|
|
12508
|
+
readonly properties: {
|
|
12509
|
+
readonly contextName: {
|
|
12510
|
+
readonly description: "The name of the context field used to determine overrides";
|
|
12511
|
+
readonly type: "string";
|
|
12512
|
+
readonly example: "userId";
|
|
12513
|
+
};
|
|
12514
|
+
readonly values: {
|
|
12515
|
+
readonly description: "Which values that should be overriden";
|
|
12516
|
+
readonly type: "array";
|
|
12517
|
+
readonly items: {
|
|
12518
|
+
readonly type: "string";
|
|
12519
|
+
};
|
|
12520
|
+
readonly example: readonly ["red", "blue"];
|
|
12521
|
+
};
|
|
12522
|
+
};
|
|
12523
|
+
readonly components: {};
|
|
12524
|
+
};
|
|
12525
|
+
readonly parametersSchema: {
|
|
12526
|
+
readonly $id: "#/components/schemas/parametersSchema";
|
|
12527
|
+
readonly type: "object";
|
|
12528
|
+
readonly description: "A list of parameters for a strategy";
|
|
12529
|
+
readonly additionalProperties: {
|
|
12530
|
+
readonly type: "string";
|
|
12531
|
+
};
|
|
12532
|
+
readonly components: {};
|
|
12533
|
+
};
|
|
12534
|
+
readonly featureStrategySchema: {
|
|
12535
|
+
readonly $id: "#/components/schemas/featureStrategySchema";
|
|
12536
|
+
readonly description: "A single activation strategy configuration schema for a feature";
|
|
12537
|
+
readonly type: "object";
|
|
12538
|
+
readonly additionalProperties: false;
|
|
12539
|
+
readonly required: readonly ["name"];
|
|
12540
|
+
readonly properties: {
|
|
12541
|
+
readonly id: {
|
|
12542
|
+
readonly type: "string";
|
|
12543
|
+
readonly description: "A uuid for the feature strategy";
|
|
12544
|
+
readonly example: "6b5157cb-343a-41e7-bfa3-7b4ec3044840";
|
|
12545
|
+
};
|
|
12546
|
+
readonly name: {
|
|
12547
|
+
readonly type: "string";
|
|
12548
|
+
readonly description: "The name or type of strategy";
|
|
12549
|
+
readonly example: "flexibleRollout";
|
|
12550
|
+
};
|
|
12551
|
+
readonly title: {
|
|
12552
|
+
readonly type: "string";
|
|
12553
|
+
readonly description: "A descriptive title for the strategy";
|
|
12554
|
+
readonly example: "Gradual Rollout 25-Prod";
|
|
12555
|
+
readonly nullable: true;
|
|
12556
|
+
};
|
|
12557
|
+
readonly disabled: {
|
|
12558
|
+
readonly type: "boolean";
|
|
12559
|
+
readonly description: "A toggle to disable the strategy. defaults to false. Disabled strategies are not evaluated or returned to the SDKs";
|
|
12560
|
+
readonly example: false;
|
|
12561
|
+
readonly nullable: true;
|
|
12562
|
+
};
|
|
12563
|
+
readonly featureName: {
|
|
12564
|
+
readonly type: "string";
|
|
12565
|
+
readonly description: "The name or feature the strategy is attached to";
|
|
12566
|
+
readonly example: "myAwesomeFeature";
|
|
12567
|
+
};
|
|
12568
|
+
readonly sortOrder: {
|
|
12569
|
+
readonly type: "number";
|
|
12570
|
+
readonly description: "The order of the strategy in the list";
|
|
12571
|
+
readonly example: 9999;
|
|
12572
|
+
};
|
|
12573
|
+
readonly segments: {
|
|
12574
|
+
readonly type: "array";
|
|
12575
|
+
readonly description: "A list of segment ids attached to the strategy";
|
|
12576
|
+
readonly example: readonly [1, 2];
|
|
12577
|
+
readonly items: {
|
|
12578
|
+
readonly type: "number";
|
|
12579
|
+
};
|
|
12580
|
+
};
|
|
11864
12581
|
readonly constraints: {
|
|
11865
12582
|
readonly type: "array";
|
|
11866
12583
|
readonly description: "A list of the constraints attached to the strategy. See https://docs.getunleash.io/concepts/activation-strategies#constraints";
|
|
@@ -12204,7 +12921,7 @@ export declare const projectOverviewSchema: {
|
|
|
12204
12921
|
readonly type: "array";
|
|
12205
12922
|
readonly description: "An array of safeguards configured for this release plan.";
|
|
12206
12923
|
readonly items: {
|
|
12207
|
-
readonly $ref: "#/components/schemas/
|
|
12924
|
+
readonly $ref: "#/components/schemas/releasePlanSafeguardSchema";
|
|
12208
12925
|
};
|
|
12209
12926
|
};
|
|
12210
12927
|
};
|
|
@@ -12289,7 +13006,7 @@ export declare const projectOverviewSchema: {
|
|
|
12289
13006
|
readonly additionalProperties: false;
|
|
12290
13007
|
readonly description: "Schema representing the creation of a release plan milestone strategy.";
|
|
12291
13008
|
readonly type: "object";
|
|
12292
|
-
readonly required: readonly ["id", "milestoneId", "sortOrder", "strategyName"];
|
|
13009
|
+
readonly required: readonly ["id", "milestoneId", "sortOrder", "name", "strategyName"];
|
|
12293
13010
|
readonly properties: {
|
|
12294
13011
|
readonly id: {
|
|
12295
13012
|
readonly type: "string";
|
|
@@ -12958,7 +13675,7 @@ export declare const projectOverviewSchema: {
|
|
|
12958
13675
|
readonly additionalProperties: false;
|
|
12959
13676
|
readonly description: "Schema representing the creation of a release plan milestone strategy.";
|
|
12960
13677
|
readonly type: "object";
|
|
12961
|
-
readonly required: readonly ["id", "milestoneId", "sortOrder", "strategyName"];
|
|
13678
|
+
readonly required: readonly ["id", "milestoneId", "sortOrder", "name", "strategyName"];
|
|
12962
13679
|
readonly properties: {
|
|
12963
13680
|
readonly id: {
|
|
12964
13681
|
readonly type: "string";
|
|
@@ -13619,8 +14336,8 @@ export declare const projectOverviewSchema: {
|
|
|
13619
14336
|
};
|
|
13620
14337
|
readonly components: {};
|
|
13621
14338
|
};
|
|
13622
|
-
readonly
|
|
13623
|
-
readonly $id: "#/components/schemas/
|
|
14339
|
+
readonly releasePlanSafeguardSchema: {
|
|
14340
|
+
readonly $id: "#/components/schemas/releasePlanSafeguardSchema";
|
|
13624
14341
|
readonly type: "object";
|
|
13625
14342
|
readonly required: readonly ["id", "action", "triggerCondition", "impactMetric"];
|
|
13626
14343
|
readonly description: "A safeguard configuration for a release plan.";
|
|
@@ -13689,6 +14406,12 @@ export declare const projectOverviewSchema: {
|
|
|
13689
14406
|
readonly project: readonly ["default"];
|
|
13690
14407
|
};
|
|
13691
14408
|
};
|
|
14409
|
+
readonly source: {
|
|
14410
|
+
readonly type: "string";
|
|
14411
|
+
readonly enum: readonly ["internal", "external"];
|
|
14412
|
+
readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
|
|
14413
|
+
readonly example: "internal";
|
|
14414
|
+
};
|
|
13692
14415
|
readonly id: {
|
|
13693
14416
|
readonly type: "string";
|
|
13694
14417
|
readonly description: "The unique identifier for this impact metric";
|
|
@@ -13738,6 +14461,12 @@ export declare const projectOverviewSchema: {
|
|
|
13738
14461
|
readonly project: readonly ["default"];
|
|
13739
14462
|
};
|
|
13740
14463
|
};
|
|
14464
|
+
readonly source: {
|
|
14465
|
+
readonly type: "string";
|
|
14466
|
+
readonly enum: readonly ["internal", "external"];
|
|
14467
|
+
readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
|
|
14468
|
+
readonly example: "internal";
|
|
14469
|
+
};
|
|
13741
14470
|
};
|
|
13742
14471
|
readonly components: {};
|
|
13743
14472
|
};
|
|
@@ -13803,6 +14532,12 @@ export declare const projectOverviewSchema: {
|
|
|
13803
14532
|
readonly project: readonly ["default"];
|
|
13804
14533
|
};
|
|
13805
14534
|
};
|
|
14535
|
+
readonly source: {
|
|
14536
|
+
readonly type: "string";
|
|
14537
|
+
readonly enum: readonly ["internal", "external"];
|
|
14538
|
+
readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
|
|
14539
|
+
readonly example: "internal";
|
|
14540
|
+
};
|
|
13806
14541
|
};
|
|
13807
14542
|
readonly components: {};
|
|
13808
14543
|
};
|
|
@@ -13909,7 +14644,7 @@ export declare const projectOverviewSchema: {
|
|
|
13909
14644
|
readonly additionalProperties: false;
|
|
13910
14645
|
readonly description: "Schema representing the creation of a release plan milestone strategy.";
|
|
13911
14646
|
readonly type: "object";
|
|
13912
|
-
readonly required: readonly ["id", "milestoneId", "sortOrder", "strategyName"];
|
|
14647
|
+
readonly required: readonly ["id", "milestoneId", "sortOrder", "name", "strategyName"];
|
|
13913
14648
|
readonly properties: {
|
|
13914
14649
|
readonly id: {
|
|
13915
14650
|
readonly type: "string";
|
|
@@ -14578,7 +15313,7 @@ export declare const projectOverviewSchema: {
|
|
|
14578
15313
|
readonly additionalProperties: false;
|
|
14579
15314
|
readonly description: "Schema representing the creation of a release plan milestone strategy.";
|
|
14580
15315
|
readonly type: "object";
|
|
14581
|
-
readonly required: readonly ["id", "milestoneId", "sortOrder", "strategyName"];
|
|
15316
|
+
readonly required: readonly ["id", "milestoneId", "sortOrder", "name", "strategyName"];
|
|
14582
15317
|
readonly properties: {
|
|
14583
15318
|
readonly id: {
|
|
14584
15319
|
readonly type: "string";
|
|
@@ -14835,126 +15570,517 @@ export declare const projectOverviewSchema: {
|
|
|
14835
15570
|
};
|
|
14836
15571
|
};
|
|
14837
15572
|
};
|
|
14838
|
-
};
|
|
14839
|
-
readonly parametersSchema: {
|
|
14840
|
-
readonly $id: "#/components/schemas/parametersSchema";
|
|
14841
|
-
readonly type: "object";
|
|
14842
|
-
readonly description: "A list of parameters for a strategy";
|
|
14843
|
-
readonly additionalProperties: {
|
|
15573
|
+
};
|
|
15574
|
+
readonly parametersSchema: {
|
|
15575
|
+
readonly $id: "#/components/schemas/parametersSchema";
|
|
15576
|
+
readonly type: "object";
|
|
15577
|
+
readonly description: "A list of parameters for a strategy";
|
|
15578
|
+
readonly additionalProperties: {
|
|
15579
|
+
readonly type: "string";
|
|
15580
|
+
};
|
|
15581
|
+
readonly components: {};
|
|
15582
|
+
};
|
|
15583
|
+
readonly constraintSchema: {
|
|
15584
|
+
readonly type: "object";
|
|
15585
|
+
readonly required: readonly ["contextName", "operator"];
|
|
15586
|
+
readonly description: "A strategy constraint. For more information, refer to [the strategy constraint reference documentation](https://docs.getunleash.io/concepts/activation-strategies#constraints)";
|
|
15587
|
+
readonly properties: {
|
|
15588
|
+
readonly contextName: {
|
|
15589
|
+
readonly description: "The name of the context field that this constraint should apply to.";
|
|
15590
|
+
readonly example: "appName";
|
|
15591
|
+
readonly type: "string";
|
|
15592
|
+
};
|
|
15593
|
+
readonly operator: {
|
|
15594
|
+
readonly description: "The operator to use when evaluating this constraint. For more information about the various operators, refer to [the strategy constraint operator documentation](https://docs.getunleash.io/concepts/activation-strategies#constraint-operators).";
|
|
15595
|
+
readonly type: "string";
|
|
15596
|
+
readonly enum: readonly ["NOT_IN", "IN", "STR_ENDS_WITH", "STR_STARTS_WITH", "STR_CONTAINS", "NUM_EQ", "NUM_GT", "NUM_GTE", "NUM_LT", "NUM_LTE", "DATE_AFTER", "DATE_BEFORE", "SEMVER_EQ", "SEMVER_GT", "SEMVER_LT", "REGEX"];
|
|
15597
|
+
readonly example: "IN";
|
|
15598
|
+
};
|
|
15599
|
+
readonly caseInsensitive: {
|
|
15600
|
+
readonly description: "Whether the operator should be case sensitive or not. Defaults to `false` (being case sensitive).";
|
|
15601
|
+
readonly type: "boolean";
|
|
15602
|
+
readonly default: false;
|
|
15603
|
+
};
|
|
15604
|
+
readonly inverted: {
|
|
15605
|
+
readonly description: "Whether the result should be negated or not. If `true`, will turn a `true` result into a `false` result and vice versa.";
|
|
15606
|
+
readonly type: "boolean";
|
|
15607
|
+
readonly default: false;
|
|
15608
|
+
};
|
|
15609
|
+
readonly values: {
|
|
15610
|
+
readonly type: "array";
|
|
15611
|
+
readonly description: "The context values that should be used for constraint evaluation. Use this property instead of `value` for properties that accept multiple values.";
|
|
15612
|
+
readonly items: {
|
|
15613
|
+
readonly type: "string";
|
|
15614
|
+
};
|
|
15615
|
+
readonly example: readonly ["my-app", "my-other-app"];
|
|
15616
|
+
};
|
|
15617
|
+
readonly value: {
|
|
15618
|
+
readonly description: "The context value that should be used for constraint evaluation. Use this property instead of `values` for properties that only accept single values.";
|
|
15619
|
+
readonly type: "string";
|
|
15620
|
+
readonly example: "my-app";
|
|
15621
|
+
};
|
|
15622
|
+
};
|
|
15623
|
+
readonly components: {};
|
|
15624
|
+
readonly $id: "#/components/schemas/constraintSchema";
|
|
15625
|
+
readonly additionalProperties: false;
|
|
15626
|
+
};
|
|
15627
|
+
readonly createStrategyVariantSchema: {
|
|
15628
|
+
readonly $id: "#/components/schemas/createStrategyVariantSchema";
|
|
15629
|
+
readonly type: "object";
|
|
15630
|
+
readonly description: "This is an experimental property. It may change or be removed as we work on it. Please don't depend on it yet. A strategy variant allows you to attach any data to strategies instead of only returning `true`/`false`. Strategy variants take precedence over feature variants.";
|
|
15631
|
+
readonly required: readonly ["name", "weight", "weightType", "stickiness"];
|
|
15632
|
+
readonly properties: {
|
|
15633
|
+
readonly name: {
|
|
15634
|
+
readonly type: "string";
|
|
15635
|
+
readonly description: "The variant name. Must be unique for this feature flag";
|
|
15636
|
+
readonly example: "blue_group";
|
|
15637
|
+
};
|
|
15638
|
+
readonly weight: {
|
|
15639
|
+
readonly type: "integer";
|
|
15640
|
+
readonly description: "The weight is the likelihood of any one user getting this variant. It is an integer between 0 and 1000. See the section on [variant weights](https://docs.getunleash.io/concepts/feature-flag-variants#variant-weight) for more information";
|
|
15641
|
+
readonly minimum: 0;
|
|
15642
|
+
readonly maximum: 1000;
|
|
15643
|
+
};
|
|
15644
|
+
readonly weightType: {
|
|
15645
|
+
readonly description: "Set to `fix` if this variant must have exactly the weight allocated to it. If the type is `variable`, the weight will adjust so that the total weight of all variants adds up to 1000. Refer to the [variant weight documentation](https://docs.getunleash.io/concepts/feature-flag-variants#variant-weight).";
|
|
15646
|
+
readonly type: "string";
|
|
15647
|
+
readonly example: "fix";
|
|
15648
|
+
readonly enum: readonly ["variable", "fix"];
|
|
15649
|
+
};
|
|
15650
|
+
readonly stickiness: {
|
|
15651
|
+
readonly type: "string";
|
|
15652
|
+
readonly description: "The [stickiness](https://docs.getunleash.io/concepts/feature-flag-variants#variant-stickiness) to use for distribution of this variant. Stickiness is how Unleash guarantees that the same user gets the same variant every time";
|
|
15653
|
+
readonly example: "custom.context.field";
|
|
15654
|
+
};
|
|
15655
|
+
readonly payload: {
|
|
15656
|
+
readonly type: "object";
|
|
15657
|
+
readonly required: readonly ["type", "value"];
|
|
15658
|
+
readonly description: "Extra data configured for this variant";
|
|
15659
|
+
readonly properties: {
|
|
15660
|
+
readonly type: {
|
|
15661
|
+
readonly description: "The type of the value. Commonly used types are string, number, json and csv.";
|
|
15662
|
+
readonly type: "string";
|
|
15663
|
+
readonly enum: readonly ["json", "csv", "string", "number"];
|
|
15664
|
+
};
|
|
15665
|
+
readonly value: {
|
|
15666
|
+
readonly description: "The actual value of payload";
|
|
15667
|
+
readonly type: "string";
|
|
15668
|
+
};
|
|
15669
|
+
};
|
|
15670
|
+
readonly example: {
|
|
15671
|
+
readonly type: "json";
|
|
15672
|
+
readonly value: "{\"color\": \"red\"}";
|
|
15673
|
+
};
|
|
15674
|
+
};
|
|
15675
|
+
};
|
|
15676
|
+
readonly components: {};
|
|
15677
|
+
};
|
|
15678
|
+
};
|
|
15679
|
+
};
|
|
15680
|
+
};
|
|
15681
|
+
readonly transitionConditionSchema: {
|
|
15682
|
+
readonly $id: "#/components/schemas/transitionConditionSchema";
|
|
15683
|
+
readonly type: "object";
|
|
15684
|
+
readonly additionalProperties: false;
|
|
15685
|
+
readonly required: readonly ["intervalMinutes"];
|
|
15686
|
+
readonly description: "A transition condition for milestone progression";
|
|
15687
|
+
readonly properties: {
|
|
15688
|
+
readonly intervalMinutes: {
|
|
15689
|
+
readonly type: "integer";
|
|
15690
|
+
readonly minimum: 1;
|
|
15691
|
+
readonly description: "The interval in minutes before transitioning";
|
|
15692
|
+
readonly example: 30;
|
|
15693
|
+
};
|
|
15694
|
+
};
|
|
15695
|
+
readonly components: {};
|
|
15696
|
+
};
|
|
15697
|
+
readonly releasePlanSafeguardSchema: {
|
|
15698
|
+
readonly $id: "#/components/schemas/releasePlanSafeguardSchema";
|
|
15699
|
+
readonly type: "object";
|
|
15700
|
+
readonly required: readonly ["id", "action", "triggerCondition", "impactMetric"];
|
|
15701
|
+
readonly description: "A safeguard configuration for a release plan.";
|
|
15702
|
+
readonly additionalProperties: false;
|
|
15703
|
+
readonly properties: {
|
|
15704
|
+
readonly id: {
|
|
15705
|
+
readonly type: "string";
|
|
15706
|
+
readonly description: "The unique ULID identifier for this safeguard";
|
|
15707
|
+
readonly example: "01JB9GGTGQYEQ9D40R17T3YVW1";
|
|
15708
|
+
};
|
|
15709
|
+
readonly action: {
|
|
15710
|
+
readonly type: "object";
|
|
15711
|
+
readonly required: readonly ["type", "id"];
|
|
15712
|
+
readonly additionalProperties: false;
|
|
15713
|
+
readonly description: "The action to take when the safeguard is triggered.";
|
|
15714
|
+
readonly properties: {
|
|
15715
|
+
readonly type: {
|
|
15716
|
+
readonly type: "string";
|
|
15717
|
+
readonly description: "The type of action to perform.";
|
|
15718
|
+
readonly example: "pauseReleasePlanProgressions";
|
|
15719
|
+
};
|
|
15720
|
+
readonly id: {
|
|
15721
|
+
readonly type: "string";
|
|
15722
|
+
readonly description: "The ID of the release plan this safeguard applies to.";
|
|
15723
|
+
readonly example: "01JB9GGTGQYEQ9D40R17T3YVW2";
|
|
15724
|
+
};
|
|
15725
|
+
};
|
|
15726
|
+
};
|
|
15727
|
+
readonly triggerCondition: {
|
|
15728
|
+
readonly $ref: "#/components/schemas/safeguardTriggerConditionSchema";
|
|
15729
|
+
readonly description: "The condition that triggers the safeguard.";
|
|
15730
|
+
};
|
|
15731
|
+
readonly impactMetric: {
|
|
15732
|
+
readonly type: "object";
|
|
15733
|
+
readonly required: readonly ["id", "metricName", "timeRange", "aggregationMode", "labelSelectors"];
|
|
15734
|
+
readonly additionalProperties: false;
|
|
15735
|
+
readonly properties: {
|
|
15736
|
+
readonly metricName: {
|
|
15737
|
+
readonly type: "string";
|
|
15738
|
+
readonly description: "The Prometheus metric series to query. It includes both unleash prefix and metric type and display name";
|
|
15739
|
+
readonly example: "unleash_counter_feature_toggle_usage_total";
|
|
15740
|
+
};
|
|
15741
|
+
readonly timeRange: {
|
|
15742
|
+
readonly type: "string";
|
|
15743
|
+
readonly enum: readonly ["hour", "day", "week", "month"];
|
|
15744
|
+
readonly description: "The time range for the metric data.";
|
|
15745
|
+
readonly example: "day";
|
|
15746
|
+
};
|
|
15747
|
+
readonly aggregationMode: {
|
|
15748
|
+
readonly type: "string";
|
|
15749
|
+
readonly description: "The aggregation mode for the metric data.";
|
|
15750
|
+
readonly enum: readonly ["rps", "count", "avg", "sum", "p95", "p99", "p50"];
|
|
15751
|
+
readonly example: "rps";
|
|
15752
|
+
};
|
|
15753
|
+
readonly labelSelectors: {
|
|
15754
|
+
readonly type: "object";
|
|
15755
|
+
readonly additionalProperties: {
|
|
15756
|
+
readonly type: "array";
|
|
15757
|
+
readonly items: {
|
|
15758
|
+
readonly type: "string";
|
|
15759
|
+
};
|
|
15760
|
+
};
|
|
15761
|
+
readonly description: "The selected labels and their values for filtering the metric data.";
|
|
15762
|
+
readonly example: {
|
|
15763
|
+
readonly environment: readonly ["development"];
|
|
15764
|
+
readonly project: readonly ["default"];
|
|
15765
|
+
};
|
|
15766
|
+
};
|
|
15767
|
+
readonly source: {
|
|
14844
15768
|
readonly type: "string";
|
|
15769
|
+
readonly enum: readonly ["internal", "external"];
|
|
15770
|
+
readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
|
|
15771
|
+
readonly example: "internal";
|
|
15772
|
+
};
|
|
15773
|
+
readonly id: {
|
|
15774
|
+
readonly type: "string";
|
|
15775
|
+
readonly description: "The unique identifier for this impact metric";
|
|
15776
|
+
readonly example: "01JB9GGTGQYEQ9D40R17T3YVW1";
|
|
14845
15777
|
};
|
|
14846
|
-
readonly components: {};
|
|
14847
15778
|
};
|
|
14848
|
-
readonly
|
|
15779
|
+
readonly description: "The metric configuration used to evaluate the safeguard condition.";
|
|
15780
|
+
};
|
|
15781
|
+
};
|
|
15782
|
+
readonly components: {
|
|
15783
|
+
readonly schemas: {
|
|
15784
|
+
readonly metricQuerySchema: {
|
|
15785
|
+
readonly $id: "#/components/schemas/metricQuerySchema";
|
|
14849
15786
|
readonly type: "object";
|
|
14850
|
-
readonly required: readonly ["
|
|
14851
|
-
readonly description: "
|
|
15787
|
+
readonly required: readonly ["metricName", "timeRange", "aggregationMode", "labelSelectors"];
|
|
15788
|
+
readonly description: "Common metric query configuration for selecting and filtering metric data.";
|
|
15789
|
+
readonly additionalProperties: false;
|
|
14852
15790
|
readonly properties: {
|
|
14853
|
-
readonly
|
|
14854
|
-
readonly description: "The name of the context field that this constraint should apply to.";
|
|
14855
|
-
readonly example: "appName";
|
|
15791
|
+
readonly metricName: {
|
|
14856
15792
|
readonly type: "string";
|
|
15793
|
+
readonly description: "The Prometheus metric series to query. It includes both unleash prefix and metric type and display name";
|
|
15794
|
+
readonly example: "unleash_counter_feature_toggle_usage_total";
|
|
14857
15795
|
};
|
|
14858
|
-
readonly
|
|
14859
|
-
readonly description: "The operator to use when evaluating this constraint. For more information about the various operators, refer to [the strategy constraint operator documentation](https://docs.getunleash.io/concepts/activation-strategies#constraint-operators).";
|
|
15796
|
+
readonly timeRange: {
|
|
14860
15797
|
readonly type: "string";
|
|
14861
|
-
readonly enum: readonly ["
|
|
14862
|
-
readonly
|
|
15798
|
+
readonly enum: readonly ["hour", "day", "week", "month"];
|
|
15799
|
+
readonly description: "The time range for the metric data.";
|
|
15800
|
+
readonly example: "day";
|
|
14863
15801
|
};
|
|
14864
|
-
readonly
|
|
14865
|
-
readonly
|
|
14866
|
-
readonly
|
|
14867
|
-
readonly
|
|
15802
|
+
readonly aggregationMode: {
|
|
15803
|
+
readonly type: "string";
|
|
15804
|
+
readonly description: "The aggregation mode for the metric data.";
|
|
15805
|
+
readonly enum: readonly ["rps", "count", "avg", "sum", "p95", "p99", "p50"];
|
|
15806
|
+
readonly example: "rps";
|
|
14868
15807
|
};
|
|
14869
|
-
readonly
|
|
14870
|
-
readonly
|
|
14871
|
-
readonly
|
|
14872
|
-
|
|
15808
|
+
readonly labelSelectors: {
|
|
15809
|
+
readonly type: "object";
|
|
15810
|
+
readonly additionalProperties: {
|
|
15811
|
+
readonly type: "array";
|
|
15812
|
+
readonly items: {
|
|
15813
|
+
readonly type: "string";
|
|
15814
|
+
};
|
|
15815
|
+
};
|
|
15816
|
+
readonly description: "The selected labels and their values for filtering the metric data.";
|
|
15817
|
+
readonly example: {
|
|
15818
|
+
readonly environment: readonly ["development"];
|
|
15819
|
+
readonly project: readonly ["default"];
|
|
15820
|
+
};
|
|
14873
15821
|
};
|
|
14874
|
-
readonly
|
|
15822
|
+
readonly source: {
|
|
15823
|
+
readonly type: "string";
|
|
15824
|
+
readonly enum: readonly ["internal", "external"];
|
|
15825
|
+
readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
|
|
15826
|
+
readonly example: "internal";
|
|
15827
|
+
};
|
|
15828
|
+
};
|
|
15829
|
+
readonly components: {};
|
|
15830
|
+
};
|
|
15831
|
+
readonly safeguardTriggerConditionSchema: {
|
|
15832
|
+
readonly $id: "#/components/schemas/safeguardTriggerConditionSchema";
|
|
15833
|
+
readonly type: "object";
|
|
15834
|
+
readonly required: readonly ["operator", "threshold"];
|
|
15835
|
+
readonly additionalProperties: false;
|
|
15836
|
+
readonly description: "The condition that triggers the safeguard.";
|
|
15837
|
+
readonly properties: {
|
|
15838
|
+
readonly operator: {
|
|
15839
|
+
readonly type: "string";
|
|
15840
|
+
readonly enum: readonly [">", "<"];
|
|
15841
|
+
readonly description: "The comparison operator for the threshold check.";
|
|
15842
|
+
readonly example: ">";
|
|
15843
|
+
};
|
|
15844
|
+
readonly threshold: {
|
|
15845
|
+
readonly type: "number";
|
|
15846
|
+
readonly description: "The threshold value to compare against.";
|
|
15847
|
+
readonly example: 100;
|
|
15848
|
+
};
|
|
15849
|
+
};
|
|
15850
|
+
readonly components: {};
|
|
15851
|
+
};
|
|
15852
|
+
};
|
|
15853
|
+
};
|
|
15854
|
+
};
|
|
15855
|
+
readonly featureEnvironmentSafeguardSchema: {
|
|
15856
|
+
readonly $id: "#/components/schemas/featureEnvironmentSafeguardSchema";
|
|
15857
|
+
readonly type: "object";
|
|
15858
|
+
readonly required: readonly ["id", "action", "triggerCondition", "impactMetric"];
|
|
15859
|
+
readonly description: "A safeguard configuration for a feature environment.";
|
|
15860
|
+
readonly additionalProperties: false;
|
|
15861
|
+
readonly properties: {
|
|
15862
|
+
readonly id: {
|
|
15863
|
+
readonly type: "string";
|
|
15864
|
+
readonly description: "The unique ULID identifier for this safeguard";
|
|
15865
|
+
readonly example: "01JB9GGTGQYEQ9D40R17T3YVW1";
|
|
15866
|
+
};
|
|
15867
|
+
readonly action: {
|
|
15868
|
+
readonly type: "object";
|
|
15869
|
+
readonly required: readonly ["type", "featureName", "environment", "project"];
|
|
15870
|
+
readonly additionalProperties: false;
|
|
15871
|
+
readonly description: "Disable a feature in an environment when triggered.";
|
|
15872
|
+
readonly properties: {
|
|
15873
|
+
readonly type: {
|
|
15874
|
+
readonly type: "string";
|
|
15875
|
+
readonly description: "The type of action to perform.";
|
|
15876
|
+
readonly example: "disableFeatureEnvironment";
|
|
15877
|
+
};
|
|
15878
|
+
readonly featureName: {
|
|
15879
|
+
readonly type: "string";
|
|
15880
|
+
readonly description: "The feature flag name this safeguard applies to.";
|
|
15881
|
+
};
|
|
15882
|
+
readonly environment: {
|
|
15883
|
+
readonly type: "string";
|
|
15884
|
+
readonly description: "The environment this safeguard applies to.";
|
|
15885
|
+
};
|
|
15886
|
+
readonly project: {
|
|
15887
|
+
readonly type: "string";
|
|
15888
|
+
readonly description: "The project this safeguard applies to.";
|
|
15889
|
+
};
|
|
15890
|
+
};
|
|
15891
|
+
};
|
|
15892
|
+
readonly triggerCondition: {
|
|
15893
|
+
readonly $ref: "#/components/schemas/safeguardTriggerConditionSchema";
|
|
15894
|
+
readonly description: "The condition that triggers the safeguard.";
|
|
15895
|
+
};
|
|
15896
|
+
readonly impactMetric: {
|
|
15897
|
+
readonly type: "object";
|
|
15898
|
+
readonly required: readonly ["id", "metricName", "timeRange", "aggregationMode", "labelSelectors"];
|
|
15899
|
+
readonly additionalProperties: false;
|
|
15900
|
+
readonly properties: {
|
|
15901
|
+
readonly metricName: {
|
|
15902
|
+
readonly type: "string";
|
|
15903
|
+
readonly description: "The Prometheus metric series to query. It includes both unleash prefix and metric type and display name";
|
|
15904
|
+
readonly example: "unleash_counter_feature_toggle_usage_total";
|
|
15905
|
+
};
|
|
15906
|
+
readonly timeRange: {
|
|
15907
|
+
readonly type: "string";
|
|
15908
|
+
readonly enum: readonly ["hour", "day", "week", "month"];
|
|
15909
|
+
readonly description: "The time range for the metric data.";
|
|
15910
|
+
readonly example: "day";
|
|
15911
|
+
};
|
|
15912
|
+
readonly aggregationMode: {
|
|
15913
|
+
readonly type: "string";
|
|
15914
|
+
readonly description: "The aggregation mode for the metric data.";
|
|
15915
|
+
readonly enum: readonly ["rps", "count", "avg", "sum", "p95", "p99", "p50"];
|
|
15916
|
+
readonly example: "rps";
|
|
15917
|
+
};
|
|
15918
|
+
readonly labelSelectors: {
|
|
15919
|
+
readonly type: "object";
|
|
15920
|
+
readonly additionalProperties: {
|
|
14875
15921
|
readonly type: "array";
|
|
14876
|
-
readonly description: "The context values that should be used for constraint evaluation. Use this property instead of `value` for properties that accept multiple values.";
|
|
14877
15922
|
readonly items: {
|
|
14878
15923
|
readonly type: "string";
|
|
14879
15924
|
};
|
|
14880
|
-
readonly example: readonly ["my-app", "my-other-app"];
|
|
14881
15925
|
};
|
|
14882
|
-
readonly
|
|
14883
|
-
|
|
14884
|
-
readonly
|
|
14885
|
-
readonly
|
|
15926
|
+
readonly description: "The selected labels and their values for filtering the metric data.";
|
|
15927
|
+
readonly example: {
|
|
15928
|
+
readonly environment: readonly ["development"];
|
|
15929
|
+
readonly project: readonly ["default"];
|
|
14886
15930
|
};
|
|
14887
15931
|
};
|
|
14888
|
-
readonly
|
|
14889
|
-
|
|
14890
|
-
|
|
15932
|
+
readonly source: {
|
|
15933
|
+
readonly type: "string";
|
|
15934
|
+
readonly enum: readonly ["internal", "external"];
|
|
15935
|
+
readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
|
|
15936
|
+
readonly example: "internal";
|
|
15937
|
+
};
|
|
15938
|
+
readonly id: {
|
|
15939
|
+
readonly type: "string";
|
|
15940
|
+
readonly description: "The unique identifier for this impact metric";
|
|
15941
|
+
readonly example: "01JB9GGTGQYEQ9D40R17T3YVW1";
|
|
15942
|
+
};
|
|
14891
15943
|
};
|
|
14892
|
-
readonly
|
|
14893
|
-
|
|
15944
|
+
readonly description: "The metric configuration used to evaluate the safeguard condition.";
|
|
15945
|
+
};
|
|
15946
|
+
};
|
|
15947
|
+
readonly components: {
|
|
15948
|
+
readonly schemas: {
|
|
15949
|
+
readonly metricQuerySchema: {
|
|
15950
|
+
readonly $id: "#/components/schemas/metricQuerySchema";
|
|
14894
15951
|
readonly type: "object";
|
|
14895
|
-
readonly
|
|
14896
|
-
readonly
|
|
15952
|
+
readonly required: readonly ["metricName", "timeRange", "aggregationMode", "labelSelectors"];
|
|
15953
|
+
readonly description: "Common metric query configuration for selecting and filtering metric data.";
|
|
15954
|
+
readonly additionalProperties: false;
|
|
14897
15955
|
readonly properties: {
|
|
14898
|
-
readonly
|
|
15956
|
+
readonly metricName: {
|
|
14899
15957
|
readonly type: "string";
|
|
14900
|
-
readonly description: "The
|
|
14901
|
-
readonly example: "
|
|
14902
|
-
};
|
|
14903
|
-
readonly weight: {
|
|
14904
|
-
readonly type: "integer";
|
|
14905
|
-
readonly description: "The weight is the likelihood of any one user getting this variant. It is an integer between 0 and 1000. See the section on [variant weights](https://docs.getunleash.io/concepts/feature-flag-variants#variant-weight) for more information";
|
|
14906
|
-
readonly minimum: 0;
|
|
14907
|
-
readonly maximum: 1000;
|
|
15958
|
+
readonly description: "The Prometheus metric series to query. It includes both unleash prefix and metric type and display name";
|
|
15959
|
+
readonly example: "unleash_counter_feature_toggle_usage_total";
|
|
14908
15960
|
};
|
|
14909
|
-
readonly
|
|
14910
|
-
readonly description: "Set to `fix` if this variant must have exactly the weight allocated to it. If the type is `variable`, the weight will adjust so that the total weight of all variants adds up to 1000. Refer to the [variant weight documentation](https://docs.getunleash.io/concepts/feature-flag-variants#variant-weight).";
|
|
15961
|
+
readonly timeRange: {
|
|
14911
15962
|
readonly type: "string";
|
|
14912
|
-
readonly
|
|
14913
|
-
readonly
|
|
15963
|
+
readonly enum: readonly ["hour", "day", "week", "month"];
|
|
15964
|
+
readonly description: "The time range for the metric data.";
|
|
15965
|
+
readonly example: "day";
|
|
14914
15966
|
};
|
|
14915
|
-
readonly
|
|
15967
|
+
readonly aggregationMode: {
|
|
14916
15968
|
readonly type: "string";
|
|
14917
|
-
readonly description: "The
|
|
14918
|
-
readonly
|
|
15969
|
+
readonly description: "The aggregation mode for the metric data.";
|
|
15970
|
+
readonly enum: readonly ["rps", "count", "avg", "sum", "p95", "p99", "p50"];
|
|
15971
|
+
readonly example: "rps";
|
|
14919
15972
|
};
|
|
14920
|
-
readonly
|
|
15973
|
+
readonly labelSelectors: {
|
|
14921
15974
|
readonly type: "object";
|
|
14922
|
-
readonly
|
|
14923
|
-
|
|
14924
|
-
|
|
14925
|
-
readonly type: {
|
|
14926
|
-
readonly description: "The type of the value. Commonly used types are string, number, json and csv.";
|
|
14927
|
-
readonly type: "string";
|
|
14928
|
-
readonly enum: readonly ["json", "csv", "string", "number"];
|
|
14929
|
-
};
|
|
14930
|
-
readonly value: {
|
|
14931
|
-
readonly description: "The actual value of payload";
|
|
15975
|
+
readonly additionalProperties: {
|
|
15976
|
+
readonly type: "array";
|
|
15977
|
+
readonly items: {
|
|
14932
15978
|
readonly type: "string";
|
|
14933
15979
|
};
|
|
14934
15980
|
};
|
|
15981
|
+
readonly description: "The selected labels and their values for filtering the metric data.";
|
|
14935
15982
|
readonly example: {
|
|
14936
|
-
readonly
|
|
14937
|
-
readonly
|
|
15983
|
+
readonly environment: readonly ["development"];
|
|
15984
|
+
readonly project: readonly ["default"];
|
|
14938
15985
|
};
|
|
14939
15986
|
};
|
|
15987
|
+
readonly source: {
|
|
15988
|
+
readonly type: "string";
|
|
15989
|
+
readonly enum: readonly ["internal", "external"];
|
|
15990
|
+
readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
|
|
15991
|
+
readonly example: "internal";
|
|
15992
|
+
};
|
|
15993
|
+
};
|
|
15994
|
+
readonly components: {};
|
|
15995
|
+
};
|
|
15996
|
+
readonly safeguardTriggerConditionSchema: {
|
|
15997
|
+
readonly $id: "#/components/schemas/safeguardTriggerConditionSchema";
|
|
15998
|
+
readonly type: "object";
|
|
15999
|
+
readonly required: readonly ["operator", "threshold"];
|
|
16000
|
+
readonly additionalProperties: false;
|
|
16001
|
+
readonly description: "The condition that triggers the safeguard.";
|
|
16002
|
+
readonly properties: {
|
|
16003
|
+
readonly operator: {
|
|
16004
|
+
readonly type: "string";
|
|
16005
|
+
readonly enum: readonly [">", "<"];
|
|
16006
|
+
readonly description: "The comparison operator for the threshold check.";
|
|
16007
|
+
readonly example: ">";
|
|
16008
|
+
};
|
|
16009
|
+
readonly threshold: {
|
|
16010
|
+
readonly type: "number";
|
|
16011
|
+
readonly description: "The threshold value to compare against.";
|
|
16012
|
+
readonly example: 100;
|
|
16013
|
+
};
|
|
14940
16014
|
};
|
|
14941
16015
|
readonly components: {};
|
|
14942
16016
|
};
|
|
14943
16017
|
};
|
|
14944
16018
|
};
|
|
14945
16019
|
};
|
|
14946
|
-
readonly
|
|
14947
|
-
readonly $id: "#/components/schemas/
|
|
16020
|
+
readonly metricQuerySchema: {
|
|
16021
|
+
readonly $id: "#/components/schemas/metricQuerySchema";
|
|
14948
16022
|
readonly type: "object";
|
|
16023
|
+
readonly required: readonly ["metricName", "timeRange", "aggregationMode", "labelSelectors"];
|
|
16024
|
+
readonly description: "Common metric query configuration for selecting and filtering metric data.";
|
|
14949
16025
|
readonly additionalProperties: false;
|
|
14950
|
-
readonly required: readonly ["intervalMinutes"];
|
|
14951
|
-
readonly description: "A transition condition for milestone progression";
|
|
14952
16026
|
readonly properties: {
|
|
14953
|
-
readonly
|
|
14954
|
-
readonly type: "
|
|
14955
|
-
readonly
|
|
14956
|
-
readonly
|
|
14957
|
-
|
|
16027
|
+
readonly metricName: {
|
|
16028
|
+
readonly type: "string";
|
|
16029
|
+
readonly description: "The Prometheus metric series to query. It includes both unleash prefix and metric type and display name";
|
|
16030
|
+
readonly example: "unleash_counter_feature_toggle_usage_total";
|
|
16031
|
+
};
|
|
16032
|
+
readonly timeRange: {
|
|
16033
|
+
readonly type: "string";
|
|
16034
|
+
readonly enum: readonly ["hour", "day", "week", "month"];
|
|
16035
|
+
readonly description: "The time range for the metric data.";
|
|
16036
|
+
readonly example: "day";
|
|
16037
|
+
};
|
|
16038
|
+
readonly aggregationMode: {
|
|
16039
|
+
readonly type: "string";
|
|
16040
|
+
readonly description: "The aggregation mode for the metric data.";
|
|
16041
|
+
readonly enum: readonly ["rps", "count", "avg", "sum", "p95", "p99", "p50"];
|
|
16042
|
+
readonly example: "rps";
|
|
16043
|
+
};
|
|
16044
|
+
readonly labelSelectors: {
|
|
16045
|
+
readonly type: "object";
|
|
16046
|
+
readonly additionalProperties: {
|
|
16047
|
+
readonly type: "array";
|
|
16048
|
+
readonly items: {
|
|
16049
|
+
readonly type: "string";
|
|
16050
|
+
};
|
|
16051
|
+
};
|
|
16052
|
+
readonly description: "The selected labels and their values for filtering the metric data.";
|
|
16053
|
+
readonly example: {
|
|
16054
|
+
readonly environment: readonly ["development"];
|
|
16055
|
+
readonly project: readonly ["default"];
|
|
16056
|
+
};
|
|
16057
|
+
};
|
|
16058
|
+
readonly source: {
|
|
16059
|
+
readonly type: "string";
|
|
16060
|
+
readonly enum: readonly ["internal", "external"];
|
|
16061
|
+
readonly description: "The Prometheus data source for this metric. Internal is the Unleash-managed Prometheus, external is a customer-provided Prometheus instance. Defaults to internal if not specified.";
|
|
16062
|
+
readonly example: "internal";
|
|
16063
|
+
};
|
|
16064
|
+
};
|
|
16065
|
+
readonly components: {};
|
|
16066
|
+
};
|
|
16067
|
+
readonly safeguardTriggerConditionSchema: {
|
|
16068
|
+
readonly $id: "#/components/schemas/safeguardTriggerConditionSchema";
|
|
16069
|
+
readonly type: "object";
|
|
16070
|
+
readonly required: readonly ["operator", "threshold"];
|
|
16071
|
+
readonly additionalProperties: false;
|
|
16072
|
+
readonly description: "The condition that triggers the safeguard.";
|
|
16073
|
+
readonly properties: {
|
|
16074
|
+
readonly operator: {
|
|
16075
|
+
readonly type: "string";
|
|
16076
|
+
readonly enum: readonly [">", "<"];
|
|
16077
|
+
readonly description: "The comparison operator for the threshold check.";
|
|
16078
|
+
readonly example: ">";
|
|
16079
|
+
};
|
|
16080
|
+
readonly threshold: {
|
|
16081
|
+
readonly type: "number";
|
|
16082
|
+
readonly description: "The threshold value to compare against.";
|
|
16083
|
+
readonly example: 100;
|
|
14958
16084
|
};
|
|
14959
16085
|
};
|
|
14960
16086
|
readonly components: {};
|