unleash-server 7.2.2 → 7.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -10
- package/dist/lib/create-config.d.ts.map +1 -1
- package/dist/lib/create-config.js +8 -0
- package/dist/lib/create-config.js.map +1 -1
- package/dist/lib/db/client-applications-store.d.ts.map +1 -1
- package/dist/lib/db/client-applications-store.js +32 -2
- package/dist/lib/db/client-applications-store.js.map +1 -1
- package/dist/lib/db/feature-environment-store.d.ts +1 -1
- package/dist/lib/db/feature-environment-store.d.ts.map +1 -1
- package/dist/lib/db/feature-environment-store.js +42 -35
- package/dist/lib/db/feature-environment-store.js.map +1 -1
- package/dist/lib/db/index.d.ts.map +1 -1
- package/dist/lib/db/index.js +2 -0
- package/dist/lib/db/index.js.map +1 -1
- package/dist/lib/error/unleash-error.d.ts.map +1 -1
- package/dist/lib/error/unleash-error.js +2 -2
- package/dist/lib/error/unleash-error.js.map +1 -1
- package/dist/lib/events/index.d.ts +8 -1
- package/dist/lib/events/index.d.ts.map +1 -1
- package/dist/lib/events/index.js +14 -0
- package/dist/lib/events/index.js.map +1 -1
- package/dist/lib/features/api-tokens/createApiTokenService.d.ts +2 -0
- package/dist/lib/features/api-tokens/createApiTokenService.d.ts.map +1 -1
- package/dist/lib/features/api-tokens/createApiTokenService.js +6 -2
- package/dist/lib/features/api-tokens/createApiTokenService.js.map +1 -1
- package/dist/lib/features/client-feature-toggles/client-feature-toggle.controller.d.ts.map +1 -1
- package/dist/lib/features/client-feature-toggles/client-feature-toggle.controller.js +2 -9
- package/dist/lib/features/client-feature-toggles/client-feature-toggle.controller.js.map +1 -1
- package/dist/lib/features/dependent-features/dependent.features.e2e.test.js +28 -29
- package/dist/lib/features/dependent-features/dependent.features.e2e.test.js.map +1 -1
- package/dist/lib/features/feature-links/feature-link-service.js +1 -1
- package/dist/lib/features/feature-links/feature-link-service.js.map +1 -1
- package/dist/lib/features/feature-toggle/createFeatureToggleService.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/createFeatureToggleService.js +14 -4
- package/dist/lib/features/feature-toggle/createFeatureToggleService.js.map +1 -1
- package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.js +2 -1
- package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.js.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-service.d.ts +9 -3
- package/dist/lib/features/feature-toggle/feature-toggle-service.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-service.js +23 -7
- package/dist/lib/features/feature-toggle/feature-toggle-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 -3
- package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.js.map +1 -1
- package/dist/lib/features/feature-toggle/tests/feature-toggles.e2e.test.js +34 -35
- package/dist/lib/features/feature-toggle/tests/feature-toggles.e2e.test.js.map +1 -1
- package/dist/lib/features/instance-stats/createInstanceStatsService.d.ts.map +1 -1
- package/dist/lib/features/instance-stats/createInstanceStatsService.js +5 -2
- package/dist/lib/features/instance-stats/createInstanceStatsService.js.map +1 -1
- package/dist/lib/features/instance-stats/getEdgeInstances.d.ts +6 -0
- package/dist/lib/features/instance-stats/getEdgeInstances.d.ts.map +1 -0
- package/dist/lib/features/instance-stats/getEdgeInstances.e2e.test.d.ts +2 -0
- package/dist/lib/features/instance-stats/getEdgeInstances.e2e.test.d.ts.map +1 -0
- package/dist/lib/features/instance-stats/getEdgeInstances.e2e.test.js +137 -0
- package/dist/lib/features/instance-stats/getEdgeInstances.e2e.test.js.map +1 -0
- package/dist/lib/features/instance-stats/getEdgeInstances.js +36 -0
- package/dist/lib/features/instance-stats/getEdgeInstances.js.map +1 -0
- package/dist/lib/features/instance-stats/instance-stats-service.d.ts +4 -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 +8 -3
- package/dist/lib/features/instance-stats/instance-stats-service.js.map +1 -1
- package/dist/lib/features/instance-stats/instance-stats-service.test.js +2 -1
- package/dist/lib/features/instance-stats/instance-stats-service.test.js.map +1 -1
- package/dist/lib/features/metrics/client-metrics/metrics-service-v2.js +1 -1
- package/dist/lib/features/metrics/client-metrics/metrics-service-v2.js.map +1 -1
- package/dist/lib/features/metrics/impact/batch-histogram.d.ts +36 -0
- package/dist/lib/features/metrics/impact/batch-histogram.d.ts.map +1 -0
- package/dist/lib/features/metrics/impact/batch-histogram.js +87 -0
- package/dist/lib/features/metrics/impact/batch-histogram.js.map +1 -0
- package/dist/lib/features/metrics/impact/batch-histogram.test.d.ts +2 -0
- package/dist/lib/features/metrics/impact/batch-histogram.test.d.ts.map +1 -0
- package/dist/lib/features/metrics/impact/batch-histogram.test.js +137 -0
- package/dist/lib/features/metrics/impact/batch-histogram.test.js.map +1 -0
- package/dist/lib/features/metrics/impact/define-impact-metrics.d.ts +2 -0
- package/dist/lib/features/metrics/impact/define-impact-metrics.d.ts.map +1 -1
- package/dist/lib/features/metrics/impact/define-impact-metrics.js +4 -0
- package/dist/lib/features/metrics/impact/define-impact-metrics.js.map +1 -1
- package/dist/lib/features/metrics/impact/impact-metrics.e2e.test.js +49 -0
- package/dist/lib/features/metrics/impact/impact-metrics.e2e.test.js.map +1 -1
- package/dist/lib/features/metrics/impact/metrics-translator.d.ts +22 -4
- package/dist/lib/features/metrics/impact/metrics-translator.d.ts.map +1 -1
- package/dist/lib/features/metrics/impact/metrics-translator.js +58 -2
- package/dist/lib/features/metrics/impact/metrics-translator.js.map +1 -1
- package/dist/lib/features/metrics/impact/metrics-translator.test.js +83 -0
- package/dist/lib/features/metrics/impact/metrics-translator.test.js.map +1 -1
- package/dist/lib/features/metrics/shared/schema.d.ts +1 -0
- package/dist/lib/features/metrics/shared/schema.d.ts.map +1 -1
- package/dist/lib/features/metrics/shared/schema.js +27 -1
- package/dist/lib/features/metrics/shared/schema.js.map +1 -1
- package/dist/lib/features/project/createProjectService.d.ts.map +1 -1
- package/dist/lib/features/project/createProjectService.js +7 -5
- package/dist/lib/features/project/createProjectService.js.map +1 -1
- package/dist/lib/features/project/project-service.d.ts +3 -2
- package/dist/lib/features/project/project-service.d.ts.map +1 -1
- package/dist/lib/features/project/project-service.js +4 -3
- package/dist/lib/features/project/project-service.js.map +1 -1
- package/dist/lib/features/release-plans/release-plan-milestone-store.d.ts +2 -2
- package/dist/lib/features/release-plans/release-plan-milestone-store.d.ts.map +1 -1
- package/dist/lib/features/release-plans/release-plan-milestone-store.js +3 -0
- package/dist/lib/features/release-plans/release-plan-milestone-store.js.map +1 -1
- package/dist/lib/features/release-plans/release-plan-milestone.d.ts +6 -0
- package/dist/lib/features/release-plans/release-plan-milestone.d.ts.map +1 -1
- package/dist/lib/features/release-plans/release-plan-read-model-type.d.ts +5 -0
- package/dist/lib/features/release-plans/release-plan-read-model-type.d.ts.map +1 -0
- package/dist/lib/features/release-plans/release-plan-read-model-type.js +2 -0
- package/dist/lib/features/release-plans/release-plan-read-model-type.js.map +1 -0
- package/dist/lib/features/release-plans/release-plan-read-model.d.ts +11 -0
- package/dist/lib/features/release-plans/release-plan-read-model.d.ts.map +1 -0
- package/dist/lib/features/release-plans/release-plan-read-model.js +133 -0
- package/dist/lib/features/release-plans/release-plan-read-model.js.map +1 -0
- package/dist/lib/features/release-plans/release-plan-read-model.test.d.ts +2 -0
- package/dist/lib/features/release-plans/release-plan-read-model.test.d.ts.map +1 -0
- package/dist/lib/features/release-plans/release-plan-read-model.test.js +165 -0
- package/dist/lib/features/release-plans/release-plan-read-model.test.js.map +1 -0
- package/dist/lib/features/release-plans/release-plan-store.d.ts +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 +16 -15
- package/dist/lib/features/release-plans/release-plan-store.js.map +1 -1
- package/dist/lib/features/release-plans/release-plan-template.d.ts +2 -2
- package/dist/lib/features/release-plans/release-plan-template.d.ts.map +1 -1
- package/dist/lib/features/release-plans/release-plan.d.ts +1 -1
- package/dist/lib/features/release-plans/release-plan.d.ts.map +1 -1
- package/dist/lib/features/resource-limits/resource-limits-service.d.ts +8 -0
- package/dist/lib/features/resource-limits/resource-limits-service.d.ts.map +1 -0
- package/dist/lib/features/resource-limits/resource-limits-service.js +9 -0
- package/dist/lib/features/resource-limits/resource-limits-service.js.map +1 -0
- package/dist/lib/features/scheduler/schedule-services.js +1 -1
- package/dist/lib/features/scheduler/schedule-services.js.map +1 -1
- package/dist/lib/features/segment/createSegmentService.d.ts.map +1 -1
- package/dist/lib/features/segment/createSegmentService.js +5 -3
- package/dist/lib/features/segment/createSegmentService.js.map +1 -1
- package/dist/lib/features/segment/segment-service.d.ts +3 -2
- package/dist/lib/features/segment/segment-service.d.ts.map +1 -1
- package/dist/lib/features/segment/segment-service.js +3 -3
- package/dist/lib/features/segment/segment-service.js.map +1 -1
- package/dist/lib/features/users/user-store.d.ts +2 -0
- package/dist/lib/features/users/user-store.d.ts.map +1 -1
- package/dist/lib/features/users/user-store.js +3 -2
- package/dist/lib/features/users/user-store.js.map +1 -1
- package/dist/lib/features/users/user-updates-read-model.d.ts +27 -0
- package/dist/lib/features/users/user-updates-read-model.d.ts.map +1 -0
- package/dist/lib/features/users/user-updates-read-model.js +68 -0
- package/dist/lib/features/users/user-updates-read-model.js.map +1 -0
- package/dist/lib/features/users/user-updates-read-model.test.d.ts +2 -0
- package/dist/lib/features/users/user-updates-read-model.test.d.ts.map +1 -0
- package/dist/lib/features/users/user-updates-read-model.test.js +50 -0
- package/dist/lib/features/users/user-updates-read-model.test.js.map +1 -0
- package/dist/lib/metrics.d.ts.map +1 -1
- package/dist/lib/metrics.js +8 -6
- package/dist/lib/metrics.js.map +1 -1
- package/dist/lib/metrics.test.js +2 -1
- package/dist/lib/metrics.test.js.map +1 -1
- package/dist/lib/middleware/origin-middleware.d.ts +1 -1
- package/dist/lib/middleware/origin-middleware.d.ts.map +1 -1
- package/dist/lib/middleware/origin-middleware.js +2 -9
- package/dist/lib/middleware/origin-middleware.js.map +1 -1
- package/dist/lib/middleware/origin-middleware.test.js +0 -16
- package/dist/lib/middleware/origin-middleware.test.js.map +1 -1
- package/dist/lib/openapi/spec/application-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/application-schema.js +1 -1
- package/dist/lib/openapi/spec/application-schema.js.map +1 -1
- package/dist/lib/openapi/spec/applications-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/bulk-metrics-schema.d.ts +126 -39
- package/dist/lib/openapi/spec/bulk-metrics-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/create-application-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/create-application-schema.js +1 -1
- package/dist/lib/openapi/spec/create-application-schema.js.map +1 -1
- package/dist/lib/openapi/spec/create-strategy-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/create-strategy-schema.js +2 -2
- package/dist/lib/openapi/spec/create-strategy-schema.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 +12304 -1250
- package/dist/lib/openapi/spec/export-result-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/export-result-schema.js +12 -0
- package/dist/lib/openapi/spec/export-result-schema.js.map +1 -1
- package/dist/lib/openapi/spec/feature-environment-schema.d.ts +2767 -0
- package/dist/lib/openapi/spec/feature-environment-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/feature-environment-schema.js +19 -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 +5808 -281
- package/dist/lib/openapi/spec/feature-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/feature-schema.js +12 -0
- package/dist/lib/openapi/spec/feature-schema.js.map +1 -1
- package/dist/lib/openapi/spec/feature-search-environment-schema.d.ts +5613 -79
- package/dist/lib/openapi/spec/feature-search-environment-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/feature-search-environment-schema.js +12 -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 +2 -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 +2 -1
- package/dist/lib/openapi/spec/feature-search-query-parameters.js.map +1 -1
- package/dist/lib/openapi/spec/feature-search-response-schema.d.ts +5613 -79
- package/dist/lib/openapi/spec/feature-search-response-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/health-overview-schema.d.ts +11432 -605
- 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 +11432 -605
- package/dist/lib/openapi/spec/health-report-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/impact-metrics-schema.d.ts +126 -39
- package/dist/lib/openapi/spec/impact-metrics-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/impact-metrics-schema.js +128 -39
- package/dist/lib/openapi/spec/impact-metrics-schema.js.map +1 -1
- package/dist/lib/openapi/spec/import-toggles-schema.d.ts +24822 -2714
- package/dist/lib/openapi/spec/import-toggles-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/import-toggles-schema.js +12 -0
- package/dist/lib/openapi/spec/import-toggles-schema.js.map +1 -1
- package/dist/lib/openapi/spec/index.d.ts +7 -0
- package/dist/lib/openapi/spec/index.d.ts.map +1 -1
- package/dist/lib/openapi/spec/index.js +7 -0
- package/dist/lib/openapi/spec/index.js.map +1 -1
- package/dist/lib/openapi/spec/instance-admin-stats-schema.d.ts +13 -0
- package/dist/lib/openapi/spec/instance-admin-stats-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/instance-admin-stats-schema.js +13 -0
- package/dist/lib/openapi/spec/instance-admin-stats-schema.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/me-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/patch-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/patch-schema.js +1 -1
- package/dist/lib/openapi/spec/patch-schema.js.map +1 -1
- package/dist/lib/openapi/spec/patches-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/permission-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/permission-schema.js +1 -1
- package/dist/lib/openapi/spec/permission-schema.js.map +1 -1
- package/dist/lib/openapi/spec/profile-schema.d.ts +5808 -281
- package/dist/lib/openapi/spec/profile-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/project-overview-schema.d.ts +11641 -814
- 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/ready-check-schema.d.ts +19 -0
- package/dist/lib/openapi/spec/ready-check-schema.d.ts.map +1 -0
- package/dist/lib/openapi/spec/ready-check-schema.js +17 -0
- package/dist/lib/openapi/spec/ready-check-schema.js.map +1 -0
- package/dist/lib/openapi/spec/release-plan-milestone-schema.d.ts +716 -0
- package/dist/lib/openapi/spec/release-plan-milestone-schema.d.ts.map +1 -0
- package/dist/lib/openapi/spec/release-plan-milestone-schema.js +72 -0
- package/dist/lib/openapi/spec/release-plan-milestone-schema.js.map +1 -0
- package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.d.ts +361 -0
- package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.d.ts.map +1 -0
- package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.js +40 -0
- package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.js.map +1 -0
- package/dist/lib/openapi/spec/release-plan-schema.d.ts +1449 -0
- package/dist/lib/openapi/spec/release-plan-schema.d.ts.map +1 -0
- package/dist/lib/openapi/spec/release-plan-schema.js +74 -0
- package/dist/lib/openapi/spec/release-plan-schema.js.map +1 -0
- package/dist/lib/openapi/spec/release-plan-template-id-schema.d.ts +19 -0
- package/dist/lib/openapi/spec/release-plan-template-id-schema.d.ts.map +1 -0
- package/dist/lib/openapi/spec/release-plan-template-id-schema.js +17 -0
- package/dist/lib/openapi/spec/release-plan-template-id-schema.js.map +1 -0
- package/dist/lib/openapi/spec/release-plan-template-schema.d.ts +1434 -0
- package/dist/lib/openapi/spec/release-plan-template-schema.d.ts.map +1 -0
- package/dist/lib/openapi/spec/release-plan-template-schema.js +79 -0
- package/dist/lib/openapi/spec/release-plan-template-schema.js.map +1 -0
- package/dist/lib/openapi/spec/search-features-schema.d.ts +11793 -725
- package/dist/lib/openapi/spec/search-features-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/transition-condition-schema.d.ts +19 -0
- package/dist/lib/openapi/spec/transition-condition-schema.d.ts.map +1 -0
- package/dist/lib/openapi/spec/transition-condition-schema.js +17 -0
- package/dist/lib/openapi/spec/transition-condition-schema.js.map +1 -0
- package/dist/lib/openapi/spec/update-strategy-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/update-strategy-schema.js +1 -1
- package/dist/lib/openapi/spec/update-strategy-schema.js.map +1 -1
- package/dist/lib/openapi/util/openapi-tags.d.ts +2 -2
- package/dist/lib/openapi/util/openapi-tags.js +1 -1
- package/dist/lib/openapi/util/openapi-tags.js.map +1 -1
- package/dist/lib/routes/admin-api/index.js +2 -2
- package/dist/lib/routes/admin-api/index.js.map +1 -1
- package/dist/lib/routes/admin-api/instance-admin.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/instance-admin.js +5 -0
- package/dist/lib/routes/admin-api/instance-admin.js.map +1 -1
- package/dist/lib/routes/admin-api/strategy.js +1 -1
- package/dist/lib/routes/admin-api/strategy.js.map +1 -1
- package/dist/lib/routes/admin-api/strategy.test.js +25 -1
- package/dist/lib/routes/admin-api/strategy.test.js.map +1 -1
- package/dist/lib/routes/backstage.test.js +17 -5
- package/dist/lib/routes/backstage.test.js.map +1 -1
- package/dist/lib/routes/health-check.test.js +2 -2
- package/dist/lib/routes/health-check.test.js.map +1 -1
- package/dist/lib/routes/index.d.ts.map +1 -1
- package/dist/lib/routes/index.js +2 -0
- package/dist/lib/routes/index.js.map +1 -1
- package/dist/lib/routes/ready-check.d.ts +14 -0
- package/dist/lib/routes/ready-check.d.ts.map +1 -0
- package/dist/lib/routes/ready-check.js +86 -0
- package/dist/lib/routes/ready-check.js.map +1 -0
- package/dist/lib/routes/util.d.ts.map +1 -1
- package/dist/lib/routes/util.js +19 -1
- package/dist/lib/routes/util.js.map +1 -1
- package/dist/lib/server-impl.d.ts +9 -3
- package/dist/lib/server-impl.d.ts.map +1 -1
- package/dist/lib/server-impl.js +6 -1
- package/dist/lib/server-impl.js.map +1 -1
- package/dist/lib/services/api-token-service.d.ts +3 -2
- package/dist/lib/services/api-token-service.d.ts.map +1 -1
- package/dist/lib/services/api-token-service.js +3 -3
- package/dist/lib/services/api-token-service.js.map +1 -1
- package/dist/lib/services/index.d.ts +5 -1
- package/dist/lib/services/index.d.ts.map +1 -1
- package/dist/lib/services/index.js +16 -2
- package/dist/lib/services/index.js.map +1 -1
- package/dist/lib/services/strategy-service.d.ts +4 -1
- package/dist/lib/services/strategy-service.d.ts.map +1 -1
- package/dist/lib/services/strategy-service.js +15 -2
- package/dist/lib/services/strategy-service.js.map +1 -1
- package/dist/lib/services/user-service.d.ts.map +1 -1
- package/dist/lib/services/user-service.js +19 -3
- package/dist/lib/services/user-service.js.map +1 -1
- package/dist/lib/services/user-splash-service.d.ts.map +1 -1
- package/dist/lib/services/user-splash-service.js +7 -1
- package/dist/lib/services/user-splash-service.js.map +1 -1
- package/dist/lib/services/version-service.d.ts +2 -0
- package/dist/lib/services/version-service.d.ts.map +1 -1
- package/dist/lib/services/version-service.js.map +1 -1
- package/dist/lib/services/version-service.test.js +1 -0
- package/dist/lib/services/version-service.test.js.map +1 -1
- package/dist/lib/types/events.d.ts +28 -0
- package/dist/lib/types/events.d.ts.map +1 -1
- package/dist/lib/types/events.js +20 -1
- package/dist/lib/types/events.js.map +1 -1
- package/dist/lib/types/experimental.d.ts +3 -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/option.d.ts +8 -0
- package/dist/lib/types/option.d.ts.map +1 -1
- package/dist/lib/types/stores/feature-environment-store.d.ts +1 -1
- package/dist/lib/types/stores/feature-environment-store.d.ts.map +1 -1
- package/dist/lib/types/stores.d.ts +2 -0
- package/dist/lib/types/stores.d.ts.map +1 -1
- package/dist/lib/types/stores.js.map +1 -1
- package/dist/lib/ui-config/ui-config-controller.d.ts +18 -0
- package/dist/lib/ui-config/ui-config-controller.d.ts.map +1 -0
- package/dist/lib/ui-config/ui-config-controller.js +62 -0
- package/dist/lib/ui-config/ui-config-controller.js.map +1 -0
- package/dist/lib/ui-config/ui-config-service.d.ts +18 -0
- package/dist/lib/ui-config/ui-config-service.d.ts.map +1 -0
- package/dist/lib/ui-config/ui-config-service.js +64 -0
- package/dist/lib/ui-config/ui-config-service.js.map +1 -0
- package/dist/lib/ui-config/ui-config.test.d.ts +2 -0
- package/dist/lib/ui-config/ui-config.test.d.ts.map +1 -0
- package/dist/lib/{routes/admin-api/config.test.js → ui-config/ui-config.test.js} +6 -6
- package/dist/lib/ui-config/ui-config.test.js.map +1 -0
- package/dist/lib/util/metrics/createGauge.d.ts +17 -1
- package/dist/lib/util/metrics/createGauge.d.ts.map +1 -1
- package/dist/lib/util/metrics/createGauge.js +49 -4
- package/dist/lib/util/metrics/createGauge.js.map +1 -1
- package/dist/lib/util/random-id.js +2 -2
- package/dist/lib/util/random-id.js.map +1 -1
- package/dist/lib/util/random-id.test.d.ts +2 -0
- package/dist/lib/util/random-id.test.d.ts.map +1 -0
- package/dist/lib/util/random-id.test.js +7 -0
- package/dist/lib/util/random-id.test.js.map +1 -0
- package/dist/migrations/20210218090213-generate-server-identifier.js +2 -2
- package/dist/migrations/20210218090213-generate-server-identifier.js.map +1 -1
- package/dist/migrations/20210615115226-migrate-strategies-to-feature-strategies.js +2 -2
- package/dist/migrations/20210615115226-migrate-strategies-to-feature-strategies.js.map +1 -1
- package/dist/migrations/20250923130348-add-users-updated-at.d.ts +3 -0
- package/dist/migrations/20250923130348-add-users-updated-at.d.ts.map +1 -0
- package/dist/migrations/20250923130348-add-users-updated-at.js +40 -0
- package/dist/migrations/20250923130348-add-users-updated-at.js.map +1 -0
- package/dist/migrations/20251002095623-not-null-constraints.d.ts +3 -0
- package/dist/migrations/20251002095623-not-null-constraints.d.ts.map +1 -0
- package/dist/migrations/20251002095623-not-null-constraints.js +20 -0
- package/dist/migrations/20251002095623-not-null-constraints.js.map +1 -0
- package/dist/migrations/20251003105758-add-milestone-started-at.d.ts +3 -0
- package/dist/migrations/20251003105758-add-milestone-started-at.d.ts.map +1 -0
- package/dist/migrations/20251003105758-add-milestone-started-at.js +8 -0
- package/dist/migrations/20251003105758-add-milestone-started-at.js.map +1 -0
- package/dist/migrations/20251006111609-add-milestone-progressions.d.ts +3 -0
- package/dist/migrations/20251006111609-add-milestone-progressions.d.ts.map +1 -0
- package/dist/migrations/20251006111609-add-milestone-progressions.js +15 -0
- package/dist/migrations/20251006111609-add-milestone-progressions.js.map +1 -0
- package/dist/migrations/20251009081052-add-milestone-progression-executed-at.d.ts +3 -0
- package/dist/migrations/20251009081052-add-milestone-progression-executed-at.d.ts.map +1 -0
- package/dist/migrations/20251009081052-add-milestone-progression-executed-at.js +14 -0
- package/dist/migrations/20251009081052-add-milestone-progression-executed-at.js.map +1 -0
- package/dist/migrations/20251009132935-add-edge-node-presence.d.ts +3 -0
- package/dist/migrations/20251009132935-add-edge-node-presence.d.ts.map +1 -0
- package/dist/migrations/20251009132935-add-edge-node-presence.js +29 -0
- package/dist/migrations/20251009132935-add-edge-node-presence.js.map +1 -0
- package/dist/migrations/20251013131405-milestone-progression-uniqueness.d.ts +3 -0
- package/dist/migrations/20251013131405-milestone-progression-uniqueness.d.ts.map +1 -0
- package/dist/migrations/20251013131405-milestone-progression-uniqueness.js +9 -0
- package/dist/migrations/20251013131405-milestone-progression-uniqueness.js.map +1 -0
- package/dist/migrations/20251027094509-milestone-progression-natural-pk.d.ts +3 -0
- package/dist/migrations/20251027094509-milestone-progression-natural-pk.d.ts.map +1 -0
- package/dist/migrations/20251027094509-milestone-progression-natural-pk.js +22 -0
- package/dist/migrations/20251027094509-milestone-progression-natural-pk.js.map +1 -0
- package/dist/migrations/20251103114221-milestone-progression-paused-at.d.ts +3 -0
- package/dist/migrations/20251103114221-milestone-progression-paused-at.d.ts.map +1 -0
- package/dist/migrations/20251103114221-milestone-progression-paused-at.js +14 -0
- package/dist/migrations/20251103114221-milestone-progression-paused-at.js.map +1 -0
- package/dist/migrations/20251105153729-create-safeguards-table.d.ts +3 -0
- package/dist/migrations/20251105153729-create-safeguards-table.d.ts.map +1 -0
- package/dist/migrations/20251105153729-create-safeguards-table.js +17 -0
- package/dist/migrations/20251105153729-create-safeguards-table.js.map +1 -0
- package/dist/server-dev.js +5 -3
- package/dist/server-dev.js.map +1 -1
- package/dist/test/e2e/api/admin/context.e2e.test.js +2 -3
- package/dist/test/e2e/api/admin/context.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/user-admin.e2e.test.js +2 -3
- package/dist/test/e2e/api/admin/user-admin.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/feature.optimal304.e2e.test.js +17 -41
- package/dist/test/e2e/api/client/feature.optimal304.e2e.test.js.map +1 -1
- package/dist/test/e2e/helpers/database-init.js +2 -2
- package/dist/test/e2e/helpers/database-init.js.map +1 -1
- package/dist/test/e2e/ready.e2e.test.d.ts +2 -0
- package/dist/test/e2e/ready.e2e.test.d.ts.map +1 -0
- package/dist/test/e2e/ready.e2e.test.js +66 -0
- package/dist/test/e2e/ready.e2e.test.js.map +1 -0
- package/dist/test/e2e/services/user-service.e2e.test.js +129 -99
- package/dist/test/e2e/services/user-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/client-application-store.e2e.test.js +0 -1
- package/dist/test/e2e/stores/client-application-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/feature-environment-store.e2e.test.js +3 -1
- package/dist/test/e2e/stores/feature-environment-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/users/user-store.e2e.test.d.ts.map +1 -0
- package/dist/test/e2e/users/user-store.e2e.test.js.map +1 -0
- package/dist/test/e2e/users/user-updates-read-model.e2e.test.d.ts +2 -0
- package/dist/test/e2e/users/user-updates-read-model.e2e.test.d.ts.map +1 -0
- package/dist/test/e2e/users/user-updates-read-model.e2e.test.js +88 -0
- package/dist/test/e2e/users/user-updates-read-model.e2e.test.js.map +1 -0
- package/dist/test/fixtures/fake/fake-release-plan-read-model.d.ts +8 -0
- package/dist/test/fixtures/fake/fake-release-plan-read-model.d.ts.map +1 -0
- package/dist/test/fixtures/fake/fake-release-plan-read-model.js +9 -0
- package/dist/test/fixtures/fake/fake-release-plan-read-model.js.map +1 -0
- package/dist/test/fixtures/fake-impact-metrics.d.ts +12 -4
- package/dist/test/fixtures/fake-impact-metrics.d.ts.map +1 -1
- package/dist/test/fixtures/fake-impact-metrics.js +50 -26
- package/dist/test/fixtures/fake-impact-metrics.js.map +1 -1
- package/dist/test/fixtures/store.d.ts.map +1 -1
- package/dist/test/fixtures/store.js +1 -0
- package/dist/test/fixtures/store.js.map +1 -1
- package/frontend/build/index.html +1 -1
- package/frontend/build/static/{AdvancedPlayground-D2Y0O_LK.js → AdvancedPlayground-BMmRjlFK.js} +1 -1
- package/frontend/build/static/BackendConnections-C4TwFekS.js +1 -0
- package/frontend/build/static/{CreateProject-jRfRrbUO.js → CreateProject-De6TDUjF.js} +1 -1
- package/frontend/build/static/FeatureMetricsChart-CQOjOGdB.js +2 -0
- package/frontend/build/static/FeatureStaleDialog-DFBMJIHQ.js +7 -0
- package/frontend/build/static/FeatureViewLazyExport-CUraS5Co.js +10 -0
- package/frontend/build/static/{FlagMetricsChart-oDTQTkxU.js → FlagMetricsChart-BqT9hgdO.js} +2 -2
- package/frontend/build/static/FrontendNetworkTrafficUsage-BzwFAGbK.js +1 -0
- package/frontend/build/static/GridLayoutWrapper-DY9lNz0U.js +3 -0
- package/frontend/build/static/ImpactMetricsPage-Bqewvmqu.js +1 -0
- package/frontend/build/static/LazyAdminExport-DSSpZhpf.js +38 -0
- package/frontend/build/static/LazyProjectExport-Cd5au6uN.js +728 -0
- package/frontend/build/static/{LifecycleChartComponent-Dz1wdYkW.js → LifecycleChartComponent-iH7Xwal_.js} +3 -3
- package/frontend/build/static/LineChartComponent-BnogHewS.js +1 -0
- package/frontend/build/static/{MarkCompletedDialogue-Bw9Iccid.js → MarkCompletedDialogue-BOSV3MHM.js} +1 -1
- package/frontend/build/static/{NetworkConnectedEdges-HU923-QZ.js → NetworkConnectedEdges-d0ZBRss5.js} +1 -1
- package/frontend/build/static/{NetworkOverview-_igGCPCJ.js → NetworkOverview-DivQ4b83.js} +1 -1
- package/frontend/build/static/{NetworkPrometheusAPIWarning-BS9PGbzI.js → NetworkPrometheusAPIWarning-2jclDnfE.js} +1 -1
- package/frontend/build/static/{NetworkTraffic-BpNEMFBl.js → NetworkTraffic-DDSLmVgI.js} +1 -1
- package/frontend/build/static/NetworkTrafficUsage-DYNGGkkm.js +1 -0
- package/frontend/build/static/PercentageDonut-aa1oSbho.js +1 -0
- package/frontend/build/static/{ReactJSONEditor-DZ9l5V9S.js → ReactJSONEditor-BKB6MheT.js} +1 -1
- package/frontend/build/static/{RoleCell-C-hJFmul.js → RoleCell-CkV0Kf4-.js} +1 -1
- package/frontend/build/static/{aggregateFeatureMetrics-Dli6i5No.js → aggregateFeatureMetrics-CrQXQAeM.js} +1 -1
- package/frontend/build/static/{formatTickValue-D3KZyzeb.js → formatTickValue-BCAqKqmg.js} +2 -2
- package/frontend/build/static/index-B33kIVre.js +542 -0
- package/frontend/build/static/metricsFormatters-C7iN2dDH.js +1 -0
- package/frontend/build/static/{networkTrafficUsageHighlightPlugin-DLE_BBMN.js → networkTrafficUsageHighlightPlugin-o9kHeQ2O.js} +1 -1
- package/frontend/build/static/strategyCustom-Db-ZtYWl.svg +23 -0
- package/frontend/build/static/strategyDefault-LnSyH2eZ.svg +17 -0
- package/frontend/build/static/strategyGradual-oCA99tj3.svg +18 -0
- package/frontend/build/static/strategyHosts-4lVYC2Bf.svg +23 -0
- package/frontend/build/static/strategyIPs-BHaXsOYV.svg +24 -0
- package/frontend/build/static/strategyOn-CX-xL0oK.svg +18 -0
- package/frontend/build/static/{useApiTokens-DNIDLJlc.js → useApiTokens-eXyUbKcO.js} +1 -1
- package/frontend/package.json +3 -4
- package/package.json +7 -9
- package/dist/lib/routes/admin-api/config.d.ts +0 -24
- package/dist/lib/routes/admin-api/config.d.ts.map +0 -1
- package/dist/lib/routes/admin-api/config.js +0 -114
- package/dist/lib/routes/admin-api/config.js.map +0 -1
- package/dist/lib/routes/admin-api/config.test.d.ts +0 -2
- package/dist/lib/routes/admin-api/config.test.d.ts.map +0 -1
- package/dist/lib/routes/admin-api/config.test.js.map +0 -1
- package/dist/test/e2e/stores/user-store.e2e.test.d.ts.map +0 -1
- package/dist/test/e2e/stores/user-store.e2e.test.js.map +0 -1
- package/frontend/build/static/BackendConnections-C9HcQ9To.js +0 -1
- package/frontend/build/static/ChartItem-COMyVdgD.js +0 -1
- package/frontend/build/static/FeatureMetricsChart-CQkGp91T.js +0 -2
- package/frontend/build/static/FeatureStaleDialog-DKeGFuL1.js +0 -7
- package/frontend/build/static/FeatureViewLazyExport-CgntSCvS.js +0 -10
- package/frontend/build/static/FrontendNetworkTrafficUsage-E4pIeMFQ.js +0 -1
- package/frontend/build/static/ImpactMetricsPage-B3STis_H.js +0 -3
- package/frontend/build/static/LazyAdminExport-CsCsRIwk.js +0 -38
- package/frontend/build/static/LazyProjectExport-DkN0UegC.js +0 -728
- package/frontend/build/static/LineChartComponent-DG1LdcL_.js +0 -1
- package/frontend/build/static/NetworkTrafficUsage-bSUVPjoc.js +0 -1
- package/frontend/build/static/index-A5We7bvX.js +0 -542
- package/frontend/build/static/merge-C7IT0rZd.svg +0 -3
- /package/dist/test/e2e/{stores → users}/user-store.e2e.test.d.ts +0 -0
- /package/dist/test/e2e/{stores → users}/user-store.e2e.test.js +0 -0
|
@@ -91,6 +91,13 @@ export declare const featureEnvironmentSchema: {
|
|
|
91
91
|
readonly type: "boolean";
|
|
92
92
|
readonly description: "Whether the feature has any enabled strategies defined.";
|
|
93
93
|
};
|
|
94
|
+
readonly releasePlans: {
|
|
95
|
+
readonly type: "array";
|
|
96
|
+
readonly description: "Release plans for this feature environment (only available when milestoneProgression feature flag is enabled)";
|
|
97
|
+
readonly items: {
|
|
98
|
+
readonly $ref: "#/components/schemas/releasePlanSchema";
|
|
99
|
+
};
|
|
100
|
+
};
|
|
94
101
|
};
|
|
95
102
|
readonly components: {
|
|
96
103
|
readonly schemas: {
|
|
@@ -460,6 +467,2766 @@ export declare const featureEnvironmentSchema: {
|
|
|
460
467
|
};
|
|
461
468
|
};
|
|
462
469
|
};
|
|
470
|
+
readonly releasePlanSchema: {
|
|
471
|
+
readonly $id: "#/components/schemas/releasePlanSchema";
|
|
472
|
+
readonly additionalProperties: false;
|
|
473
|
+
readonly description: "Schema representing the creation of a release plan.";
|
|
474
|
+
readonly type: "object";
|
|
475
|
+
readonly required: readonly ["id", "discriminator", "name", "featureName", "environment", "createdByUserId", "createdAt", "milestones", "releasePlanTemplateId"];
|
|
476
|
+
readonly properties: {
|
|
477
|
+
readonly id: {
|
|
478
|
+
readonly type: "string";
|
|
479
|
+
readonly description: "The release plan/template's ID. Release template IDs are ulids.";
|
|
480
|
+
readonly example: "01JB9GGTGQYEQ9D40R17T3YVW2";
|
|
481
|
+
readonly nullable: false;
|
|
482
|
+
};
|
|
483
|
+
readonly discriminator: {
|
|
484
|
+
readonly type: "string";
|
|
485
|
+
readonly description: "A field to distinguish between release plans and release templates.";
|
|
486
|
+
readonly example: "plan";
|
|
487
|
+
readonly nullable: false;
|
|
488
|
+
readonly enum: readonly ["plan"];
|
|
489
|
+
};
|
|
490
|
+
readonly name: {
|
|
491
|
+
readonly type: "string";
|
|
492
|
+
readonly description: "The name of the release template.";
|
|
493
|
+
readonly example: "My release plan";
|
|
494
|
+
};
|
|
495
|
+
readonly description: {
|
|
496
|
+
readonly type: "string";
|
|
497
|
+
readonly description: "A description of the release template.";
|
|
498
|
+
readonly example: "This is my release plan";
|
|
499
|
+
readonly nullable: true;
|
|
500
|
+
};
|
|
501
|
+
readonly featureName: {
|
|
502
|
+
readonly type: "string";
|
|
503
|
+
readonly description: "The name of the feature that uses this release plan.";
|
|
504
|
+
readonly example: "my-feature";
|
|
505
|
+
};
|
|
506
|
+
readonly environment: {
|
|
507
|
+
readonly type: "string";
|
|
508
|
+
readonly description: "The environment that this release plan is for.";
|
|
509
|
+
readonly example: "production";
|
|
510
|
+
};
|
|
511
|
+
readonly createdByUserId: {
|
|
512
|
+
readonly type: "number";
|
|
513
|
+
readonly description: "Release template: The ID of the user who created this template.";
|
|
514
|
+
readonly example: 53;
|
|
515
|
+
readonly nullable: false;
|
|
516
|
+
};
|
|
517
|
+
readonly createdAt: {
|
|
518
|
+
readonly type: "string";
|
|
519
|
+
readonly format: "date-time";
|
|
520
|
+
readonly description: "The date and time that the release template was created.";
|
|
521
|
+
readonly example: "2022-01-01T00:00:00Z";
|
|
522
|
+
readonly nullable: false;
|
|
523
|
+
};
|
|
524
|
+
readonly activeMilestoneId: {
|
|
525
|
+
readonly type: "string";
|
|
526
|
+
readonly description: "The ID of the currently active milestone in this release plan.";
|
|
527
|
+
readonly example: "01JB9GGTGQYEQ9D40R17T3YVW1";
|
|
528
|
+
readonly nullable: true;
|
|
529
|
+
};
|
|
530
|
+
readonly milestones: {
|
|
531
|
+
readonly type: "array";
|
|
532
|
+
readonly description: "A list of the milestones in this release template.";
|
|
533
|
+
readonly items: {
|
|
534
|
+
readonly $ref: "#/components/schemas/releasePlanMilestoneSchema";
|
|
535
|
+
};
|
|
536
|
+
};
|
|
537
|
+
readonly releasePlanTemplateId: {
|
|
538
|
+
readonly type: "string";
|
|
539
|
+
readonly description: "The ID of the release plan template that this release plan is based on.";
|
|
540
|
+
readonly example: "01JB9GGTGQYEQ9D40R17T3YVW2";
|
|
541
|
+
readonly nullable: false;
|
|
542
|
+
};
|
|
543
|
+
};
|
|
544
|
+
readonly components: {
|
|
545
|
+
readonly schemas: {
|
|
546
|
+
readonly releasePlanMilestoneSchema: {
|
|
547
|
+
readonly $id: "#/components/schemas/releasePlanMilestoneSchema";
|
|
548
|
+
readonly additionalProperties: false;
|
|
549
|
+
readonly description: "Schema representing the creation of a release plan milestone.";
|
|
550
|
+
readonly type: "object";
|
|
551
|
+
readonly required: readonly ["id", "name", "sortOrder", "releasePlanDefinitionId"];
|
|
552
|
+
readonly properties: {
|
|
553
|
+
readonly id: {
|
|
554
|
+
readonly type: "string";
|
|
555
|
+
readonly description: "The milestone's ID. Milestone IDs are ulids.";
|
|
556
|
+
readonly example: "01JB9GGTGQYEQ9D40R17T3YVW1";
|
|
557
|
+
readonly nullable: false;
|
|
558
|
+
};
|
|
559
|
+
readonly name: {
|
|
560
|
+
readonly type: "string";
|
|
561
|
+
readonly description: "The name of the milestone.";
|
|
562
|
+
readonly example: "My milestone";
|
|
563
|
+
};
|
|
564
|
+
readonly sortOrder: {
|
|
565
|
+
readonly type: "integer";
|
|
566
|
+
readonly description: "The order of the milestone in the release plan.";
|
|
567
|
+
readonly example: 1;
|
|
568
|
+
};
|
|
569
|
+
readonly releasePlanDefinitionId: {
|
|
570
|
+
readonly type: "string";
|
|
571
|
+
readonly description: "The ID of the release plan/template that this milestone belongs to.";
|
|
572
|
+
readonly example: "01JB9GGTGQYEQ9D40R17T3YVW2";
|
|
573
|
+
};
|
|
574
|
+
readonly startedAt: {
|
|
575
|
+
readonly type: "string";
|
|
576
|
+
readonly format: "date-time";
|
|
577
|
+
readonly description: "The date and time when the milestone was started.";
|
|
578
|
+
readonly example: "2024-01-01T00:00:00.000Z";
|
|
579
|
+
readonly nullable: true;
|
|
580
|
+
};
|
|
581
|
+
readonly transitionCondition: {
|
|
582
|
+
readonly description: "The condition configuration for the transition";
|
|
583
|
+
readonly $ref: "#/components/schemas/transitionConditionSchema";
|
|
584
|
+
};
|
|
585
|
+
readonly progressionExecutedAt: {
|
|
586
|
+
readonly type: "string";
|
|
587
|
+
readonly format: "date-time";
|
|
588
|
+
readonly description: "The date and time when the milestone progression was executed.";
|
|
589
|
+
readonly example: "2024-01-01T00:00:00.000Z";
|
|
590
|
+
readonly nullable: true;
|
|
591
|
+
};
|
|
592
|
+
readonly strategies: {
|
|
593
|
+
readonly type: "array";
|
|
594
|
+
readonly description: "A list of strategies that are attached to this milestone.";
|
|
595
|
+
readonly items: {
|
|
596
|
+
readonly $ref: "#/components/schemas/releasePlanMilestoneStrategySchema";
|
|
597
|
+
};
|
|
598
|
+
};
|
|
599
|
+
};
|
|
600
|
+
readonly components: {
|
|
601
|
+
readonly schemas: {
|
|
602
|
+
readonly releasePlanMilestoneStrategySchema: {
|
|
603
|
+
readonly $id: "#/components/schemas/releasePlanMilestoneStrategySchema";
|
|
604
|
+
readonly additionalProperties: false;
|
|
605
|
+
readonly description: "Schema representing the creation of a release plan milestone strategy.";
|
|
606
|
+
readonly type: "object";
|
|
607
|
+
readonly required: readonly ["id", "milestoneId", "sortOrder", "strategyName"];
|
|
608
|
+
readonly properties: {
|
|
609
|
+
readonly id: {
|
|
610
|
+
readonly type: "string";
|
|
611
|
+
readonly description: "The milestone strategy's ID. Milestone strategy IDs are ulids.";
|
|
612
|
+
readonly example: "01JB9GGTGQYEQ9D40R17T3YVW3";
|
|
613
|
+
readonly nullable: false;
|
|
614
|
+
};
|
|
615
|
+
readonly milestoneId: {
|
|
616
|
+
readonly type: "string";
|
|
617
|
+
readonly description: "The ID of the milestone that this strategy belongs to.";
|
|
618
|
+
readonly example: "01JB9GGTGQYEQ9D40R17T3YVW1";
|
|
619
|
+
};
|
|
620
|
+
readonly sortOrder: {
|
|
621
|
+
readonly type: "number";
|
|
622
|
+
readonly description: "The order of the strategy in the list";
|
|
623
|
+
readonly example: 9999;
|
|
624
|
+
};
|
|
625
|
+
readonly title: {
|
|
626
|
+
readonly type: "string";
|
|
627
|
+
readonly nullable: true;
|
|
628
|
+
readonly description: "A descriptive title for the strategy";
|
|
629
|
+
readonly example: "Gradual Rollout 25-Prod";
|
|
630
|
+
};
|
|
631
|
+
readonly strategyName: {
|
|
632
|
+
readonly type: "string";
|
|
633
|
+
readonly description: "The name of the strategy type";
|
|
634
|
+
readonly example: "flexibleRollout";
|
|
635
|
+
};
|
|
636
|
+
readonly parameters: {
|
|
637
|
+
readonly description: "An object containing the parameters for the strategy";
|
|
638
|
+
readonly example: {
|
|
639
|
+
readonly groupId: "some_new";
|
|
640
|
+
readonly rollout: "25";
|
|
641
|
+
readonly stickiness: "sessionId";
|
|
642
|
+
};
|
|
643
|
+
readonly $ref: "#/components/schemas/parametersSchema";
|
|
644
|
+
};
|
|
645
|
+
readonly constraints: {
|
|
646
|
+
readonly type: "array";
|
|
647
|
+
readonly description: "A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/activation-strategies#constraints";
|
|
648
|
+
readonly example: readonly [{
|
|
649
|
+
readonly values: readonly ["1", "2"];
|
|
650
|
+
readonly inverted: false;
|
|
651
|
+
readonly operator: "IN";
|
|
652
|
+
readonly contextName: "appName";
|
|
653
|
+
readonly caseInsensitive: false;
|
|
654
|
+
}];
|
|
655
|
+
readonly items: {
|
|
656
|
+
readonly $ref: "#/components/schemas/constraintSchema";
|
|
657
|
+
};
|
|
658
|
+
};
|
|
659
|
+
readonly variants: {
|
|
660
|
+
readonly type: "array";
|
|
661
|
+
readonly description: "Strategy level variants";
|
|
662
|
+
readonly items: {
|
|
663
|
+
readonly $ref: "#/components/schemas/createStrategyVariantSchema";
|
|
664
|
+
};
|
|
665
|
+
};
|
|
666
|
+
readonly segments: {
|
|
667
|
+
readonly type: "array";
|
|
668
|
+
readonly description: "Ids of segments to use for this strategy";
|
|
669
|
+
readonly example: readonly [1, 2];
|
|
670
|
+
readonly items: {
|
|
671
|
+
readonly type: "number";
|
|
672
|
+
};
|
|
673
|
+
};
|
|
674
|
+
};
|
|
675
|
+
readonly components: {
|
|
676
|
+
readonly schemas: {
|
|
677
|
+
readonly createFeatureStrategySchema: {
|
|
678
|
+
readonly $id: "#/components/schemas/createFeatureStrategySchema";
|
|
679
|
+
readonly type: "object";
|
|
680
|
+
readonly required: readonly ["name"];
|
|
681
|
+
readonly description: "Create a strategy configuration in a feature";
|
|
682
|
+
readonly properties: {
|
|
683
|
+
readonly name: {
|
|
684
|
+
readonly type: "string";
|
|
685
|
+
readonly description: "The name of the strategy type";
|
|
686
|
+
readonly example: "flexibleRollout";
|
|
687
|
+
};
|
|
688
|
+
readonly title: {
|
|
689
|
+
readonly type: "string";
|
|
690
|
+
readonly nullable: true;
|
|
691
|
+
readonly description: "A descriptive title for the strategy";
|
|
692
|
+
readonly example: "Gradual Rollout 25-Prod";
|
|
693
|
+
};
|
|
694
|
+
readonly disabled: {
|
|
695
|
+
readonly type: "boolean";
|
|
696
|
+
readonly description: "A toggle to disable the strategy. defaults to false. Disabled strategies are not evaluated or returned to the SDKs";
|
|
697
|
+
readonly example: false;
|
|
698
|
+
readonly nullable: true;
|
|
699
|
+
};
|
|
700
|
+
readonly sortOrder: {
|
|
701
|
+
readonly type: "number";
|
|
702
|
+
readonly description: "The order of the strategy in the list";
|
|
703
|
+
readonly example: 9999;
|
|
704
|
+
};
|
|
705
|
+
readonly constraints: {
|
|
706
|
+
readonly type: "array";
|
|
707
|
+
readonly description: "A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/activation-strategies#constraints";
|
|
708
|
+
readonly example: readonly [{
|
|
709
|
+
readonly values: readonly ["1", "2"];
|
|
710
|
+
readonly inverted: false;
|
|
711
|
+
readonly operator: "IN";
|
|
712
|
+
readonly contextName: "appName";
|
|
713
|
+
readonly caseInsensitive: false;
|
|
714
|
+
}];
|
|
715
|
+
readonly items: {
|
|
716
|
+
readonly $ref: "#/components/schemas/constraintSchema";
|
|
717
|
+
};
|
|
718
|
+
};
|
|
719
|
+
readonly variants: {
|
|
720
|
+
readonly type: "array";
|
|
721
|
+
readonly description: "Strategy level variants";
|
|
722
|
+
readonly items: {
|
|
723
|
+
readonly $ref: "#/components/schemas/createStrategyVariantSchema";
|
|
724
|
+
};
|
|
725
|
+
};
|
|
726
|
+
readonly parameters: {
|
|
727
|
+
readonly description: "An object containing the parameters for the strategy";
|
|
728
|
+
readonly example: {
|
|
729
|
+
readonly groupId: "some_new";
|
|
730
|
+
readonly rollout: "25";
|
|
731
|
+
readonly stickiness: "sessionId";
|
|
732
|
+
};
|
|
733
|
+
readonly $ref: "#/components/schemas/parametersSchema";
|
|
734
|
+
};
|
|
735
|
+
readonly segments: {
|
|
736
|
+
readonly type: "array";
|
|
737
|
+
readonly description: "Ids of segments to use for this strategy";
|
|
738
|
+
readonly example: readonly [1, 2];
|
|
739
|
+
readonly items: {
|
|
740
|
+
readonly type: "number";
|
|
741
|
+
};
|
|
742
|
+
};
|
|
743
|
+
};
|
|
744
|
+
readonly components: {
|
|
745
|
+
readonly schemas: {
|
|
746
|
+
readonly constraintSchema: {
|
|
747
|
+
readonly type: "object";
|
|
748
|
+
readonly required: readonly ["contextName", "operator"];
|
|
749
|
+
readonly description: "A strategy constraint. For more information, refer to [the strategy constraint reference documentation](https://docs.getunleash.io/reference/activation-strategies#constraints)";
|
|
750
|
+
readonly properties: {
|
|
751
|
+
readonly contextName: {
|
|
752
|
+
readonly description: "The name of the context field that this constraint should apply to.";
|
|
753
|
+
readonly example: "appName";
|
|
754
|
+
readonly type: "string";
|
|
755
|
+
};
|
|
756
|
+
readonly operator: {
|
|
757
|
+
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/reference/activation-strategies#constraint-operators).";
|
|
758
|
+
readonly type: "string";
|
|
759
|
+
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"];
|
|
760
|
+
readonly example: "IN";
|
|
761
|
+
};
|
|
762
|
+
readonly caseInsensitive: {
|
|
763
|
+
readonly description: "Whether the operator should be case sensitive or not. Defaults to `false` (being case sensitive).";
|
|
764
|
+
readonly type: "boolean";
|
|
765
|
+
readonly default: false;
|
|
766
|
+
};
|
|
767
|
+
readonly inverted: {
|
|
768
|
+
readonly description: "Whether the result should be negated or not. If `true`, will turn a `true` result into a `false` result and vice versa.";
|
|
769
|
+
readonly type: "boolean";
|
|
770
|
+
readonly default: false;
|
|
771
|
+
};
|
|
772
|
+
readonly values: {
|
|
773
|
+
readonly type: "array";
|
|
774
|
+
readonly description: "The context values that should be used for constraint evaluation. Use this property instead of `value` for properties that accept multiple values.";
|
|
775
|
+
readonly items: {
|
|
776
|
+
readonly type: "string";
|
|
777
|
+
};
|
|
778
|
+
readonly example: readonly ["my-app", "my-other-app"];
|
|
779
|
+
};
|
|
780
|
+
readonly value: {
|
|
781
|
+
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.";
|
|
782
|
+
readonly type: "string";
|
|
783
|
+
readonly example: "my-app";
|
|
784
|
+
};
|
|
785
|
+
};
|
|
786
|
+
readonly components: {};
|
|
787
|
+
readonly $id: "#/components/schemas/constraintSchema";
|
|
788
|
+
readonly additionalProperties: false;
|
|
789
|
+
};
|
|
790
|
+
readonly parametersSchema: {
|
|
791
|
+
readonly $id: "#/components/schemas/parametersSchema";
|
|
792
|
+
readonly type: "object";
|
|
793
|
+
readonly description: "A list of parameters for a strategy";
|
|
794
|
+
readonly additionalProperties: {
|
|
795
|
+
readonly type: "string";
|
|
796
|
+
};
|
|
797
|
+
readonly components: {};
|
|
798
|
+
};
|
|
799
|
+
readonly createStrategyVariantSchema: {
|
|
800
|
+
readonly $id: "#/components/schemas/createStrategyVariantSchema";
|
|
801
|
+
readonly type: "object";
|
|
802
|
+
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.";
|
|
803
|
+
readonly required: readonly ["name", "weight", "weightType", "stickiness"];
|
|
804
|
+
readonly properties: {
|
|
805
|
+
readonly name: {
|
|
806
|
+
readonly type: "string";
|
|
807
|
+
readonly description: "The variant name. Must be unique for this feature flag";
|
|
808
|
+
readonly example: "blue_group";
|
|
809
|
+
};
|
|
810
|
+
readonly weight: {
|
|
811
|
+
readonly type: "integer";
|
|
812
|
+
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/reference/feature-toggle-variants#variant-weight) for more information";
|
|
813
|
+
readonly minimum: 0;
|
|
814
|
+
readonly maximum: 1000;
|
|
815
|
+
};
|
|
816
|
+
readonly weightType: {
|
|
817
|
+
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/reference/feature-toggle-variants#variant-weight).";
|
|
818
|
+
readonly type: "string";
|
|
819
|
+
readonly example: "fix";
|
|
820
|
+
readonly enum: readonly ["variable", "fix"];
|
|
821
|
+
};
|
|
822
|
+
readonly stickiness: {
|
|
823
|
+
readonly type: "string";
|
|
824
|
+
readonly description: "The [stickiness](https://docs.getunleash.io/reference/feature-toggle-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";
|
|
825
|
+
readonly example: "custom.context.field";
|
|
826
|
+
};
|
|
827
|
+
readonly payload: {
|
|
828
|
+
readonly type: "object";
|
|
829
|
+
readonly required: readonly ["type", "value"];
|
|
830
|
+
readonly description: "Extra data configured for this variant";
|
|
831
|
+
readonly properties: {
|
|
832
|
+
readonly type: {
|
|
833
|
+
readonly description: "The type of the value. Commonly used types are string, number, json and csv.";
|
|
834
|
+
readonly type: "string";
|
|
835
|
+
readonly enum: readonly ["json", "csv", "string", "number"];
|
|
836
|
+
};
|
|
837
|
+
readonly value: {
|
|
838
|
+
readonly description: "The actual value of payload";
|
|
839
|
+
readonly type: "string";
|
|
840
|
+
};
|
|
841
|
+
};
|
|
842
|
+
readonly example: {
|
|
843
|
+
readonly type: "json";
|
|
844
|
+
readonly value: "{\"color\": \"red\"}";
|
|
845
|
+
};
|
|
846
|
+
};
|
|
847
|
+
};
|
|
848
|
+
readonly components: {};
|
|
849
|
+
};
|
|
850
|
+
};
|
|
851
|
+
};
|
|
852
|
+
};
|
|
853
|
+
readonly parametersSchema: {
|
|
854
|
+
readonly $id: "#/components/schemas/parametersSchema";
|
|
855
|
+
readonly type: "object";
|
|
856
|
+
readonly description: "A list of parameters for a strategy";
|
|
857
|
+
readonly additionalProperties: {
|
|
858
|
+
readonly type: "string";
|
|
859
|
+
};
|
|
860
|
+
readonly components: {};
|
|
861
|
+
};
|
|
862
|
+
readonly constraintSchema: {
|
|
863
|
+
readonly type: "object";
|
|
864
|
+
readonly required: readonly ["contextName", "operator"];
|
|
865
|
+
readonly description: "A strategy constraint. For more information, refer to [the strategy constraint reference documentation](https://docs.getunleash.io/reference/activation-strategies#constraints)";
|
|
866
|
+
readonly properties: {
|
|
867
|
+
readonly contextName: {
|
|
868
|
+
readonly description: "The name of the context field that this constraint should apply to.";
|
|
869
|
+
readonly example: "appName";
|
|
870
|
+
readonly type: "string";
|
|
871
|
+
};
|
|
872
|
+
readonly operator: {
|
|
873
|
+
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/reference/activation-strategies#constraint-operators).";
|
|
874
|
+
readonly type: "string";
|
|
875
|
+
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"];
|
|
876
|
+
readonly example: "IN";
|
|
877
|
+
};
|
|
878
|
+
readonly caseInsensitive: {
|
|
879
|
+
readonly description: "Whether the operator should be case sensitive or not. Defaults to `false` (being case sensitive).";
|
|
880
|
+
readonly type: "boolean";
|
|
881
|
+
readonly default: false;
|
|
882
|
+
};
|
|
883
|
+
readonly inverted: {
|
|
884
|
+
readonly description: "Whether the result should be negated or not. If `true`, will turn a `true` result into a `false` result and vice versa.";
|
|
885
|
+
readonly type: "boolean";
|
|
886
|
+
readonly default: false;
|
|
887
|
+
};
|
|
888
|
+
readonly values: {
|
|
889
|
+
readonly type: "array";
|
|
890
|
+
readonly description: "The context values that should be used for constraint evaluation. Use this property instead of `value` for properties that accept multiple values.";
|
|
891
|
+
readonly items: {
|
|
892
|
+
readonly type: "string";
|
|
893
|
+
};
|
|
894
|
+
readonly example: readonly ["my-app", "my-other-app"];
|
|
895
|
+
};
|
|
896
|
+
readonly value: {
|
|
897
|
+
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.";
|
|
898
|
+
readonly type: "string";
|
|
899
|
+
readonly example: "my-app";
|
|
900
|
+
};
|
|
901
|
+
};
|
|
902
|
+
readonly components: {};
|
|
903
|
+
readonly $id: "#/components/schemas/constraintSchema";
|
|
904
|
+
readonly additionalProperties: false;
|
|
905
|
+
};
|
|
906
|
+
readonly createStrategyVariantSchema: {
|
|
907
|
+
readonly $id: "#/components/schemas/createStrategyVariantSchema";
|
|
908
|
+
readonly type: "object";
|
|
909
|
+
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.";
|
|
910
|
+
readonly required: readonly ["name", "weight", "weightType", "stickiness"];
|
|
911
|
+
readonly properties: {
|
|
912
|
+
readonly name: {
|
|
913
|
+
readonly type: "string";
|
|
914
|
+
readonly description: "The variant name. Must be unique for this feature flag";
|
|
915
|
+
readonly example: "blue_group";
|
|
916
|
+
};
|
|
917
|
+
readonly weight: {
|
|
918
|
+
readonly type: "integer";
|
|
919
|
+
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/reference/feature-toggle-variants#variant-weight) for more information";
|
|
920
|
+
readonly minimum: 0;
|
|
921
|
+
readonly maximum: 1000;
|
|
922
|
+
};
|
|
923
|
+
readonly weightType: {
|
|
924
|
+
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/reference/feature-toggle-variants#variant-weight).";
|
|
925
|
+
readonly type: "string";
|
|
926
|
+
readonly example: "fix";
|
|
927
|
+
readonly enum: readonly ["variable", "fix"];
|
|
928
|
+
};
|
|
929
|
+
readonly stickiness: {
|
|
930
|
+
readonly type: "string";
|
|
931
|
+
readonly description: "The [stickiness](https://docs.getunleash.io/reference/feature-toggle-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";
|
|
932
|
+
readonly example: "custom.context.field";
|
|
933
|
+
};
|
|
934
|
+
readonly payload: {
|
|
935
|
+
readonly type: "object";
|
|
936
|
+
readonly required: readonly ["type", "value"];
|
|
937
|
+
readonly description: "Extra data configured for this variant";
|
|
938
|
+
readonly properties: {
|
|
939
|
+
readonly type: {
|
|
940
|
+
readonly description: "The type of the value. Commonly used types are string, number, json and csv.";
|
|
941
|
+
readonly type: "string";
|
|
942
|
+
readonly enum: readonly ["json", "csv", "string", "number"];
|
|
943
|
+
};
|
|
944
|
+
readonly value: {
|
|
945
|
+
readonly description: "The actual value of payload";
|
|
946
|
+
readonly type: "string";
|
|
947
|
+
};
|
|
948
|
+
};
|
|
949
|
+
readonly example: {
|
|
950
|
+
readonly type: "json";
|
|
951
|
+
readonly value: "{\"color\": \"red\"}";
|
|
952
|
+
};
|
|
953
|
+
};
|
|
954
|
+
};
|
|
955
|
+
readonly components: {};
|
|
956
|
+
};
|
|
957
|
+
};
|
|
958
|
+
};
|
|
959
|
+
};
|
|
960
|
+
readonly createFeatureStrategySchema: {
|
|
961
|
+
readonly $id: "#/components/schemas/createFeatureStrategySchema";
|
|
962
|
+
readonly type: "object";
|
|
963
|
+
readonly required: readonly ["name"];
|
|
964
|
+
readonly description: "Create a strategy configuration in a feature";
|
|
965
|
+
readonly properties: {
|
|
966
|
+
readonly name: {
|
|
967
|
+
readonly type: "string";
|
|
968
|
+
readonly description: "The name of the strategy type";
|
|
969
|
+
readonly example: "flexibleRollout";
|
|
970
|
+
};
|
|
971
|
+
readonly title: {
|
|
972
|
+
readonly type: "string";
|
|
973
|
+
readonly nullable: true;
|
|
974
|
+
readonly description: "A descriptive title for the strategy";
|
|
975
|
+
readonly example: "Gradual Rollout 25-Prod";
|
|
976
|
+
};
|
|
977
|
+
readonly disabled: {
|
|
978
|
+
readonly type: "boolean";
|
|
979
|
+
readonly description: "A toggle to disable the strategy. defaults to false. Disabled strategies are not evaluated or returned to the SDKs";
|
|
980
|
+
readonly example: false;
|
|
981
|
+
readonly nullable: true;
|
|
982
|
+
};
|
|
983
|
+
readonly sortOrder: {
|
|
984
|
+
readonly type: "number";
|
|
985
|
+
readonly description: "The order of the strategy in the list";
|
|
986
|
+
readonly example: 9999;
|
|
987
|
+
};
|
|
988
|
+
readonly constraints: {
|
|
989
|
+
readonly type: "array";
|
|
990
|
+
readonly description: "A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/activation-strategies#constraints";
|
|
991
|
+
readonly example: readonly [{
|
|
992
|
+
readonly values: readonly ["1", "2"];
|
|
993
|
+
readonly inverted: false;
|
|
994
|
+
readonly operator: "IN";
|
|
995
|
+
readonly contextName: "appName";
|
|
996
|
+
readonly caseInsensitive: false;
|
|
997
|
+
}];
|
|
998
|
+
readonly items: {
|
|
999
|
+
readonly $ref: "#/components/schemas/constraintSchema";
|
|
1000
|
+
};
|
|
1001
|
+
};
|
|
1002
|
+
readonly variants: {
|
|
1003
|
+
readonly type: "array";
|
|
1004
|
+
readonly description: "Strategy level variants";
|
|
1005
|
+
readonly items: {
|
|
1006
|
+
readonly $ref: "#/components/schemas/createStrategyVariantSchema";
|
|
1007
|
+
};
|
|
1008
|
+
};
|
|
1009
|
+
readonly parameters: {
|
|
1010
|
+
readonly description: "An object containing the parameters for the strategy";
|
|
1011
|
+
readonly example: {
|
|
1012
|
+
readonly groupId: "some_new";
|
|
1013
|
+
readonly rollout: "25";
|
|
1014
|
+
readonly stickiness: "sessionId";
|
|
1015
|
+
};
|
|
1016
|
+
readonly $ref: "#/components/schemas/parametersSchema";
|
|
1017
|
+
};
|
|
1018
|
+
readonly segments: {
|
|
1019
|
+
readonly type: "array";
|
|
1020
|
+
readonly description: "Ids of segments to use for this strategy";
|
|
1021
|
+
readonly example: readonly [1, 2];
|
|
1022
|
+
readonly items: {
|
|
1023
|
+
readonly type: "number";
|
|
1024
|
+
};
|
|
1025
|
+
};
|
|
1026
|
+
};
|
|
1027
|
+
readonly components: {
|
|
1028
|
+
readonly schemas: {
|
|
1029
|
+
readonly constraintSchema: {
|
|
1030
|
+
readonly type: "object";
|
|
1031
|
+
readonly required: readonly ["contextName", "operator"];
|
|
1032
|
+
readonly description: "A strategy constraint. For more information, refer to [the strategy constraint reference documentation](https://docs.getunleash.io/reference/activation-strategies#constraints)";
|
|
1033
|
+
readonly properties: {
|
|
1034
|
+
readonly contextName: {
|
|
1035
|
+
readonly description: "The name of the context field that this constraint should apply to.";
|
|
1036
|
+
readonly example: "appName";
|
|
1037
|
+
readonly type: "string";
|
|
1038
|
+
};
|
|
1039
|
+
readonly operator: {
|
|
1040
|
+
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/reference/activation-strategies#constraint-operators).";
|
|
1041
|
+
readonly type: "string";
|
|
1042
|
+
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"];
|
|
1043
|
+
readonly example: "IN";
|
|
1044
|
+
};
|
|
1045
|
+
readonly caseInsensitive: {
|
|
1046
|
+
readonly description: "Whether the operator should be case sensitive or not. Defaults to `false` (being case sensitive).";
|
|
1047
|
+
readonly type: "boolean";
|
|
1048
|
+
readonly default: false;
|
|
1049
|
+
};
|
|
1050
|
+
readonly inverted: {
|
|
1051
|
+
readonly description: "Whether the result should be negated or not. If `true`, will turn a `true` result into a `false` result and vice versa.";
|
|
1052
|
+
readonly type: "boolean";
|
|
1053
|
+
readonly default: false;
|
|
1054
|
+
};
|
|
1055
|
+
readonly values: {
|
|
1056
|
+
readonly type: "array";
|
|
1057
|
+
readonly description: "The context values that should be used for constraint evaluation. Use this property instead of `value` for properties that accept multiple values.";
|
|
1058
|
+
readonly items: {
|
|
1059
|
+
readonly type: "string";
|
|
1060
|
+
};
|
|
1061
|
+
readonly example: readonly ["my-app", "my-other-app"];
|
|
1062
|
+
};
|
|
1063
|
+
readonly value: {
|
|
1064
|
+
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.";
|
|
1065
|
+
readonly type: "string";
|
|
1066
|
+
readonly example: "my-app";
|
|
1067
|
+
};
|
|
1068
|
+
};
|
|
1069
|
+
readonly components: {};
|
|
1070
|
+
readonly $id: "#/components/schemas/constraintSchema";
|
|
1071
|
+
readonly additionalProperties: false;
|
|
1072
|
+
};
|
|
1073
|
+
readonly parametersSchema: {
|
|
1074
|
+
readonly $id: "#/components/schemas/parametersSchema";
|
|
1075
|
+
readonly type: "object";
|
|
1076
|
+
readonly description: "A list of parameters for a strategy";
|
|
1077
|
+
readonly additionalProperties: {
|
|
1078
|
+
readonly type: "string";
|
|
1079
|
+
};
|
|
1080
|
+
readonly components: {};
|
|
1081
|
+
};
|
|
1082
|
+
readonly createStrategyVariantSchema: {
|
|
1083
|
+
readonly $id: "#/components/schemas/createStrategyVariantSchema";
|
|
1084
|
+
readonly type: "object";
|
|
1085
|
+
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.";
|
|
1086
|
+
readonly required: readonly ["name", "weight", "weightType", "stickiness"];
|
|
1087
|
+
readonly properties: {
|
|
1088
|
+
readonly name: {
|
|
1089
|
+
readonly type: "string";
|
|
1090
|
+
readonly description: "The variant name. Must be unique for this feature flag";
|
|
1091
|
+
readonly example: "blue_group";
|
|
1092
|
+
};
|
|
1093
|
+
readonly weight: {
|
|
1094
|
+
readonly type: "integer";
|
|
1095
|
+
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/reference/feature-toggle-variants#variant-weight) for more information";
|
|
1096
|
+
readonly minimum: 0;
|
|
1097
|
+
readonly maximum: 1000;
|
|
1098
|
+
};
|
|
1099
|
+
readonly weightType: {
|
|
1100
|
+
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/reference/feature-toggle-variants#variant-weight).";
|
|
1101
|
+
readonly type: "string";
|
|
1102
|
+
readonly example: "fix";
|
|
1103
|
+
readonly enum: readonly ["variable", "fix"];
|
|
1104
|
+
};
|
|
1105
|
+
readonly stickiness: {
|
|
1106
|
+
readonly type: "string";
|
|
1107
|
+
readonly description: "The [stickiness](https://docs.getunleash.io/reference/feature-toggle-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";
|
|
1108
|
+
readonly example: "custom.context.field";
|
|
1109
|
+
};
|
|
1110
|
+
readonly payload: {
|
|
1111
|
+
readonly type: "object";
|
|
1112
|
+
readonly required: readonly ["type", "value"];
|
|
1113
|
+
readonly description: "Extra data configured for this variant";
|
|
1114
|
+
readonly properties: {
|
|
1115
|
+
readonly type: {
|
|
1116
|
+
readonly description: "The type of the value. Commonly used types are string, number, json and csv.";
|
|
1117
|
+
readonly type: "string";
|
|
1118
|
+
readonly enum: readonly ["json", "csv", "string", "number"];
|
|
1119
|
+
};
|
|
1120
|
+
readonly value: {
|
|
1121
|
+
readonly description: "The actual value of payload";
|
|
1122
|
+
readonly type: "string";
|
|
1123
|
+
};
|
|
1124
|
+
};
|
|
1125
|
+
readonly example: {
|
|
1126
|
+
readonly type: "json";
|
|
1127
|
+
readonly value: "{\"color\": \"red\"}";
|
|
1128
|
+
};
|
|
1129
|
+
};
|
|
1130
|
+
};
|
|
1131
|
+
readonly components: {};
|
|
1132
|
+
};
|
|
1133
|
+
};
|
|
1134
|
+
};
|
|
1135
|
+
};
|
|
1136
|
+
readonly parametersSchema: {
|
|
1137
|
+
readonly $id: "#/components/schemas/parametersSchema";
|
|
1138
|
+
readonly type: "object";
|
|
1139
|
+
readonly description: "A list of parameters for a strategy";
|
|
1140
|
+
readonly additionalProperties: {
|
|
1141
|
+
readonly type: "string";
|
|
1142
|
+
};
|
|
1143
|
+
readonly components: {};
|
|
1144
|
+
};
|
|
1145
|
+
readonly constraintSchema: {
|
|
1146
|
+
readonly type: "object";
|
|
1147
|
+
readonly required: readonly ["contextName", "operator"];
|
|
1148
|
+
readonly description: "A strategy constraint. For more information, refer to [the strategy constraint reference documentation](https://docs.getunleash.io/reference/activation-strategies#constraints)";
|
|
1149
|
+
readonly properties: {
|
|
1150
|
+
readonly contextName: {
|
|
1151
|
+
readonly description: "The name of the context field that this constraint should apply to.";
|
|
1152
|
+
readonly example: "appName";
|
|
1153
|
+
readonly type: "string";
|
|
1154
|
+
};
|
|
1155
|
+
readonly operator: {
|
|
1156
|
+
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/reference/activation-strategies#constraint-operators).";
|
|
1157
|
+
readonly type: "string";
|
|
1158
|
+
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"];
|
|
1159
|
+
readonly example: "IN";
|
|
1160
|
+
};
|
|
1161
|
+
readonly caseInsensitive: {
|
|
1162
|
+
readonly description: "Whether the operator should be case sensitive or not. Defaults to `false` (being case sensitive).";
|
|
1163
|
+
readonly type: "boolean";
|
|
1164
|
+
readonly default: false;
|
|
1165
|
+
};
|
|
1166
|
+
readonly inverted: {
|
|
1167
|
+
readonly description: "Whether the result should be negated or not. If `true`, will turn a `true` result into a `false` result and vice versa.";
|
|
1168
|
+
readonly type: "boolean";
|
|
1169
|
+
readonly default: false;
|
|
1170
|
+
};
|
|
1171
|
+
readonly values: {
|
|
1172
|
+
readonly type: "array";
|
|
1173
|
+
readonly description: "The context values that should be used for constraint evaluation. Use this property instead of `value` for properties that accept multiple values.";
|
|
1174
|
+
readonly items: {
|
|
1175
|
+
readonly type: "string";
|
|
1176
|
+
};
|
|
1177
|
+
readonly example: readonly ["my-app", "my-other-app"];
|
|
1178
|
+
};
|
|
1179
|
+
readonly value: {
|
|
1180
|
+
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.";
|
|
1181
|
+
readonly type: "string";
|
|
1182
|
+
readonly example: "my-app";
|
|
1183
|
+
};
|
|
1184
|
+
};
|
|
1185
|
+
readonly components: {};
|
|
1186
|
+
readonly $id: "#/components/schemas/constraintSchema";
|
|
1187
|
+
readonly additionalProperties: false;
|
|
1188
|
+
};
|
|
1189
|
+
readonly createStrategyVariantSchema: {
|
|
1190
|
+
readonly $id: "#/components/schemas/createStrategyVariantSchema";
|
|
1191
|
+
readonly type: "object";
|
|
1192
|
+
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.";
|
|
1193
|
+
readonly required: readonly ["name", "weight", "weightType", "stickiness"];
|
|
1194
|
+
readonly properties: {
|
|
1195
|
+
readonly name: {
|
|
1196
|
+
readonly type: "string";
|
|
1197
|
+
readonly description: "The variant name. Must be unique for this feature flag";
|
|
1198
|
+
readonly example: "blue_group";
|
|
1199
|
+
};
|
|
1200
|
+
readonly weight: {
|
|
1201
|
+
readonly type: "integer";
|
|
1202
|
+
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/reference/feature-toggle-variants#variant-weight) for more information";
|
|
1203
|
+
readonly minimum: 0;
|
|
1204
|
+
readonly maximum: 1000;
|
|
1205
|
+
};
|
|
1206
|
+
readonly weightType: {
|
|
1207
|
+
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/reference/feature-toggle-variants#variant-weight).";
|
|
1208
|
+
readonly type: "string";
|
|
1209
|
+
readonly example: "fix";
|
|
1210
|
+
readonly enum: readonly ["variable", "fix"];
|
|
1211
|
+
};
|
|
1212
|
+
readonly stickiness: {
|
|
1213
|
+
readonly type: "string";
|
|
1214
|
+
readonly description: "The [stickiness](https://docs.getunleash.io/reference/feature-toggle-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";
|
|
1215
|
+
readonly example: "custom.context.field";
|
|
1216
|
+
};
|
|
1217
|
+
readonly payload: {
|
|
1218
|
+
readonly type: "object";
|
|
1219
|
+
readonly required: readonly ["type", "value"];
|
|
1220
|
+
readonly description: "Extra data configured for this variant";
|
|
1221
|
+
readonly properties: {
|
|
1222
|
+
readonly type: {
|
|
1223
|
+
readonly description: "The type of the value. Commonly used types are string, number, json and csv.";
|
|
1224
|
+
readonly type: "string";
|
|
1225
|
+
readonly enum: readonly ["json", "csv", "string", "number"];
|
|
1226
|
+
};
|
|
1227
|
+
readonly value: {
|
|
1228
|
+
readonly description: "The actual value of payload";
|
|
1229
|
+
readonly type: "string";
|
|
1230
|
+
};
|
|
1231
|
+
};
|
|
1232
|
+
readonly example: {
|
|
1233
|
+
readonly type: "json";
|
|
1234
|
+
readonly value: "{\"color\": \"red\"}";
|
|
1235
|
+
};
|
|
1236
|
+
};
|
|
1237
|
+
};
|
|
1238
|
+
readonly components: {};
|
|
1239
|
+
};
|
|
1240
|
+
readonly transitionConditionSchema: {
|
|
1241
|
+
readonly $id: "#/components/schemas/transitionConditionSchema";
|
|
1242
|
+
readonly type: "object";
|
|
1243
|
+
readonly additionalProperties: false;
|
|
1244
|
+
readonly required: readonly ["intervalMinutes"];
|
|
1245
|
+
readonly description: "A transition condition for milestone progression";
|
|
1246
|
+
readonly properties: {
|
|
1247
|
+
readonly intervalMinutes: {
|
|
1248
|
+
readonly type: "integer";
|
|
1249
|
+
readonly minimum: 1;
|
|
1250
|
+
readonly description: "The interval in minutes before transitioning";
|
|
1251
|
+
readonly example: 30;
|
|
1252
|
+
};
|
|
1253
|
+
};
|
|
1254
|
+
readonly components: {};
|
|
1255
|
+
};
|
|
1256
|
+
};
|
|
1257
|
+
};
|
|
1258
|
+
};
|
|
1259
|
+
readonly releasePlanMilestoneStrategySchema: {
|
|
1260
|
+
readonly $id: "#/components/schemas/releasePlanMilestoneStrategySchema";
|
|
1261
|
+
readonly additionalProperties: false;
|
|
1262
|
+
readonly description: "Schema representing the creation of a release plan milestone strategy.";
|
|
1263
|
+
readonly type: "object";
|
|
1264
|
+
readonly required: readonly ["id", "milestoneId", "sortOrder", "strategyName"];
|
|
1265
|
+
readonly properties: {
|
|
1266
|
+
readonly id: {
|
|
1267
|
+
readonly type: "string";
|
|
1268
|
+
readonly description: "The milestone strategy's ID. Milestone strategy IDs are ulids.";
|
|
1269
|
+
readonly example: "01JB9GGTGQYEQ9D40R17T3YVW3";
|
|
1270
|
+
readonly nullable: false;
|
|
1271
|
+
};
|
|
1272
|
+
readonly milestoneId: {
|
|
1273
|
+
readonly type: "string";
|
|
1274
|
+
readonly description: "The ID of the milestone that this strategy belongs to.";
|
|
1275
|
+
readonly example: "01JB9GGTGQYEQ9D40R17T3YVW1";
|
|
1276
|
+
};
|
|
1277
|
+
readonly sortOrder: {
|
|
1278
|
+
readonly type: "number";
|
|
1279
|
+
readonly description: "The order of the strategy in the list";
|
|
1280
|
+
readonly example: 9999;
|
|
1281
|
+
};
|
|
1282
|
+
readonly title: {
|
|
1283
|
+
readonly type: "string";
|
|
1284
|
+
readonly nullable: true;
|
|
1285
|
+
readonly description: "A descriptive title for the strategy";
|
|
1286
|
+
readonly example: "Gradual Rollout 25-Prod";
|
|
1287
|
+
};
|
|
1288
|
+
readonly strategyName: {
|
|
1289
|
+
readonly type: "string";
|
|
1290
|
+
readonly description: "The name of the strategy type";
|
|
1291
|
+
readonly example: "flexibleRollout";
|
|
1292
|
+
};
|
|
1293
|
+
readonly parameters: {
|
|
1294
|
+
readonly description: "An object containing the parameters for the strategy";
|
|
1295
|
+
readonly example: {
|
|
1296
|
+
readonly groupId: "some_new";
|
|
1297
|
+
readonly rollout: "25";
|
|
1298
|
+
readonly stickiness: "sessionId";
|
|
1299
|
+
};
|
|
1300
|
+
readonly $ref: "#/components/schemas/parametersSchema";
|
|
1301
|
+
};
|
|
1302
|
+
readonly constraints: {
|
|
1303
|
+
readonly type: "array";
|
|
1304
|
+
readonly description: "A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/activation-strategies#constraints";
|
|
1305
|
+
readonly example: readonly [{
|
|
1306
|
+
readonly values: readonly ["1", "2"];
|
|
1307
|
+
readonly inverted: false;
|
|
1308
|
+
readonly operator: "IN";
|
|
1309
|
+
readonly contextName: "appName";
|
|
1310
|
+
readonly caseInsensitive: false;
|
|
1311
|
+
}];
|
|
1312
|
+
readonly items: {
|
|
1313
|
+
readonly $ref: "#/components/schemas/constraintSchema";
|
|
1314
|
+
};
|
|
1315
|
+
};
|
|
1316
|
+
readonly variants: {
|
|
1317
|
+
readonly type: "array";
|
|
1318
|
+
readonly description: "Strategy level variants";
|
|
1319
|
+
readonly items: {
|
|
1320
|
+
readonly $ref: "#/components/schemas/createStrategyVariantSchema";
|
|
1321
|
+
};
|
|
1322
|
+
};
|
|
1323
|
+
readonly segments: {
|
|
1324
|
+
readonly type: "array";
|
|
1325
|
+
readonly description: "Ids of segments to use for this strategy";
|
|
1326
|
+
readonly example: readonly [1, 2];
|
|
1327
|
+
readonly items: {
|
|
1328
|
+
readonly type: "number";
|
|
1329
|
+
};
|
|
1330
|
+
};
|
|
1331
|
+
};
|
|
1332
|
+
readonly components: {
|
|
1333
|
+
readonly schemas: {
|
|
1334
|
+
readonly createFeatureStrategySchema: {
|
|
1335
|
+
readonly $id: "#/components/schemas/createFeatureStrategySchema";
|
|
1336
|
+
readonly type: "object";
|
|
1337
|
+
readonly required: readonly ["name"];
|
|
1338
|
+
readonly description: "Create a strategy configuration in a feature";
|
|
1339
|
+
readonly properties: {
|
|
1340
|
+
readonly name: {
|
|
1341
|
+
readonly type: "string";
|
|
1342
|
+
readonly description: "The name of the strategy type";
|
|
1343
|
+
readonly example: "flexibleRollout";
|
|
1344
|
+
};
|
|
1345
|
+
readonly title: {
|
|
1346
|
+
readonly type: "string";
|
|
1347
|
+
readonly nullable: true;
|
|
1348
|
+
readonly description: "A descriptive title for the strategy";
|
|
1349
|
+
readonly example: "Gradual Rollout 25-Prod";
|
|
1350
|
+
};
|
|
1351
|
+
readonly disabled: {
|
|
1352
|
+
readonly type: "boolean";
|
|
1353
|
+
readonly description: "A toggle to disable the strategy. defaults to false. Disabled strategies are not evaluated or returned to the SDKs";
|
|
1354
|
+
readonly example: false;
|
|
1355
|
+
readonly nullable: true;
|
|
1356
|
+
};
|
|
1357
|
+
readonly sortOrder: {
|
|
1358
|
+
readonly type: "number";
|
|
1359
|
+
readonly description: "The order of the strategy in the list";
|
|
1360
|
+
readonly example: 9999;
|
|
1361
|
+
};
|
|
1362
|
+
readonly constraints: {
|
|
1363
|
+
readonly type: "array";
|
|
1364
|
+
readonly description: "A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/activation-strategies#constraints";
|
|
1365
|
+
readonly example: readonly [{
|
|
1366
|
+
readonly values: readonly ["1", "2"];
|
|
1367
|
+
readonly inverted: false;
|
|
1368
|
+
readonly operator: "IN";
|
|
1369
|
+
readonly contextName: "appName";
|
|
1370
|
+
readonly caseInsensitive: false;
|
|
1371
|
+
}];
|
|
1372
|
+
readonly items: {
|
|
1373
|
+
readonly $ref: "#/components/schemas/constraintSchema";
|
|
1374
|
+
};
|
|
1375
|
+
};
|
|
1376
|
+
readonly variants: {
|
|
1377
|
+
readonly type: "array";
|
|
1378
|
+
readonly description: "Strategy level variants";
|
|
1379
|
+
readonly items: {
|
|
1380
|
+
readonly $ref: "#/components/schemas/createStrategyVariantSchema";
|
|
1381
|
+
};
|
|
1382
|
+
};
|
|
1383
|
+
readonly parameters: {
|
|
1384
|
+
readonly description: "An object containing the parameters for the strategy";
|
|
1385
|
+
readonly example: {
|
|
1386
|
+
readonly groupId: "some_new";
|
|
1387
|
+
readonly rollout: "25";
|
|
1388
|
+
readonly stickiness: "sessionId";
|
|
1389
|
+
};
|
|
1390
|
+
readonly $ref: "#/components/schemas/parametersSchema";
|
|
1391
|
+
};
|
|
1392
|
+
readonly segments: {
|
|
1393
|
+
readonly type: "array";
|
|
1394
|
+
readonly description: "Ids of segments to use for this strategy";
|
|
1395
|
+
readonly example: readonly [1, 2];
|
|
1396
|
+
readonly items: {
|
|
1397
|
+
readonly type: "number";
|
|
1398
|
+
};
|
|
1399
|
+
};
|
|
1400
|
+
};
|
|
1401
|
+
readonly components: {
|
|
1402
|
+
readonly schemas: {
|
|
1403
|
+
readonly constraintSchema: {
|
|
1404
|
+
readonly type: "object";
|
|
1405
|
+
readonly required: readonly ["contextName", "operator"];
|
|
1406
|
+
readonly description: "A strategy constraint. For more information, refer to [the strategy constraint reference documentation](https://docs.getunleash.io/reference/activation-strategies#constraints)";
|
|
1407
|
+
readonly properties: {
|
|
1408
|
+
readonly contextName: {
|
|
1409
|
+
readonly description: "The name of the context field that this constraint should apply to.";
|
|
1410
|
+
readonly example: "appName";
|
|
1411
|
+
readonly type: "string";
|
|
1412
|
+
};
|
|
1413
|
+
readonly operator: {
|
|
1414
|
+
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/reference/activation-strategies#constraint-operators).";
|
|
1415
|
+
readonly type: "string";
|
|
1416
|
+
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"];
|
|
1417
|
+
readonly example: "IN";
|
|
1418
|
+
};
|
|
1419
|
+
readonly caseInsensitive: {
|
|
1420
|
+
readonly description: "Whether the operator should be case sensitive or not. Defaults to `false` (being case sensitive).";
|
|
1421
|
+
readonly type: "boolean";
|
|
1422
|
+
readonly default: false;
|
|
1423
|
+
};
|
|
1424
|
+
readonly inverted: {
|
|
1425
|
+
readonly description: "Whether the result should be negated or not. If `true`, will turn a `true` result into a `false` result and vice versa.";
|
|
1426
|
+
readonly type: "boolean";
|
|
1427
|
+
readonly default: false;
|
|
1428
|
+
};
|
|
1429
|
+
readonly values: {
|
|
1430
|
+
readonly type: "array";
|
|
1431
|
+
readonly description: "The context values that should be used for constraint evaluation. Use this property instead of `value` for properties that accept multiple values.";
|
|
1432
|
+
readonly items: {
|
|
1433
|
+
readonly type: "string";
|
|
1434
|
+
};
|
|
1435
|
+
readonly example: readonly ["my-app", "my-other-app"];
|
|
1436
|
+
};
|
|
1437
|
+
readonly value: {
|
|
1438
|
+
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.";
|
|
1439
|
+
readonly type: "string";
|
|
1440
|
+
readonly example: "my-app";
|
|
1441
|
+
};
|
|
1442
|
+
};
|
|
1443
|
+
readonly components: {};
|
|
1444
|
+
readonly $id: "#/components/schemas/constraintSchema";
|
|
1445
|
+
readonly additionalProperties: false;
|
|
1446
|
+
};
|
|
1447
|
+
readonly parametersSchema: {
|
|
1448
|
+
readonly $id: "#/components/schemas/parametersSchema";
|
|
1449
|
+
readonly type: "object";
|
|
1450
|
+
readonly description: "A list of parameters for a strategy";
|
|
1451
|
+
readonly additionalProperties: {
|
|
1452
|
+
readonly type: "string";
|
|
1453
|
+
};
|
|
1454
|
+
readonly components: {};
|
|
1455
|
+
};
|
|
1456
|
+
readonly createStrategyVariantSchema: {
|
|
1457
|
+
readonly $id: "#/components/schemas/createStrategyVariantSchema";
|
|
1458
|
+
readonly type: "object";
|
|
1459
|
+
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.";
|
|
1460
|
+
readonly required: readonly ["name", "weight", "weightType", "stickiness"];
|
|
1461
|
+
readonly properties: {
|
|
1462
|
+
readonly name: {
|
|
1463
|
+
readonly type: "string";
|
|
1464
|
+
readonly description: "The variant name. Must be unique for this feature flag";
|
|
1465
|
+
readonly example: "blue_group";
|
|
1466
|
+
};
|
|
1467
|
+
readonly weight: {
|
|
1468
|
+
readonly type: "integer";
|
|
1469
|
+
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/reference/feature-toggle-variants#variant-weight) for more information";
|
|
1470
|
+
readonly minimum: 0;
|
|
1471
|
+
readonly maximum: 1000;
|
|
1472
|
+
};
|
|
1473
|
+
readonly weightType: {
|
|
1474
|
+
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/reference/feature-toggle-variants#variant-weight).";
|
|
1475
|
+
readonly type: "string";
|
|
1476
|
+
readonly example: "fix";
|
|
1477
|
+
readonly enum: readonly ["variable", "fix"];
|
|
1478
|
+
};
|
|
1479
|
+
readonly stickiness: {
|
|
1480
|
+
readonly type: "string";
|
|
1481
|
+
readonly description: "The [stickiness](https://docs.getunleash.io/reference/feature-toggle-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";
|
|
1482
|
+
readonly example: "custom.context.field";
|
|
1483
|
+
};
|
|
1484
|
+
readonly payload: {
|
|
1485
|
+
readonly type: "object";
|
|
1486
|
+
readonly required: readonly ["type", "value"];
|
|
1487
|
+
readonly description: "Extra data configured for this variant";
|
|
1488
|
+
readonly properties: {
|
|
1489
|
+
readonly type: {
|
|
1490
|
+
readonly description: "The type of the value. Commonly used types are string, number, json and csv.";
|
|
1491
|
+
readonly type: "string";
|
|
1492
|
+
readonly enum: readonly ["json", "csv", "string", "number"];
|
|
1493
|
+
};
|
|
1494
|
+
readonly value: {
|
|
1495
|
+
readonly description: "The actual value of payload";
|
|
1496
|
+
readonly type: "string";
|
|
1497
|
+
};
|
|
1498
|
+
};
|
|
1499
|
+
readonly example: {
|
|
1500
|
+
readonly type: "json";
|
|
1501
|
+
readonly value: "{\"color\": \"red\"}";
|
|
1502
|
+
};
|
|
1503
|
+
};
|
|
1504
|
+
};
|
|
1505
|
+
readonly components: {};
|
|
1506
|
+
};
|
|
1507
|
+
};
|
|
1508
|
+
};
|
|
1509
|
+
};
|
|
1510
|
+
readonly parametersSchema: {
|
|
1511
|
+
readonly $id: "#/components/schemas/parametersSchema";
|
|
1512
|
+
readonly type: "object";
|
|
1513
|
+
readonly description: "A list of parameters for a strategy";
|
|
1514
|
+
readonly additionalProperties: {
|
|
1515
|
+
readonly type: "string";
|
|
1516
|
+
};
|
|
1517
|
+
readonly components: {};
|
|
1518
|
+
};
|
|
1519
|
+
readonly constraintSchema: {
|
|
1520
|
+
readonly type: "object";
|
|
1521
|
+
readonly required: readonly ["contextName", "operator"];
|
|
1522
|
+
readonly description: "A strategy constraint. For more information, refer to [the strategy constraint reference documentation](https://docs.getunleash.io/reference/activation-strategies#constraints)";
|
|
1523
|
+
readonly properties: {
|
|
1524
|
+
readonly contextName: {
|
|
1525
|
+
readonly description: "The name of the context field that this constraint should apply to.";
|
|
1526
|
+
readonly example: "appName";
|
|
1527
|
+
readonly type: "string";
|
|
1528
|
+
};
|
|
1529
|
+
readonly operator: {
|
|
1530
|
+
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/reference/activation-strategies#constraint-operators).";
|
|
1531
|
+
readonly type: "string";
|
|
1532
|
+
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"];
|
|
1533
|
+
readonly example: "IN";
|
|
1534
|
+
};
|
|
1535
|
+
readonly caseInsensitive: {
|
|
1536
|
+
readonly description: "Whether the operator should be case sensitive or not. Defaults to `false` (being case sensitive).";
|
|
1537
|
+
readonly type: "boolean";
|
|
1538
|
+
readonly default: false;
|
|
1539
|
+
};
|
|
1540
|
+
readonly inverted: {
|
|
1541
|
+
readonly description: "Whether the result should be negated or not. If `true`, will turn a `true` result into a `false` result and vice versa.";
|
|
1542
|
+
readonly type: "boolean";
|
|
1543
|
+
readonly default: false;
|
|
1544
|
+
};
|
|
1545
|
+
readonly values: {
|
|
1546
|
+
readonly type: "array";
|
|
1547
|
+
readonly description: "The context values that should be used for constraint evaluation. Use this property instead of `value` for properties that accept multiple values.";
|
|
1548
|
+
readonly items: {
|
|
1549
|
+
readonly type: "string";
|
|
1550
|
+
};
|
|
1551
|
+
readonly example: readonly ["my-app", "my-other-app"];
|
|
1552
|
+
};
|
|
1553
|
+
readonly value: {
|
|
1554
|
+
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.";
|
|
1555
|
+
readonly type: "string";
|
|
1556
|
+
readonly example: "my-app";
|
|
1557
|
+
};
|
|
1558
|
+
};
|
|
1559
|
+
readonly components: {};
|
|
1560
|
+
readonly $id: "#/components/schemas/constraintSchema";
|
|
1561
|
+
readonly additionalProperties: false;
|
|
1562
|
+
};
|
|
1563
|
+
readonly createStrategyVariantSchema: {
|
|
1564
|
+
readonly $id: "#/components/schemas/createStrategyVariantSchema";
|
|
1565
|
+
readonly type: "object";
|
|
1566
|
+
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.";
|
|
1567
|
+
readonly required: readonly ["name", "weight", "weightType", "stickiness"];
|
|
1568
|
+
readonly properties: {
|
|
1569
|
+
readonly name: {
|
|
1570
|
+
readonly type: "string";
|
|
1571
|
+
readonly description: "The variant name. Must be unique for this feature flag";
|
|
1572
|
+
readonly example: "blue_group";
|
|
1573
|
+
};
|
|
1574
|
+
readonly weight: {
|
|
1575
|
+
readonly type: "integer";
|
|
1576
|
+
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/reference/feature-toggle-variants#variant-weight) for more information";
|
|
1577
|
+
readonly minimum: 0;
|
|
1578
|
+
readonly maximum: 1000;
|
|
1579
|
+
};
|
|
1580
|
+
readonly weightType: {
|
|
1581
|
+
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/reference/feature-toggle-variants#variant-weight).";
|
|
1582
|
+
readonly type: "string";
|
|
1583
|
+
readonly example: "fix";
|
|
1584
|
+
readonly enum: readonly ["variable", "fix"];
|
|
1585
|
+
};
|
|
1586
|
+
readonly stickiness: {
|
|
1587
|
+
readonly type: "string";
|
|
1588
|
+
readonly description: "The [stickiness](https://docs.getunleash.io/reference/feature-toggle-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";
|
|
1589
|
+
readonly example: "custom.context.field";
|
|
1590
|
+
};
|
|
1591
|
+
readonly payload: {
|
|
1592
|
+
readonly type: "object";
|
|
1593
|
+
readonly required: readonly ["type", "value"];
|
|
1594
|
+
readonly description: "Extra data configured for this variant";
|
|
1595
|
+
readonly properties: {
|
|
1596
|
+
readonly type: {
|
|
1597
|
+
readonly description: "The type of the value. Commonly used types are string, number, json and csv.";
|
|
1598
|
+
readonly type: "string";
|
|
1599
|
+
readonly enum: readonly ["json", "csv", "string", "number"];
|
|
1600
|
+
};
|
|
1601
|
+
readonly value: {
|
|
1602
|
+
readonly description: "The actual value of payload";
|
|
1603
|
+
readonly type: "string";
|
|
1604
|
+
};
|
|
1605
|
+
};
|
|
1606
|
+
readonly example: {
|
|
1607
|
+
readonly type: "json";
|
|
1608
|
+
readonly value: "{\"color\": \"red\"}";
|
|
1609
|
+
};
|
|
1610
|
+
};
|
|
1611
|
+
};
|
|
1612
|
+
readonly components: {};
|
|
1613
|
+
};
|
|
1614
|
+
};
|
|
1615
|
+
};
|
|
1616
|
+
};
|
|
1617
|
+
readonly createFeatureStrategySchema: {
|
|
1618
|
+
readonly $id: "#/components/schemas/createFeatureStrategySchema";
|
|
1619
|
+
readonly type: "object";
|
|
1620
|
+
readonly required: readonly ["name"];
|
|
1621
|
+
readonly description: "Create a strategy configuration in a feature";
|
|
1622
|
+
readonly properties: {
|
|
1623
|
+
readonly name: {
|
|
1624
|
+
readonly type: "string";
|
|
1625
|
+
readonly description: "The name of the strategy type";
|
|
1626
|
+
readonly example: "flexibleRollout";
|
|
1627
|
+
};
|
|
1628
|
+
readonly title: {
|
|
1629
|
+
readonly type: "string";
|
|
1630
|
+
readonly nullable: true;
|
|
1631
|
+
readonly description: "A descriptive title for the strategy";
|
|
1632
|
+
readonly example: "Gradual Rollout 25-Prod";
|
|
1633
|
+
};
|
|
1634
|
+
readonly disabled: {
|
|
1635
|
+
readonly type: "boolean";
|
|
1636
|
+
readonly description: "A toggle to disable the strategy. defaults to false. Disabled strategies are not evaluated or returned to the SDKs";
|
|
1637
|
+
readonly example: false;
|
|
1638
|
+
readonly nullable: true;
|
|
1639
|
+
};
|
|
1640
|
+
readonly sortOrder: {
|
|
1641
|
+
readonly type: "number";
|
|
1642
|
+
readonly description: "The order of the strategy in the list";
|
|
1643
|
+
readonly example: 9999;
|
|
1644
|
+
};
|
|
1645
|
+
readonly constraints: {
|
|
1646
|
+
readonly type: "array";
|
|
1647
|
+
readonly description: "A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/activation-strategies#constraints";
|
|
1648
|
+
readonly example: readonly [{
|
|
1649
|
+
readonly values: readonly ["1", "2"];
|
|
1650
|
+
readonly inverted: false;
|
|
1651
|
+
readonly operator: "IN";
|
|
1652
|
+
readonly contextName: "appName";
|
|
1653
|
+
readonly caseInsensitive: false;
|
|
1654
|
+
}];
|
|
1655
|
+
readonly items: {
|
|
1656
|
+
readonly $ref: "#/components/schemas/constraintSchema";
|
|
1657
|
+
};
|
|
1658
|
+
};
|
|
1659
|
+
readonly variants: {
|
|
1660
|
+
readonly type: "array";
|
|
1661
|
+
readonly description: "Strategy level variants";
|
|
1662
|
+
readonly items: {
|
|
1663
|
+
readonly $ref: "#/components/schemas/createStrategyVariantSchema";
|
|
1664
|
+
};
|
|
1665
|
+
};
|
|
1666
|
+
readonly parameters: {
|
|
1667
|
+
readonly description: "An object containing the parameters for the strategy";
|
|
1668
|
+
readonly example: {
|
|
1669
|
+
readonly groupId: "some_new";
|
|
1670
|
+
readonly rollout: "25";
|
|
1671
|
+
readonly stickiness: "sessionId";
|
|
1672
|
+
};
|
|
1673
|
+
readonly $ref: "#/components/schemas/parametersSchema";
|
|
1674
|
+
};
|
|
1675
|
+
readonly segments: {
|
|
1676
|
+
readonly type: "array";
|
|
1677
|
+
readonly description: "Ids of segments to use for this strategy";
|
|
1678
|
+
readonly example: readonly [1, 2];
|
|
1679
|
+
readonly items: {
|
|
1680
|
+
readonly type: "number";
|
|
1681
|
+
};
|
|
1682
|
+
};
|
|
1683
|
+
};
|
|
1684
|
+
readonly components: {
|
|
1685
|
+
readonly schemas: {
|
|
1686
|
+
readonly constraintSchema: {
|
|
1687
|
+
readonly type: "object";
|
|
1688
|
+
readonly required: readonly ["contextName", "operator"];
|
|
1689
|
+
readonly description: "A strategy constraint. For more information, refer to [the strategy constraint reference documentation](https://docs.getunleash.io/reference/activation-strategies#constraints)";
|
|
1690
|
+
readonly properties: {
|
|
1691
|
+
readonly contextName: {
|
|
1692
|
+
readonly description: "The name of the context field that this constraint should apply to.";
|
|
1693
|
+
readonly example: "appName";
|
|
1694
|
+
readonly type: "string";
|
|
1695
|
+
};
|
|
1696
|
+
readonly operator: {
|
|
1697
|
+
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/reference/activation-strategies#constraint-operators).";
|
|
1698
|
+
readonly type: "string";
|
|
1699
|
+
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"];
|
|
1700
|
+
readonly example: "IN";
|
|
1701
|
+
};
|
|
1702
|
+
readonly caseInsensitive: {
|
|
1703
|
+
readonly description: "Whether the operator should be case sensitive or not. Defaults to `false` (being case sensitive).";
|
|
1704
|
+
readonly type: "boolean";
|
|
1705
|
+
readonly default: false;
|
|
1706
|
+
};
|
|
1707
|
+
readonly inverted: {
|
|
1708
|
+
readonly description: "Whether the result should be negated or not. If `true`, will turn a `true` result into a `false` result and vice versa.";
|
|
1709
|
+
readonly type: "boolean";
|
|
1710
|
+
readonly default: false;
|
|
1711
|
+
};
|
|
1712
|
+
readonly values: {
|
|
1713
|
+
readonly type: "array";
|
|
1714
|
+
readonly description: "The context values that should be used for constraint evaluation. Use this property instead of `value` for properties that accept multiple values.";
|
|
1715
|
+
readonly items: {
|
|
1716
|
+
readonly type: "string";
|
|
1717
|
+
};
|
|
1718
|
+
readonly example: readonly ["my-app", "my-other-app"];
|
|
1719
|
+
};
|
|
1720
|
+
readonly value: {
|
|
1721
|
+
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.";
|
|
1722
|
+
readonly type: "string";
|
|
1723
|
+
readonly example: "my-app";
|
|
1724
|
+
};
|
|
1725
|
+
};
|
|
1726
|
+
readonly components: {};
|
|
1727
|
+
readonly $id: "#/components/schemas/constraintSchema";
|
|
1728
|
+
readonly additionalProperties: false;
|
|
1729
|
+
};
|
|
1730
|
+
readonly parametersSchema: {
|
|
1731
|
+
readonly $id: "#/components/schemas/parametersSchema";
|
|
1732
|
+
readonly type: "object";
|
|
1733
|
+
readonly description: "A list of parameters for a strategy";
|
|
1734
|
+
readonly additionalProperties: {
|
|
1735
|
+
readonly type: "string";
|
|
1736
|
+
};
|
|
1737
|
+
readonly components: {};
|
|
1738
|
+
};
|
|
1739
|
+
readonly createStrategyVariantSchema: {
|
|
1740
|
+
readonly $id: "#/components/schemas/createStrategyVariantSchema";
|
|
1741
|
+
readonly type: "object";
|
|
1742
|
+
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.";
|
|
1743
|
+
readonly required: readonly ["name", "weight", "weightType", "stickiness"];
|
|
1744
|
+
readonly properties: {
|
|
1745
|
+
readonly name: {
|
|
1746
|
+
readonly type: "string";
|
|
1747
|
+
readonly description: "The variant name. Must be unique for this feature flag";
|
|
1748
|
+
readonly example: "blue_group";
|
|
1749
|
+
};
|
|
1750
|
+
readonly weight: {
|
|
1751
|
+
readonly type: "integer";
|
|
1752
|
+
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/reference/feature-toggle-variants#variant-weight) for more information";
|
|
1753
|
+
readonly minimum: 0;
|
|
1754
|
+
readonly maximum: 1000;
|
|
1755
|
+
};
|
|
1756
|
+
readonly weightType: {
|
|
1757
|
+
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/reference/feature-toggle-variants#variant-weight).";
|
|
1758
|
+
readonly type: "string";
|
|
1759
|
+
readonly example: "fix";
|
|
1760
|
+
readonly enum: readonly ["variable", "fix"];
|
|
1761
|
+
};
|
|
1762
|
+
readonly stickiness: {
|
|
1763
|
+
readonly type: "string";
|
|
1764
|
+
readonly description: "The [stickiness](https://docs.getunleash.io/reference/feature-toggle-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";
|
|
1765
|
+
readonly example: "custom.context.field";
|
|
1766
|
+
};
|
|
1767
|
+
readonly payload: {
|
|
1768
|
+
readonly type: "object";
|
|
1769
|
+
readonly required: readonly ["type", "value"];
|
|
1770
|
+
readonly description: "Extra data configured for this variant";
|
|
1771
|
+
readonly properties: {
|
|
1772
|
+
readonly type: {
|
|
1773
|
+
readonly description: "The type of the value. Commonly used types are string, number, json and csv.";
|
|
1774
|
+
readonly type: "string";
|
|
1775
|
+
readonly enum: readonly ["json", "csv", "string", "number"];
|
|
1776
|
+
};
|
|
1777
|
+
readonly value: {
|
|
1778
|
+
readonly description: "The actual value of payload";
|
|
1779
|
+
readonly type: "string";
|
|
1780
|
+
};
|
|
1781
|
+
};
|
|
1782
|
+
readonly example: {
|
|
1783
|
+
readonly type: "json";
|
|
1784
|
+
readonly value: "{\"color\": \"red\"}";
|
|
1785
|
+
};
|
|
1786
|
+
};
|
|
1787
|
+
};
|
|
1788
|
+
readonly components: {};
|
|
1789
|
+
};
|
|
1790
|
+
};
|
|
1791
|
+
};
|
|
1792
|
+
};
|
|
1793
|
+
readonly parametersSchema: {
|
|
1794
|
+
readonly $id: "#/components/schemas/parametersSchema";
|
|
1795
|
+
readonly type: "object";
|
|
1796
|
+
readonly description: "A list of parameters for a strategy";
|
|
1797
|
+
readonly additionalProperties: {
|
|
1798
|
+
readonly type: "string";
|
|
1799
|
+
};
|
|
1800
|
+
readonly components: {};
|
|
1801
|
+
};
|
|
1802
|
+
readonly constraintSchema: {
|
|
1803
|
+
readonly type: "object";
|
|
1804
|
+
readonly required: readonly ["contextName", "operator"];
|
|
1805
|
+
readonly description: "A strategy constraint. For more information, refer to [the strategy constraint reference documentation](https://docs.getunleash.io/reference/activation-strategies#constraints)";
|
|
1806
|
+
readonly properties: {
|
|
1807
|
+
readonly contextName: {
|
|
1808
|
+
readonly description: "The name of the context field that this constraint should apply to.";
|
|
1809
|
+
readonly example: "appName";
|
|
1810
|
+
readonly type: "string";
|
|
1811
|
+
};
|
|
1812
|
+
readonly operator: {
|
|
1813
|
+
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/reference/activation-strategies#constraint-operators).";
|
|
1814
|
+
readonly type: "string";
|
|
1815
|
+
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"];
|
|
1816
|
+
readonly example: "IN";
|
|
1817
|
+
};
|
|
1818
|
+
readonly caseInsensitive: {
|
|
1819
|
+
readonly description: "Whether the operator should be case sensitive or not. Defaults to `false` (being case sensitive).";
|
|
1820
|
+
readonly type: "boolean";
|
|
1821
|
+
readonly default: false;
|
|
1822
|
+
};
|
|
1823
|
+
readonly inverted: {
|
|
1824
|
+
readonly description: "Whether the result should be negated or not. If `true`, will turn a `true` result into a `false` result and vice versa.";
|
|
1825
|
+
readonly type: "boolean";
|
|
1826
|
+
readonly default: false;
|
|
1827
|
+
};
|
|
1828
|
+
readonly values: {
|
|
1829
|
+
readonly type: "array";
|
|
1830
|
+
readonly description: "The context values that should be used for constraint evaluation. Use this property instead of `value` for properties that accept multiple values.";
|
|
1831
|
+
readonly items: {
|
|
1832
|
+
readonly type: "string";
|
|
1833
|
+
};
|
|
1834
|
+
readonly example: readonly ["my-app", "my-other-app"];
|
|
1835
|
+
};
|
|
1836
|
+
readonly value: {
|
|
1837
|
+
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.";
|
|
1838
|
+
readonly type: "string";
|
|
1839
|
+
readonly example: "my-app";
|
|
1840
|
+
};
|
|
1841
|
+
};
|
|
1842
|
+
readonly components: {};
|
|
1843
|
+
readonly $id: "#/components/schemas/constraintSchema";
|
|
1844
|
+
readonly additionalProperties: false;
|
|
1845
|
+
};
|
|
1846
|
+
readonly createStrategyVariantSchema: {
|
|
1847
|
+
readonly $id: "#/components/schemas/createStrategyVariantSchema";
|
|
1848
|
+
readonly type: "object";
|
|
1849
|
+
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.";
|
|
1850
|
+
readonly required: readonly ["name", "weight", "weightType", "stickiness"];
|
|
1851
|
+
readonly properties: {
|
|
1852
|
+
readonly name: {
|
|
1853
|
+
readonly type: "string";
|
|
1854
|
+
readonly description: "The variant name. Must be unique for this feature flag";
|
|
1855
|
+
readonly example: "blue_group";
|
|
1856
|
+
};
|
|
1857
|
+
readonly weight: {
|
|
1858
|
+
readonly type: "integer";
|
|
1859
|
+
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/reference/feature-toggle-variants#variant-weight) for more information";
|
|
1860
|
+
readonly minimum: 0;
|
|
1861
|
+
readonly maximum: 1000;
|
|
1862
|
+
};
|
|
1863
|
+
readonly weightType: {
|
|
1864
|
+
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/reference/feature-toggle-variants#variant-weight).";
|
|
1865
|
+
readonly type: "string";
|
|
1866
|
+
readonly example: "fix";
|
|
1867
|
+
readonly enum: readonly ["variable", "fix"];
|
|
1868
|
+
};
|
|
1869
|
+
readonly stickiness: {
|
|
1870
|
+
readonly type: "string";
|
|
1871
|
+
readonly description: "The [stickiness](https://docs.getunleash.io/reference/feature-toggle-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";
|
|
1872
|
+
readonly example: "custom.context.field";
|
|
1873
|
+
};
|
|
1874
|
+
readonly payload: {
|
|
1875
|
+
readonly type: "object";
|
|
1876
|
+
readonly required: readonly ["type", "value"];
|
|
1877
|
+
readonly description: "Extra data configured for this variant";
|
|
1878
|
+
readonly properties: {
|
|
1879
|
+
readonly type: {
|
|
1880
|
+
readonly description: "The type of the value. Commonly used types are string, number, json and csv.";
|
|
1881
|
+
readonly type: "string";
|
|
1882
|
+
readonly enum: readonly ["json", "csv", "string", "number"];
|
|
1883
|
+
};
|
|
1884
|
+
readonly value: {
|
|
1885
|
+
readonly description: "The actual value of payload";
|
|
1886
|
+
readonly type: "string";
|
|
1887
|
+
};
|
|
1888
|
+
};
|
|
1889
|
+
readonly example: {
|
|
1890
|
+
readonly type: "json";
|
|
1891
|
+
readonly value: "{\"color\": \"red\"}";
|
|
1892
|
+
};
|
|
1893
|
+
};
|
|
1894
|
+
};
|
|
1895
|
+
readonly components: {};
|
|
1896
|
+
};
|
|
1897
|
+
readonly transitionConditionSchema: {
|
|
1898
|
+
readonly $id: "#/components/schemas/transitionConditionSchema";
|
|
1899
|
+
readonly type: "object";
|
|
1900
|
+
readonly additionalProperties: false;
|
|
1901
|
+
readonly required: readonly ["intervalMinutes"];
|
|
1902
|
+
readonly description: "A transition condition for milestone progression";
|
|
1903
|
+
readonly properties: {
|
|
1904
|
+
readonly intervalMinutes: {
|
|
1905
|
+
readonly type: "integer";
|
|
1906
|
+
readonly minimum: 1;
|
|
1907
|
+
readonly description: "The interval in minutes before transitioning";
|
|
1908
|
+
readonly example: 30;
|
|
1909
|
+
};
|
|
1910
|
+
};
|
|
1911
|
+
readonly components: {};
|
|
1912
|
+
};
|
|
1913
|
+
};
|
|
1914
|
+
};
|
|
1915
|
+
};
|
|
1916
|
+
readonly releasePlanMilestoneSchema: {
|
|
1917
|
+
readonly $id: "#/components/schemas/releasePlanMilestoneSchema";
|
|
1918
|
+
readonly additionalProperties: false;
|
|
1919
|
+
readonly description: "Schema representing the creation of a release plan milestone.";
|
|
1920
|
+
readonly type: "object";
|
|
1921
|
+
readonly required: readonly ["id", "name", "sortOrder", "releasePlanDefinitionId"];
|
|
1922
|
+
readonly properties: {
|
|
1923
|
+
readonly id: {
|
|
1924
|
+
readonly type: "string";
|
|
1925
|
+
readonly description: "The milestone's ID. Milestone IDs are ulids.";
|
|
1926
|
+
readonly example: "01JB9GGTGQYEQ9D40R17T3YVW1";
|
|
1927
|
+
readonly nullable: false;
|
|
1928
|
+
};
|
|
1929
|
+
readonly name: {
|
|
1930
|
+
readonly type: "string";
|
|
1931
|
+
readonly description: "The name of the milestone.";
|
|
1932
|
+
readonly example: "My milestone";
|
|
1933
|
+
};
|
|
1934
|
+
readonly sortOrder: {
|
|
1935
|
+
readonly type: "integer";
|
|
1936
|
+
readonly description: "The order of the milestone in the release plan.";
|
|
1937
|
+
readonly example: 1;
|
|
1938
|
+
};
|
|
1939
|
+
readonly releasePlanDefinitionId: {
|
|
1940
|
+
readonly type: "string";
|
|
1941
|
+
readonly description: "The ID of the release plan/template that this milestone belongs to.";
|
|
1942
|
+
readonly example: "01JB9GGTGQYEQ9D40R17T3YVW2";
|
|
1943
|
+
};
|
|
1944
|
+
readonly startedAt: {
|
|
1945
|
+
readonly type: "string";
|
|
1946
|
+
readonly format: "date-time";
|
|
1947
|
+
readonly description: "The date and time when the milestone was started.";
|
|
1948
|
+
readonly example: "2024-01-01T00:00:00.000Z";
|
|
1949
|
+
readonly nullable: true;
|
|
1950
|
+
};
|
|
1951
|
+
readonly transitionCondition: {
|
|
1952
|
+
readonly description: "The condition configuration for the transition";
|
|
1953
|
+
readonly $ref: "#/components/schemas/transitionConditionSchema";
|
|
1954
|
+
};
|
|
1955
|
+
readonly progressionExecutedAt: {
|
|
1956
|
+
readonly type: "string";
|
|
1957
|
+
readonly format: "date-time";
|
|
1958
|
+
readonly description: "The date and time when the milestone progression was executed.";
|
|
1959
|
+
readonly example: "2024-01-01T00:00:00.000Z";
|
|
1960
|
+
readonly nullable: true;
|
|
1961
|
+
};
|
|
1962
|
+
readonly strategies: {
|
|
1963
|
+
readonly type: "array";
|
|
1964
|
+
readonly description: "A list of strategies that are attached to this milestone.";
|
|
1965
|
+
readonly items: {
|
|
1966
|
+
readonly $ref: "#/components/schemas/releasePlanMilestoneStrategySchema";
|
|
1967
|
+
};
|
|
1968
|
+
};
|
|
1969
|
+
};
|
|
1970
|
+
readonly components: {
|
|
1971
|
+
readonly schemas: {
|
|
1972
|
+
readonly releasePlanMilestoneStrategySchema: {
|
|
1973
|
+
readonly $id: "#/components/schemas/releasePlanMilestoneStrategySchema";
|
|
1974
|
+
readonly additionalProperties: false;
|
|
1975
|
+
readonly description: "Schema representing the creation of a release plan milestone strategy.";
|
|
1976
|
+
readonly type: "object";
|
|
1977
|
+
readonly required: readonly ["id", "milestoneId", "sortOrder", "strategyName"];
|
|
1978
|
+
readonly properties: {
|
|
1979
|
+
readonly id: {
|
|
1980
|
+
readonly type: "string";
|
|
1981
|
+
readonly description: "The milestone strategy's ID. Milestone strategy IDs are ulids.";
|
|
1982
|
+
readonly example: "01JB9GGTGQYEQ9D40R17T3YVW3";
|
|
1983
|
+
readonly nullable: false;
|
|
1984
|
+
};
|
|
1985
|
+
readonly milestoneId: {
|
|
1986
|
+
readonly type: "string";
|
|
1987
|
+
readonly description: "The ID of the milestone that this strategy belongs to.";
|
|
1988
|
+
readonly example: "01JB9GGTGQYEQ9D40R17T3YVW1";
|
|
1989
|
+
};
|
|
1990
|
+
readonly sortOrder: {
|
|
1991
|
+
readonly type: "number";
|
|
1992
|
+
readonly description: "The order of the strategy in the list";
|
|
1993
|
+
readonly example: 9999;
|
|
1994
|
+
};
|
|
1995
|
+
readonly title: {
|
|
1996
|
+
readonly type: "string";
|
|
1997
|
+
readonly nullable: true;
|
|
1998
|
+
readonly description: "A descriptive title for the strategy";
|
|
1999
|
+
readonly example: "Gradual Rollout 25-Prod";
|
|
2000
|
+
};
|
|
2001
|
+
readonly strategyName: {
|
|
2002
|
+
readonly type: "string";
|
|
2003
|
+
readonly description: "The name of the strategy type";
|
|
2004
|
+
readonly example: "flexibleRollout";
|
|
2005
|
+
};
|
|
2006
|
+
readonly parameters: {
|
|
2007
|
+
readonly description: "An object containing the parameters for the strategy";
|
|
2008
|
+
readonly example: {
|
|
2009
|
+
readonly groupId: "some_new";
|
|
2010
|
+
readonly rollout: "25";
|
|
2011
|
+
readonly stickiness: "sessionId";
|
|
2012
|
+
};
|
|
2013
|
+
readonly $ref: "#/components/schemas/parametersSchema";
|
|
2014
|
+
};
|
|
2015
|
+
readonly constraints: {
|
|
2016
|
+
readonly type: "array";
|
|
2017
|
+
readonly description: "A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/activation-strategies#constraints";
|
|
2018
|
+
readonly example: readonly [{
|
|
2019
|
+
readonly values: readonly ["1", "2"];
|
|
2020
|
+
readonly inverted: false;
|
|
2021
|
+
readonly operator: "IN";
|
|
2022
|
+
readonly contextName: "appName";
|
|
2023
|
+
readonly caseInsensitive: false;
|
|
2024
|
+
}];
|
|
2025
|
+
readonly items: {
|
|
2026
|
+
readonly $ref: "#/components/schemas/constraintSchema";
|
|
2027
|
+
};
|
|
2028
|
+
};
|
|
2029
|
+
readonly variants: {
|
|
2030
|
+
readonly type: "array";
|
|
2031
|
+
readonly description: "Strategy level variants";
|
|
2032
|
+
readonly items: {
|
|
2033
|
+
readonly $ref: "#/components/schemas/createStrategyVariantSchema";
|
|
2034
|
+
};
|
|
2035
|
+
};
|
|
2036
|
+
readonly segments: {
|
|
2037
|
+
readonly type: "array";
|
|
2038
|
+
readonly description: "Ids of segments to use for this strategy";
|
|
2039
|
+
readonly example: readonly [1, 2];
|
|
2040
|
+
readonly items: {
|
|
2041
|
+
readonly type: "number";
|
|
2042
|
+
};
|
|
2043
|
+
};
|
|
2044
|
+
};
|
|
2045
|
+
readonly components: {
|
|
2046
|
+
readonly schemas: {
|
|
2047
|
+
readonly createFeatureStrategySchema: {
|
|
2048
|
+
readonly $id: "#/components/schemas/createFeatureStrategySchema";
|
|
2049
|
+
readonly type: "object";
|
|
2050
|
+
readonly required: readonly ["name"];
|
|
2051
|
+
readonly description: "Create a strategy configuration in a feature";
|
|
2052
|
+
readonly properties: {
|
|
2053
|
+
readonly name: {
|
|
2054
|
+
readonly type: "string";
|
|
2055
|
+
readonly description: "The name of the strategy type";
|
|
2056
|
+
readonly example: "flexibleRollout";
|
|
2057
|
+
};
|
|
2058
|
+
readonly title: {
|
|
2059
|
+
readonly type: "string";
|
|
2060
|
+
readonly nullable: true;
|
|
2061
|
+
readonly description: "A descriptive title for the strategy";
|
|
2062
|
+
readonly example: "Gradual Rollout 25-Prod";
|
|
2063
|
+
};
|
|
2064
|
+
readonly disabled: {
|
|
2065
|
+
readonly type: "boolean";
|
|
2066
|
+
readonly description: "A toggle to disable the strategy. defaults to false. Disabled strategies are not evaluated or returned to the SDKs";
|
|
2067
|
+
readonly example: false;
|
|
2068
|
+
readonly nullable: true;
|
|
2069
|
+
};
|
|
2070
|
+
readonly sortOrder: {
|
|
2071
|
+
readonly type: "number";
|
|
2072
|
+
readonly description: "The order of the strategy in the list";
|
|
2073
|
+
readonly example: 9999;
|
|
2074
|
+
};
|
|
2075
|
+
readonly constraints: {
|
|
2076
|
+
readonly type: "array";
|
|
2077
|
+
readonly description: "A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/activation-strategies#constraints";
|
|
2078
|
+
readonly example: readonly [{
|
|
2079
|
+
readonly values: readonly ["1", "2"];
|
|
2080
|
+
readonly inverted: false;
|
|
2081
|
+
readonly operator: "IN";
|
|
2082
|
+
readonly contextName: "appName";
|
|
2083
|
+
readonly caseInsensitive: false;
|
|
2084
|
+
}];
|
|
2085
|
+
readonly items: {
|
|
2086
|
+
readonly $ref: "#/components/schemas/constraintSchema";
|
|
2087
|
+
};
|
|
2088
|
+
};
|
|
2089
|
+
readonly variants: {
|
|
2090
|
+
readonly type: "array";
|
|
2091
|
+
readonly description: "Strategy level variants";
|
|
2092
|
+
readonly items: {
|
|
2093
|
+
readonly $ref: "#/components/schemas/createStrategyVariantSchema";
|
|
2094
|
+
};
|
|
2095
|
+
};
|
|
2096
|
+
readonly parameters: {
|
|
2097
|
+
readonly description: "An object containing the parameters for the strategy";
|
|
2098
|
+
readonly example: {
|
|
2099
|
+
readonly groupId: "some_new";
|
|
2100
|
+
readonly rollout: "25";
|
|
2101
|
+
readonly stickiness: "sessionId";
|
|
2102
|
+
};
|
|
2103
|
+
readonly $ref: "#/components/schemas/parametersSchema";
|
|
2104
|
+
};
|
|
2105
|
+
readonly segments: {
|
|
2106
|
+
readonly type: "array";
|
|
2107
|
+
readonly description: "Ids of segments to use for this strategy";
|
|
2108
|
+
readonly example: readonly [1, 2];
|
|
2109
|
+
readonly items: {
|
|
2110
|
+
readonly type: "number";
|
|
2111
|
+
};
|
|
2112
|
+
};
|
|
2113
|
+
};
|
|
2114
|
+
readonly components: {
|
|
2115
|
+
readonly schemas: {
|
|
2116
|
+
readonly constraintSchema: {
|
|
2117
|
+
readonly type: "object";
|
|
2118
|
+
readonly required: readonly ["contextName", "operator"];
|
|
2119
|
+
readonly description: "A strategy constraint. For more information, refer to [the strategy constraint reference documentation](https://docs.getunleash.io/reference/activation-strategies#constraints)";
|
|
2120
|
+
readonly properties: {
|
|
2121
|
+
readonly contextName: {
|
|
2122
|
+
readonly description: "The name of the context field that this constraint should apply to.";
|
|
2123
|
+
readonly example: "appName";
|
|
2124
|
+
readonly type: "string";
|
|
2125
|
+
};
|
|
2126
|
+
readonly operator: {
|
|
2127
|
+
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/reference/activation-strategies#constraint-operators).";
|
|
2128
|
+
readonly type: "string";
|
|
2129
|
+
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"];
|
|
2130
|
+
readonly example: "IN";
|
|
2131
|
+
};
|
|
2132
|
+
readonly caseInsensitive: {
|
|
2133
|
+
readonly description: "Whether the operator should be case sensitive or not. Defaults to `false` (being case sensitive).";
|
|
2134
|
+
readonly type: "boolean";
|
|
2135
|
+
readonly default: false;
|
|
2136
|
+
};
|
|
2137
|
+
readonly inverted: {
|
|
2138
|
+
readonly description: "Whether the result should be negated or not. If `true`, will turn a `true` result into a `false` result and vice versa.";
|
|
2139
|
+
readonly type: "boolean";
|
|
2140
|
+
readonly default: false;
|
|
2141
|
+
};
|
|
2142
|
+
readonly values: {
|
|
2143
|
+
readonly type: "array";
|
|
2144
|
+
readonly description: "The context values that should be used for constraint evaluation. Use this property instead of `value` for properties that accept multiple values.";
|
|
2145
|
+
readonly items: {
|
|
2146
|
+
readonly type: "string";
|
|
2147
|
+
};
|
|
2148
|
+
readonly example: readonly ["my-app", "my-other-app"];
|
|
2149
|
+
};
|
|
2150
|
+
readonly value: {
|
|
2151
|
+
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.";
|
|
2152
|
+
readonly type: "string";
|
|
2153
|
+
readonly example: "my-app";
|
|
2154
|
+
};
|
|
2155
|
+
};
|
|
2156
|
+
readonly components: {};
|
|
2157
|
+
readonly $id: "#/components/schemas/constraintSchema";
|
|
2158
|
+
readonly additionalProperties: false;
|
|
2159
|
+
};
|
|
2160
|
+
readonly parametersSchema: {
|
|
2161
|
+
readonly $id: "#/components/schemas/parametersSchema";
|
|
2162
|
+
readonly type: "object";
|
|
2163
|
+
readonly description: "A list of parameters for a strategy";
|
|
2164
|
+
readonly additionalProperties: {
|
|
2165
|
+
readonly type: "string";
|
|
2166
|
+
};
|
|
2167
|
+
readonly components: {};
|
|
2168
|
+
};
|
|
2169
|
+
readonly createStrategyVariantSchema: {
|
|
2170
|
+
readonly $id: "#/components/schemas/createStrategyVariantSchema";
|
|
2171
|
+
readonly type: "object";
|
|
2172
|
+
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.";
|
|
2173
|
+
readonly required: readonly ["name", "weight", "weightType", "stickiness"];
|
|
2174
|
+
readonly properties: {
|
|
2175
|
+
readonly name: {
|
|
2176
|
+
readonly type: "string";
|
|
2177
|
+
readonly description: "The variant name. Must be unique for this feature flag";
|
|
2178
|
+
readonly example: "blue_group";
|
|
2179
|
+
};
|
|
2180
|
+
readonly weight: {
|
|
2181
|
+
readonly type: "integer";
|
|
2182
|
+
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/reference/feature-toggle-variants#variant-weight) for more information";
|
|
2183
|
+
readonly minimum: 0;
|
|
2184
|
+
readonly maximum: 1000;
|
|
2185
|
+
};
|
|
2186
|
+
readonly weightType: {
|
|
2187
|
+
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/reference/feature-toggle-variants#variant-weight).";
|
|
2188
|
+
readonly type: "string";
|
|
2189
|
+
readonly example: "fix";
|
|
2190
|
+
readonly enum: readonly ["variable", "fix"];
|
|
2191
|
+
};
|
|
2192
|
+
readonly stickiness: {
|
|
2193
|
+
readonly type: "string";
|
|
2194
|
+
readonly description: "The [stickiness](https://docs.getunleash.io/reference/feature-toggle-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";
|
|
2195
|
+
readonly example: "custom.context.field";
|
|
2196
|
+
};
|
|
2197
|
+
readonly payload: {
|
|
2198
|
+
readonly type: "object";
|
|
2199
|
+
readonly required: readonly ["type", "value"];
|
|
2200
|
+
readonly description: "Extra data configured for this variant";
|
|
2201
|
+
readonly properties: {
|
|
2202
|
+
readonly type: {
|
|
2203
|
+
readonly description: "The type of the value. Commonly used types are string, number, json and csv.";
|
|
2204
|
+
readonly type: "string";
|
|
2205
|
+
readonly enum: readonly ["json", "csv", "string", "number"];
|
|
2206
|
+
};
|
|
2207
|
+
readonly value: {
|
|
2208
|
+
readonly description: "The actual value of payload";
|
|
2209
|
+
readonly type: "string";
|
|
2210
|
+
};
|
|
2211
|
+
};
|
|
2212
|
+
readonly example: {
|
|
2213
|
+
readonly type: "json";
|
|
2214
|
+
readonly value: "{\"color\": \"red\"}";
|
|
2215
|
+
};
|
|
2216
|
+
};
|
|
2217
|
+
};
|
|
2218
|
+
readonly components: {};
|
|
2219
|
+
};
|
|
2220
|
+
};
|
|
2221
|
+
};
|
|
2222
|
+
};
|
|
2223
|
+
readonly parametersSchema: {
|
|
2224
|
+
readonly $id: "#/components/schemas/parametersSchema";
|
|
2225
|
+
readonly type: "object";
|
|
2226
|
+
readonly description: "A list of parameters for a strategy";
|
|
2227
|
+
readonly additionalProperties: {
|
|
2228
|
+
readonly type: "string";
|
|
2229
|
+
};
|
|
2230
|
+
readonly components: {};
|
|
2231
|
+
};
|
|
2232
|
+
readonly constraintSchema: {
|
|
2233
|
+
readonly type: "object";
|
|
2234
|
+
readonly required: readonly ["contextName", "operator"];
|
|
2235
|
+
readonly description: "A strategy constraint. For more information, refer to [the strategy constraint reference documentation](https://docs.getunleash.io/reference/activation-strategies#constraints)";
|
|
2236
|
+
readonly properties: {
|
|
2237
|
+
readonly contextName: {
|
|
2238
|
+
readonly description: "The name of the context field that this constraint should apply to.";
|
|
2239
|
+
readonly example: "appName";
|
|
2240
|
+
readonly type: "string";
|
|
2241
|
+
};
|
|
2242
|
+
readonly operator: {
|
|
2243
|
+
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/reference/activation-strategies#constraint-operators).";
|
|
2244
|
+
readonly type: "string";
|
|
2245
|
+
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"];
|
|
2246
|
+
readonly example: "IN";
|
|
2247
|
+
};
|
|
2248
|
+
readonly caseInsensitive: {
|
|
2249
|
+
readonly description: "Whether the operator should be case sensitive or not. Defaults to `false` (being case sensitive).";
|
|
2250
|
+
readonly type: "boolean";
|
|
2251
|
+
readonly default: false;
|
|
2252
|
+
};
|
|
2253
|
+
readonly inverted: {
|
|
2254
|
+
readonly description: "Whether the result should be negated or not. If `true`, will turn a `true` result into a `false` result and vice versa.";
|
|
2255
|
+
readonly type: "boolean";
|
|
2256
|
+
readonly default: false;
|
|
2257
|
+
};
|
|
2258
|
+
readonly values: {
|
|
2259
|
+
readonly type: "array";
|
|
2260
|
+
readonly description: "The context values that should be used for constraint evaluation. Use this property instead of `value` for properties that accept multiple values.";
|
|
2261
|
+
readonly items: {
|
|
2262
|
+
readonly type: "string";
|
|
2263
|
+
};
|
|
2264
|
+
readonly example: readonly ["my-app", "my-other-app"];
|
|
2265
|
+
};
|
|
2266
|
+
readonly value: {
|
|
2267
|
+
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.";
|
|
2268
|
+
readonly type: "string";
|
|
2269
|
+
readonly example: "my-app";
|
|
2270
|
+
};
|
|
2271
|
+
};
|
|
2272
|
+
readonly components: {};
|
|
2273
|
+
readonly $id: "#/components/schemas/constraintSchema";
|
|
2274
|
+
readonly additionalProperties: false;
|
|
2275
|
+
};
|
|
2276
|
+
readonly createStrategyVariantSchema: {
|
|
2277
|
+
readonly $id: "#/components/schemas/createStrategyVariantSchema";
|
|
2278
|
+
readonly type: "object";
|
|
2279
|
+
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.";
|
|
2280
|
+
readonly required: readonly ["name", "weight", "weightType", "stickiness"];
|
|
2281
|
+
readonly properties: {
|
|
2282
|
+
readonly name: {
|
|
2283
|
+
readonly type: "string";
|
|
2284
|
+
readonly description: "The variant name. Must be unique for this feature flag";
|
|
2285
|
+
readonly example: "blue_group";
|
|
2286
|
+
};
|
|
2287
|
+
readonly weight: {
|
|
2288
|
+
readonly type: "integer";
|
|
2289
|
+
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/reference/feature-toggle-variants#variant-weight) for more information";
|
|
2290
|
+
readonly minimum: 0;
|
|
2291
|
+
readonly maximum: 1000;
|
|
2292
|
+
};
|
|
2293
|
+
readonly weightType: {
|
|
2294
|
+
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/reference/feature-toggle-variants#variant-weight).";
|
|
2295
|
+
readonly type: "string";
|
|
2296
|
+
readonly example: "fix";
|
|
2297
|
+
readonly enum: readonly ["variable", "fix"];
|
|
2298
|
+
};
|
|
2299
|
+
readonly stickiness: {
|
|
2300
|
+
readonly type: "string";
|
|
2301
|
+
readonly description: "The [stickiness](https://docs.getunleash.io/reference/feature-toggle-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";
|
|
2302
|
+
readonly example: "custom.context.field";
|
|
2303
|
+
};
|
|
2304
|
+
readonly payload: {
|
|
2305
|
+
readonly type: "object";
|
|
2306
|
+
readonly required: readonly ["type", "value"];
|
|
2307
|
+
readonly description: "Extra data configured for this variant";
|
|
2308
|
+
readonly properties: {
|
|
2309
|
+
readonly type: {
|
|
2310
|
+
readonly description: "The type of the value. Commonly used types are string, number, json and csv.";
|
|
2311
|
+
readonly type: "string";
|
|
2312
|
+
readonly enum: readonly ["json", "csv", "string", "number"];
|
|
2313
|
+
};
|
|
2314
|
+
readonly value: {
|
|
2315
|
+
readonly description: "The actual value of payload";
|
|
2316
|
+
readonly type: "string";
|
|
2317
|
+
};
|
|
2318
|
+
};
|
|
2319
|
+
readonly example: {
|
|
2320
|
+
readonly type: "json";
|
|
2321
|
+
readonly value: "{\"color\": \"red\"}";
|
|
2322
|
+
};
|
|
2323
|
+
};
|
|
2324
|
+
};
|
|
2325
|
+
readonly components: {};
|
|
2326
|
+
};
|
|
2327
|
+
};
|
|
2328
|
+
};
|
|
2329
|
+
};
|
|
2330
|
+
readonly createFeatureStrategySchema: {
|
|
2331
|
+
readonly $id: "#/components/schemas/createFeatureStrategySchema";
|
|
2332
|
+
readonly type: "object";
|
|
2333
|
+
readonly required: readonly ["name"];
|
|
2334
|
+
readonly description: "Create a strategy configuration in a feature";
|
|
2335
|
+
readonly properties: {
|
|
2336
|
+
readonly name: {
|
|
2337
|
+
readonly type: "string";
|
|
2338
|
+
readonly description: "The name of the strategy type";
|
|
2339
|
+
readonly example: "flexibleRollout";
|
|
2340
|
+
};
|
|
2341
|
+
readonly title: {
|
|
2342
|
+
readonly type: "string";
|
|
2343
|
+
readonly nullable: true;
|
|
2344
|
+
readonly description: "A descriptive title for the strategy";
|
|
2345
|
+
readonly example: "Gradual Rollout 25-Prod";
|
|
2346
|
+
};
|
|
2347
|
+
readonly disabled: {
|
|
2348
|
+
readonly type: "boolean";
|
|
2349
|
+
readonly description: "A toggle to disable the strategy. defaults to false. Disabled strategies are not evaluated or returned to the SDKs";
|
|
2350
|
+
readonly example: false;
|
|
2351
|
+
readonly nullable: true;
|
|
2352
|
+
};
|
|
2353
|
+
readonly sortOrder: {
|
|
2354
|
+
readonly type: "number";
|
|
2355
|
+
readonly description: "The order of the strategy in the list";
|
|
2356
|
+
readonly example: 9999;
|
|
2357
|
+
};
|
|
2358
|
+
readonly constraints: {
|
|
2359
|
+
readonly type: "array";
|
|
2360
|
+
readonly description: "A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/activation-strategies#constraints";
|
|
2361
|
+
readonly example: readonly [{
|
|
2362
|
+
readonly values: readonly ["1", "2"];
|
|
2363
|
+
readonly inverted: false;
|
|
2364
|
+
readonly operator: "IN";
|
|
2365
|
+
readonly contextName: "appName";
|
|
2366
|
+
readonly caseInsensitive: false;
|
|
2367
|
+
}];
|
|
2368
|
+
readonly items: {
|
|
2369
|
+
readonly $ref: "#/components/schemas/constraintSchema";
|
|
2370
|
+
};
|
|
2371
|
+
};
|
|
2372
|
+
readonly variants: {
|
|
2373
|
+
readonly type: "array";
|
|
2374
|
+
readonly description: "Strategy level variants";
|
|
2375
|
+
readonly items: {
|
|
2376
|
+
readonly $ref: "#/components/schemas/createStrategyVariantSchema";
|
|
2377
|
+
};
|
|
2378
|
+
};
|
|
2379
|
+
readonly parameters: {
|
|
2380
|
+
readonly description: "An object containing the parameters for the strategy";
|
|
2381
|
+
readonly example: {
|
|
2382
|
+
readonly groupId: "some_new";
|
|
2383
|
+
readonly rollout: "25";
|
|
2384
|
+
readonly stickiness: "sessionId";
|
|
2385
|
+
};
|
|
2386
|
+
readonly $ref: "#/components/schemas/parametersSchema";
|
|
2387
|
+
};
|
|
2388
|
+
readonly segments: {
|
|
2389
|
+
readonly type: "array";
|
|
2390
|
+
readonly description: "Ids of segments to use for this strategy";
|
|
2391
|
+
readonly example: readonly [1, 2];
|
|
2392
|
+
readonly items: {
|
|
2393
|
+
readonly type: "number";
|
|
2394
|
+
};
|
|
2395
|
+
};
|
|
2396
|
+
};
|
|
2397
|
+
readonly components: {
|
|
2398
|
+
readonly schemas: {
|
|
2399
|
+
readonly constraintSchema: {
|
|
2400
|
+
readonly type: "object";
|
|
2401
|
+
readonly required: readonly ["contextName", "operator"];
|
|
2402
|
+
readonly description: "A strategy constraint. For more information, refer to [the strategy constraint reference documentation](https://docs.getunleash.io/reference/activation-strategies#constraints)";
|
|
2403
|
+
readonly properties: {
|
|
2404
|
+
readonly contextName: {
|
|
2405
|
+
readonly description: "The name of the context field that this constraint should apply to.";
|
|
2406
|
+
readonly example: "appName";
|
|
2407
|
+
readonly type: "string";
|
|
2408
|
+
};
|
|
2409
|
+
readonly operator: {
|
|
2410
|
+
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/reference/activation-strategies#constraint-operators).";
|
|
2411
|
+
readonly type: "string";
|
|
2412
|
+
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"];
|
|
2413
|
+
readonly example: "IN";
|
|
2414
|
+
};
|
|
2415
|
+
readonly caseInsensitive: {
|
|
2416
|
+
readonly description: "Whether the operator should be case sensitive or not. Defaults to `false` (being case sensitive).";
|
|
2417
|
+
readonly type: "boolean";
|
|
2418
|
+
readonly default: false;
|
|
2419
|
+
};
|
|
2420
|
+
readonly inverted: {
|
|
2421
|
+
readonly description: "Whether the result should be negated or not. If `true`, will turn a `true` result into a `false` result and vice versa.";
|
|
2422
|
+
readonly type: "boolean";
|
|
2423
|
+
readonly default: false;
|
|
2424
|
+
};
|
|
2425
|
+
readonly values: {
|
|
2426
|
+
readonly type: "array";
|
|
2427
|
+
readonly description: "The context values that should be used for constraint evaluation. Use this property instead of `value` for properties that accept multiple values.";
|
|
2428
|
+
readonly items: {
|
|
2429
|
+
readonly type: "string";
|
|
2430
|
+
};
|
|
2431
|
+
readonly example: readonly ["my-app", "my-other-app"];
|
|
2432
|
+
};
|
|
2433
|
+
readonly value: {
|
|
2434
|
+
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.";
|
|
2435
|
+
readonly type: "string";
|
|
2436
|
+
readonly example: "my-app";
|
|
2437
|
+
};
|
|
2438
|
+
};
|
|
2439
|
+
readonly components: {};
|
|
2440
|
+
readonly $id: "#/components/schemas/constraintSchema";
|
|
2441
|
+
readonly additionalProperties: false;
|
|
2442
|
+
};
|
|
2443
|
+
readonly parametersSchema: {
|
|
2444
|
+
readonly $id: "#/components/schemas/parametersSchema";
|
|
2445
|
+
readonly type: "object";
|
|
2446
|
+
readonly description: "A list of parameters for a strategy";
|
|
2447
|
+
readonly additionalProperties: {
|
|
2448
|
+
readonly type: "string";
|
|
2449
|
+
};
|
|
2450
|
+
readonly components: {};
|
|
2451
|
+
};
|
|
2452
|
+
readonly createStrategyVariantSchema: {
|
|
2453
|
+
readonly $id: "#/components/schemas/createStrategyVariantSchema";
|
|
2454
|
+
readonly type: "object";
|
|
2455
|
+
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.";
|
|
2456
|
+
readonly required: readonly ["name", "weight", "weightType", "stickiness"];
|
|
2457
|
+
readonly properties: {
|
|
2458
|
+
readonly name: {
|
|
2459
|
+
readonly type: "string";
|
|
2460
|
+
readonly description: "The variant name. Must be unique for this feature flag";
|
|
2461
|
+
readonly example: "blue_group";
|
|
2462
|
+
};
|
|
2463
|
+
readonly weight: {
|
|
2464
|
+
readonly type: "integer";
|
|
2465
|
+
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/reference/feature-toggle-variants#variant-weight) for more information";
|
|
2466
|
+
readonly minimum: 0;
|
|
2467
|
+
readonly maximum: 1000;
|
|
2468
|
+
};
|
|
2469
|
+
readonly weightType: {
|
|
2470
|
+
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/reference/feature-toggle-variants#variant-weight).";
|
|
2471
|
+
readonly type: "string";
|
|
2472
|
+
readonly example: "fix";
|
|
2473
|
+
readonly enum: readonly ["variable", "fix"];
|
|
2474
|
+
};
|
|
2475
|
+
readonly stickiness: {
|
|
2476
|
+
readonly type: "string";
|
|
2477
|
+
readonly description: "The [stickiness](https://docs.getunleash.io/reference/feature-toggle-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";
|
|
2478
|
+
readonly example: "custom.context.field";
|
|
2479
|
+
};
|
|
2480
|
+
readonly payload: {
|
|
2481
|
+
readonly type: "object";
|
|
2482
|
+
readonly required: readonly ["type", "value"];
|
|
2483
|
+
readonly description: "Extra data configured for this variant";
|
|
2484
|
+
readonly properties: {
|
|
2485
|
+
readonly type: {
|
|
2486
|
+
readonly description: "The type of the value. Commonly used types are string, number, json and csv.";
|
|
2487
|
+
readonly type: "string";
|
|
2488
|
+
readonly enum: readonly ["json", "csv", "string", "number"];
|
|
2489
|
+
};
|
|
2490
|
+
readonly value: {
|
|
2491
|
+
readonly description: "The actual value of payload";
|
|
2492
|
+
readonly type: "string";
|
|
2493
|
+
};
|
|
2494
|
+
};
|
|
2495
|
+
readonly example: {
|
|
2496
|
+
readonly type: "json";
|
|
2497
|
+
readonly value: "{\"color\": \"red\"}";
|
|
2498
|
+
};
|
|
2499
|
+
};
|
|
2500
|
+
};
|
|
2501
|
+
readonly components: {};
|
|
2502
|
+
};
|
|
2503
|
+
};
|
|
2504
|
+
};
|
|
2505
|
+
};
|
|
2506
|
+
readonly parametersSchema: {
|
|
2507
|
+
readonly $id: "#/components/schemas/parametersSchema";
|
|
2508
|
+
readonly type: "object";
|
|
2509
|
+
readonly description: "A list of parameters for a strategy";
|
|
2510
|
+
readonly additionalProperties: {
|
|
2511
|
+
readonly type: "string";
|
|
2512
|
+
};
|
|
2513
|
+
readonly components: {};
|
|
2514
|
+
};
|
|
2515
|
+
readonly constraintSchema: {
|
|
2516
|
+
readonly type: "object";
|
|
2517
|
+
readonly required: readonly ["contextName", "operator"];
|
|
2518
|
+
readonly description: "A strategy constraint. For more information, refer to [the strategy constraint reference documentation](https://docs.getunleash.io/reference/activation-strategies#constraints)";
|
|
2519
|
+
readonly properties: {
|
|
2520
|
+
readonly contextName: {
|
|
2521
|
+
readonly description: "The name of the context field that this constraint should apply to.";
|
|
2522
|
+
readonly example: "appName";
|
|
2523
|
+
readonly type: "string";
|
|
2524
|
+
};
|
|
2525
|
+
readonly operator: {
|
|
2526
|
+
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/reference/activation-strategies#constraint-operators).";
|
|
2527
|
+
readonly type: "string";
|
|
2528
|
+
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"];
|
|
2529
|
+
readonly example: "IN";
|
|
2530
|
+
};
|
|
2531
|
+
readonly caseInsensitive: {
|
|
2532
|
+
readonly description: "Whether the operator should be case sensitive or not. Defaults to `false` (being case sensitive).";
|
|
2533
|
+
readonly type: "boolean";
|
|
2534
|
+
readonly default: false;
|
|
2535
|
+
};
|
|
2536
|
+
readonly inverted: {
|
|
2537
|
+
readonly description: "Whether the result should be negated or not. If `true`, will turn a `true` result into a `false` result and vice versa.";
|
|
2538
|
+
readonly type: "boolean";
|
|
2539
|
+
readonly default: false;
|
|
2540
|
+
};
|
|
2541
|
+
readonly values: {
|
|
2542
|
+
readonly type: "array";
|
|
2543
|
+
readonly description: "The context values that should be used for constraint evaluation. Use this property instead of `value` for properties that accept multiple values.";
|
|
2544
|
+
readonly items: {
|
|
2545
|
+
readonly type: "string";
|
|
2546
|
+
};
|
|
2547
|
+
readonly example: readonly ["my-app", "my-other-app"];
|
|
2548
|
+
};
|
|
2549
|
+
readonly value: {
|
|
2550
|
+
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.";
|
|
2551
|
+
readonly type: "string";
|
|
2552
|
+
readonly example: "my-app";
|
|
2553
|
+
};
|
|
2554
|
+
};
|
|
2555
|
+
readonly components: {};
|
|
2556
|
+
readonly $id: "#/components/schemas/constraintSchema";
|
|
2557
|
+
readonly additionalProperties: false;
|
|
2558
|
+
};
|
|
2559
|
+
readonly createStrategyVariantSchema: {
|
|
2560
|
+
readonly $id: "#/components/schemas/createStrategyVariantSchema";
|
|
2561
|
+
readonly type: "object";
|
|
2562
|
+
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.";
|
|
2563
|
+
readonly required: readonly ["name", "weight", "weightType", "stickiness"];
|
|
2564
|
+
readonly properties: {
|
|
2565
|
+
readonly name: {
|
|
2566
|
+
readonly type: "string";
|
|
2567
|
+
readonly description: "The variant name. Must be unique for this feature flag";
|
|
2568
|
+
readonly example: "blue_group";
|
|
2569
|
+
};
|
|
2570
|
+
readonly weight: {
|
|
2571
|
+
readonly type: "integer";
|
|
2572
|
+
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/reference/feature-toggle-variants#variant-weight) for more information";
|
|
2573
|
+
readonly minimum: 0;
|
|
2574
|
+
readonly maximum: 1000;
|
|
2575
|
+
};
|
|
2576
|
+
readonly weightType: {
|
|
2577
|
+
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/reference/feature-toggle-variants#variant-weight).";
|
|
2578
|
+
readonly type: "string";
|
|
2579
|
+
readonly example: "fix";
|
|
2580
|
+
readonly enum: readonly ["variable", "fix"];
|
|
2581
|
+
};
|
|
2582
|
+
readonly stickiness: {
|
|
2583
|
+
readonly type: "string";
|
|
2584
|
+
readonly description: "The [stickiness](https://docs.getunleash.io/reference/feature-toggle-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";
|
|
2585
|
+
readonly example: "custom.context.field";
|
|
2586
|
+
};
|
|
2587
|
+
readonly payload: {
|
|
2588
|
+
readonly type: "object";
|
|
2589
|
+
readonly required: readonly ["type", "value"];
|
|
2590
|
+
readonly description: "Extra data configured for this variant";
|
|
2591
|
+
readonly properties: {
|
|
2592
|
+
readonly type: {
|
|
2593
|
+
readonly description: "The type of the value. Commonly used types are string, number, json and csv.";
|
|
2594
|
+
readonly type: "string";
|
|
2595
|
+
readonly enum: readonly ["json", "csv", "string", "number"];
|
|
2596
|
+
};
|
|
2597
|
+
readonly value: {
|
|
2598
|
+
readonly description: "The actual value of payload";
|
|
2599
|
+
readonly type: "string";
|
|
2600
|
+
};
|
|
2601
|
+
};
|
|
2602
|
+
readonly example: {
|
|
2603
|
+
readonly type: "json";
|
|
2604
|
+
readonly value: "{\"color\": \"red\"}";
|
|
2605
|
+
};
|
|
2606
|
+
};
|
|
2607
|
+
};
|
|
2608
|
+
readonly components: {};
|
|
2609
|
+
};
|
|
2610
|
+
readonly transitionConditionSchema: {
|
|
2611
|
+
readonly $id: "#/components/schemas/transitionConditionSchema";
|
|
2612
|
+
readonly type: "object";
|
|
2613
|
+
readonly additionalProperties: false;
|
|
2614
|
+
readonly required: readonly ["intervalMinutes"];
|
|
2615
|
+
readonly description: "A transition condition for milestone progression";
|
|
2616
|
+
readonly properties: {
|
|
2617
|
+
readonly intervalMinutes: {
|
|
2618
|
+
readonly type: "integer";
|
|
2619
|
+
readonly minimum: 1;
|
|
2620
|
+
readonly description: "The interval in minutes before transitioning";
|
|
2621
|
+
readonly example: 30;
|
|
2622
|
+
};
|
|
2623
|
+
};
|
|
2624
|
+
readonly components: {};
|
|
2625
|
+
};
|
|
2626
|
+
};
|
|
2627
|
+
};
|
|
2628
|
+
};
|
|
2629
|
+
readonly releasePlanMilestoneStrategySchema: {
|
|
2630
|
+
readonly $id: "#/components/schemas/releasePlanMilestoneStrategySchema";
|
|
2631
|
+
readonly additionalProperties: false;
|
|
2632
|
+
readonly description: "Schema representing the creation of a release plan milestone strategy.";
|
|
2633
|
+
readonly type: "object";
|
|
2634
|
+
readonly required: readonly ["id", "milestoneId", "sortOrder", "strategyName"];
|
|
2635
|
+
readonly properties: {
|
|
2636
|
+
readonly id: {
|
|
2637
|
+
readonly type: "string";
|
|
2638
|
+
readonly description: "The milestone strategy's ID. Milestone strategy IDs are ulids.";
|
|
2639
|
+
readonly example: "01JB9GGTGQYEQ9D40R17T3YVW3";
|
|
2640
|
+
readonly nullable: false;
|
|
2641
|
+
};
|
|
2642
|
+
readonly milestoneId: {
|
|
2643
|
+
readonly type: "string";
|
|
2644
|
+
readonly description: "The ID of the milestone that this strategy belongs to.";
|
|
2645
|
+
readonly example: "01JB9GGTGQYEQ9D40R17T3YVW1";
|
|
2646
|
+
};
|
|
2647
|
+
readonly sortOrder: {
|
|
2648
|
+
readonly type: "number";
|
|
2649
|
+
readonly description: "The order of the strategy in the list";
|
|
2650
|
+
readonly example: 9999;
|
|
2651
|
+
};
|
|
2652
|
+
readonly title: {
|
|
2653
|
+
readonly type: "string";
|
|
2654
|
+
readonly nullable: true;
|
|
2655
|
+
readonly description: "A descriptive title for the strategy";
|
|
2656
|
+
readonly example: "Gradual Rollout 25-Prod";
|
|
2657
|
+
};
|
|
2658
|
+
readonly strategyName: {
|
|
2659
|
+
readonly type: "string";
|
|
2660
|
+
readonly description: "The name of the strategy type";
|
|
2661
|
+
readonly example: "flexibleRollout";
|
|
2662
|
+
};
|
|
2663
|
+
readonly parameters: {
|
|
2664
|
+
readonly description: "An object containing the parameters for the strategy";
|
|
2665
|
+
readonly example: {
|
|
2666
|
+
readonly groupId: "some_new";
|
|
2667
|
+
readonly rollout: "25";
|
|
2668
|
+
readonly stickiness: "sessionId";
|
|
2669
|
+
};
|
|
2670
|
+
readonly $ref: "#/components/schemas/parametersSchema";
|
|
2671
|
+
};
|
|
2672
|
+
readonly constraints: {
|
|
2673
|
+
readonly type: "array";
|
|
2674
|
+
readonly description: "A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/activation-strategies#constraints";
|
|
2675
|
+
readonly example: readonly [{
|
|
2676
|
+
readonly values: readonly ["1", "2"];
|
|
2677
|
+
readonly inverted: false;
|
|
2678
|
+
readonly operator: "IN";
|
|
2679
|
+
readonly contextName: "appName";
|
|
2680
|
+
readonly caseInsensitive: false;
|
|
2681
|
+
}];
|
|
2682
|
+
readonly items: {
|
|
2683
|
+
readonly $ref: "#/components/schemas/constraintSchema";
|
|
2684
|
+
};
|
|
2685
|
+
};
|
|
2686
|
+
readonly variants: {
|
|
2687
|
+
readonly type: "array";
|
|
2688
|
+
readonly description: "Strategy level variants";
|
|
2689
|
+
readonly items: {
|
|
2690
|
+
readonly $ref: "#/components/schemas/createStrategyVariantSchema";
|
|
2691
|
+
};
|
|
2692
|
+
};
|
|
2693
|
+
readonly segments: {
|
|
2694
|
+
readonly type: "array";
|
|
2695
|
+
readonly description: "Ids of segments to use for this strategy";
|
|
2696
|
+
readonly example: readonly [1, 2];
|
|
2697
|
+
readonly items: {
|
|
2698
|
+
readonly type: "number";
|
|
2699
|
+
};
|
|
2700
|
+
};
|
|
2701
|
+
};
|
|
2702
|
+
readonly components: {
|
|
2703
|
+
readonly schemas: {
|
|
2704
|
+
readonly createFeatureStrategySchema: {
|
|
2705
|
+
readonly $id: "#/components/schemas/createFeatureStrategySchema";
|
|
2706
|
+
readonly type: "object";
|
|
2707
|
+
readonly required: readonly ["name"];
|
|
2708
|
+
readonly description: "Create a strategy configuration in a feature";
|
|
2709
|
+
readonly properties: {
|
|
2710
|
+
readonly name: {
|
|
2711
|
+
readonly type: "string";
|
|
2712
|
+
readonly description: "The name of the strategy type";
|
|
2713
|
+
readonly example: "flexibleRollout";
|
|
2714
|
+
};
|
|
2715
|
+
readonly title: {
|
|
2716
|
+
readonly type: "string";
|
|
2717
|
+
readonly nullable: true;
|
|
2718
|
+
readonly description: "A descriptive title for the strategy";
|
|
2719
|
+
readonly example: "Gradual Rollout 25-Prod";
|
|
2720
|
+
};
|
|
2721
|
+
readonly disabled: {
|
|
2722
|
+
readonly type: "boolean";
|
|
2723
|
+
readonly description: "A toggle to disable the strategy. defaults to false. Disabled strategies are not evaluated or returned to the SDKs";
|
|
2724
|
+
readonly example: false;
|
|
2725
|
+
readonly nullable: true;
|
|
2726
|
+
};
|
|
2727
|
+
readonly sortOrder: {
|
|
2728
|
+
readonly type: "number";
|
|
2729
|
+
readonly description: "The order of the strategy in the list";
|
|
2730
|
+
readonly example: 9999;
|
|
2731
|
+
};
|
|
2732
|
+
readonly constraints: {
|
|
2733
|
+
readonly type: "array";
|
|
2734
|
+
readonly description: "A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/activation-strategies#constraints";
|
|
2735
|
+
readonly example: readonly [{
|
|
2736
|
+
readonly values: readonly ["1", "2"];
|
|
2737
|
+
readonly inverted: false;
|
|
2738
|
+
readonly operator: "IN";
|
|
2739
|
+
readonly contextName: "appName";
|
|
2740
|
+
readonly caseInsensitive: false;
|
|
2741
|
+
}];
|
|
2742
|
+
readonly items: {
|
|
2743
|
+
readonly $ref: "#/components/schemas/constraintSchema";
|
|
2744
|
+
};
|
|
2745
|
+
};
|
|
2746
|
+
readonly variants: {
|
|
2747
|
+
readonly type: "array";
|
|
2748
|
+
readonly description: "Strategy level variants";
|
|
2749
|
+
readonly items: {
|
|
2750
|
+
readonly $ref: "#/components/schemas/createStrategyVariantSchema";
|
|
2751
|
+
};
|
|
2752
|
+
};
|
|
2753
|
+
readonly parameters: {
|
|
2754
|
+
readonly description: "An object containing the parameters for the strategy";
|
|
2755
|
+
readonly example: {
|
|
2756
|
+
readonly groupId: "some_new";
|
|
2757
|
+
readonly rollout: "25";
|
|
2758
|
+
readonly stickiness: "sessionId";
|
|
2759
|
+
};
|
|
2760
|
+
readonly $ref: "#/components/schemas/parametersSchema";
|
|
2761
|
+
};
|
|
2762
|
+
readonly segments: {
|
|
2763
|
+
readonly type: "array";
|
|
2764
|
+
readonly description: "Ids of segments to use for this strategy";
|
|
2765
|
+
readonly example: readonly [1, 2];
|
|
2766
|
+
readonly items: {
|
|
2767
|
+
readonly type: "number";
|
|
2768
|
+
};
|
|
2769
|
+
};
|
|
2770
|
+
};
|
|
2771
|
+
readonly components: {
|
|
2772
|
+
readonly schemas: {
|
|
2773
|
+
readonly constraintSchema: {
|
|
2774
|
+
readonly type: "object";
|
|
2775
|
+
readonly required: readonly ["contextName", "operator"];
|
|
2776
|
+
readonly description: "A strategy constraint. For more information, refer to [the strategy constraint reference documentation](https://docs.getunleash.io/reference/activation-strategies#constraints)";
|
|
2777
|
+
readonly properties: {
|
|
2778
|
+
readonly contextName: {
|
|
2779
|
+
readonly description: "The name of the context field that this constraint should apply to.";
|
|
2780
|
+
readonly example: "appName";
|
|
2781
|
+
readonly type: "string";
|
|
2782
|
+
};
|
|
2783
|
+
readonly operator: {
|
|
2784
|
+
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/reference/activation-strategies#constraint-operators).";
|
|
2785
|
+
readonly type: "string";
|
|
2786
|
+
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"];
|
|
2787
|
+
readonly example: "IN";
|
|
2788
|
+
};
|
|
2789
|
+
readonly caseInsensitive: {
|
|
2790
|
+
readonly description: "Whether the operator should be case sensitive or not. Defaults to `false` (being case sensitive).";
|
|
2791
|
+
readonly type: "boolean";
|
|
2792
|
+
readonly default: false;
|
|
2793
|
+
};
|
|
2794
|
+
readonly inverted: {
|
|
2795
|
+
readonly description: "Whether the result should be negated or not. If `true`, will turn a `true` result into a `false` result and vice versa.";
|
|
2796
|
+
readonly type: "boolean";
|
|
2797
|
+
readonly default: false;
|
|
2798
|
+
};
|
|
2799
|
+
readonly values: {
|
|
2800
|
+
readonly type: "array";
|
|
2801
|
+
readonly description: "The context values that should be used for constraint evaluation. Use this property instead of `value` for properties that accept multiple values.";
|
|
2802
|
+
readonly items: {
|
|
2803
|
+
readonly type: "string";
|
|
2804
|
+
};
|
|
2805
|
+
readonly example: readonly ["my-app", "my-other-app"];
|
|
2806
|
+
};
|
|
2807
|
+
readonly value: {
|
|
2808
|
+
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.";
|
|
2809
|
+
readonly type: "string";
|
|
2810
|
+
readonly example: "my-app";
|
|
2811
|
+
};
|
|
2812
|
+
};
|
|
2813
|
+
readonly components: {};
|
|
2814
|
+
readonly $id: "#/components/schemas/constraintSchema";
|
|
2815
|
+
readonly additionalProperties: false;
|
|
2816
|
+
};
|
|
2817
|
+
readonly parametersSchema: {
|
|
2818
|
+
readonly $id: "#/components/schemas/parametersSchema";
|
|
2819
|
+
readonly type: "object";
|
|
2820
|
+
readonly description: "A list of parameters for a strategy";
|
|
2821
|
+
readonly additionalProperties: {
|
|
2822
|
+
readonly type: "string";
|
|
2823
|
+
};
|
|
2824
|
+
readonly components: {};
|
|
2825
|
+
};
|
|
2826
|
+
readonly createStrategyVariantSchema: {
|
|
2827
|
+
readonly $id: "#/components/schemas/createStrategyVariantSchema";
|
|
2828
|
+
readonly type: "object";
|
|
2829
|
+
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.";
|
|
2830
|
+
readonly required: readonly ["name", "weight", "weightType", "stickiness"];
|
|
2831
|
+
readonly properties: {
|
|
2832
|
+
readonly name: {
|
|
2833
|
+
readonly type: "string";
|
|
2834
|
+
readonly description: "The variant name. Must be unique for this feature flag";
|
|
2835
|
+
readonly example: "blue_group";
|
|
2836
|
+
};
|
|
2837
|
+
readonly weight: {
|
|
2838
|
+
readonly type: "integer";
|
|
2839
|
+
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/reference/feature-toggle-variants#variant-weight) for more information";
|
|
2840
|
+
readonly minimum: 0;
|
|
2841
|
+
readonly maximum: 1000;
|
|
2842
|
+
};
|
|
2843
|
+
readonly weightType: {
|
|
2844
|
+
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/reference/feature-toggle-variants#variant-weight).";
|
|
2845
|
+
readonly type: "string";
|
|
2846
|
+
readonly example: "fix";
|
|
2847
|
+
readonly enum: readonly ["variable", "fix"];
|
|
2848
|
+
};
|
|
2849
|
+
readonly stickiness: {
|
|
2850
|
+
readonly type: "string";
|
|
2851
|
+
readonly description: "The [stickiness](https://docs.getunleash.io/reference/feature-toggle-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";
|
|
2852
|
+
readonly example: "custom.context.field";
|
|
2853
|
+
};
|
|
2854
|
+
readonly payload: {
|
|
2855
|
+
readonly type: "object";
|
|
2856
|
+
readonly required: readonly ["type", "value"];
|
|
2857
|
+
readonly description: "Extra data configured for this variant";
|
|
2858
|
+
readonly properties: {
|
|
2859
|
+
readonly type: {
|
|
2860
|
+
readonly description: "The type of the value. Commonly used types are string, number, json and csv.";
|
|
2861
|
+
readonly type: "string";
|
|
2862
|
+
readonly enum: readonly ["json", "csv", "string", "number"];
|
|
2863
|
+
};
|
|
2864
|
+
readonly value: {
|
|
2865
|
+
readonly description: "The actual value of payload";
|
|
2866
|
+
readonly type: "string";
|
|
2867
|
+
};
|
|
2868
|
+
};
|
|
2869
|
+
readonly example: {
|
|
2870
|
+
readonly type: "json";
|
|
2871
|
+
readonly value: "{\"color\": \"red\"}";
|
|
2872
|
+
};
|
|
2873
|
+
};
|
|
2874
|
+
};
|
|
2875
|
+
readonly components: {};
|
|
2876
|
+
};
|
|
2877
|
+
};
|
|
2878
|
+
};
|
|
2879
|
+
};
|
|
2880
|
+
readonly parametersSchema: {
|
|
2881
|
+
readonly $id: "#/components/schemas/parametersSchema";
|
|
2882
|
+
readonly type: "object";
|
|
2883
|
+
readonly description: "A list of parameters for a strategy";
|
|
2884
|
+
readonly additionalProperties: {
|
|
2885
|
+
readonly type: "string";
|
|
2886
|
+
};
|
|
2887
|
+
readonly components: {};
|
|
2888
|
+
};
|
|
2889
|
+
readonly constraintSchema: {
|
|
2890
|
+
readonly type: "object";
|
|
2891
|
+
readonly required: readonly ["contextName", "operator"];
|
|
2892
|
+
readonly description: "A strategy constraint. For more information, refer to [the strategy constraint reference documentation](https://docs.getunleash.io/reference/activation-strategies#constraints)";
|
|
2893
|
+
readonly properties: {
|
|
2894
|
+
readonly contextName: {
|
|
2895
|
+
readonly description: "The name of the context field that this constraint should apply to.";
|
|
2896
|
+
readonly example: "appName";
|
|
2897
|
+
readonly type: "string";
|
|
2898
|
+
};
|
|
2899
|
+
readonly operator: {
|
|
2900
|
+
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/reference/activation-strategies#constraint-operators).";
|
|
2901
|
+
readonly type: "string";
|
|
2902
|
+
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"];
|
|
2903
|
+
readonly example: "IN";
|
|
2904
|
+
};
|
|
2905
|
+
readonly caseInsensitive: {
|
|
2906
|
+
readonly description: "Whether the operator should be case sensitive or not. Defaults to `false` (being case sensitive).";
|
|
2907
|
+
readonly type: "boolean";
|
|
2908
|
+
readonly default: false;
|
|
2909
|
+
};
|
|
2910
|
+
readonly inverted: {
|
|
2911
|
+
readonly description: "Whether the result should be negated or not. If `true`, will turn a `true` result into a `false` result and vice versa.";
|
|
2912
|
+
readonly type: "boolean";
|
|
2913
|
+
readonly default: false;
|
|
2914
|
+
};
|
|
2915
|
+
readonly values: {
|
|
2916
|
+
readonly type: "array";
|
|
2917
|
+
readonly description: "The context values that should be used for constraint evaluation. Use this property instead of `value` for properties that accept multiple values.";
|
|
2918
|
+
readonly items: {
|
|
2919
|
+
readonly type: "string";
|
|
2920
|
+
};
|
|
2921
|
+
readonly example: readonly ["my-app", "my-other-app"];
|
|
2922
|
+
};
|
|
2923
|
+
readonly value: {
|
|
2924
|
+
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.";
|
|
2925
|
+
readonly type: "string";
|
|
2926
|
+
readonly example: "my-app";
|
|
2927
|
+
};
|
|
2928
|
+
};
|
|
2929
|
+
readonly components: {};
|
|
2930
|
+
readonly $id: "#/components/schemas/constraintSchema";
|
|
2931
|
+
readonly additionalProperties: false;
|
|
2932
|
+
};
|
|
2933
|
+
readonly createStrategyVariantSchema: {
|
|
2934
|
+
readonly $id: "#/components/schemas/createStrategyVariantSchema";
|
|
2935
|
+
readonly type: "object";
|
|
2936
|
+
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.";
|
|
2937
|
+
readonly required: readonly ["name", "weight", "weightType", "stickiness"];
|
|
2938
|
+
readonly properties: {
|
|
2939
|
+
readonly name: {
|
|
2940
|
+
readonly type: "string";
|
|
2941
|
+
readonly description: "The variant name. Must be unique for this feature flag";
|
|
2942
|
+
readonly example: "blue_group";
|
|
2943
|
+
};
|
|
2944
|
+
readonly weight: {
|
|
2945
|
+
readonly type: "integer";
|
|
2946
|
+
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/reference/feature-toggle-variants#variant-weight) for more information";
|
|
2947
|
+
readonly minimum: 0;
|
|
2948
|
+
readonly maximum: 1000;
|
|
2949
|
+
};
|
|
2950
|
+
readonly weightType: {
|
|
2951
|
+
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/reference/feature-toggle-variants#variant-weight).";
|
|
2952
|
+
readonly type: "string";
|
|
2953
|
+
readonly example: "fix";
|
|
2954
|
+
readonly enum: readonly ["variable", "fix"];
|
|
2955
|
+
};
|
|
2956
|
+
readonly stickiness: {
|
|
2957
|
+
readonly type: "string";
|
|
2958
|
+
readonly description: "The [stickiness](https://docs.getunleash.io/reference/feature-toggle-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";
|
|
2959
|
+
readonly example: "custom.context.field";
|
|
2960
|
+
};
|
|
2961
|
+
readonly payload: {
|
|
2962
|
+
readonly type: "object";
|
|
2963
|
+
readonly required: readonly ["type", "value"];
|
|
2964
|
+
readonly description: "Extra data configured for this variant";
|
|
2965
|
+
readonly properties: {
|
|
2966
|
+
readonly type: {
|
|
2967
|
+
readonly description: "The type of the value. Commonly used types are string, number, json and csv.";
|
|
2968
|
+
readonly type: "string";
|
|
2969
|
+
readonly enum: readonly ["json", "csv", "string", "number"];
|
|
2970
|
+
};
|
|
2971
|
+
readonly value: {
|
|
2972
|
+
readonly description: "The actual value of payload";
|
|
2973
|
+
readonly type: "string";
|
|
2974
|
+
};
|
|
2975
|
+
};
|
|
2976
|
+
readonly example: {
|
|
2977
|
+
readonly type: "json";
|
|
2978
|
+
readonly value: "{\"color\": \"red\"}";
|
|
2979
|
+
};
|
|
2980
|
+
};
|
|
2981
|
+
};
|
|
2982
|
+
readonly components: {};
|
|
2983
|
+
};
|
|
2984
|
+
};
|
|
2985
|
+
};
|
|
2986
|
+
};
|
|
2987
|
+
readonly createFeatureStrategySchema: {
|
|
2988
|
+
readonly $id: "#/components/schemas/createFeatureStrategySchema";
|
|
2989
|
+
readonly type: "object";
|
|
2990
|
+
readonly required: readonly ["name"];
|
|
2991
|
+
readonly description: "Create a strategy configuration in a feature";
|
|
2992
|
+
readonly properties: {
|
|
2993
|
+
readonly name: {
|
|
2994
|
+
readonly type: "string";
|
|
2995
|
+
readonly description: "The name of the strategy type";
|
|
2996
|
+
readonly example: "flexibleRollout";
|
|
2997
|
+
};
|
|
2998
|
+
readonly title: {
|
|
2999
|
+
readonly type: "string";
|
|
3000
|
+
readonly nullable: true;
|
|
3001
|
+
readonly description: "A descriptive title for the strategy";
|
|
3002
|
+
readonly example: "Gradual Rollout 25-Prod";
|
|
3003
|
+
};
|
|
3004
|
+
readonly disabled: {
|
|
3005
|
+
readonly type: "boolean";
|
|
3006
|
+
readonly description: "A toggle to disable the strategy. defaults to false. Disabled strategies are not evaluated or returned to the SDKs";
|
|
3007
|
+
readonly example: false;
|
|
3008
|
+
readonly nullable: true;
|
|
3009
|
+
};
|
|
3010
|
+
readonly sortOrder: {
|
|
3011
|
+
readonly type: "number";
|
|
3012
|
+
readonly description: "The order of the strategy in the list";
|
|
3013
|
+
readonly example: 9999;
|
|
3014
|
+
};
|
|
3015
|
+
readonly constraints: {
|
|
3016
|
+
readonly type: "array";
|
|
3017
|
+
readonly description: "A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/activation-strategies#constraints";
|
|
3018
|
+
readonly example: readonly [{
|
|
3019
|
+
readonly values: readonly ["1", "2"];
|
|
3020
|
+
readonly inverted: false;
|
|
3021
|
+
readonly operator: "IN";
|
|
3022
|
+
readonly contextName: "appName";
|
|
3023
|
+
readonly caseInsensitive: false;
|
|
3024
|
+
}];
|
|
3025
|
+
readonly items: {
|
|
3026
|
+
readonly $ref: "#/components/schemas/constraintSchema";
|
|
3027
|
+
};
|
|
3028
|
+
};
|
|
3029
|
+
readonly variants: {
|
|
3030
|
+
readonly type: "array";
|
|
3031
|
+
readonly description: "Strategy level variants";
|
|
3032
|
+
readonly items: {
|
|
3033
|
+
readonly $ref: "#/components/schemas/createStrategyVariantSchema";
|
|
3034
|
+
};
|
|
3035
|
+
};
|
|
3036
|
+
readonly parameters: {
|
|
3037
|
+
readonly description: "An object containing the parameters for the strategy";
|
|
3038
|
+
readonly example: {
|
|
3039
|
+
readonly groupId: "some_new";
|
|
3040
|
+
readonly rollout: "25";
|
|
3041
|
+
readonly stickiness: "sessionId";
|
|
3042
|
+
};
|
|
3043
|
+
readonly $ref: "#/components/schemas/parametersSchema";
|
|
3044
|
+
};
|
|
3045
|
+
readonly segments: {
|
|
3046
|
+
readonly type: "array";
|
|
3047
|
+
readonly description: "Ids of segments to use for this strategy";
|
|
3048
|
+
readonly example: readonly [1, 2];
|
|
3049
|
+
readonly items: {
|
|
3050
|
+
readonly type: "number";
|
|
3051
|
+
};
|
|
3052
|
+
};
|
|
3053
|
+
};
|
|
3054
|
+
readonly components: {
|
|
3055
|
+
readonly schemas: {
|
|
3056
|
+
readonly constraintSchema: {
|
|
3057
|
+
readonly type: "object";
|
|
3058
|
+
readonly required: readonly ["contextName", "operator"];
|
|
3059
|
+
readonly description: "A strategy constraint. For more information, refer to [the strategy constraint reference documentation](https://docs.getunleash.io/reference/activation-strategies#constraints)";
|
|
3060
|
+
readonly properties: {
|
|
3061
|
+
readonly contextName: {
|
|
3062
|
+
readonly description: "The name of the context field that this constraint should apply to.";
|
|
3063
|
+
readonly example: "appName";
|
|
3064
|
+
readonly type: "string";
|
|
3065
|
+
};
|
|
3066
|
+
readonly operator: {
|
|
3067
|
+
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/reference/activation-strategies#constraint-operators).";
|
|
3068
|
+
readonly type: "string";
|
|
3069
|
+
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"];
|
|
3070
|
+
readonly example: "IN";
|
|
3071
|
+
};
|
|
3072
|
+
readonly caseInsensitive: {
|
|
3073
|
+
readonly description: "Whether the operator should be case sensitive or not. Defaults to `false` (being case sensitive).";
|
|
3074
|
+
readonly type: "boolean";
|
|
3075
|
+
readonly default: false;
|
|
3076
|
+
};
|
|
3077
|
+
readonly inverted: {
|
|
3078
|
+
readonly description: "Whether the result should be negated or not. If `true`, will turn a `true` result into a `false` result and vice versa.";
|
|
3079
|
+
readonly type: "boolean";
|
|
3080
|
+
readonly default: false;
|
|
3081
|
+
};
|
|
3082
|
+
readonly values: {
|
|
3083
|
+
readonly type: "array";
|
|
3084
|
+
readonly description: "The context values that should be used for constraint evaluation. Use this property instead of `value` for properties that accept multiple values.";
|
|
3085
|
+
readonly items: {
|
|
3086
|
+
readonly type: "string";
|
|
3087
|
+
};
|
|
3088
|
+
readonly example: readonly ["my-app", "my-other-app"];
|
|
3089
|
+
};
|
|
3090
|
+
readonly value: {
|
|
3091
|
+
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.";
|
|
3092
|
+
readonly type: "string";
|
|
3093
|
+
readonly example: "my-app";
|
|
3094
|
+
};
|
|
3095
|
+
};
|
|
3096
|
+
readonly components: {};
|
|
3097
|
+
readonly $id: "#/components/schemas/constraintSchema";
|
|
3098
|
+
readonly additionalProperties: false;
|
|
3099
|
+
};
|
|
3100
|
+
readonly parametersSchema: {
|
|
3101
|
+
readonly $id: "#/components/schemas/parametersSchema";
|
|
3102
|
+
readonly type: "object";
|
|
3103
|
+
readonly description: "A list of parameters for a strategy";
|
|
3104
|
+
readonly additionalProperties: {
|
|
3105
|
+
readonly type: "string";
|
|
3106
|
+
};
|
|
3107
|
+
readonly components: {};
|
|
3108
|
+
};
|
|
3109
|
+
readonly createStrategyVariantSchema: {
|
|
3110
|
+
readonly $id: "#/components/schemas/createStrategyVariantSchema";
|
|
3111
|
+
readonly type: "object";
|
|
3112
|
+
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.";
|
|
3113
|
+
readonly required: readonly ["name", "weight", "weightType", "stickiness"];
|
|
3114
|
+
readonly properties: {
|
|
3115
|
+
readonly name: {
|
|
3116
|
+
readonly type: "string";
|
|
3117
|
+
readonly description: "The variant name. Must be unique for this feature flag";
|
|
3118
|
+
readonly example: "blue_group";
|
|
3119
|
+
};
|
|
3120
|
+
readonly weight: {
|
|
3121
|
+
readonly type: "integer";
|
|
3122
|
+
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/reference/feature-toggle-variants#variant-weight) for more information";
|
|
3123
|
+
readonly minimum: 0;
|
|
3124
|
+
readonly maximum: 1000;
|
|
3125
|
+
};
|
|
3126
|
+
readonly weightType: {
|
|
3127
|
+
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/reference/feature-toggle-variants#variant-weight).";
|
|
3128
|
+
readonly type: "string";
|
|
3129
|
+
readonly example: "fix";
|
|
3130
|
+
readonly enum: readonly ["variable", "fix"];
|
|
3131
|
+
};
|
|
3132
|
+
readonly stickiness: {
|
|
3133
|
+
readonly type: "string";
|
|
3134
|
+
readonly description: "The [stickiness](https://docs.getunleash.io/reference/feature-toggle-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";
|
|
3135
|
+
readonly example: "custom.context.field";
|
|
3136
|
+
};
|
|
3137
|
+
readonly payload: {
|
|
3138
|
+
readonly type: "object";
|
|
3139
|
+
readonly required: readonly ["type", "value"];
|
|
3140
|
+
readonly description: "Extra data configured for this variant";
|
|
3141
|
+
readonly properties: {
|
|
3142
|
+
readonly type: {
|
|
3143
|
+
readonly description: "The type of the value. Commonly used types are string, number, json and csv.";
|
|
3144
|
+
readonly type: "string";
|
|
3145
|
+
readonly enum: readonly ["json", "csv", "string", "number"];
|
|
3146
|
+
};
|
|
3147
|
+
readonly value: {
|
|
3148
|
+
readonly description: "The actual value of payload";
|
|
3149
|
+
readonly type: "string";
|
|
3150
|
+
};
|
|
3151
|
+
};
|
|
3152
|
+
readonly example: {
|
|
3153
|
+
readonly type: "json";
|
|
3154
|
+
readonly value: "{\"color\": \"red\"}";
|
|
3155
|
+
};
|
|
3156
|
+
};
|
|
3157
|
+
};
|
|
3158
|
+
readonly components: {};
|
|
3159
|
+
};
|
|
3160
|
+
};
|
|
3161
|
+
};
|
|
3162
|
+
};
|
|
3163
|
+
readonly createStrategyVariantSchema: {
|
|
3164
|
+
readonly $id: "#/components/schemas/createStrategyVariantSchema";
|
|
3165
|
+
readonly type: "object";
|
|
3166
|
+
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.";
|
|
3167
|
+
readonly required: readonly ["name", "weight", "weightType", "stickiness"];
|
|
3168
|
+
readonly properties: {
|
|
3169
|
+
readonly name: {
|
|
3170
|
+
readonly type: "string";
|
|
3171
|
+
readonly description: "The variant name. Must be unique for this feature flag";
|
|
3172
|
+
readonly example: "blue_group";
|
|
3173
|
+
};
|
|
3174
|
+
readonly weight: {
|
|
3175
|
+
readonly type: "integer";
|
|
3176
|
+
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/reference/feature-toggle-variants#variant-weight) for more information";
|
|
3177
|
+
readonly minimum: 0;
|
|
3178
|
+
readonly maximum: 1000;
|
|
3179
|
+
};
|
|
3180
|
+
readonly weightType: {
|
|
3181
|
+
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/reference/feature-toggle-variants#variant-weight).";
|
|
3182
|
+
readonly type: "string";
|
|
3183
|
+
readonly example: "fix";
|
|
3184
|
+
readonly enum: readonly ["variable", "fix"];
|
|
3185
|
+
};
|
|
3186
|
+
readonly stickiness: {
|
|
3187
|
+
readonly type: "string";
|
|
3188
|
+
readonly description: "The [stickiness](https://docs.getunleash.io/reference/feature-toggle-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";
|
|
3189
|
+
readonly example: "custom.context.field";
|
|
3190
|
+
};
|
|
3191
|
+
readonly payload: {
|
|
3192
|
+
readonly type: "object";
|
|
3193
|
+
readonly required: readonly ["type", "value"];
|
|
3194
|
+
readonly description: "Extra data configured for this variant";
|
|
3195
|
+
readonly properties: {
|
|
3196
|
+
readonly type: {
|
|
3197
|
+
readonly description: "The type of the value. Commonly used types are string, number, json and csv.";
|
|
3198
|
+
readonly type: "string";
|
|
3199
|
+
readonly enum: readonly ["json", "csv", "string", "number"];
|
|
3200
|
+
};
|
|
3201
|
+
readonly value: {
|
|
3202
|
+
readonly description: "The actual value of payload";
|
|
3203
|
+
readonly type: "string";
|
|
3204
|
+
};
|
|
3205
|
+
};
|
|
3206
|
+
readonly example: {
|
|
3207
|
+
readonly type: "json";
|
|
3208
|
+
readonly value: "{\"color\": \"red\"}";
|
|
3209
|
+
};
|
|
3210
|
+
};
|
|
3211
|
+
};
|
|
3212
|
+
readonly components: {};
|
|
3213
|
+
};
|
|
3214
|
+
readonly transitionConditionSchema: {
|
|
3215
|
+
readonly $id: "#/components/schemas/transitionConditionSchema";
|
|
3216
|
+
readonly type: "object";
|
|
3217
|
+
readonly additionalProperties: false;
|
|
3218
|
+
readonly required: readonly ["intervalMinutes"];
|
|
3219
|
+
readonly description: "A transition condition for milestone progression";
|
|
3220
|
+
readonly properties: {
|
|
3221
|
+
readonly intervalMinutes: {
|
|
3222
|
+
readonly type: "integer";
|
|
3223
|
+
readonly minimum: 1;
|
|
3224
|
+
readonly description: "The interval in minutes before transitioning";
|
|
3225
|
+
readonly example: 30;
|
|
3226
|
+
};
|
|
3227
|
+
};
|
|
3228
|
+
readonly components: {};
|
|
3229
|
+
};
|
|
463
3230
|
};
|
|
464
3231
|
};
|
|
465
3232
|
};
|