@openhi/constructs 0.0.132 → 0.0.134

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/lib/index.d.mts CHANGED
@@ -20,7 +20,7 @@ import * as ec2 from 'aws-cdk-lib/aws-ec2';
20
20
  import * as rds from 'aws-cdk-lib/aws-rds';
21
21
  import { HostedZone, HostedZoneProps, IHostedZone, ARecord, HostedZoneAttributes } from 'aws-cdk-lib/aws-route53';
22
22
  import { StringParameterProps, StringParameter } from 'aws-cdk-lib/aws-ssm';
23
- import { Distribution, DistributionProps, CachePolicyProps, BehaviorOptions } from 'aws-cdk-lib/aws-cloudfront';
23
+ import { Distribution, Function as Function$1, DistributionProps, CachePolicyProps, BehaviorOptions } from 'aws-cdk-lib/aws-cloudfront';
24
24
  import { HostingMode } from './static-hosting.viewer-request-handler.mjs';
25
25
  export { C as CascadeChunkInput, a as CascadeFinalizeInput, b as CascadeFinalizeOutput, c as CascadeListInput, d as CascadeListOutput, O as OWNING_DELETE_CASCADE_CONSUMER_NAME, e as OWNING_DELETE_CASCADE_DEFAULT_CONCURRENCY, f as OWNING_DELETE_CASCADE_STUCK_THRESHOLD_MINUTES, g as OWNING_DELETE_OPS_EVENT_BUS_ENV_VAR } from './events-CjS-sm0W.mjs';
26
26
  import { StateMachine } from 'aws-cdk-lib/aws-stepfunctions';
@@ -412,7 +412,11 @@ declare abstract class OpenHiService extends Stack {
412
412
  */
413
413
  constructor(ohEnv: OpenHiEnvironment, id: string, props?: OpenHiServiceProps);
414
414
  /**
415
- * DNS prefix for this branche's child zone.
415
+ * DNS prefix for this branche's child zone. Capped at 56 chars so
416
+ * that a `<service>-<prefix>` hostname segment stays under the 63-byte
417
+ * DNS label limit even for the longest current prefix (`admin-`, 6
418
+ * bytes; the matching API uses `api-`, 4 bytes). 56 leaves 1 byte of
419
+ * headroom on the longer side.
416
420
  */
417
421
  get childZonePrefix(): string;
418
422
  }
