@btc-embedded/cdk-extensions 0.8.3 → 0.9.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.
Files changed (55) hide show
  1. package/.jsii +1830 -244
  2. package/API.md +3409 -1331
  3. package/CHANGELOG.md +14 -0
  4. package/lib/constructs/SecureRestApi.d.ts +3 -0
  5. package/lib/constructs/SecureRestApi.js +5 -2
  6. package/lib/constructs/SecureRestApiV2.d.ts +32 -0
  7. package/lib/constructs/SecureRestApiV2.js +64 -0
  8. package/lib/constructs/index.d.ts +1 -0
  9. package/lib/constructs/index.js +2 -1
  10. package/lib/extensions/ApiGatewayExtension.d.ts +1 -0
  11. package/lib/extensions/ApiGatewayExtension.js +3 -2
  12. package/lib/extensions/ApplicationLoadBalancerExtension.d.ts +3 -0
  13. package/lib/extensions/ApplicationLoadBalancerExtension.js +5 -2
  14. package/lib/extensions/ApplicationLoadBalancerExtensionV2.d.ts +24 -0
  15. package/lib/extensions/ApplicationLoadBalancerExtensionV2.js +79 -0
  16. package/lib/extensions/CloudMapExtension.js +1 -1
  17. package/lib/extensions/DocumentDbAccessExtension.js +1 -1
  18. package/lib/extensions/DomainEventMessagingExtension.js +1 -1
  19. package/lib/extensions/ExtraContainerExtension.js +1 -1
  20. package/lib/extensions/HTTPApiExtension.d.ts +44 -0
  21. package/lib/extensions/HTTPApiExtension.js +116 -0
  22. package/lib/extensions/LogExtension.js +1 -1
  23. package/lib/extensions/ModifyContainerDefinitionExtension.js +1 -1
  24. package/lib/extensions/ModifyTaskDefinitionExtension.js +1 -1
  25. package/lib/extensions/OpenTelemetryExtension.js +1 -1
  26. package/lib/extensions/PostgresDbAccessExtension.js +1 -1
  27. package/lib/extensions/SharedVolumeExtension.js +1 -1
  28. package/lib/extensions/TcpKeepAliveExtension.js +1 -1
  29. package/lib/extensions/index.d.ts +2 -0
  30. package/lib/extensions/index.js +3 -1
  31. package/lib/platform/ApiGateway.d.ts +1 -1
  32. package/lib/platform/ApiGateway.js +3 -4
  33. package/lib/platform/ApiGatewayV2.d.ts +28 -0
  34. package/lib/platform/ApiGatewayV2.js +55 -0
  35. package/lib/platform/ApiUserPoolClient.d.ts +32 -0
  36. package/lib/platform/ApiUserPoolClient.js +47 -0
  37. package/lib/platform/ApplicationLoadBalancer.d.ts +3 -0
  38. package/lib/platform/ApplicationLoadBalancer.js +5 -2
  39. package/lib/platform/ApplicationLoadBalancerV2.d.ts +58 -0
  40. package/lib/platform/ApplicationLoadBalancerV2.js +97 -0
  41. package/lib/platform/ApplicationUserPoolClient.d.ts +51 -0
  42. package/lib/platform/ApplicationUserPoolClient.js +66 -0
  43. package/lib/platform/CognitoUserPool.d.ts +14 -0
  44. package/lib/platform/CognitoUserPool.js +28 -0
  45. package/lib/platform/DefaultUserPoolClients.d.ts +1 -0
  46. package/lib/platform/DefaultUserPoolClients.js +3 -2
  47. package/lib/platform/DocumentDB.js +1 -1
  48. package/lib/platform/PrivateDnsNamespace.js +1 -1
  49. package/lib/platform/ResourceServer.d.ts +34 -0
  50. package/lib/platform/ResourceServer.js +43 -0
  51. package/lib/platform/Vpc.js +1 -1
  52. package/lib/platform/index.d.ts +6 -0
  53. package/lib/platform/index.js +7 -1
  54. package/lib/utils/ImportValue.js +2 -1
  55. package/package.json +1 -1
package/.jsii CHANGED
@@ -3950,14 +3950,15 @@
3950
3950
  "assembly": "@btc-embedded/cdk-extensions",
3951
3951
  "base": "constructs.Construct",
3952
3952
  "docs": {
3953
+ "deprecated": "Use the {@link ApiGatewayV2 } construct instead.",
3953
3954
  "remarks": "This API Gateway construct sets up an API Gateway V2 and a default HTTP API\nprotected by the provided Cognito user pool and client(s). The construct\nregisters an A record for the subdomain in the provided hosted zone. It also\ncreates a VPC Link (and security group) for the API Gateway to connect to\nservices in the VPC.\n\nThe relevant parameters are exposed as CloudFormation outputs so that they\ncan be used by the CDK extensions provided in this library.",
3954
- "stability": "experimental",
3955
+ "stability": "deprecated",
3955
3956
  "summary": "API Gateway construct to be used in base platforms."
3956
3957
  },
3957
3958
  "fqn": "@btc-embedded/cdk-extensions.ApiGateway",
3958
3959
  "initializer": {
3959
3960
  "docs": {
3960
- "stability": "experimental"
3961
+ "stability": "deprecated"
3961
3962
  },
3962
3963
  "locationInModule": {
3963
3964
  "filename": "src/platform/ApiGateway.ts",
@@ -3996,17 +3997,18 @@
3996
3997
  "assembly": "@btc-embedded/cdk-extensions",
3997
3998
  "base": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
3998
3999
  "docs": {
3999
- "stability": "experimental",
4000
+ "deprecated": "Use {@link HTTPApiExtension } instead",
4001
+ "stability": "deprecated",
4000
4002
  "summary": "Configures the service to be reachable via an API Gateway."
4001
4003
  },
4002
4004
  "fqn": "@btc-embedded/cdk-extensions.ApiGatewayExtension",
4003
4005
  "initializer": {
4004
4006
  "docs": {
4005
- "stability": "experimental"
4007
+ "stability": "deprecated"
4006
4008
  },
4007
4009
  "locationInModule": {
4008
4010
  "filename": "src/extensions/ApiGatewayExtension.ts",
4009
- "line": 48
4011
+ "line": 49
4010
4012
  },
4011
4013
  "parameters": [
4012
4014
  {
@@ -4020,18 +4022,18 @@
4020
4022
  "kind": "class",
4021
4023
  "locationInModule": {
4022
4024
  "filename": "src/extensions/ApiGatewayExtension.ts",
4023
- "line": 41
4025
+ "line": 42
4024
4026
  },
4025
4027
  "methods": [
4026
4028
  {
4027
4029
  "docs": {
4028
4030
  "remarks": "It is generally used to\ncreate any final resources which might depend on the service itself.",
4029
- "stability": "experimental",
4031
+ "stability": "deprecated",
4030
4032
  "summary": "When this hook is implemented by extension, it allows the extension to use the service which has been created."
4031
4033
  },
4032
4034
  "locationInModule": {
4033
4035
  "filename": "src/extensions/ApiGatewayExtension.ts",
4034
- "line": 53
4036
+ "line": 54
4035
4037
  },
4036
4038
  "name": "useService",
4037
4039
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -4058,12 +4060,12 @@
4058
4060
  "properties": [
4059
4061
  {
4060
4062
  "docs": {
4061
- "stability": "experimental"
4063
+ "stability": "deprecated"
4062
4064
  },
4063
4065
  "immutable": true,
4064
4066
  "locationInModule": {
4065
4067
  "filename": "src/extensions/ApiGatewayExtension.ts",
4066
- "line": 42
4068
+ "line": 43
4067
4069
  },
4068
4070
  "name": "props",
4069
4071
  "type": {
@@ -4274,20 +4276,233 @@
4274
4276
  ],
4275
4277
  "symbolId": "src/platform/ApiGateway:ApiGatewayProps"
4276
4278
  },
4277
- "@btc-embedded/cdk-extensions.ApplicationLoadBalancer": {
4279
+ "@btc-embedded/cdk-extensions.ApiGatewayPropsV2": {
4280
+ "assembly": "@btc-embedded/cdk-extensions",
4281
+ "datatype": true,
4282
+ "docs": {
4283
+ "stability": "experimental"
4284
+ },
4285
+ "fqn": "@btc-embedded/cdk-extensions.ApiGatewayPropsV2",
4286
+ "kind": "interface",
4287
+ "locationInModule": {
4288
+ "filename": "src/platform/ApiGatewayV2.ts",
4289
+ "line": 6
4290
+ },
4291
+ "name": "ApiGatewayPropsV2",
4292
+ "properties": [
4293
+ {
4294
+ "abstract": true,
4295
+ "docs": {
4296
+ "stability": "experimental",
4297
+ "summary": "VPC where the API GW Security group and VPC Link will be created."
4298
+ },
4299
+ "immutable": true,
4300
+ "locationInModule": {
4301
+ "filename": "src/platform/ApiGatewayV2.ts",
4302
+ "line": 10
4303
+ },
4304
+ "name": "vpc",
4305
+ "type": {
4306
+ "fqn": "aws-cdk-lib.aws_ec2.IVpc"
4307
+ }
4308
+ }
4309
+ ],
4310
+ "symbolId": "src/platform/ApiGatewayV2:ApiGatewayPropsV2"
4311
+ },
4312
+ "@btc-embedded/cdk-extensions.ApiGatewayV2": {
4313
+ "assembly": "@btc-embedded/cdk-extensions",
4314
+ "base": "constructs.Construct",
4315
+ "docs": {
4316
+ "remarks": "This construct creates:\n- A VPC Link for the API Gateway to connect to services within the specified VPC.\n- A Security Group associated with the VPC Link to control network traffic.\n\nAdditionally, the following parameters are exposed as CloudFormation outputs:\n- The VPC Link ID.\n- The Security Group ID.\n\nThese outputs can be utilized by other CDK extensions provided in this library.",
4317
+ "stability": "experimental",
4318
+ "summary": "Constructs an API Gateway V2 resource for use in base platforms."
4319
+ },
4320
+ "fqn": "@btc-embedded/cdk-extensions.ApiGatewayV2",
4321
+ "initializer": {
4322
+ "docs": {
4323
+ "stability": "experimental"
4324
+ },
4325
+ "locationInModule": {
4326
+ "filename": "src/platform/ApiGatewayV2.ts",
4327
+ "line": 32
4328
+ },
4329
+ "parameters": [
4330
+ {
4331
+ "name": "scope",
4332
+ "type": {
4333
+ "fqn": "constructs.Construct"
4334
+ }
4335
+ },
4336
+ {
4337
+ "name": "id",
4338
+ "type": {
4339
+ "primitive": "string"
4340
+ }
4341
+ },
4342
+ {
4343
+ "name": "props",
4344
+ "type": {
4345
+ "fqn": "@btc-embedded/cdk-extensions.ApiGatewayPropsV2"
4346
+ }
4347
+ }
4348
+ ]
4349
+ },
4350
+ "kind": "class",
4351
+ "locationInModule": {
4352
+ "filename": "src/platform/ApiGatewayV2.ts",
4353
+ "line": 26
4354
+ },
4355
+ "name": "ApiGatewayV2",
4356
+ "symbolId": "src/platform/ApiGatewayV2:ApiGatewayV2"
4357
+ },
4358
+ "@btc-embedded/cdk-extensions.ApiUserPoolClient": {
4278
4359
  "assembly": "@btc-embedded/cdk-extensions",
4279
4360
  "base": "constructs.Construct",
4361
+ "docs": {
4362
+ "remarks": "This construct:\n- Creates a user pool client with client credentials flow enabled.\n- Associates the client with the specified resource server to define OAuth scopes.\n- Supports additional identity providers for federated login.\n- Exports the client ID as a CloudFormation output for use in other constructs.",
4363
+ "stability": "experimental",
4364
+ "summary": "A construct that creates a Cognito User Pool Client for API access."
4365
+ },
4366
+ "fqn": "@btc-embedded/cdk-extensions.ApiUserPoolClient",
4367
+ "initializer": {
4368
+ "docs": {
4369
+ "stability": "experimental"
4370
+ },
4371
+ "locationInModule": {
4372
+ "filename": "src/platform/ApiUserPoolClient.ts",
4373
+ "line": 41
4374
+ },
4375
+ "parameters": [
4376
+ {
4377
+ "name": "scope",
4378
+ "type": {
4379
+ "fqn": "constructs.Construct"
4380
+ }
4381
+ },
4382
+ {
4383
+ "name": "id",
4384
+ "type": {
4385
+ "primitive": "string"
4386
+ }
4387
+ },
4388
+ {
4389
+ "name": "props",
4390
+ "type": {
4391
+ "fqn": "@btc-embedded/cdk-extensions.ApiUserPoolClientProps"
4392
+ }
4393
+ }
4394
+ ]
4395
+ },
4396
+ "kind": "class",
4397
+ "locationInModule": {
4398
+ "filename": "src/platform/ApiUserPoolClient.ts",
4399
+ "line": 38
4400
+ },
4401
+ "name": "ApiUserPoolClient",
4402
+ "properties": [
4403
+ {
4404
+ "docs": {
4405
+ "stability": "experimental"
4406
+ },
4407
+ "locationInModule": {
4408
+ "filename": "src/platform/ApiUserPoolClient.ts",
4409
+ "line": 39
4410
+ },
4411
+ "name": "apiClient",
4412
+ "type": {
4413
+ "fqn": "aws-cdk-lib.aws_cognito.IUserPoolClient"
4414
+ }
4415
+ }
4416
+ ],
4417
+ "symbolId": "src/platform/ApiUserPoolClient:ApiUserPoolClient"
4418
+ },
4419
+ "@btc-embedded/cdk-extensions.ApiUserPoolClientProps": {
4420
+ "assembly": "@btc-embedded/cdk-extensions",
4421
+ "datatype": true,
4280
4422
  "docs": {
4281
4423
  "stability": "experimental"
4282
4424
  },
4425
+ "fqn": "@btc-embedded/cdk-extensions.ApiUserPoolClientProps",
4426
+ "kind": "interface",
4427
+ "locationInModule": {
4428
+ "filename": "src/platform/ApiUserPoolClient.ts",
4429
+ "line": 11
4430
+ },
4431
+ "name": "ApiUserPoolClientProps",
4432
+ "properties": [
4433
+ {
4434
+ "abstract": true,
4435
+ "docs": {
4436
+ "stability": "experimental",
4437
+ "summary": "The user pool which should be attached to the clients."
4438
+ },
4439
+ "immutable": true,
4440
+ "locationInModule": {
4441
+ "filename": "src/platform/ApiUserPoolClient.ts",
4442
+ "line": 15
4443
+ },
4444
+ "name": "cognitoUserPool",
4445
+ "type": {
4446
+ "fqn": "@btc-embedded/cdk-extensions.CognitoUserPool"
4447
+ }
4448
+ },
4449
+ {
4450
+ "abstract": true,
4451
+ "docs": {
4452
+ "remarks": "This is used to define OAuth scopes for the client.",
4453
+ "stability": "experimental",
4454
+ "summary": "The resource server associated with the user pool client."
4455
+ },
4456
+ "immutable": true,
4457
+ "locationInModule": {
4458
+ "filename": "src/platform/ApiUserPoolClient.ts",
4459
+ "line": 26
4460
+ },
4461
+ "name": "resourceServer",
4462
+ "type": {
4463
+ "fqn": "@btc-embedded/cdk-extensions.ResourceServer"
4464
+ }
4465
+ },
4466
+ {
4467
+ "abstract": true,
4468
+ "docs": {
4469
+ "stability": "experimental",
4470
+ "summary": "Specify additional user pool identity providers to enable federated login."
4471
+ },
4472
+ "immutable": true,
4473
+ "locationInModule": {
4474
+ "filename": "src/platform/ApiUserPoolClient.ts",
4475
+ "line": 20
4476
+ },
4477
+ "name": "additonalUserPoolIdentityProviders",
4478
+ "optional": true,
4479
+ "type": {
4480
+ "collection": {
4481
+ "elementtype": {
4482
+ "primitive": "string"
4483
+ },
4484
+ "kind": "array"
4485
+ }
4486
+ }
4487
+ }
4488
+ ],
4489
+ "symbolId": "src/platform/ApiUserPoolClient:ApiUserPoolClientProps"
4490
+ },
4491
+ "@btc-embedded/cdk-extensions.ApplicationLoadBalancer": {
4492
+ "assembly": "@btc-embedded/cdk-extensions",
4493
+ "base": "constructs.Construct",
4494
+ "docs": {
4495
+ "deprecated": "Use {@link ApplicationLoadBalancerV2 } instead",
4496
+ "stability": "deprecated"
4497
+ },
4283
4498
  "fqn": "@btc-embedded/cdk-extensions.ApplicationLoadBalancer",
4284
4499
  "initializer": {
4285
4500
  "docs": {
4286
- "stability": "experimental"
4501
+ "stability": "deprecated"
4287
4502
  },
4288
4503
  "locationInModule": {
4289
4504
  "filename": "src/platform/ApplicationLoadBalancer.ts",
4290
- "line": 40
4505
+ "line": 42
4291
4506
  },
4292
4507
  "parameters": [
4293
4508
  {
@@ -4313,18 +4528,18 @@
4313
4528
  "kind": "class",
4314
4529
  "locationInModule": {
4315
4530
  "filename": "src/platform/ApplicationLoadBalancer.ts",
4316
- "line": 33
4531
+ "line": 35
4317
4532
  },
4318
4533
  "name": "ApplicationLoadBalancer",
4319
4534
  "properties": [
4320
4535
  {
4321
4536
  "docs": {
4322
- "stability": "experimental"
4537
+ "stability": "deprecated"
4323
4538
  },
4324
4539
  "immutable": true,
4325
4540
  "locationInModule": {
4326
4541
  "filename": "src/platform/ApplicationLoadBalancer.ts",
4327
- "line": 34
4542
+ "line": 36
4328
4543
  },
4329
4544
  "name": "loadbalancer",
4330
4545
  "type": {
@@ -4333,12 +4548,12 @@
4333
4548
  },
4334
4549
  {
4335
4550
  "docs": {
4336
- "stability": "experimental"
4551
+ "stability": "deprecated"
4337
4552
  },
4338
4553
  "immutable": true,
4339
4554
  "locationInModule": {
4340
4555
  "filename": "src/platform/ApplicationLoadBalancer.ts",
4341
- "line": 36
4556
+ "line": 38
4342
4557
  },
4343
4558
  "name": "loadBalancer",
4344
4559
  "type": {
@@ -4352,16 +4567,17 @@
4352
4567
  "assembly": "@btc-embedded/cdk-extensions",
4353
4568
  "base": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
4354
4569
  "docs": {
4355
- "stability": "experimental"
4570
+ "deprecated": "Use {@link ApplicationLoadBalancerExtensionV2 } instead",
4571
+ "stability": "deprecated"
4356
4572
  },
4357
4573
  "fqn": "@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension",
4358
4574
  "initializer": {
4359
4575
  "docs": {
4360
- "stability": "experimental"
4576
+ "stability": "deprecated"
4361
4577
  },
4362
4578
  "locationInModule": {
4363
4579
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
4364
- "line": 87
4580
+ "line": 89
4365
4581
  },
4366
4582
  "parameters": [
4367
4583
  {
@@ -4375,29 +4591,29 @@
4375
4591
  "kind": "class",
4376
4592
  "locationInModule": {
4377
4593
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
4378
- "line": 77
4594
+ "line": 79
4379
4595
  },
4380
4596
  "methods": [
4381
4597
  {
4382
4598
  "docs": {
4383
- "stability": "experimental",
4599
+ "stability": "deprecated",
4384
4600
  "summary": "A hook that allows the extension to add hooks to other extensions that are registered."
4385
4601
  },
4386
4602
  "locationInModule": {
4387
4603
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
4388
- "line": 93
4604
+ "line": 95
4389
4605
  },
4390
4606
  "name": "addHooks",
4391
4607
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension"
4392
4608
  },
4393
4609
  {
4394
4610
  "docs": {
4395
- "stability": "experimental",
4611
+ "stability": "deprecated",
4396
4612
  "summary": "Prior to launching the task definition as a service, this hook is called on each extension to give it a chance to mutate the properties of the service to be created."
4397
4613
  },
4398
4614
  "locationInModule": {
4399
4615
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
4400
- "line": 162
4616
+ "line": 164
4401
4617
  },
4402
4618
  "name": "modifyServiceProps",
4403
4619
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -4417,12 +4633,12 @@
4417
4633
  },
4418
4634
  {
4419
4635
  "docs": {
4420
- "stability": "experimental",
4636
+ "stability": "deprecated",
4421
4637
  "summary": "A hook that is called for each extension ahead of time to allow for any initial setup, such as creating resources in advance."
4422
4638
  },
4423
4639
  "locationInModule": {
4424
4640
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
4425
- "line": 115
4641
+ "line": 117
4426
4642
  },
4427
4643
  "name": "prehook",
4428
4644
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -4444,12 +4660,12 @@
4444
4660
  {
4445
4661
  "docs": {
4446
4662
  "remarks": "It is generally used to\ncreate any final resources which might depend on the service itself.",
4447
- "stability": "experimental",
4663
+ "stability": "deprecated",
4448
4664
  "summary": "When this hook is implemented by extension, it allows the extension to use the service which has been created."
4449
4665
  },
4450
4666
  "locationInModule": {
4451
4667
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
4452
- "line": 169
4668
+ "line": 171
4453
4669
  },
4454
4670
  "name": "useService",
4455
4671
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -4476,12 +4692,12 @@
4476
4692
  "properties": [
4477
4693
  {
4478
4694
  "docs": {
4479
- "stability": "experimental"
4695
+ "stability": "deprecated"
4480
4696
  },
4481
4697
  "immutable": true,
4482
4698
  "locationInModule": {
4483
4699
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
4484
- "line": 85
4700
+ "line": 87
4485
4701
  },
4486
4702
  "name": "fqdn",
4487
4703
  "type": {
@@ -4490,11 +4706,11 @@
4490
4706
  },
4491
4707
  {
4492
4708
  "docs": {
4493
- "stability": "experimental"
4709
+ "stability": "deprecated"
4494
4710
  },
4495
4711
  "locationInModule": {
4496
4712
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
4497
- "line": 81
4713
+ "line": 83
4498
4714
  },
4499
4715
  "name": "userPool",
4500
4716
  "type": {
@@ -4503,11 +4719,11 @@
4503
4719
  },
4504
4720
  {
4505
4721
  "docs": {
4506
- "stability": "experimental"
4722
+ "stability": "deprecated"
4507
4723
  },
4508
4724
  "locationInModule": {
4509
4725
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
4510
- "line": 82
4726
+ "line": 84
4511
4727
  },
4512
4728
  "name": "userPoolClient",
4513
4729
  "type": {
@@ -4516,11 +4732,11 @@
4516
4732
  },
4517
4733
  {
4518
4734
  "docs": {
4519
- "stability": "experimental"
4735
+ "stability": "deprecated"
4520
4736
  },
4521
4737
  "locationInModule": {
4522
4738
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
4523
- "line": 83
4739
+ "line": 85
4524
4740
  },
4525
4741
  "name": "userPoolDomain",
4526
4742
  "type": {
@@ -4639,19 +4855,19 @@
4639
4855
  ],
4640
4856
  "symbolId": "src/extensions/ApplicationLoadBalancerExtension:ApplicationLoadBalancerExtensionProps"
4641
4857
  },
4642
- "@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps": {
4858
+ "@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2": {
4643
4859
  "assembly": "@btc-embedded/cdk-extensions",
4644
4860
  "datatype": true,
4645
4861
  "docs": {
4646
4862
  "stability": "experimental"
4647
4863
  },
4648
- "fqn": "@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps",
4864
+ "fqn": "@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2",
4649
4865
  "kind": "interface",
4650
4866
  "locationInModule": {
4651
- "filename": "src/platform/ApplicationLoadBalancer.ts",
4652
- "line": 24
4867
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
4868
+ "line": 26
4653
4869
  },
4654
- "name": "ApplicationLoadBalancerProps",
4870
+ "name": "ApplicationLoadBalancerExtensionPropsV2",
4655
4871
  "properties": [
4656
4872
  {
4657
4873
  "abstract": true,
@@ -4660,10 +4876,10 @@
4660
4876
  },
4661
4877
  "immutable": true,
4662
4878
  "locationInModule": {
4663
- "filename": "src/platform/ApplicationLoadBalancer.ts",
4664
- "line": 25
4879
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
4880
+ "line": 30
4665
4881
  },
4666
- "name": "fqdn",
4882
+ "name": "clientScope",
4667
4883
  "type": {
4668
4884
  "primitive": "string"
4669
4885
  }
@@ -4675,12 +4891,12 @@
4675
4891
  },
4676
4892
  "immutable": true,
4677
4893
  "locationInModule": {
4678
- "filename": "src/platform/ApplicationLoadBalancer.ts",
4679
- "line": 30
4894
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
4895
+ "line": 27
4680
4896
  },
4681
- "name": "hostedZone",
4897
+ "name": "platformStackName",
4682
4898
  "type": {
4683
- "fqn": "aws-cdk-lib.aws_route53.IHostedZone"
4899
+ "primitive": "string"
4684
4900
  }
4685
4901
  },
4686
4902
  {
@@ -4690,12 +4906,12 @@
4690
4906
  },
4691
4907
  "immutable": true,
4692
4908
  "locationInModule": {
4693
- "filename": "src/platform/ApplicationLoadBalancer.ts",
4694
- "line": 27
4909
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
4910
+ "line": 29
4695
4911
  },
4696
- "name": "userPool",
4912
+ "name": "securityGroupId",
4697
4913
  "type": {
4698
- "fqn": "aws-cdk-lib.aws_cognito.IUserPool"
4914
+ "primitive": "string"
4699
4915
  }
4700
4916
  },
4701
4917
  {
@@ -4705,12 +4921,12 @@
4705
4921
  },
4706
4922
  "immutable": true,
4707
4923
  "locationInModule": {
4708
- "filename": "src/platform/ApplicationLoadBalancer.ts",
4924
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
4709
4925
  "line": 28
4710
4926
  },
4711
- "name": "userPoolClient",
4927
+ "name": "userPoolClientSecret",
4712
4928
  "type": {
4713
- "fqn": "aws-cdk-lib.aws_cognito.IUserPoolClient"
4929
+ "primitive": "string"
4714
4930
  }
4715
4931
  },
4716
4932
  {
@@ -4720,12 +4936,13 @@
4720
4936
  },
4721
4937
  "immutable": true,
4722
4938
  "locationInModule": {
4723
- "filename": "src/platform/ApplicationLoadBalancer.ts",
4724
- "line": 29
4939
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
4940
+ "line": 31
4725
4941
  },
4726
- "name": "userPoolDomain",
4942
+ "name": "healtCheckPath",
4943
+ "optional": true,
4727
4944
  "type": {
4728
- "fqn": "aws-cdk-lib.aws_cognito.IUserPoolDomain"
4945
+ "primitive": "string"
4729
4946
  }
4730
4947
  },
4731
4948
  {
@@ -4735,24 +4952,752 @@
4735
4952
  },
4736
4953
  "immutable": true,
4737
4954
  "locationInModule": {
4738
- "filename": "src/platform/ApplicationLoadBalancer.ts",
4739
- "line": 26
4955
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
4956
+ "line": 32
4740
4957
  },
4741
- "name": "vpc",
4958
+ "name": "path",
4959
+ "optional": true,
4742
4960
  "type": {
4743
- "fqn": "aws-cdk-lib.aws_ec2.IVpc"
4961
+ "primitive": "string"
4744
4962
  }
4745
4963
  }
4746
4964
  ],
4747
- "symbolId": "src/platform/ApplicationLoadBalancer:ApplicationLoadBalancerProps"
4965
+ "symbolId": "src/extensions/ApplicationLoadBalancerExtensionV2:ApplicationLoadBalancerExtensionPropsV2"
4748
4966
  },
4749
- "@btc-embedded/cdk-extensions.CloudMapExtension": {
4967
+ "@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionV2": {
4750
4968
  "assembly": "@btc-embedded/cdk-extensions",
4751
4969
  "base": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
4752
4970
  "docs": {
4753
4971
  "stability": "experimental"
4754
4972
  },
4755
- "fqn": "@btc-embedded/cdk-extensions.CloudMapExtension",
4973
+ "fqn": "@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionV2",
4974
+ "initializer": {
4975
+ "docs": {
4976
+ "stability": "experimental"
4977
+ },
4978
+ "locationInModule": {
4979
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
4980
+ "line": 76
4981
+ },
4982
+ "parameters": [
4983
+ {
4984
+ "name": "props",
4985
+ "type": {
4986
+ "fqn": "@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2"
4987
+ }
4988
+ }
4989
+ ]
4990
+ },
4991
+ "kind": "class",
4992
+ "locationInModule": {
4993
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
4994
+ "line": 67
4995
+ },
4996
+ "methods": [
4997
+ {
4998
+ "docs": {
4999
+ "stability": "experimental",
5000
+ "summary": "A hook that allows the extension to add hooks to other extensions that are registered."
5001
+ },
5002
+ "locationInModule": {
5003
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
5004
+ "line": 82
5005
+ },
5006
+ "name": "addHooks",
5007
+ "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension"
5008
+ },
5009
+ {
5010
+ "docs": {
5011
+ "stability": "experimental",
5012
+ "summary": "Prior to launching the task definition as a service, this hook is called on each extension to give it a chance to mutate the properties of the service to be created."
5013
+ },
5014
+ "locationInModule": {
5015
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
5016
+ "line": 133
5017
+ },
5018
+ "name": "modifyServiceProps",
5019
+ "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
5020
+ "parameters": [
5021
+ {
5022
+ "name": "props",
5023
+ "type": {
5024
+ "fqn": "@aws-cdk-containers/ecs-service-extensions.ServiceBuild"
5025
+ }
5026
+ }
5027
+ ],
5028
+ "returns": {
5029
+ "type": {
5030
+ "fqn": "@aws-cdk-containers/ecs-service-extensions.ServiceBuild"
5031
+ }
5032
+ }
5033
+ },
5034
+ {
5035
+ "docs": {
5036
+ "stability": "experimental",
5037
+ "summary": "A hook that is called for each extension ahead of time to allow for any initial setup, such as creating resources in advance."
5038
+ },
5039
+ "locationInModule": {
5040
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
5041
+ "line": 104
5042
+ },
5043
+ "name": "prehook",
5044
+ "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
5045
+ "parameters": [
5046
+ {
5047
+ "name": "service",
5048
+ "type": {
5049
+ "fqn": "@aws-cdk-containers/ecs-service-extensions.Service"
5050
+ }
5051
+ },
5052
+ {
5053
+ "name": "scope",
5054
+ "type": {
5055
+ "fqn": "constructs.Construct"
5056
+ }
5057
+ }
5058
+ ]
5059
+ },
5060
+ {
5061
+ "docs": {
5062
+ "remarks": "It is generally used to\ncreate any final resources which might depend on the service itself.",
5063
+ "stability": "experimental",
5064
+ "summary": "When this hook is implemented by extension, it allows the extension to use the service which has been created."
5065
+ },
5066
+ "locationInModule": {
5067
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
5068
+ "line": 140
5069
+ },
5070
+ "name": "useService",
5071
+ "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
5072
+ "parameters": [
5073
+ {
5074
+ "name": "service",
5075
+ "type": {
5076
+ "union": {
5077
+ "types": [
5078
+ {
5079
+ "fqn": "aws-cdk-lib.aws_ecs.Ec2Service"
5080
+ },
5081
+ {
5082
+ "fqn": "aws-cdk-lib.aws_ecs.FargateService"
5083
+ }
5084
+ ]
5085
+ }
5086
+ }
5087
+ }
5088
+ ]
5089
+ }
5090
+ ],
5091
+ "name": "ApplicationLoadBalancerExtensionV2",
5092
+ "properties": [
5093
+ {
5094
+ "docs": {
5095
+ "stability": "experimental"
5096
+ },
5097
+ "immutable": true,
5098
+ "locationInModule": {
5099
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
5100
+ "line": 74
5101
+ },
5102
+ "name": "fqdn",
5103
+ "type": {
5104
+ "primitive": "string"
5105
+ }
5106
+ },
5107
+ {
5108
+ "docs": {
5109
+ "stability": "experimental"
5110
+ },
5111
+ "locationInModule": {
5112
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
5113
+ "line": 70
5114
+ },
5115
+ "name": "userPool",
5116
+ "type": {
5117
+ "fqn": "aws-cdk-lib.aws_cognito.IUserPool"
5118
+ }
5119
+ },
5120
+ {
5121
+ "docs": {
5122
+ "stability": "experimental"
5123
+ },
5124
+ "locationInModule": {
5125
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
5126
+ "line": 71
5127
+ },
5128
+ "name": "userPoolClient",
5129
+ "type": {
5130
+ "fqn": "aws-cdk-lib.aws_cognito.IUserPoolClient"
5131
+ }
5132
+ },
5133
+ {
5134
+ "docs": {
5135
+ "stability": "experimental"
5136
+ },
5137
+ "locationInModule": {
5138
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
5139
+ "line": 72
5140
+ },
5141
+ "name": "userPoolDomain",
5142
+ "type": {
5143
+ "fqn": "aws-cdk-lib.aws_cognito.IUserPoolDomain"
5144
+ }
5145
+ }
5146
+ ],
5147
+ "symbolId": "src/extensions/ApplicationLoadBalancerExtensionV2:ApplicationLoadBalancerExtensionV2"
5148
+ },
5149
+ "@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps": {
5150
+ "assembly": "@btc-embedded/cdk-extensions",
5151
+ "datatype": true,
5152
+ "docs": {
5153
+ "stability": "experimental"
5154
+ },
5155
+ "fqn": "@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps",
5156
+ "kind": "interface",
5157
+ "locationInModule": {
5158
+ "filename": "src/platform/ApplicationLoadBalancer.ts",
5159
+ "line": 24
5160
+ },
5161
+ "name": "ApplicationLoadBalancerProps",
5162
+ "properties": [
5163
+ {
5164
+ "abstract": true,
5165
+ "docs": {
5166
+ "stability": "experimental"
5167
+ },
5168
+ "immutable": true,
5169
+ "locationInModule": {
5170
+ "filename": "src/platform/ApplicationLoadBalancer.ts",
5171
+ "line": 25
5172
+ },
5173
+ "name": "fqdn",
5174
+ "type": {
5175
+ "primitive": "string"
5176
+ }
5177
+ },
5178
+ {
5179
+ "abstract": true,
5180
+ "docs": {
5181
+ "stability": "experimental"
5182
+ },
5183
+ "immutable": true,
5184
+ "locationInModule": {
5185
+ "filename": "src/platform/ApplicationLoadBalancer.ts",
5186
+ "line": 30
5187
+ },
5188
+ "name": "hostedZone",
5189
+ "type": {
5190
+ "fqn": "aws-cdk-lib.aws_route53.IHostedZone"
5191
+ }
5192
+ },
5193
+ {
5194
+ "abstract": true,
5195
+ "docs": {
5196
+ "stability": "experimental"
5197
+ },
5198
+ "immutable": true,
5199
+ "locationInModule": {
5200
+ "filename": "src/platform/ApplicationLoadBalancer.ts",
5201
+ "line": 27
5202
+ },
5203
+ "name": "userPool",
5204
+ "type": {
5205
+ "fqn": "aws-cdk-lib.aws_cognito.IUserPool"
5206
+ }
5207
+ },
5208
+ {
5209
+ "abstract": true,
5210
+ "docs": {
5211
+ "stability": "experimental"
5212
+ },
5213
+ "immutable": true,
5214
+ "locationInModule": {
5215
+ "filename": "src/platform/ApplicationLoadBalancer.ts",
5216
+ "line": 28
5217
+ },
5218
+ "name": "userPoolClient",
5219
+ "type": {
5220
+ "fqn": "aws-cdk-lib.aws_cognito.IUserPoolClient"
5221
+ }
5222
+ },
5223
+ {
5224
+ "abstract": true,
5225
+ "docs": {
5226
+ "stability": "experimental"
5227
+ },
5228
+ "immutable": true,
5229
+ "locationInModule": {
5230
+ "filename": "src/platform/ApplicationLoadBalancer.ts",
5231
+ "line": 29
5232
+ },
5233
+ "name": "userPoolDomain",
5234
+ "type": {
5235
+ "fqn": "aws-cdk-lib.aws_cognito.IUserPoolDomain"
5236
+ }
5237
+ },
5238
+ {
5239
+ "abstract": true,
5240
+ "docs": {
5241
+ "stability": "experimental"
5242
+ },
5243
+ "immutable": true,
5244
+ "locationInModule": {
5245
+ "filename": "src/platform/ApplicationLoadBalancer.ts",
5246
+ "line": 26
5247
+ },
5248
+ "name": "vpc",
5249
+ "type": {
5250
+ "fqn": "aws-cdk-lib.aws_ec2.IVpc"
5251
+ }
5252
+ }
5253
+ ],
5254
+ "symbolId": "src/platform/ApplicationLoadBalancer:ApplicationLoadBalancerProps"
5255
+ },
5256
+ "@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2": {
5257
+ "assembly": "@btc-embedded/cdk-extensions",
5258
+ "datatype": true,
5259
+ "docs": {
5260
+ "stability": "experimental"
5261
+ },
5262
+ "fqn": "@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2",
5263
+ "kind": "interface",
5264
+ "locationInModule": {
5265
+ "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5266
+ "line": 24
5267
+ },
5268
+ "name": "ApplicationLoadBalancerPropsV2",
5269
+ "properties": [
5270
+ {
5271
+ "abstract": true,
5272
+ "docs": {
5273
+ "remarks": "This is used for configuring DNS records.",
5274
+ "stability": "experimental",
5275
+ "summary": "The fully qualified domain name (FQDN) for the Application Load Balancer (ALB)."
5276
+ },
5277
+ "immutable": true,
5278
+ "locationInModule": {
5279
+ "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5280
+ "line": 29
5281
+ },
5282
+ "name": "fqdn",
5283
+ "type": {
5284
+ "primitive": "string"
5285
+ }
5286
+ },
5287
+ {
5288
+ "abstract": true,
5289
+ "docs": {
5290
+ "stability": "experimental",
5291
+ "summary": "The health check path for the target group."
5292
+ },
5293
+ "immutable": true,
5294
+ "locationInModule": {
5295
+ "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5296
+ "line": 67
5297
+ },
5298
+ "name": "healtCheckPath",
5299
+ "type": {
5300
+ "primitive": "string"
5301
+ }
5302
+ },
5303
+ {
5304
+ "abstract": true,
5305
+ "docs": {
5306
+ "stability": "experimental",
5307
+ "summary": "The Route 53 hosted zone where the ALB's DNS record will be created."
5308
+ },
5309
+ "immutable": true,
5310
+ "locationInModule": {
5311
+ "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5312
+ "line": 50
5313
+ },
5314
+ "name": "hostedZone",
5315
+ "type": {
5316
+ "fqn": "aws-cdk-lib.aws_route53.IHostedZone"
5317
+ }
5318
+ },
5319
+ {
5320
+ "abstract": true,
5321
+ "docs": {
5322
+ "stability": "experimental",
5323
+ "summary": "The port on which the target group will receive traffic."
5324
+ },
5325
+ "immutable": true,
5326
+ "locationInModule": {
5327
+ "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5328
+ "line": 62
5329
+ },
5330
+ "name": "trafficPort",
5331
+ "type": {
5332
+ "primitive": "number"
5333
+ }
5334
+ },
5335
+ {
5336
+ "abstract": true,
5337
+ "docs": {
5338
+ "remarks": "This client is used for handling OAuth flows.",
5339
+ "stability": "experimental",
5340
+ "summary": "The Cognito User Pool Client associated with the ALB."
5341
+ },
5342
+ "immutable": true,
5343
+ "locationInModule": {
5344
+ "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5345
+ "line": 40
5346
+ },
5347
+ "name": "userPoolClient",
5348
+ "type": {
5349
+ "fqn": "@btc-embedded/cdk-extensions.ApplicationUserPoolClient"
5350
+ }
5351
+ },
5352
+ {
5353
+ "abstract": true,
5354
+ "docs": {
5355
+ "stability": "experimental",
5356
+ "summary": "The Cognito User Pool Domain used for authentication."
5357
+ },
5358
+ "immutable": true,
5359
+ "locationInModule": {
5360
+ "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5361
+ "line": 45
5362
+ },
5363
+ "name": "userPoolDomain",
5364
+ "type": {
5365
+ "fqn": "aws-cdk-lib.aws_cognito.IUserPoolDomain"
5366
+ }
5367
+ },
5368
+ {
5369
+ "abstract": true,
5370
+ "docs": {
5371
+ "stability": "experimental",
5372
+ "summary": "The VPC in which the Application Load Balancer will be deployed."
5373
+ },
5374
+ "immutable": true,
5375
+ "locationInModule": {
5376
+ "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5377
+ "line": 34
5378
+ },
5379
+ "name": "vpc",
5380
+ "type": {
5381
+ "fqn": "aws-cdk-lib.aws_ec2.IVpc"
5382
+ }
5383
+ },
5384
+ {
5385
+ "abstract": true,
5386
+ "docs": {
5387
+ "default": "- No additional callback URLs are configured.",
5388
+ "stability": "experimental",
5389
+ "summary": "Additional callback URLs to be added to the Cognito User Pool Client."
5390
+ },
5391
+ "immutable": true,
5392
+ "locationInModule": {
5393
+ "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5394
+ "line": 57
5395
+ },
5396
+ "name": "additionalCallbackUrls",
5397
+ "optional": true,
5398
+ "type": {
5399
+ "collection": {
5400
+ "elementtype": {
5401
+ "primitive": "string"
5402
+ },
5403
+ "kind": "array"
5404
+ }
5405
+ }
5406
+ }
5407
+ ],
5408
+ "symbolId": "src/platform/ApplicationLoadBalancerV2:ApplicationLoadBalancerPropsV2"
5409
+ },
5410
+ "@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2": {
5411
+ "assembly": "@btc-embedded/cdk-extensions",
5412
+ "base": "constructs.Construct",
5413
+ "docs": {
5414
+ "remarks": "This construct:\n- Creates an ALB with an HTTPS listener and a Cognito authentication action.\n- Configures a target group with health checks.\n- Adds a Route 53 DNS record for the ALB.\n- Exports key ALB properties (listener ARN, target group ARN, security group ID) as CloudFormation outputs.",
5415
+ "stability": "experimental",
5416
+ "summary": "A construct that creates an Application Load Balancer (ALB) with Cognito authentication."
5417
+ },
5418
+ "fqn": "@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2",
5419
+ "initializer": {
5420
+ "docs": {
5421
+ "stability": "experimental"
5422
+ },
5423
+ "locationInModule": {
5424
+ "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5425
+ "line": 86
5426
+ },
5427
+ "parameters": [
5428
+ {
5429
+ "name": "scope",
5430
+ "type": {
5431
+ "fqn": "constructs.Construct"
5432
+ }
5433
+ },
5434
+ {
5435
+ "name": "id",
5436
+ "type": {
5437
+ "primitive": "string"
5438
+ }
5439
+ },
5440
+ {
5441
+ "name": "props",
5442
+ "type": {
5443
+ "fqn": "@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2"
5444
+ }
5445
+ }
5446
+ ]
5447
+ },
5448
+ "kind": "class",
5449
+ "locationInModule": {
5450
+ "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5451
+ "line": 79
5452
+ },
5453
+ "name": "ApplicationLoadBalancerV2",
5454
+ "properties": [
5455
+ {
5456
+ "docs": {
5457
+ "stability": "experimental"
5458
+ },
5459
+ "immutable": true,
5460
+ "locationInModule": {
5461
+ "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5462
+ "line": 80
5463
+ },
5464
+ "name": "loadbalancer",
5465
+ "type": {
5466
+ "fqn": "aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationLoadBalancer"
5467
+ }
5468
+ },
5469
+ {
5470
+ "docs": {
5471
+ "stability": "experimental"
5472
+ },
5473
+ "immutable": true,
5474
+ "locationInModule": {
5475
+ "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5476
+ "line": 82
5477
+ },
5478
+ "name": "loadBalancer",
5479
+ "type": {
5480
+ "fqn": "aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationLoadBalancer"
5481
+ }
5482
+ }
5483
+ ],
5484
+ "symbolId": "src/platform/ApplicationLoadBalancerV2:ApplicationLoadBalancerV2"
5485
+ },
5486
+ "@btc-embedded/cdk-extensions.ApplicationUserPoolClient": {
5487
+ "assembly": "@btc-embedded/cdk-extensions",
5488
+ "base": "constructs.Construct",
5489
+ "docs": {
5490
+ "remarks": "This construct:\n- Creates a user pool client with authorization code grant flow enabled.\n- Configures OAuth scopes, callback URLs, and logout URLs for the client.\n- Supports additional identity providers for federated login.\n- Exports the client ID as a CloudFormation output for use in other constructs.",
5491
+ "stability": "experimental",
5492
+ "summary": "A construct that creates a Cognito User Pool Client for frontend and API access."
5493
+ },
5494
+ "fqn": "@btc-embedded/cdk-extensions.ApplicationUserPoolClient",
5495
+ "initializer": {
5496
+ "docs": {
5497
+ "stability": "experimental"
5498
+ },
5499
+ "locationInModule": {
5500
+ "filename": "src/platform/ApplicationUserPoolClient.ts",
5501
+ "line": 64
5502
+ },
5503
+ "parameters": [
5504
+ {
5505
+ "name": "scope",
5506
+ "type": {
5507
+ "fqn": "constructs.Construct"
5508
+ }
5509
+ },
5510
+ {
5511
+ "name": "id",
5512
+ "type": {
5513
+ "primitive": "string"
5514
+ }
5515
+ },
5516
+ {
5517
+ "name": "props",
5518
+ "type": {
5519
+ "fqn": "@btc-embedded/cdk-extensions.ApplicationUserPoolClientProps"
5520
+ }
5521
+ }
5522
+ ]
5523
+ },
5524
+ "kind": "class",
5525
+ "locationInModule": {
5526
+ "filename": "src/platform/ApplicationUserPoolClient.ts",
5527
+ "line": 61
5528
+ },
5529
+ "name": "ApplicationUserPoolClient",
5530
+ "properties": [
5531
+ {
5532
+ "docs": {
5533
+ "stability": "experimental"
5534
+ },
5535
+ "immutable": true,
5536
+ "locationInModule": {
5537
+ "filename": "src/platform/ApplicationUserPoolClient.ts",
5538
+ "line": 118
5539
+ },
5540
+ "name": "userPool",
5541
+ "type": {
5542
+ "fqn": "aws-cdk-lib.aws_cognito.IUserPool"
5543
+ }
5544
+ },
5545
+ {
5546
+ "docs": {
5547
+ "stability": "experimental"
5548
+ },
5549
+ "locationInModule": {
5550
+ "filename": "src/platform/ApplicationUserPoolClient.ts",
5551
+ "line": 62
5552
+ },
5553
+ "name": "client",
5554
+ "type": {
5555
+ "fqn": "aws-cdk-lib.aws_cognito.IUserPoolClient"
5556
+ }
5557
+ }
5558
+ ],
5559
+ "symbolId": "src/platform/ApplicationUserPoolClient:ApplicationUserPoolClient"
5560
+ },
5561
+ "@btc-embedded/cdk-extensions.ApplicationUserPoolClientProps": {
5562
+ "assembly": "@btc-embedded/cdk-extensions",
5563
+ "datatype": true,
5564
+ "docs": {
5565
+ "stability": "experimental"
5566
+ },
5567
+ "fqn": "@btc-embedded/cdk-extensions.ApplicationUserPoolClientProps",
5568
+ "kind": "interface",
5569
+ "locationInModule": {
5570
+ "filename": "src/platform/ApplicationUserPoolClient.ts",
5571
+ "line": 13
5572
+ },
5573
+ "name": "ApplicationUserPoolClientProps",
5574
+ "properties": [
5575
+ {
5576
+ "abstract": true,
5577
+ "docs": {
5578
+ "stability": "experimental",
5579
+ "summary": "The user pool which should be attached to the clients."
5580
+ },
5581
+ "immutable": true,
5582
+ "locationInModule": {
5583
+ "filename": "src/platform/ApplicationUserPoolClient.ts",
5584
+ "line": 17
5585
+ },
5586
+ "name": "cognitoUserPool",
5587
+ "type": {
5588
+ "fqn": "@btc-embedded/cdk-extensions.CognitoUserPool"
5589
+ }
5590
+ },
5591
+ {
5592
+ "abstract": true,
5593
+ "docs": {
5594
+ "remarks": "This setting is used to configure the correct callback URL for user pool\nclient such that the ALB can perform authentication.",
5595
+ "stability": "experimental",
5596
+ "summary": "The fully qualified domain name which the ALB will listen to."
5597
+ },
5598
+ "immutable": true,
5599
+ "locationInModule": {
5600
+ "filename": "src/platform/ApplicationUserPoolClient.ts",
5601
+ "line": 27
5602
+ },
5603
+ "name": "fqdn",
5604
+ "type": {
5605
+ "primitive": "string"
5606
+ }
5607
+ },
5608
+ {
5609
+ "abstract": true,
5610
+ "docs": {
5611
+ "remarks": "This is used to define OAuth scopes for the client.",
5612
+ "stability": "experimental",
5613
+ "summary": "The resource server associated with the user pool client."
5614
+ },
5615
+ "immutable": true,
5616
+ "locationInModule": {
5617
+ "filename": "src/platform/ApplicationUserPoolClient.ts",
5618
+ "line": 33
5619
+ },
5620
+ "name": "resourceServer",
5621
+ "type": {
5622
+ "fqn": "@btc-embedded/cdk-extensions.ResourceServer"
5623
+ }
5624
+ },
5625
+ {
5626
+ "abstract": true,
5627
+ "docs": {
5628
+ "stability": "experimental",
5629
+ "summary": "Specify additional user pool identity providers to enable federated login."
5630
+ },
5631
+ "immutable": true,
5632
+ "locationInModule": {
5633
+ "filename": "src/platform/ApplicationUserPoolClient.ts",
5634
+ "line": 49
5635
+ },
5636
+ "name": "additonalUserPoolIdentityProviders",
5637
+ "optional": true,
5638
+ "type": {
5639
+ "collection": {
5640
+ "elementtype": {
5641
+ "primitive": "string"
5642
+ },
5643
+ "kind": "array"
5644
+ }
5645
+ }
5646
+ },
5647
+ {
5648
+ "abstract": true,
5649
+ "docs": {
5650
+ "stability": "experimental",
5651
+ "summary": "Specify additional callback URLs which the frontend uses for OIDC authentication."
5652
+ },
5653
+ "immutable": true,
5654
+ "locationInModule": {
5655
+ "filename": "src/platform/ApplicationUserPoolClient.ts",
5656
+ "line": 44
5657
+ },
5658
+ "name": "callbackUrls",
5659
+ "optional": true,
5660
+ "type": {
5661
+ "collection": {
5662
+ "elementtype": {
5663
+ "primitive": "string"
5664
+ },
5665
+ "kind": "array"
5666
+ }
5667
+ }
5668
+ },
5669
+ {
5670
+ "abstract": true,
5671
+ "docs": {
5672
+ "stability": "experimental",
5673
+ "summary": "Specify valid logout URLs which should be added to the frontend user pool client."
5674
+ },
5675
+ "immutable": true,
5676
+ "locationInModule": {
5677
+ "filename": "src/platform/ApplicationUserPoolClient.ts",
5678
+ "line": 38
5679
+ },
5680
+ "name": "logoutUrls",
5681
+ "optional": true,
5682
+ "type": {
5683
+ "collection": {
5684
+ "elementtype": {
5685
+ "primitive": "string"
5686
+ },
5687
+ "kind": "array"
5688
+ }
5689
+ }
5690
+ }
5691
+ ],
5692
+ "symbolId": "src/platform/ApplicationUserPoolClient:ApplicationUserPoolClientProps"
5693
+ },
5694
+ "@btc-embedded/cdk-extensions.CloudMapExtension": {
5695
+ "assembly": "@btc-embedded/cdk-extensions",
5696
+ "base": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
5697
+ "docs": {
5698
+ "stability": "experimental"
5699
+ },
5700
+ "fqn": "@btc-embedded/cdk-extensions.CloudMapExtension",
4756
5701
  "initializer": {
4757
5702
  "docs": {
4758
5703
  "stability": "experimental"
@@ -4873,73 +5818,165 @@
4873
5818
  "type": {
4874
5819
  "fqn": "@btc-embedded/cdk-extensions.CloudMapExtensionProps"
4875
5820
  }
4876
- },
5821
+ },
5822
+ {
5823
+ "docs": {
5824
+ "stability": "experimental"
5825
+ },
5826
+ "locationInModule": {
5827
+ "filename": "src/extensions/CloudMapExtension.ts",
5828
+ "line": 36
5829
+ },
5830
+ "name": "serviceName",
5831
+ "type": {
5832
+ "primitive": "string"
5833
+ }
5834
+ }
5835
+ ],
5836
+ "symbolId": "src/extensions/CloudMapExtension:CloudMapExtension"
5837
+ },
5838
+ "@btc-embedded/cdk-extensions.CloudMapExtensionProps": {
5839
+ "assembly": "@btc-embedded/cdk-extensions",
5840
+ "datatype": true,
5841
+ "docs": {
5842
+ "stability": "experimental"
5843
+ },
5844
+ "fqn": "@btc-embedded/cdk-extensions.CloudMapExtensionProps",
5845
+ "kind": "interface",
5846
+ "locationInModule": {
5847
+ "filename": "src/extensions/CloudMapExtension.ts",
5848
+ "line": 19
5849
+ },
5850
+ "name": "CloudMapExtensionProps",
5851
+ "properties": [
5852
+ {
5853
+ "abstract": true,
5854
+ "docs": {
5855
+ "stability": "experimental",
5856
+ "summary": "The name of the platform stack to import the namespace parameter details from."
5857
+ },
5858
+ "immutable": true,
5859
+ "locationInModule": {
5860
+ "filename": "src/extensions/CloudMapExtension.ts",
5861
+ "line": 23
5862
+ },
5863
+ "name": "platformStackName",
5864
+ "type": {
5865
+ "primitive": "string"
5866
+ }
5867
+ },
5868
+ {
5869
+ "abstract": true,
5870
+ "docs": {
5871
+ "default": "- \"namespace\"",
5872
+ "stability": "experimental",
5873
+ "summary": "The key of the Output parameter to import the namespace details from the platform stack."
5874
+ },
5875
+ "immutable": true,
5876
+ "locationInModule": {
5877
+ "filename": "src/extensions/CloudMapExtension.ts",
5878
+ "line": 30
5879
+ },
5880
+ "name": "parameterKey",
5881
+ "optional": true,
5882
+ "type": {
5883
+ "primitive": "string"
5884
+ }
5885
+ }
5886
+ ],
5887
+ "symbolId": "src/extensions/CloudMapExtension:CloudMapExtensionProps"
5888
+ },
5889
+ "@btc-embedded/cdk-extensions.CognitoUserPool": {
5890
+ "assembly": "@btc-embedded/cdk-extensions",
5891
+ "base": "constructs.Construct",
5892
+ "docs": {
5893
+ "stability": "experimental"
5894
+ },
5895
+ "fqn": "@btc-embedded/cdk-extensions.CognitoUserPool",
5896
+ "initializer": {
5897
+ "docs": {
5898
+ "stability": "experimental"
5899
+ },
5900
+ "locationInModule": {
5901
+ "filename": "src/platform/CognitoUserPool.ts",
5902
+ "line": 15
5903
+ },
5904
+ "parameters": [
5905
+ {
5906
+ "name": "scope",
5907
+ "type": {
5908
+ "fqn": "constructs.Construct"
5909
+ }
5910
+ },
5911
+ {
5912
+ "name": "id",
5913
+ "type": {
5914
+ "primitive": "string"
5915
+ }
5916
+ },
5917
+ {
5918
+ "name": "props",
5919
+ "type": {
5920
+ "fqn": "@btc-embedded/cdk-extensions.CognitoUserPoolProps"
5921
+ }
5922
+ }
5923
+ ]
5924
+ },
5925
+ "kind": "class",
5926
+ "locationInModule": {
5927
+ "filename": "src/platform/CognitoUserPool.ts",
5928
+ "line": 11
5929
+ },
5930
+ "name": "CognitoUserPool",
5931
+ "properties": [
4877
5932
  {
4878
5933
  "docs": {
4879
5934
  "stability": "experimental"
4880
5935
  },
4881
5936
  "locationInModule": {
4882
- "filename": "src/extensions/CloudMapExtension.ts",
4883
- "line": 36
5937
+ "filename": "src/platform/CognitoUserPool.ts",
5938
+ "line": 12
4884
5939
  },
4885
- "name": "serviceName",
5940
+ "name": "userPool",
4886
5941
  "type": {
4887
- "primitive": "string"
5942
+ "fqn": "aws-cdk-lib.aws_cognito.IUserPool"
4888
5943
  }
4889
5944
  }
4890
5945
  ],
4891
- "symbolId": "src/extensions/CloudMapExtension:CloudMapExtension"
5946
+ "symbolId": "src/platform/CognitoUserPool:CognitoUserPool"
4892
5947
  },
4893
- "@btc-embedded/cdk-extensions.CloudMapExtensionProps": {
5948
+ "@btc-embedded/cdk-extensions.CognitoUserPoolProps": {
4894
5949
  "assembly": "@btc-embedded/cdk-extensions",
4895
5950
  "datatype": true,
4896
5951
  "docs": {
4897
5952
  "stability": "experimental"
4898
5953
  },
4899
- "fqn": "@btc-embedded/cdk-extensions.CloudMapExtensionProps",
5954
+ "fqn": "@btc-embedded/cdk-extensions.CognitoUserPoolProps",
4900
5955
  "kind": "interface",
4901
5956
  "locationInModule": {
4902
- "filename": "src/extensions/CloudMapExtension.ts",
4903
- "line": 19
5957
+ "filename": "src/platform/CognitoUserPool.ts",
5958
+ "line": 5
4904
5959
  },
4905
- "name": "CloudMapExtensionProps",
5960
+ "name": "CognitoUserPoolProps",
4906
5961
  "properties": [
4907
5962
  {
4908
5963
  "abstract": true,
4909
5964
  "docs": {
4910
5965
  "stability": "experimental",
4911
- "summary": "The name of the platform stack to import the namespace parameter details from."
4912
- },
4913
- "immutable": true,
4914
- "locationInModule": {
4915
- "filename": "src/extensions/CloudMapExtension.ts",
4916
- "line": 23
4917
- },
4918
- "name": "platformStackName",
4919
- "type": {
4920
- "primitive": "string"
4921
- }
4922
- },
4923
- {
4924
- "abstract": true,
4925
- "docs": {
4926
- "default": "- \"namespace\"",
4927
- "stability": "experimental",
4928
- "summary": "The key of the Output parameter to import the namespace details from the platform stack."
5966
+ "summary": "The ID of the Cognito User Pool to be imported."
4929
5967
  },
4930
5968
  "immutable": true,
4931
5969
  "locationInModule": {
4932
- "filename": "src/extensions/CloudMapExtension.ts",
4933
- "line": 30
5970
+ "filename": "src/platform/CognitoUserPool.ts",
5971
+ "line": 9
4934
5972
  },
4935
- "name": "parameterKey",
4936
- "optional": true,
5973
+ "name": "userPoolId",
4937
5974
  "type": {
4938
5975
  "primitive": "string"
4939
5976
  }
4940
5977
  }
4941
5978
  ],
4942
- "symbolId": "src/extensions/CloudMapExtension:CloudMapExtensionProps"
5979
+ "symbolId": "src/platform/CognitoUserPool:CognitoUserPoolProps"
4943
5980
  },
4944
5981
  "@btc-embedded/cdk-extensions.ContainerDefinitionExtensionProps": {
4945
5982
  "assembly": "@btc-embedded/cdk-extensions",
@@ -5077,17 +6114,18 @@
5077
6114
  "assembly": "@btc-embedded/cdk-extensions",
5078
6115
  "base": "constructs.Construct",
5079
6116
  "docs": {
5080
- "stability": "experimental",
6117
+ "deprecated": "Use {@link ApiUserPoolClient } or {@link ApplicationUserPoolClient } instead",
6118
+ "stability": "deprecated",
5081
6119
  "summary": "Create default user pool clients for the frontend and API access."
5082
6120
  },
5083
6121
  "fqn": "@btc-embedded/cdk-extensions.DefaultUserPoolClients",
5084
6122
  "initializer": {
5085
6123
  "docs": {
5086
- "stability": "experimental"
6124
+ "stability": "deprecated"
5087
6125
  },
5088
6126
  "locationInModule": {
5089
6127
  "filename": "src/platform/DefaultUserPoolClients.ts",
5090
- "line": 51
6128
+ "line": 52
5091
6129
  },
5092
6130
  "parameters": [
5093
6131
  {
@@ -5113,17 +6151,17 @@
5113
6151
  "kind": "class",
5114
6152
  "locationInModule": {
5115
6153
  "filename": "src/platform/DefaultUserPoolClients.ts",
5116
- "line": 47
6154
+ "line": 48
5117
6155
  },
5118
6156
  "name": "DefaultUserPoolClients",
5119
6157
  "properties": [
5120
6158
  {
5121
6159
  "docs": {
5122
- "stability": "experimental"
6160
+ "stability": "deprecated"
5123
6161
  },
5124
6162
  "locationInModule": {
5125
6163
  "filename": "src/platform/DefaultUserPoolClients.ts",
5126
- "line": 49
6164
+ "line": 50
5127
6165
  },
5128
6166
  "name": "apiClient",
5129
6167
  "type": {
@@ -5132,11 +6170,11 @@
5132
6170
  },
5133
6171
  {
5134
6172
  "docs": {
5135
- "stability": "experimental"
6173
+ "stability": "deprecated"
5136
6174
  },
5137
6175
  "locationInModule": {
5138
6176
  "filename": "src/platform/DefaultUserPoolClients.ts",
5139
- "line": 48
6177
+ "line": 49
5140
6178
  },
5141
6179
  "name": "frontendClient",
5142
6180
  "type": {
@@ -5979,17 +7017,226 @@
5979
7017
  }
5980
7018
  },
5981
7019
  {
5982
- "name": "extraContainer",
7020
+ "name": "extraContainer",
7021
+ "type": {
7022
+ "fqn": "@btc-embedded/cdk-extensions.ExtraContainerExtensionProps"
7023
+ }
7024
+ }
7025
+ ]
7026
+ },
7027
+ "kind": "class",
7028
+ "locationInModule": {
7029
+ "filename": "src/extensions/ExtraContainerExtension.ts",
7030
+ "line": 53
7031
+ },
7032
+ "methods": [
7033
+ {
7034
+ "docs": {
7035
+ "remarks": "It is generally used to\ncreate any final resources which might depend on the service itself.",
7036
+ "stability": "experimental",
7037
+ "summary": "When this hook is implemented by extension, it allows the extension to use the service which has been created."
7038
+ },
7039
+ "locationInModule": {
7040
+ "filename": "src/extensions/ExtraContainerExtension.ts",
7041
+ "line": 67
7042
+ },
7043
+ "name": "useService",
7044
+ "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
7045
+ "parameters": [
7046
+ {
7047
+ "name": "service",
7048
+ "type": {
7049
+ "union": {
7050
+ "types": [
7051
+ {
7052
+ "fqn": "aws-cdk-lib.aws_ecs.Ec2Service"
7053
+ },
7054
+ {
7055
+ "fqn": "aws-cdk-lib.aws_ecs.FargateService"
7056
+ }
7057
+ ]
7058
+ }
7059
+ }
7060
+ }
7061
+ ]
7062
+ },
7063
+ {
7064
+ "docs": {
7065
+ "stability": "experimental",
7066
+ "summary": "Once the task definition is created, this hook is called for each extension to give it a chance to add containers to the task definition, change the task definition's role to add permissions, etc."
7067
+ },
7068
+ "locationInModule": {
7069
+ "filename": "src/extensions/ExtraContainerExtension.ts",
7070
+ "line": 76
7071
+ },
7072
+ "name": "useTaskDefinition",
7073
+ "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
7074
+ "parameters": [
7075
+ {
7076
+ "name": "taskDefinition",
7077
+ "type": {
7078
+ "fqn": "aws-cdk-lib.aws_ecs.TaskDefinition"
7079
+ }
7080
+ }
7081
+ ]
7082
+ }
7083
+ ],
7084
+ "name": "ExtraContainerExtension",
7085
+ "properties": [
7086
+ {
7087
+ "docs": {
7088
+ "stability": "experimental"
7089
+ },
7090
+ "immutable": true,
7091
+ "locationInModule": {
7092
+ "filename": "src/extensions/ExtraContainerExtension.ts",
7093
+ "line": 54
7094
+ },
7095
+ "name": "containerName",
7096
+ "type": {
7097
+ "primitive": "string"
7098
+ }
7099
+ },
7100
+ {
7101
+ "docs": {
7102
+ "stability": "experimental"
7103
+ },
7104
+ "immutable": true,
7105
+ "locationInModule": {
7106
+ "filename": "src/extensions/ExtraContainerExtension.ts",
7107
+ "line": 63
7108
+ },
7109
+ "name": "dbAccess",
7110
+ "type": {
7111
+ "primitive": "boolean"
7112
+ }
7113
+ },
7114
+ {
7115
+ "docs": {
7116
+ "stability": "experimental"
7117
+ },
7118
+ "immutable": true,
7119
+ "locationInModule": {
7120
+ "filename": "src/extensions/ExtraContainerExtension.ts",
7121
+ "line": 118
7122
+ },
7123
+ "name": "healthCondition",
7124
+ "type": {
7125
+ "fqn": "aws-cdk-lib.aws_ecs.ContainerDependencyCondition"
7126
+ }
7127
+ },
7128
+ {
7129
+ "docs": {
7130
+ "stability": "experimental"
7131
+ },
7132
+ "immutable": true,
7133
+ "locationInModule": {
7134
+ "filename": "src/extensions/ExtraContainerExtension.ts",
7135
+ "line": 55
7136
+ },
7137
+ "name": "props",
7138
+ "type": {
7139
+ "fqn": "@btc-embedded/cdk-extensions.ExtraContainerExtensionProps"
7140
+ }
7141
+ }
7142
+ ],
7143
+ "symbolId": "src/extensions/ExtraContainerExtension:ExtraContainerExtension"
7144
+ },
7145
+ "@btc-embedded/cdk-extensions.ExtraContainerExtensionProps": {
7146
+ "assembly": "@btc-embedded/cdk-extensions",
7147
+ "datatype": true,
7148
+ "docs": {
7149
+ "stability": "experimental"
7150
+ },
7151
+ "fqn": "@btc-embedded/cdk-extensions.ExtraContainerExtensionProps",
7152
+ "kind": "interface",
7153
+ "locationInModule": {
7154
+ "filename": "src/extensions/ExtraContainerExtension.ts",
7155
+ "line": 42
7156
+ },
7157
+ "name": "ExtraContainerExtensionProps",
7158
+ "properties": [
7159
+ {
7160
+ "abstract": true,
7161
+ "docs": {
7162
+ "stability": "experimental"
7163
+ },
7164
+ "immutable": true,
7165
+ "locationInModule": {
7166
+ "filename": "src/extensions/ExtraContainerExtension.ts",
7167
+ "line": 43
7168
+ },
7169
+ "name": "container",
7170
+ "type": {
7171
+ "fqn": "@btc-embedded/cdk-extensions.ContainerProps"
7172
+ }
7173
+ },
7174
+ {
7175
+ "abstract": true,
7176
+ "docs": {
7177
+ "stability": "experimental"
7178
+ },
7179
+ "immutable": true,
7180
+ "locationInModule": {
7181
+ "filename": "src/extensions/ExtraContainerExtension.ts",
7182
+ "line": 50
7183
+ },
7184
+ "name": "dbAccess",
7185
+ "optional": true,
7186
+ "type": {
7187
+ "primitive": "boolean"
7188
+ }
7189
+ },
7190
+ {
7191
+ "abstract": true,
7192
+ "docs": {
7193
+ "remarks": "Defaults to ContainerDependencyCondition.HEALTHY.",
7194
+ "stability": "experimental",
7195
+ "summary": "Specify the condition when this container should be considered healthy such that the main container can start."
7196
+ },
7197
+ "immutable": true,
7198
+ "locationInModule": {
7199
+ "filename": "src/extensions/ExtraContainerExtension.ts",
7200
+ "line": 49
7201
+ },
7202
+ "name": "healthCheckCondition",
7203
+ "optional": true,
7204
+ "type": {
7205
+ "fqn": "aws-cdk-lib.aws_ecs.ContainerDependencyCondition"
7206
+ }
7207
+ }
7208
+ ],
7209
+ "symbolId": "src/extensions/ExtraContainerExtension:ExtraContainerExtensionProps"
7210
+ },
7211
+ "@btc-embedded/cdk-extensions.HTTPApiExtension": {
7212
+ "assembly": "@btc-embedded/cdk-extensions",
7213
+ "base": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
7214
+ "docs": {
7215
+ "stability": "experimental",
7216
+ "summary": "Configures the service to be reachable via an Http Api."
7217
+ },
7218
+ "fqn": "@btc-embedded/cdk-extensions.HTTPApiExtension",
7219
+ "initializer": {
7220
+ "docs": {
7221
+ "stability": "experimental"
7222
+ },
7223
+ "locationInModule": {
7224
+ "filename": "src/extensions/HTTPApiExtension.ts",
7225
+ "line": 72
7226
+ },
7227
+ "parameters": [
7228
+ {
7229
+ "name": "props",
5983
7230
  "type": {
5984
- "fqn": "@btc-embedded/cdk-extensions.ExtraContainerExtensionProps"
7231
+ "fqn": "@btc-embedded/cdk-extensions.HTTPApiExtensionProps"
5985
7232
  }
5986
7233
  }
5987
7234
  ]
5988
7235
  },
5989
7236
  "kind": "class",
5990
7237
  "locationInModule": {
5991
- "filename": "src/extensions/ExtraContainerExtension.ts",
5992
- "line": 53
7238
+ "filename": "src/extensions/HTTPApiExtension.ts",
7239
+ "line": 65
5993
7240
  },
5994
7241
  "methods": [
5995
7242
  {
@@ -5999,8 +7246,8 @@
5999
7246
  "summary": "When this hook is implemented by extension, it allows the extension to use the service which has been created."
6000
7247
  },
6001
7248
  "locationInModule": {
6002
- "filename": "src/extensions/ExtraContainerExtension.ts",
6003
- "line": 67
7249
+ "filename": "src/extensions/HTTPApiExtension.ts",
7250
+ "line": 77
6004
7251
  },
6005
7252
  "name": "useService",
6006
7253
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -6021,29 +7268,9 @@
6021
7268
  }
6022
7269
  }
6023
7270
  ]
6024
- },
6025
- {
6026
- "docs": {
6027
- "stability": "experimental",
6028
- "summary": "Once the task definition is created, this hook is called for each extension to give it a chance to add containers to the task definition, change the task definition's role to add permissions, etc."
6029
- },
6030
- "locationInModule": {
6031
- "filename": "src/extensions/ExtraContainerExtension.ts",
6032
- "line": 76
6033
- },
6034
- "name": "useTaskDefinition",
6035
- "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
6036
- "parameters": [
6037
- {
6038
- "name": "taskDefinition",
6039
- "type": {
6040
- "fqn": "aws-cdk-lib.aws_ecs.TaskDefinition"
6041
- }
6042
- }
6043
- ]
6044
7271
  }
6045
7272
  ],
6046
- "name": "ExtraContainerExtension",
7273
+ "name": "HTTPApiExtension",
6047
7274
  "properties": [
6048
7275
  {
6049
7276
  "docs": {
@@ -6051,99 +7278,108 @@
6051
7278
  },
6052
7279
  "immutable": true,
6053
7280
  "locationInModule": {
6054
- "filename": "src/extensions/ExtraContainerExtension.ts",
6055
- "line": 54
7281
+ "filename": "src/extensions/HTTPApiExtension.ts",
7282
+ "line": 66
6056
7283
  },
6057
- "name": "containerName",
7284
+ "name": "props",
6058
7285
  "type": {
6059
- "primitive": "string"
7286
+ "fqn": "@btc-embedded/cdk-extensions.HTTPApiExtensionProps"
6060
7287
  }
6061
- },
7288
+ }
7289
+ ],
7290
+ "symbolId": "src/extensions/HTTPApiExtension:HTTPApiExtension"
7291
+ },
7292
+ "@btc-embedded/cdk-extensions.HTTPApiExtensionProps": {
7293
+ "assembly": "@btc-embedded/cdk-extensions",
7294
+ "datatype": true,
7295
+ "docs": {
7296
+ "stability": "experimental"
7297
+ },
7298
+ "fqn": "@btc-embedded/cdk-extensions.HTTPApiExtensionProps",
7299
+ "kind": "interface",
7300
+ "locationInModule": {
7301
+ "filename": "src/extensions/HTTPApiExtension.ts",
7302
+ "line": 29
7303
+ },
7304
+ "name": "HTTPApiExtensionProps",
7305
+ "properties": [
6062
7306
  {
7307
+ "abstract": true,
6063
7308
  "docs": {
6064
- "stability": "experimental"
7309
+ "stability": "experimental",
7310
+ "summary": "Domain prefix for the API Gateway endpoint."
6065
7311
  },
6066
7312
  "immutable": true,
6067
7313
  "locationInModule": {
6068
- "filename": "src/extensions/ExtraContainerExtension.ts",
6069
- "line": 63
7314
+ "filename": "src/extensions/HTTPApiExtension.ts",
7315
+ "line": 48
6070
7316
  },
6071
- "name": "dbAccess",
7317
+ "name": "domainPrefix",
6072
7318
  "type": {
6073
- "primitive": "boolean"
7319
+ "primitive": "string"
6074
7320
  }
6075
7321
  },
6076
7322
  {
7323
+ "abstract": true,
6077
7324
  "docs": {
6078
- "stability": "experimental"
7325
+ "stability": "experimental",
7326
+ "summary": "Hosted Zone to create the gateway domain A record."
6079
7327
  },
6080
7328
  "immutable": true,
6081
7329
  "locationInModule": {
6082
- "filename": "src/extensions/ExtraContainerExtension.ts",
6083
- "line": 118
7330
+ "filename": "src/extensions/HTTPApiExtension.ts",
7331
+ "line": 53
6084
7332
  },
6085
- "name": "healthCondition",
7333
+ "name": "hostedZone",
6086
7334
  "type": {
6087
- "fqn": "aws-cdk-lib.aws_ecs.ContainerDependencyCondition"
7335
+ "fqn": "aws-cdk-lib.aws_route53.IHostedZone"
6088
7336
  }
6089
7337
  },
6090
7338
  {
7339
+ "abstract": true,
6091
7340
  "docs": {
6092
- "stability": "experimental"
7341
+ "stability": "experimental",
7342
+ "summary": "The name of the base platform stack."
6093
7343
  },
6094
7344
  "immutable": true,
6095
7345
  "locationInModule": {
6096
- "filename": "src/extensions/ExtraContainerExtension.ts",
6097
- "line": 55
7346
+ "filename": "src/extensions/HTTPApiExtension.ts",
7347
+ "line": 38
6098
7348
  },
6099
- "name": "props",
7349
+ "name": "platformStackName",
6100
7350
  "type": {
6101
- "fqn": "@btc-embedded/cdk-extensions.ExtraContainerExtensionProps"
7351
+ "primitive": "string"
6102
7352
  }
6103
- }
6104
- ],
6105
- "symbolId": "src/extensions/ExtraContainerExtension:ExtraContainerExtension"
6106
- },
6107
- "@btc-embedded/cdk-extensions.ExtraContainerExtensionProps": {
6108
- "assembly": "@btc-embedded/cdk-extensions",
6109
- "datatype": true,
6110
- "docs": {
6111
- "stability": "experimental"
6112
- },
6113
- "fqn": "@btc-embedded/cdk-extensions.ExtraContainerExtensionProps",
6114
- "kind": "interface",
6115
- "locationInModule": {
6116
- "filename": "src/extensions/ExtraContainerExtension.ts",
6117
- "line": 42
6118
- },
6119
- "name": "ExtraContainerExtensionProps",
6120
- "properties": [
7353
+ },
6121
7354
  {
6122
7355
  "abstract": true,
6123
7356
  "docs": {
6124
- "stability": "experimental"
7357
+ "stability": "experimental",
7358
+ "summary": "The security group ID of the API Gateway which should be allowed to connect to the service."
6125
7359
  },
6126
7360
  "immutable": true,
6127
7361
  "locationInModule": {
6128
- "filename": "src/extensions/ExtraContainerExtension.ts",
7362
+ "filename": "src/extensions/HTTPApiExtension.ts",
6129
7363
  "line": 43
6130
7364
  },
6131
- "name": "container",
7365
+ "name": "securityGroupId",
6132
7366
  "type": {
6133
- "fqn": "@btc-embedded/cdk-extensions.ContainerProps"
7367
+ "primitive": "string"
6134
7368
  }
6135
7369
  },
6136
7370
  {
6137
7371
  "abstract": true,
6138
7372
  "docs": {
6139
- "stability": "experimental"
7373
+ "remarks": "default: true",
7374
+ "stability": "experimental",
7375
+ "summary": "Enable access logs for the API Gateway."
6140
7376
  },
6141
7377
  "immutable": true,
6142
7378
  "locationInModule": {
6143
- "filename": "src/extensions/ExtraContainerExtension.ts",
6144
- "line": 50
7379
+ "filename": "src/extensions/HTTPApiExtension.ts",
7380
+ "line": 59
6145
7381
  },
6146
- "name": "dbAccess",
7382
+ "name": "enableAccessLogs",
6147
7383
  "optional": true,
6148
7384
  "type": {
6149
7385
  "primitive": "boolean"
@@ -6152,23 +7388,22 @@
6152
7388
  {
6153
7389
  "abstract": true,
6154
7390
  "docs": {
6155
- "remarks": "Defaults to ContainerDependencyCondition.HEALTHY.",
6156
7391
  "stability": "experimental",
6157
- "summary": "Specify the condition when this container should be considered healthy such that the main container can start."
7392
+ "summary": "The prefix for the API Gateway endpoint."
6158
7393
  },
6159
7394
  "immutable": true,
6160
7395
  "locationInModule": {
6161
- "filename": "src/extensions/ExtraContainerExtension.ts",
6162
- "line": 49
7396
+ "filename": "src/extensions/HTTPApiExtension.ts",
7397
+ "line": 33
6163
7398
  },
6164
- "name": "healthCheckCondition",
7399
+ "name": "prefix",
6165
7400
  "optional": true,
6166
7401
  "type": {
6167
- "fqn": "aws-cdk-lib.aws_ecs.ContainerDependencyCondition"
7402
+ "primitive": "string"
6168
7403
  }
6169
7404
  }
6170
7405
  ],
6171
- "symbolId": "src/extensions/ExtraContainerExtension:ExtraContainerExtensionProps"
7406
+ "symbolId": "src/extensions/HTTPApiExtension:HTTPApiExtensionProps"
6172
7407
  },
6173
7408
  "@btc-embedded/cdk-extensions.LogExtension": {
6174
7409
  "assembly": "@btc-embedded/cdk-extensions",
@@ -6809,11 +8044,134 @@
6809
8044
  "immutable": true,
6810
8045
  "locationInModule": {
6811
8046
  "filename": "src/platform/PrivateDnsNamespace.ts",
6812
- "line": 11
8047
+ "line": 11
8048
+ },
8049
+ "name": "id",
8050
+ "type": {
8051
+ "primitive": "string"
8052
+ }
8053
+ },
8054
+ {
8055
+ "abstract": true,
8056
+ "docs": {
8057
+ "stability": "experimental"
8058
+ },
8059
+ "immutable": true,
8060
+ "locationInModule": {
8061
+ "filename": "src/platform/PrivateDnsNamespace.ts",
8062
+ "line": 12
8063
+ },
8064
+ "name": "namespace",
8065
+ "type": {
8066
+ "primitive": "string"
8067
+ }
8068
+ }
8069
+ ],
8070
+ "symbolId": "src/platform/PrivateDnsNamespace:PredefinedPrivateDnsNamespaceProps"
8071
+ },
8072
+ "@btc-embedded/cdk-extensions.PrivateDnsNamespace": {
8073
+ "assembly": "@btc-embedded/cdk-extensions",
8074
+ "base": "constructs.Construct",
8075
+ "docs": {
8076
+ "stability": "experimental"
8077
+ },
8078
+ "fqn": "@btc-embedded/cdk-extensions.PrivateDnsNamespace",
8079
+ "initializer": {
8080
+ "docs": {
8081
+ "stability": "experimental"
8082
+ },
8083
+ "locationInModule": {
8084
+ "filename": "src/platform/PrivateDnsNamespace.ts",
8085
+ "line": 23
8086
+ },
8087
+ "parameters": [
8088
+ {
8089
+ "name": "scope",
8090
+ "type": {
8091
+ "fqn": "constructs.Construct"
8092
+ }
8093
+ },
8094
+ {
8095
+ "name": "id",
8096
+ "type": {
8097
+ "primitive": "string"
8098
+ }
8099
+ },
8100
+ {
8101
+ "name": "props",
8102
+ "type": {
8103
+ "fqn": "@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps"
8104
+ }
8105
+ }
8106
+ ]
8107
+ },
8108
+ "kind": "class",
8109
+ "locationInModule": {
8110
+ "filename": "src/platform/PrivateDnsNamespace.ts",
8111
+ "line": 21
8112
+ },
8113
+ "name": "PrivateDnsNamespace",
8114
+ "properties": [
8115
+ {
8116
+ "docs": {
8117
+ "stability": "experimental"
8118
+ },
8119
+ "immutable": true,
8120
+ "locationInModule": {
8121
+ "filename": "src/platform/PrivateDnsNamespace.ts",
8122
+ "line": 22
8123
+ },
8124
+ "name": "namespace",
8125
+ "type": {
8126
+ "fqn": "aws-cdk-lib.aws_servicediscovery.IPrivateDnsNamespace"
8127
+ }
8128
+ }
8129
+ ],
8130
+ "symbolId": "src/platform/PrivateDnsNamespace:PrivateDnsNamespace"
8131
+ },
8132
+ "@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps": {
8133
+ "assembly": "@btc-embedded/cdk-extensions",
8134
+ "datatype": true,
8135
+ "docs": {
8136
+ "stability": "experimental"
8137
+ },
8138
+ "fqn": "@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps",
8139
+ "kind": "interface",
8140
+ "locationInModule": {
8141
+ "filename": "src/platform/PrivateDnsNamespace.ts",
8142
+ "line": 15
8143
+ },
8144
+ "name": "PrivateDnsNamespaceProps",
8145
+ "properties": [
8146
+ {
8147
+ "abstract": true,
8148
+ "docs": {
8149
+ "stability": "experimental"
8150
+ },
8151
+ "immutable": true,
8152
+ "locationInModule": {
8153
+ "filename": "src/platform/PrivateDnsNamespace.ts",
8154
+ "line": 18
8155
+ },
8156
+ "name": "vpc",
8157
+ "type": {
8158
+ "fqn": "aws-cdk-lib.aws_ec2.IVpc"
8159
+ }
8160
+ },
8161
+ {
8162
+ "abstract": true,
8163
+ "docs": {
8164
+ "stability": "experimental"
8165
+ },
8166
+ "immutable": true,
8167
+ "locationInModule": {
8168
+ "filename": "src/platform/PrivateDnsNamespace.ts",
8169
+ "line": 16
6813
8170
  },
6814
- "name": "id",
8171
+ "name": "definedPrivateDnsNamespace",
8172
+ "optional": true,
6815
8173
  "type": {
6816
- "primitive": "string"
8174
+ "fqn": "@btc-embedded/cdk-extensions.PredefinedPrivateDnsNamespaceProps"
6817
8175
  }
6818
8176
  },
6819
8177
  {
@@ -6824,30 +8182,33 @@
6824
8182
  "immutable": true,
6825
8183
  "locationInModule": {
6826
8184
  "filename": "src/platform/PrivateDnsNamespace.ts",
6827
- "line": 12
8185
+ "line": 17
6828
8186
  },
6829
- "name": "namespace",
8187
+ "name": "namespaceName",
8188
+ "optional": true,
6830
8189
  "type": {
6831
8190
  "primitive": "string"
6832
8191
  }
6833
8192
  }
6834
8193
  ],
6835
- "symbolId": "src/platform/PrivateDnsNamespace:PredefinedPrivateDnsNamespaceProps"
8194
+ "symbolId": "src/platform/PrivateDnsNamespace:PrivateDnsNamespaceProps"
6836
8195
  },
6837
- "@btc-embedded/cdk-extensions.PrivateDnsNamespace": {
8196
+ "@btc-embedded/cdk-extensions.ResourceServer": {
6838
8197
  "assembly": "@btc-embedded/cdk-extensions",
6839
8198
  "base": "constructs.Construct",
6840
8199
  "docs": {
6841
- "stability": "experimental"
8200
+ "remarks": "This construct:\n- Adds a resource server to the specified Cognito User Pool.\n- Defines OAuth scopes for the resource server, either using provided custom scopes\n or defaulting to \"read_api\" and \"write_api\" scopes.\n- Provides a method to generate OAuthScope objects for use in API Gateway.",
8201
+ "stability": "experimental",
8202
+ "summary": "A construct that creates a Cognito Resource Server for managing OAuth scopes."
6842
8203
  },
6843
- "fqn": "@btc-embedded/cdk-extensions.PrivateDnsNamespace",
8204
+ "fqn": "@btc-embedded/cdk-extensions.ResourceServer",
6844
8205
  "initializer": {
6845
8206
  "docs": {
6846
8207
  "stability": "experimental"
6847
8208
  },
6848
8209
  "locationInModule": {
6849
- "filename": "src/platform/PrivateDnsNamespace.ts",
6850
- "line": 23
8210
+ "filename": "src/platform/ResourceServer.ts",
8211
+ "line": 41
6851
8212
  },
6852
8213
  "parameters": [
6853
8214
  {
@@ -6865,113 +8226,144 @@
6865
8226
  {
6866
8227
  "name": "props",
6867
8228
  "type": {
6868
- "fqn": "@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps"
8229
+ "fqn": "@btc-embedded/cdk-extensions.ResourceServerProps"
6869
8230
  }
6870
8231
  }
6871
8232
  ]
6872
8233
  },
6873
8234
  "kind": "class",
6874
8235
  "locationInModule": {
6875
- "filename": "src/platform/PrivateDnsNamespace.ts",
6876
- "line": 21
8236
+ "filename": "src/platform/ResourceServer.ts",
8237
+ "line": 38
6877
8238
  },
6878
- "name": "PrivateDnsNamespace",
8239
+ "methods": [
8240
+ {
8241
+ "docs": {
8242
+ "stability": "experimental"
8243
+ },
8244
+ "locationInModule": {
8245
+ "filename": "src/platform/ResourceServer.ts",
8246
+ "line": 64
8247
+ },
8248
+ "name": "createOAuthScopes",
8249
+ "returns": {
8250
+ "type": {
8251
+ "collection": {
8252
+ "elementtype": {
8253
+ "fqn": "aws-cdk-lib.aws_cognito.OAuthScope"
8254
+ },
8255
+ "kind": "array"
8256
+ }
8257
+ }
8258
+ }
8259
+ }
8260
+ ],
8261
+ "name": "ResourceServer",
6879
8262
  "properties": [
6880
8263
  {
6881
8264
  "docs": {
6882
8265
  "stability": "experimental"
6883
8266
  },
6884
- "immutable": true,
6885
8267
  "locationInModule": {
6886
- "filename": "src/platform/PrivateDnsNamespace.ts",
6887
- "line": 22
8268
+ "filename": "src/platform/ResourceServer.ts",
8269
+ "line": 39
6888
8270
  },
6889
- "name": "namespace",
8271
+ "name": "resourceServerInstance",
6890
8272
  "type": {
6891
- "fqn": "aws-cdk-lib.aws_servicediscovery.IPrivateDnsNamespace"
8273
+ "fqn": "aws-cdk-lib.aws_cognito.IUserPoolResourceServer"
6892
8274
  }
6893
8275
  }
6894
8276
  ],
6895
- "symbolId": "src/platform/PrivateDnsNamespace:PrivateDnsNamespace"
8277
+ "symbolId": "src/platform/ResourceServer:ResourceServer"
6896
8278
  },
6897
- "@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps": {
8279
+ "@btc-embedded/cdk-extensions.ResourceServerProps": {
6898
8280
  "assembly": "@btc-embedded/cdk-extensions",
6899
8281
  "datatype": true,
6900
8282
  "docs": {
6901
8283
  "stability": "experimental"
6902
8284
  },
6903
- "fqn": "@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps",
8285
+ "fqn": "@btc-embedded/cdk-extensions.ResourceServerProps",
6904
8286
  "kind": "interface",
6905
8287
  "locationInModule": {
6906
- "filename": "src/platform/PrivateDnsNamespace.ts",
6907
- "line": 15
8288
+ "filename": "src/platform/ResourceServer.ts",
8289
+ "line": 9
6908
8290
  },
6909
- "name": "PrivateDnsNamespaceProps",
8291
+ "name": "ResourceServerProps",
6910
8292
  "properties": [
6911
8293
  {
6912
8294
  "abstract": true,
6913
8295
  "docs": {
6914
- "stability": "experimental"
8296
+ "stability": "experimental",
8297
+ "summary": "The fully qualified domain name (FQDN) used as the identifier for the resource server."
6915
8298
  },
6916
8299
  "immutable": true,
6917
8300
  "locationInModule": {
6918
- "filename": "src/platform/PrivateDnsNamespace.ts",
8301
+ "filename": "src/platform/ResourceServer.ts",
6919
8302
  "line": 18
6920
8303
  },
6921
- "name": "vpc",
8304
+ "name": "fqdn",
6922
8305
  "type": {
6923
- "fqn": "aws-cdk-lib.aws_ec2.IVpc"
8306
+ "primitive": "string"
6924
8307
  }
6925
8308
  },
6926
8309
  {
6927
8310
  "abstract": true,
6928
8311
  "docs": {
6929
- "stability": "experimental"
8312
+ "stability": "experimental",
8313
+ "summary": "The Cognito User Pool to which the resource server will be added."
6930
8314
  },
6931
8315
  "immutable": true,
6932
8316
  "locationInModule": {
6933
- "filename": "src/platform/PrivateDnsNamespace.ts",
6934
- "line": 16
8317
+ "filename": "src/platform/ResourceServer.ts",
8318
+ "line": 13
6935
8319
  },
6936
- "name": "definedPrivateDnsNamespace",
6937
- "optional": true,
8320
+ "name": "userPool",
6938
8321
  "type": {
6939
- "fqn": "@btc-embedded/cdk-extensions.PredefinedPrivateDnsNamespaceProps"
8322
+ "fqn": "aws-cdk-lib.aws_cognito.IUserPool"
6940
8323
  }
6941
8324
  },
6942
8325
  {
6943
8326
  "abstract": true,
6944
8327
  "docs": {
6945
- "stability": "experimental"
8328
+ "default": "- Default scopes for \"read_api\" and \"write_api\" are used.",
8329
+ "remarks": "If not provided, default scopes for \"read_api\" and \"write_api\" will be created.",
8330
+ "stability": "experimental",
8331
+ "summary": "Optional custom scopes to define for the resource server."
6946
8332
  },
6947
8333
  "immutable": true,
6948
8334
  "locationInModule": {
6949
- "filename": "src/platform/PrivateDnsNamespace.ts",
6950
- "line": 17
8335
+ "filename": "src/platform/ResourceServer.ts",
8336
+ "line": 26
6951
8337
  },
6952
- "name": "namespaceName",
8338
+ "name": "scopes",
6953
8339
  "optional": true,
6954
8340
  "type": {
6955
- "primitive": "string"
8341
+ "collection": {
8342
+ "elementtype": {
8343
+ "fqn": "aws-cdk-lib.aws_cognito.ResourceServerScope"
8344
+ },
8345
+ "kind": "array"
8346
+ }
6956
8347
  }
6957
8348
  }
6958
8349
  ],
6959
- "symbolId": "src/platform/PrivateDnsNamespace:PrivateDnsNamespaceProps"
8350
+ "symbolId": "src/platform/ResourceServer:ResourceServerProps"
6960
8351
  },
6961
8352
  "@btc-embedded/cdk-extensions.SecureRestApi": {
6962
8353
  "assembly": "@btc-embedded/cdk-extensions",
6963
8354
  "base": "constructs.Construct",
6964
8355
  "docs": {
6965
- "stability": "experimental"
8356
+ "deprecated": "Use {@link SecureRestApiV2 } instead",
8357
+ "stability": "deprecated"
6966
8358
  },
6967
8359
  "fqn": "@btc-embedded/cdk-extensions.SecureRestApi",
6968
8360
  "initializer": {
6969
8361
  "docs": {
6970
- "stability": "experimental"
8362
+ "stability": "deprecated"
6971
8363
  },
6972
8364
  "locationInModule": {
6973
8365
  "filename": "src/constructs/SecureRestApi.ts",
6974
- "line": 45
8366
+ "line": 47
6975
8367
  },
6976
8368
  "parameters": [
6977
8369
  {
@@ -6997,17 +8389,17 @@
6997
8389
  "kind": "class",
6998
8390
  "locationInModule": {
6999
8391
  "filename": "src/constructs/SecureRestApi.ts",
7000
- "line": 37
8392
+ "line": 39
7001
8393
  },
7002
8394
  "name": "SecureRestApi",
7003
8395
  "properties": [
7004
8396
  {
7005
8397
  "docs": {
7006
- "stability": "experimental"
8398
+ "stability": "deprecated"
7007
8399
  },
7008
8400
  "locationInModule": {
7009
8401
  "filename": "src/constructs/SecureRestApi.ts",
7010
- "line": 40
8402
+ "line": 42
7011
8403
  },
7012
8404
  "name": "defaultAuthorizer",
7013
8405
  "type": {
@@ -7016,11 +8408,11 @@
7016
8408
  },
7017
8409
  {
7018
8410
  "docs": {
7019
- "stability": "experimental"
8411
+ "stability": "deprecated"
7020
8412
  },
7021
8413
  "locationInModule": {
7022
8414
  "filename": "src/constructs/SecureRestApi.ts",
7023
- "line": 39
8415
+ "line": 41
7024
8416
  },
7025
8417
  "name": "domainName",
7026
8418
  "type": {
@@ -7029,11 +8421,11 @@
7029
8421
  },
7030
8422
  {
7031
8423
  "docs": {
7032
- "stability": "experimental"
8424
+ "stability": "deprecated"
7033
8425
  },
7034
8426
  "locationInModule": {
7035
8427
  "filename": "src/constructs/SecureRestApi.ts",
7036
- "line": 43
8428
+ "line": 45
7037
8429
  },
7038
8430
  "name": "restApi",
7039
8431
  "type": {
@@ -7126,6 +8518,200 @@
7126
8518
  ],
7127
8519
  "symbolId": "src/constructs/SecureRestApi:SecureRestApiProps"
7128
8520
  },
8521
+ "@btc-embedded/cdk-extensions.SecureRestApiPropsV2": {
8522
+ "assembly": "@btc-embedded/cdk-extensions",
8523
+ "datatype": true,
8524
+ "docs": {
8525
+ "stability": "experimental"
8526
+ },
8527
+ "fqn": "@btc-embedded/cdk-extensions.SecureRestApiPropsV2",
8528
+ "kind": "interface",
8529
+ "locationInModule": {
8530
+ "filename": "src/constructs/SecureRestApiV2.ts",
8531
+ "line": 17
8532
+ },
8533
+ "name": "SecureRestApiPropsV2",
8534
+ "properties": [
8535
+ {
8536
+ "abstract": true,
8537
+ "docs": {
8538
+ "stability": "experimental",
8539
+ "summary": "Subdomain that is used for REST API props."
8540
+ },
8541
+ "immutable": true,
8542
+ "locationInModule": {
8543
+ "filename": "src/constructs/SecureRestApiV2.ts",
8544
+ "line": 25
8545
+ },
8546
+ "name": "apiSubDomain",
8547
+ "type": {
8548
+ "primitive": "string"
8549
+ }
8550
+ },
8551
+ {
8552
+ "abstract": true,
8553
+ "docs": {
8554
+ "stability": "experimental",
8555
+ "summary": "The name of the Base platform Stack."
8556
+ },
8557
+ "immutable": true,
8558
+ "locationInModule": {
8559
+ "filename": "src/constructs/SecureRestApiV2.ts",
8560
+ "line": 21
8561
+ },
8562
+ "name": "basePlatformStackName",
8563
+ "type": {
8564
+ "primitive": "string"
8565
+ }
8566
+ },
8567
+ {
8568
+ "abstract": true,
8569
+ "docs": {
8570
+ "stability": "experimental",
8571
+ "summary": "Props forwarded to the RestApi construct."
8572
+ },
8573
+ "immutable": true,
8574
+ "locationInModule": {
8575
+ "filename": "src/constructs/SecureRestApiV2.ts",
8576
+ "line": 36
8577
+ },
8578
+ "name": "restApiProps",
8579
+ "type": {
8580
+ "fqn": "aws-cdk-lib.aws_apigateway.RestApiProps"
8581
+ }
8582
+ },
8583
+ {
8584
+ "abstract": true,
8585
+ "docs": {
8586
+ "default": "- fqdn output of base platform stack is used to import the hosted zone",
8587
+ "stability": "experimental",
8588
+ "summary": "hosted zone for the subdomain An optional parameter."
8589
+ },
8590
+ "immutable": true,
8591
+ "locationInModule": {
8592
+ "filename": "src/constructs/SecureRestApiV2.ts",
8593
+ "line": 31
8594
+ },
8595
+ "name": "hostedZone",
8596
+ "optional": true,
8597
+ "type": {
8598
+ "fqn": "aws-cdk-lib.aws_route53.IHostedZone"
8599
+ }
8600
+ }
8601
+ ],
8602
+ "symbolId": "src/constructs/SecureRestApiV2:SecureRestApiPropsV2"
8603
+ },
8604
+ "@btc-embedded/cdk-extensions.SecureRestApiV2": {
8605
+ "assembly": "@btc-embedded/cdk-extensions",
8606
+ "base": "constructs.Construct",
8607
+ "docs": {
8608
+ "stability": "experimental"
8609
+ },
8610
+ "fqn": "@btc-embedded/cdk-extensions.SecureRestApiV2",
8611
+ "initializer": {
8612
+ "docs": {
8613
+ "stability": "experimental"
8614
+ },
8615
+ "locationInModule": {
8616
+ "filename": "src/constructs/SecureRestApiV2.ts",
8617
+ "line": 48
8618
+ },
8619
+ "parameters": [
8620
+ {
8621
+ "name": "scope",
8622
+ "type": {
8623
+ "fqn": "constructs.Construct"
8624
+ }
8625
+ },
8626
+ {
8627
+ "name": "id",
8628
+ "type": {
8629
+ "primitive": "string"
8630
+ }
8631
+ },
8632
+ {
8633
+ "name": "props",
8634
+ "type": {
8635
+ "fqn": "@btc-embedded/cdk-extensions.SecureRestApiPropsV2"
8636
+ }
8637
+ }
8638
+ ]
8639
+ },
8640
+ "kind": "class",
8641
+ "locationInModule": {
8642
+ "filename": "src/constructs/SecureRestApiV2.ts",
8643
+ "line": 39
8644
+ },
8645
+ "methods": [
8646
+ {
8647
+ "docs": {
8648
+ "stability": "experimental"
8649
+ },
8650
+ "locationInModule": {
8651
+ "filename": "src/constructs/SecureRestApiV2.ts",
8652
+ "line": 100
8653
+ },
8654
+ "name": "addMethod",
8655
+ "parameters": [
8656
+ {
8657
+ "name": "httpMethod",
8658
+ "type": {
8659
+ "primitive": "string"
8660
+ }
8661
+ },
8662
+ {
8663
+ "name": "target",
8664
+ "optional": true,
8665
+ "type": {
8666
+ "fqn": "aws-cdk-lib.aws_apigateway.Integration"
8667
+ }
8668
+ },
8669
+ {
8670
+ "name": "options",
8671
+ "optional": true,
8672
+ "type": {
8673
+ "fqn": "aws-cdk-lib.aws_apigateway.MethodOptions"
8674
+ }
8675
+ }
8676
+ ],
8677
+ "returns": {
8678
+ "type": {
8679
+ "fqn": "aws-cdk-lib.aws_apigateway.Method"
8680
+ }
8681
+ }
8682
+ }
8683
+ ],
8684
+ "name": "SecureRestApiV2",
8685
+ "properties": [
8686
+ {
8687
+ "docs": {
8688
+ "stability": "experimental"
8689
+ },
8690
+ "locationInModule": {
8691
+ "filename": "src/constructs/SecureRestApiV2.ts",
8692
+ "line": 42
8693
+ },
8694
+ "name": "defaultAuthorizer",
8695
+ "type": {
8696
+ "fqn": "aws-cdk-lib.aws_apigateway.CognitoUserPoolsAuthorizer"
8697
+ }
8698
+ },
8699
+ {
8700
+ "docs": {
8701
+ "stability": "experimental"
8702
+ },
8703
+ "locationInModule": {
8704
+ "filename": "src/constructs/SecureRestApiV2.ts",
8705
+ "line": 41
8706
+ },
8707
+ "name": "domainName",
8708
+ "type": {
8709
+ "primitive": "string"
8710
+ }
8711
+ }
8712
+ ],
8713
+ "symbolId": "src/constructs/SecureRestApiV2:SecureRestApiV2"
8714
+ },
7129
8715
  "@btc-embedded/cdk-extensions.SharedVolumeExtension": {
7130
8716
  "assembly": "@btc-embedded/cdk-extensions",
7131
8717
  "base": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -7606,6 +9192,6 @@
7606
9192
  "symbolId": "src/platform/Vpc:VpcProps"
7607
9193
  }
7608
9194
  },
7609
- "version": "0.8.3",
7610
- "fingerprint": "hjkXibG2aSyxdpYHJFVE8J+5+xU/QMo5/goFNs1unP4="
9195
+ "version": "0.9.0",
9196
+ "fingerprint": "jLRX0G4168AR5fnFHJCzZVyg+OxaXWECi93TCEP8mE0="
7611
9197
  }