@@ -1029,7 +1033,7 @@ declare class DiscoverableStringParameter extends StringParameter {
1029
1033
  interface PerBranchHostnameProps {
1030
1034
  /**
1031
1035
  * Fully-qualified hostname to alias to the release-branch distribution
1032
- * (e.g. `admin-pr-123.dev.openhi.org`). Used as the ARecord's
1036
+ * (e.g. `admin-feat-1093-patient-migration.dev.openhi.org`). Used as the ARecord's
1033
1037
  * `recordName`.
1034
1038
  */
1035
1039
  readonly hostname: string;
@@ -1050,7 +1054,7 @@ interface PerBranchHostnameProps {
1050
1054
  }
1051
1055
  /**
1052
1056
  * Creates a single Route53 `ARecord` that aliases a per-PR hostname (e.g.
1053
- * `admin-pr-123.dev.openhi.org`) to the release-branch CloudFront
1057
+ * `admin-feat-1093-patient-migration.dev.openhi.org`) to the release-branch CloudFront
1054
1058
  * distribution. The distribution domain and ID are resolved from SSM
1055
1059
  * parameters published by {@link StaticHosting}, addressed against the
1056
1060
  * containing service's {@link OpenHiService.releaseBranchHash} so a
@@ -1143,13 +1147,18 @@ declare class StaticContent extends Construct {
1143
1147
  */
1144
1148
  declare const STATIC_HOSTING_SERVICE_TYPE = "website";
1145
1149
  /**
1146
- * Shared prefix for every per-PR preview hostname / S3 key
1147
- * (`admin-pr-<N>.<zone>`). Consumed by both the `StaticHosting`
1148
- * lifecycle rule (`prefixPattern`) and the per-PR deployment construct
1149
- * (`computeSubDomain` in `OpenHiWebsiteService`) so the two sides
1150
- * cannot drift a unit test asserts they reference the same constant.
1150
+ * Shared prefix for every per-PR preview hostname / S3 key. Per-PR
1151
+ * uploads land under `admin-<branch-prefix>.<zone>/...` and the
1152
+ * lifecycle rule below expires every object whose key starts with
1153
+ * `admin-`. Release-branch content lands under `admin.<zone>/...`
1154
+ * (note byte 5 is `.`, not `-`); S3 prefix matching is byte-exact from
1155
+ * byte 0, so `admin-` and `admin.` are disjoint — the rule never
1156
+ * matches release content. The constant is locked to the admin-console
1157
+ * domain prefix because no other website service currently consumes
1158
+ * per-PR previews; parameterize on `domainPrefix` when a second
1159
+ * consumer appears.
1151
1160
  */
1152
- declare const PER_BRANCH_PREVIEW_PREFIX = "admin-pr-";
1161
+ declare const PER_BRANCH_PREVIEW_PREFIX = "admin-";
1153
1162
  /**
1154
1163
  * Default TTL applied to objects matching the `prefixPattern` lifecycle
1155
1164
  * rule when `enablePreviewLifecycle` is `true` and `previewExpiration`
@@ -1222,21 +1231,40 @@ interface StaticHostingProps {
1222
1231
  */
1223
1232
  readonly description?: string;
1224
1233
  /**
1225
- * When supplied, the distribution proxies `/api/*` to the supplied REST
1226
- * API custom domain (e.g. `api.example.com`). Two CloudFront behaviors
1227
- * are added:
1234
+ * When supplied, the distribution proxies API traffic to the supplied
1235
+ * REST API custom domain (e.g. `api.example.com`). Three CloudFront
1236
+ * behaviors are added — `/config.json`, `/api/control/runtime-config`,
1237
+ * and `/api/*` — and each is wired with two edge stages so per-PR
1238
+ * websites reach their own per-PR API gateway:
1228
1239
  *
1229
- * - `/api/control/runtime-config` cached for `runtimeConfigCacheTtl`
1230
- * (default 5min) with the `v` query-string parameter in the cache key,
1231
- * so the admin-console's bundle-hash-driven cache buster reaches a hot
1232
- * CDN cache on every deploy without manual invalidation.
1233
- * - `/api/*` — `CachePolicy.CACHING_DISABLED`, all methods allowed,
1234
- * `OriginRequestPolicy.ALL_VIEWER_EXCEPT_HOST_HEADER` so CloudFront
1235
- * sets the Host header to the origin's custom domain (required for
1236
- * API Gateway's custom-domain mapping).
1240
+ * 1. **Viewer-request CloudFront Function** copies the viewer `Host`
1241
+ * header into `x-viewer-host` before CloudFront strips `Host` per
1242
+ * `ALL_VIEWER_EXCEPT_HOST_HEADER`. The `/config.json` function
1243
+ * additionally rewrites the URI to the configured
1244
+ * `runtimeConfigPath` (defaults to `/control/runtime-config`).
1245
+ * 2. **Origin-request Lambda@Edge** reads `x-viewer-host`, computes
1246
+ * the matching API host by swapping `hostMapping.viewerPrefix` for
1247
+ * `hostMapping.apiPrefix` at the start of the host, and overrides
1248
+ * both `request.origin.custom.domainName` and the upstream `Host`
1249
+ * header so the upstream's custom-domain mapping resolves to the
1250
+ * correct per-PR stack.
1237
1251
  *
1238
- * Neither behavior is wired through the viewer-request edge Lambda —
1239
- * SPA path rewriting only applies to the default S3 origin.
1252
+ * `runtimeConfigPath` and `hostMapping` default to the OpenHI
1253
+ * admin-console / REST API values; downstream consumers (e.g. a
1254
+ * marketing site with its own bootstrap path and origin pair) can
1255
+ * override them per-site without touching the construct.
1256
+ *
1257
+ * Behavior cache keys:
1258
+ * - `/config.json` and `/api/control/runtime-config` share a cache
1259
+ * policy whose cache key includes the `v` query string AND the
1260
+ * `Host` header. The `Host` partition prevents PR-A's runtime
1261
+ * config from being served from PR-B's cache slot.
1262
+ * - `/api/*` uses `CachePolicy.CACHING_DISABLED`, so no cache-key
1263
+ * partitioning is needed.
1264
+ *
1265
+ * None of these behaviors are wired through the default-behavior
1266
+ * viewer-request edge Lambda — SPA path rewriting only applies to
1267
+ * the default S3 origin.
1240
1268
  *
1241
1269
  * @default - no REST API proxy; the distribution serves S3 only
1242
1270
  */
@@ -1254,6 +1282,33 @@ interface StaticHostingProps {
1254
1282
  readonly defaultTtl?: Duration;
1255
1283
  readonly maxTtl?: Duration;
1256
1284
  };
1285
+ /**
1286
+ * Path the viewer-request CloudFront Function rewrites `/config.json`
1287
+ * to on the REST API origin. Override when a downstream consumer
1288
+ * bootstraps its SPA from a different endpoint.
1289
+ *
1290
+ * @default "/control/runtime-config" — the OpenHI admin-console
1291
+ * runtime-config endpoint.
1292
+ */
1293
+ readonly runtimeConfigPath?: string;
1294
+ /**
1295
+ * Host-prefix substitution applied by the origin-request Lambda@Edge.
1296
+ * `viewerPrefix` is matched at the start of the viewer's `Host`
1297
+ * header; when it matches, the upstream `Host` (and the custom
1298
+ * origin's `domainName`) becomes `apiPrefix + viewerHost.slice(viewerPrefix.length)`.
1299
+ *
1300
+ * The prefixes are baked into the Lambda@Edge bundle via esbuild
1301
+ * `define` at synth time (Lambda@Edge forbids runtime env vars), so
1302
+ * a change requires re-deploying the website stack.
1303
+ *
1304
+ * @default `{ viewerPrefix: "admin", apiPrefix: "api" }` — maps
1305
+ * `admin[-<branch>].<zone>` -> `api[-<branch>].<zone>` for the
1306
+ * OpenHI admin-console / REST API pair.
1307
+ */
1308
+ readonly hostMapping?: {
1309
+ readonly viewerPrefix: string;
1310
+ readonly apiPrefix: string;
1311
+ };
1257
1312
  };
1258
1313
  /**
1259
1314
  * S3 key prefix that the per-PR preview lifecycle rule matches. Must
@@ -1316,13 +1371,47 @@ declare class StaticHosting extends Construct {
1316
1371
  readonly bucket: IBucket;
1317
1372
  readonly distribution: Distribution;
1318
1373
  readonly viewerRequestHandler: NodejsFunction;
1374
+ /**
1375
+ * Viewer-request CloudFront Function attached to the `/config.json`
1376
+ * behavior. Rewrites the URI to `/control/runtime-config` and copies
1377
+ * the viewer `Host` header into `x-viewer-host` so the origin-request
1378
+ * Lambda@Edge can pick the matching per-PR API origin. Only present
1379
+ * when the `restApi` prop is supplied.
1380
+ */
1381
+ readonly configJsonRewriteFunction?: Function$1;
1382
+ /**
1383
+ * Viewer-request CloudFront Function attached to the `/api/*`
1384
+ * behavior. Copies the viewer `Host` header into `x-viewer-host` so
1385
+ * the origin-request Lambda@Edge can route to the matching per-PR
1386
+ * API origin (the `ALL_VIEWER_EXCEPT_HOST_HEADER` origin-request
1387
+ * policy strips the literal `Host` header). Only present when the
1388
+ * `restApi` prop is supplied.
1389
+ */
1390
+ readonly hostCopyFunction?: Function$1;
1391
+ /**
1392
+ * Origin-request Lambda@Edge attached to the `/config.json`,
1393
+ * `/api/control/runtime-config`, and `/api/*` behaviors. Reads
1394
+ * `x-viewer-host` and overrides the upstream origin's `domainName`
1395
+ * (and the `Host` header) to the matching per-PR API host so PR-A's
1396
+ * website calls PR-A's API. Only present when the `restApi` prop is
1397
+ * supplied.
1398
+ */
1399
+ readonly originRequestHandler?: NodejsFunction;
1319
1400
  constructor(scope: Construct, id: string, props: StaticHostingProps);
1320
1401
  /**
1321
- * Builds the `/api/*` and `/api/control/runtime-config` behaviors backed
1322
- * by the REST API custom-domain origin. Returns `undefined` when no
1323
- * `restApi` prop is supplied so the Distribution stays S3-only.
1402
+ * Builds the `/config.json`, `/api/*`, and `/api/control/runtime-config`
1403
+ * behaviors backed by the REST API custom-domain origin, plus the
1404
+ * viewer-request CloudFront Functions and the origin-request
1405
+ * Lambda@Edge that route each request to the matching per-PR API
1406
+ * origin. Returns `undefined` when no `restApi` prop is supplied so
1407
+ * the Distribution stays S3-only.
1324
1408
  */
1325
- protected buildRestApiBehaviors(branchHash: string, restApi: StaticHostingProps["restApi"]): Record<string, BehaviorOptions> | undefined;
1409
+ protected buildRestApiBehaviors(branchHash: string, restApi: StaticHostingProps["restApi"]): {
1410
+ behaviors: Record<string, BehaviorOptions>;
1411
+ configJsonRewriteFunction: Function$1;
1412
+ hostCopyFunction: Function$1;
1413
+ originRequestHandler: NodejsFunction;
1414
+ } | undefined;
1326
1415
  }
1327
1416
 
1328
1417
  interface ProvisionDefaultWorkspaceLambdaProps {
@@ -2173,12 +2262,6 @@ declare class OpenHiGraphqlService extends OpenHiService {
2173
2262
  protected createRootGraphqlApi(): RootGraphqlApi;
2174
2263
  }
2175
2264
 
2176
- /**
2177
- * Environment variable that supplies the PR number on non-release website
2178
- * deploys. Sibling of `GIT_BRANCH_NAME` used by `OpenHiService`. CI sets
2179
- * this from `github.event.pull_request.number`.
2180
- */
2181
- declare const OPENHI_PR_NUMBER_ENV_VAR = "OPENHI_PR_NUMBER";
2182
2265
  /**
2183
2266
  * @see sites/www-docs/content/packages/@openhi/constructs/services/open-hi-website-service.md
2184
2267
  */
@@ -2245,18 +2328,6 @@ interface OpenHiWebsiteServiceProps extends OpenHiServiceProps {
2245
2328
  * @default false
2246
2329
  */
2247
2330
  readonly restApi?: boolean;
2248
- /**
2249
- * Pull-request number used to compute the per-PR preview hostname
2250
- * (`\<domainPrefix\>-pr-\<N\>.\<zone\>`). Falls back to the
2251
- * `OPENHI_PR_NUMBER` env var when omitted — CI workflows set the env
2252
- * var from `github.event.pull_request.number`.
2253
- *
2254
- * Required on non-release-branch deploys; ignored on release-branch
2255
- * deploys where the hostname is `\<domainPrefix\>.\<zone\>`.
2256
- *
2257
- * @default - parsed from `OPENHI_PR_NUMBER` env var when set
2258
- */
2259
- readonly prNumber?: number;
2260
2331
  }
2261
2332
  /**
2262
2333
  * SSM parameter name suffix for the website's full domain
@@ -2309,7 +2380,9 @@ declare class OpenHiWebsiteService extends OpenHiService {
2309
2380
  * Full domain served by this website. On the release branch this is
2310
2381
  * `<domainPrefix>.<zone>` (e.g. `admin.dev.openhi.org`); on every
2311
2382
  * other branch it is the per-PR preview hostname
2312
- * `<domainPrefix>-pr-<N>.<zone>` (e.g. `admin-pr-123.dev.openhi.org`).
2383
+ * `<domainPrefix>-<childZonePrefix>.<zone>`
2384
+ * (e.g. `admin-feat-1093-patient-migration.dev.openhi.org`), where
2385
+ * `childZonePrefix` is `paramCase(branchName)` truncated to 56 chars.
2313
2386
  */
2314
2387
  readonly fullDomain: string;
2315
2388
  /**
@@ -2328,17 +2401,11 @@ declare class OpenHiWebsiteService extends OpenHiService {
2328
2401
  /**
2329
2402
  * Per-PR alias record. Created on non-release-branch deploys (when
2330
2403
  * `createHostingInfrastructure` is left at its default) so the PR
2331
- * hostname `<domainPrefix>-pr-<N>.<zone>` resolves to the
2404
+ * hostname `<domainPrefix>-<childZonePrefix>.<zone>` resolves to the
2332
2405
  * release-branch CloudFront distribution. `undefined` on release-branch
2333
2406
  * deploys and on bootstrap deploys that force hosting infra on.
2334
2407
  */
2335
2408
  readonly perBranchHostname?: PerBranchHostname;
2336
- /**
2337
- * Pull-request number resolved from props or `OPENHI_PR_NUMBER`.
2338
- * `undefined` on release-branch deploys (where the hostname is
2339
- * `<domainPrefix>.<zone>` and no PR number is needed).
2340
- */
2341
- readonly prNumber?: number;
2342
2409
  constructor(ohEnv: OpenHiEnvironment, props: OpenHiWebsiteServiceProps);
2343
2410
  /**
2344
2411
  * Validates that config required for the website stack is present.
@@ -2358,17 +2425,12 @@ declare class OpenHiWebsiteService extends OpenHiService {
2358
2425
  */
2359
2426
  protected createCertificate(): ICertificate;
2360
2427
  /**
2361
- * Resolves the PR number from props or the `OPENHI_PR_NUMBER` env var.
2362
- * Returns `undefined` on release-branch deploys where no PR number is
2363
- * needed.
2364
- */
2365
- protected resolvePrNumber(props: OpenHiWebsiteServiceProps): number | undefined;
2366
- /**
2367
- * Computes the full website domain from `domainPrefix`, the PR number,
2368
- * and the child zone name. Release-branch deploys serve at
2369
- * `\<domainPrefix\>.\<zone\>` (e.g. `admin.dev.openhi.org`); every other
2370
- * deploy serves a per-PR preview at `\<domainPrefix\>-pr-\<N\>.\<zone\>`
2371
- * (e.g. `admin-pr-123.dev.openhi.org`).
2428
+ * Computes the full website domain from `domainPrefix`,
2429
+ * `childZonePrefix`, and the child zone name. Release-branch deploys
2430
+ * serve at `\<domainPrefix\>.\<zone\>` (e.g. `admin.dev.openhi.org`);
2431
+ * every other deploy serves a per-PR preview at
2432
+ * `\<domainPrefix\>-\<childZonePrefix\>.\<zone\>`
2433
+ * (e.g. `admin-feat-1093-patient-migration.dev.openhi.org`).
2372
2434
  */
2373
2435
  protected computeFullDomain(hostedZone: IHostedZone): string;
2374
2436
  /**
@@ -2377,8 +2439,11 @@ declare class OpenHiWebsiteService extends OpenHiService {
2377
2439
  * key prefix passed to {@link StaticContent} so the upload prefix
2378
2440
  * always matches the served hostname.
2379
2441
  *
2380
- * Non-release deploys compose the per-PR slug from
2381
- * {@link PER_BRANCH_PREVIEW_PREFIX} so the per-PR S3 key prefix
2442
+ * Non-release deploys compose the per-PR slug as
2443
+ * `\<domainPrefix\>-\<childZonePrefix\>`, mirroring the REST API's
2444
+ * `api-\<childZonePrefix\>` convention. When `domainPrefix` is `admin`
2445
+ * (the only consumer today), the resulting sub-domain starts with
2446
+ * {@link PER_BRANCH_PREVIEW_PREFIX}, so the per-PR S3 key prefix
2382
2447
  * matches what `StaticHosting`'s lifecycle rule expires.
2383
2448
  */
2384
2449
  protected computeSubDomain(): string;
@@ -2422,15 +2487,17 @@ declare class OpenHiWebsiteService extends OpenHiService {
2422
2487
  * The S3 key prefix is `\<sub-domain\>.\<zone\>/\<contentDest\>` so the
2423
2488
  * upload location matches the Host-header-derived folder the Lambda@Edge
2424
2489
  * viewer-request handler prepends. Passing the zone name (rather than
2425
- * `this.fullDomain`) for the `fullDomain` prop keeps the prefix flat
2426
- * `admin-pr-123.dev.openhi.org/`, not `admin-pr-123.admin.dev.openhi.org/`.
2490
+ * `this.fullDomain`) for the `fullDomain` prop keeps the prefix flat
2491
+ * `admin-feat-foo.dev.openhi.org/`, not
2492
+ * `admin-feat-foo.admin.dev.openhi.org/`.
2427
2493
  */
2428
2494
  protected createStaticContent(bucket: IBucket): StaticContent;
2429
2495
  /**
2430
2496
  * Creates the per-PR `PerBranchHostname` alias record on non-release
2431
- * branch deploys. The record points `\<domainPrefix\>-pr-\<N\>.\<zone\>`
2432
- * at the release-branch CloudFront distribution (resolved from SSM
2433
- * against {@link OpenHiService.releaseBranchHash}).
2497
+ * branch deploys. The record points
2498
+ * `\<domainPrefix\>-\<childZonePrefix\>.\<zone\>` at the release-branch
2499
+ * CloudFront distribution (resolved from SSM against
2500
+ * {@link OpenHiService.releaseBranchHash}).
2434
2501
  */
2435
2502
  protected createPerBranchHostname(hostedZone: IHostedZone): PerBranchHostname;
2436
2503
  /**
@@ -2627,4 +2694,4 @@ declare class RenameCascadeWorkflow extends Construct {
2627
2694
  constructor(scope: Construct, props: RenameCascadeWorkflowProps);
2628
2695
  }
2629
2696
 
2630
- export { type BuildParameterNameProps, ChildHostedZone, type ChildHostedZoneProps, CognitoUserPool, CognitoUserPoolClient, CognitoUserPoolDomain, CognitoUserPoolKmsKey, type ComputeBranchHashOptions, ControlEventBus, DATA_STORE_CHANGE_DETAIL_MAX_UTF8_BYTES, DATA_STORE_CHANGE_DETAIL_TYPE, DATA_STORE_CHANGE_EVENT_SOURCE, DEFAULT_PREVIEW_EXPIRATION_DAYS, DEMO_DATA_PLANE_FIXTURES, DataEventBus, type DataEventBusOptions, DataStoreHistoricalArchive, type DataStoreHistoricalArchiveProps, DataStorePostgresReplica, type DataStorePostgresReplicaProps, type DemoWorkspaceDataPlaneFixtures, DiscoverableStringParameter, type DiscoverableStringParameterProps, DynamoDbDataStore, type DynamoDbDataStoreProps, type FhirCurrentResourceChangeDetail, type GrantConsumerOptions, HostingMode, OPENHI_PR_NUMBER_ENV_VAR, OPENHI_TAG_SUFFIX_BRANCH_NAME, OPENHI_TAG_SUFFIX_REPO_NAME, OPENHI_TAG_SUFFIX_SERVICE_TYPE, OPENHI_TAG_SUFFIX_STAGE_TYPE, OpenHiApp, type OpenHiAppProps, OpenHiAuthService, type OpenHiAuthServiceProps, OpenHiDataService, type OpenHiDataServiceProps, OpenHiEnvironment, type OpenHiEnvironmentProps, OpenHiGlobalService, type OpenHiGlobalServiceProps, OpenHiGraphqlService, type OpenHiGraphqlServiceProps, type OpenHiRestApiRuntimeConfig, OpenHiRestApiService, type OpenHiRestApiServiceProps, OpenHiService, type OpenHiServiceProps, type OpenHiServiceType, OpenHiStage, type OpenHiStageProps, OpenHiWebsiteService, type OpenHiWebsiteServiceProps, OpsEventBus, OwningDeleteCascadeLambdas, type OwningDeleteCascadeLambdasProps, OwningDeleteCascadeWorkflow, type OwningDeleteCascadeWorkflowProps, PER_BRANCH_PREVIEW_PREFIX, POSTGRES_REPLICA_CLUSTER_ARN_SSM_NAME, POSTGRES_REPLICA_DATABASE_NAME_SSM_NAME, POSTGRES_REPLICA_SECRET_ARN_SSM_NAME, PerBranchHostname, type PerBranchHostnameProps, PlatformDeployBridge, PlatformDeployBridgeLambda, type PlatformDeployBridgeLambdaProps, type PlatformDeployBridgeProps, PostAuthenticationLambda, PostConfirmationLambda, type PostConfirmationLambdaProps, PreTokenGenerationLambda, type PreTokenGenerationLambdaProps, ProvisionDefaultWorkspaceLambda, type ProvisionDefaultWorkspaceLambdaProps, REST_API_BASE_URL_SSM_NAME, REST_API_DOMAIN_NAME_SSM_NAME, RenameCascadeLambdas, type RenameCascadeLambdasProps, RenameCascadeWorkflow, type RenameCascadeWorkflowProps, RootGraphqlApi, type RootGraphqlApiProps, RootHostedZone, RootHttpApi, type RootHttpApiProps, RootWildcardCertificate, SEED_SYSTEM_DATA_ACTOR_SYSTEM, SEED_SYSTEM_DATA_CONSUMER_NAME, SEED_SYSTEM_DATA_CONTROL_BUS_ENV_VAR, SSM_PARAM_NAME_FULL_DOMAIN, STATIC_HOSTING_SERVICE_TYPE, SeedDemoDataLambda, type SeedDemoDataLambdaProps, SeedDemoDataWorkflow, type SeedDemoDataWorkflowProps, SeedSystemDataLambda, type SeedSystemDataLambdaProps, SeedSystemDataWorkflow, type SeedSystemDataWorkflowProps, StaticContent, type StaticContentProps, StaticHosting, type StaticHostingProps, UserOnboardingWorkflow, type UserOnboardingWorkflowProps, WorkflowDedupConsumerNameInvalidError, WorkflowDedupTable, WorkflowDedupTableDuplicateError, type WorkflowDedupTableProps, buildFhirCurrentResourceChangeDetail, computeBranchHash, getDynamoDbDataStoreTableName, getPostgresReplicaSchemaName, getWorkflowDedupTableName, openHiTagKey };
2697
+ export { type BuildParameterNameProps, ChildHostedZone, type ChildHostedZoneProps, CognitoUserPool, CognitoUserPoolClient, CognitoUserPoolDomain, CognitoUserPoolKmsKey, type ComputeBranchHashOptions, ControlEventBus, DATA_STORE_CHANGE_DETAIL_MAX_UTF8_BYTES, DATA_STORE_CHANGE_DETAIL_TYPE, DATA_STORE_CHANGE_EVENT_SOURCE, DEFAULT_PREVIEW_EXPIRATION_DAYS, DEMO_DATA_PLANE_FIXTURES, DataEventBus, type DataEventBusOptions, DataStoreHistoricalArchive, type DataStoreHistoricalArchiveProps, DataStorePostgresReplica, type DataStorePostgresReplicaProps, type DemoWorkspaceDataPlaneFixtures, DiscoverableStringParameter, type DiscoverableStringParameterProps, DynamoDbDataStore, type DynamoDbDataStoreProps, type FhirCurrentResourceChangeDetail, type GrantConsumerOptions, HostingMode, OPENHI_TAG_SUFFIX_BRANCH_NAME, OPENHI_TAG_SUFFIX_REPO_NAME, OPENHI_TAG_SUFFIX_SERVICE_TYPE, OPENHI_TAG_SUFFIX_STAGE_TYPE, OpenHiApp, type OpenHiAppProps, OpenHiAuthService, type OpenHiAuthServiceProps, OpenHiDataService, type OpenHiDataServiceProps, OpenHiEnvironment, type OpenHiEnvironmentProps, OpenHiGlobalService, type OpenHiGlobalServiceProps, OpenHiGraphqlService, type OpenHiGraphqlServiceProps, type OpenHiRestApiRuntimeConfig, OpenHiRestApiService, type OpenHiRestApiServiceProps, OpenHiService, type OpenHiServiceProps, type OpenHiServiceType, OpenHiStage, type OpenHiStageProps, OpenHiWebsiteService, type OpenHiWebsiteServiceProps, OpsEventBus, OwningDeleteCascadeLambdas, type OwningDeleteCascadeLambdasProps, OwningDeleteCascadeWorkflow, type OwningDeleteCascadeWorkflowProps, PER_BRANCH_PREVIEW_PREFIX, POSTGRES_REPLICA_CLUSTER_ARN_SSM_NAME, POSTGRES_REPLICA_DATABASE_NAME_SSM_NAME, POSTGRES_REPLICA_SECRET_ARN_SSM_NAME, PerBranchHostname, type PerBranchHostnameProps, PlatformDeployBridge, PlatformDeployBridgeLambda, type PlatformDeployBridgeLambdaProps, type PlatformDeployBridgeProps, PostAuthenticationLambda, PostConfirmationLambda, type PostConfirmationLambdaProps, PreTokenGenerationLambda, type PreTokenGenerationLambdaProps, ProvisionDefaultWorkspaceLambda, type ProvisionDefaultWorkspaceLambdaProps, REST_API_BASE_URL_SSM_NAME, REST_API_DOMAIN_NAME_SSM_NAME, RenameCascadeLambdas, type RenameCascadeLambdasProps, RenameCascadeWorkflow, type RenameCascadeWorkflowProps, RootGraphqlApi, type RootGraphqlApiProps, RootHostedZone, RootHttpApi, type RootHttpApiProps, RootWildcardCertificate, SEED_SYSTEM_DATA_ACTOR_SYSTEM, SEED_SYSTEM_DATA_CONSUMER_NAME, SEED_SYSTEM_DATA_CONTROL_BUS_ENV_VAR, SSM_PARAM_NAME_FULL_DOMAIN, STATIC_HOSTING_SERVICE_TYPE, SeedDemoDataLambda, type SeedDemoDataLambdaProps, SeedDemoDataWorkflow, type SeedDemoDataWorkflowProps, SeedSystemDataLambda, type SeedSystemDataLambdaProps, SeedSystemDataWorkflow, type SeedSystemDataWorkflowProps, StaticContent, type StaticContentProps, StaticHosting, type StaticHostingProps, UserOnboardingWorkflow, type UserOnboardingWorkflowProps, WorkflowDedupConsumerNameInvalidError, WorkflowDedupTable, WorkflowDedupTableDuplicateError, type WorkflowDedupTableProps, buildFhirCurrentResourceChangeDetail, computeBranchHash, getDynamoDbDataStoreTableName, getPostgresReplicaSchemaName, getWorkflowDedupTableName, openHiTagKey };