@btc-embedded/cdk-extensions 0.8.4 → 0.9.1

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 (68) hide show
  1. package/.jsii +2606 -468
  2. package/API.md +5443 -1563
  3. package/CHANGELOG.md +42 -0
  4. package/lib/constructs/EventPipe.d.ts +119 -0
  5. package/lib/constructs/EventPipe.js +103 -0
  6. package/lib/constructs/S3Bucket.d.ts +10 -0
  7. package/lib/constructs/S3Bucket.js +39 -0
  8. package/lib/constructs/SecureRestApi.d.ts +3 -0
  9. package/lib/constructs/SecureRestApi.js +5 -2
  10. package/lib/constructs/SecureRestApiV2.d.ts +32 -0
  11. package/lib/constructs/SecureRestApiV2.js +64 -0
  12. package/lib/constructs/index.d.ts +3 -0
  13. package/lib/constructs/index.js +4 -1
  14. package/lib/extensions/ApiGatewayExtension.d.ts +1 -0
  15. package/lib/extensions/ApiGatewayExtension.js +3 -2
  16. package/lib/extensions/ApplicationLoadBalancerExtension.d.ts +3 -0
  17. package/lib/extensions/ApplicationLoadBalancerExtension.js +5 -2
  18. package/lib/extensions/ApplicationLoadBalancerExtensionV2.d.ts +24 -0
  19. package/lib/extensions/ApplicationLoadBalancerExtensionV2.js +79 -0
  20. package/lib/extensions/CloudMapExtension.js +1 -1
  21. package/lib/extensions/DeactivatableServiceExtension.d.ts +10 -0
  22. package/lib/extensions/DeactivatableServiceExtension.js +32 -0
  23. package/lib/extensions/DocumentDbAccessExtension.js +1 -1
  24. package/lib/extensions/DomainEventMessagingExtension.js +1 -1
  25. package/lib/extensions/ExtraContainerExtension.js +1 -1
  26. package/lib/extensions/HTTPApiExtension.d.ts +44 -0
  27. package/lib/extensions/HTTPApiExtension.js +116 -0
  28. package/lib/extensions/LogExtension.js +1 -1
  29. package/lib/extensions/ModifyContainerDefinitionExtension.js +1 -1
  30. package/lib/extensions/ModifyTaskDefinitionExtension.js +1 -1
  31. package/lib/extensions/OpenTelemetryExtension.js +1 -1
  32. package/lib/extensions/PostgresDbAccessExtension.js +1 -1
  33. package/lib/extensions/SharedVolumeExtension.js +1 -1
  34. package/lib/extensions/TcpKeepAliveExtension.js +1 -1
  35. package/lib/extensions/index.d.ts +3 -0
  36. package/lib/extensions/index.js +4 -1
  37. package/lib/platform/ApiGateway.d.ts +1 -1
  38. package/lib/platform/ApiGateway.js +3 -3
  39. package/lib/platform/ApiGatewayV2.d.ts +28 -0
  40. package/lib/platform/ApiGatewayV2.js +55 -0
  41. package/lib/platform/ApiUserPoolClient.d.ts +32 -0
  42. package/lib/platform/ApiUserPoolClient.js +47 -0
  43. package/lib/platform/ApplicationLoadBalancer.d.ts +3 -0
  44. package/lib/platform/ApplicationLoadBalancer.js +5 -2
  45. package/lib/platform/ApplicationLoadBalancerV2.d.ts +58 -0
  46. package/lib/platform/ApplicationLoadBalancerV2.js +97 -0
  47. package/lib/platform/ApplicationUserPoolClient.d.ts +51 -0
  48. package/lib/platform/ApplicationUserPoolClient.js +66 -0
  49. package/lib/platform/CognitoUserPool.d.ts +14 -0
  50. package/lib/platform/CognitoUserPool.js +28 -0
  51. package/lib/platform/DefaultUserPoolClients.d.ts +1 -0
  52. package/lib/platform/DefaultUserPoolClients.js +3 -2
  53. package/lib/platform/DocumentDB.js +1 -1
  54. package/lib/platform/PrivateDnsNamespace.js +1 -1
  55. package/lib/platform/ResourceServer.d.ts +34 -0
  56. package/lib/platform/ResourceServer.js +43 -0
  57. package/lib/platform/Vpc.js +1 -1
  58. package/lib/platform/index.d.ts +6 -0
  59. package/lib/platform/index.js +7 -1
  60. package/lib/utils/ImportValue.js +2 -1
  61. package/lib/utils/configFileParsing.d.ts +7 -0
  62. package/lib/utils/configFileParsing.js +31 -2
  63. package/lib/utils/deactivatedConstruct.d.ts +6 -0
  64. package/lib/utils/deactivatedConstruct.js +25 -0
  65. package/lib/utils/index.d.ts +1 -0
  66. package/lib/utils/index.js +2 -1
  67. package/package.json +2 -1
  68. package/rfcs/002-developer-stacks.md +268 -0
package/.jsii CHANGED
@@ -3946,18 +3946,35 @@
3946
3946
  }
3947
3947
  },
3948
3948
  "types": {
3949
+ "@btc-embedded/cdk-extensions.AnythingButFilterRule": {
3950
+ "assembly": "@btc-embedded/cdk-extensions",
3951
+ "datatype": true,
3952
+ "docs": {
3953
+ "stability": "experimental",
3954
+ "summary": "Rule that allows all values except the given ones."
3955
+ },
3956
+ "fqn": "@btc-embedded/cdk-extensions.AnythingButFilterRule",
3957
+ "kind": "interface",
3958
+ "locationInModule": {
3959
+ "filename": "src/constructs/EventPipe.ts",
3960
+ "line": 109
3961
+ },
3962
+ "name": "AnythingButFilterRule",
3963
+ "symbolId": "src/constructs/EventPipe:AnythingButFilterRule"
3964
+ },
3949
3965
  "@btc-embedded/cdk-extensions.ApiGateway": {
3950
3966
  "assembly": "@btc-embedded/cdk-extensions",
3951
3967
  "base": "constructs.Construct",
3952
3968
  "docs": {
3969
+ "deprecated": "Use the {@link ApiGatewayV2 } construct instead.",
3953
3970
  "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",
3971
+ "stability": "deprecated",
3955
3972
  "summary": "API Gateway construct to be used in base platforms."
3956
3973
  },
3957
3974
  "fqn": "@btc-embedded/cdk-extensions.ApiGateway",
3958
3975
  "initializer": {
3959
3976
  "docs": {
3960
- "stability": "experimental"
3977
+ "stability": "deprecated"
3961
3978
  },
3962
3979
  "locationInModule": {
3963
3980
  "filename": "src/platform/ApiGateway.ts",
@@ -3996,17 +4013,18 @@
3996
4013
  "assembly": "@btc-embedded/cdk-extensions",
3997
4014
  "base": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
3998
4015
  "docs": {
3999
- "stability": "experimental",
4016
+ "deprecated": "Use {@link HTTPApiExtension } instead",
4017
+ "stability": "deprecated",
4000
4018
  "summary": "Configures the service to be reachable via an API Gateway."
4001
4019
  },
4002
4020
  "fqn": "@btc-embedded/cdk-extensions.ApiGatewayExtension",
4003
4021
  "initializer": {
4004
4022
  "docs": {
4005
- "stability": "experimental"
4023
+ "stability": "deprecated"
4006
4024
  },
4007
4025
  "locationInModule": {
4008
4026
  "filename": "src/extensions/ApiGatewayExtension.ts",
4009
- "line": 48
4027
+ "line": 49
4010
4028
  },
4011
4029
  "parameters": [
4012
4030
  {
@@ -4020,18 +4038,18 @@
4020
4038
  "kind": "class",
4021
4039
  "locationInModule": {
4022
4040
  "filename": "src/extensions/ApiGatewayExtension.ts",
4023
- "line": 41
4041
+ "line": 42
4024
4042
  },
4025
4043
  "methods": [
4026
4044
  {
4027
4045
  "docs": {
4028
4046
  "remarks": "It is generally used to\ncreate any final resources which might depend on the service itself.",
4029
- "stability": "experimental",
4047
+ "stability": "deprecated",
4030
4048
  "summary": "When this hook is implemented by extension, it allows the extension to use the service which has been created."
4031
4049
  },
4032
4050
  "locationInModule": {
4033
4051
  "filename": "src/extensions/ApiGatewayExtension.ts",
4034
- "line": 53
4052
+ "line": 54
4035
4053
  },
4036
4054
  "name": "useService",
4037
4055
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -4058,12 +4076,12 @@
4058
4076
  "properties": [
4059
4077
  {
4060
4078
  "docs": {
4061
- "stability": "experimental"
4079
+ "stability": "deprecated"
4062
4080
  },
4063
4081
  "immutable": true,
4064
4082
  "locationInModule": {
4065
4083
  "filename": "src/extensions/ApiGatewayExtension.ts",
4066
- "line": 42
4084
+ "line": 43
4067
4085
  },
4068
4086
  "name": "props",
4069
4087
  "type": {
@@ -4274,20 +4292,233 @@
4274
4292
  ],
4275
4293
  "symbolId": "src/platform/ApiGateway:ApiGatewayProps"
4276
4294
  },
4277
- "@btc-embedded/cdk-extensions.ApplicationLoadBalancer": {
4295
+ "@btc-embedded/cdk-extensions.ApiGatewayPropsV2": {
4296
+ "assembly": "@btc-embedded/cdk-extensions",
4297
+ "datatype": true,
4298
+ "docs": {
4299
+ "stability": "experimental"
4300
+ },
4301
+ "fqn": "@btc-embedded/cdk-extensions.ApiGatewayPropsV2",
4302
+ "kind": "interface",
4303
+ "locationInModule": {
4304
+ "filename": "src/platform/ApiGatewayV2.ts",
4305
+ "line": 6
4306
+ },
4307
+ "name": "ApiGatewayPropsV2",
4308
+ "properties": [
4309
+ {
4310
+ "abstract": true,
4311
+ "docs": {
4312
+ "stability": "experimental",
4313
+ "summary": "VPC where the API GW Security group and VPC Link will be created."
4314
+ },
4315
+ "immutable": true,
4316
+ "locationInModule": {
4317
+ "filename": "src/platform/ApiGatewayV2.ts",
4318
+ "line": 10
4319
+ },
4320
+ "name": "vpc",
4321
+ "type": {
4322
+ "fqn": "aws-cdk-lib.aws_ec2.IVpc"
4323
+ }
4324
+ }
4325
+ ],
4326
+ "symbolId": "src/platform/ApiGatewayV2:ApiGatewayPropsV2"
4327
+ },
4328
+ "@btc-embedded/cdk-extensions.ApiGatewayV2": {
4329
+ "assembly": "@btc-embedded/cdk-extensions",
4330
+ "base": "constructs.Construct",
4331
+ "docs": {
4332
+ "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.",
4333
+ "stability": "experimental",
4334
+ "summary": "Constructs an API Gateway V2 resource for use in base platforms."
4335
+ },
4336
+ "fqn": "@btc-embedded/cdk-extensions.ApiGatewayV2",
4337
+ "initializer": {
4338
+ "docs": {
4339
+ "stability": "experimental"
4340
+ },
4341
+ "locationInModule": {
4342
+ "filename": "src/platform/ApiGatewayV2.ts",
4343
+ "line": 32
4344
+ },
4345
+ "parameters": [
4346
+ {
4347
+ "name": "scope",
4348
+ "type": {
4349
+ "fqn": "constructs.Construct"
4350
+ }
4351
+ },
4352
+ {
4353
+ "name": "id",
4354
+ "type": {
4355
+ "primitive": "string"
4356
+ }
4357
+ },
4358
+ {
4359
+ "name": "props",
4360
+ "type": {
4361
+ "fqn": "@btc-embedded/cdk-extensions.ApiGatewayPropsV2"
4362
+ }
4363
+ }
4364
+ ]
4365
+ },
4366
+ "kind": "class",
4367
+ "locationInModule": {
4368
+ "filename": "src/platform/ApiGatewayV2.ts",
4369
+ "line": 26
4370
+ },
4371
+ "name": "ApiGatewayV2",
4372
+ "symbolId": "src/platform/ApiGatewayV2:ApiGatewayV2"
4373
+ },
4374
+ "@btc-embedded/cdk-extensions.ApiUserPoolClient": {
4278
4375
  "assembly": "@btc-embedded/cdk-extensions",
4279
4376
  "base": "constructs.Construct",
4377
+ "docs": {
4378
+ "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.",
4379
+ "stability": "experimental",
4380
+ "summary": "A construct that creates a Cognito User Pool Client for API access."
4381
+ },
4382
+ "fqn": "@btc-embedded/cdk-extensions.ApiUserPoolClient",
4383
+ "initializer": {
4384
+ "docs": {
4385
+ "stability": "experimental"
4386
+ },
4387
+ "locationInModule": {
4388
+ "filename": "src/platform/ApiUserPoolClient.ts",
4389
+ "line": 41
4390
+ },
4391
+ "parameters": [
4392
+ {
4393
+ "name": "scope",
4394
+ "type": {
4395
+ "fqn": "constructs.Construct"
4396
+ }
4397
+ },
4398
+ {
4399
+ "name": "id",
4400
+ "type": {
4401
+ "primitive": "string"
4402
+ }
4403
+ },
4404
+ {
4405
+ "name": "props",
4406
+ "type": {
4407
+ "fqn": "@btc-embedded/cdk-extensions.ApiUserPoolClientProps"
4408
+ }
4409
+ }
4410
+ ]
4411
+ },
4412
+ "kind": "class",
4413
+ "locationInModule": {
4414
+ "filename": "src/platform/ApiUserPoolClient.ts",
4415
+ "line": 38
4416
+ },
4417
+ "name": "ApiUserPoolClient",
4418
+ "properties": [
4419
+ {
4420
+ "docs": {
4421
+ "stability": "experimental"
4422
+ },
4423
+ "locationInModule": {
4424
+ "filename": "src/platform/ApiUserPoolClient.ts",
4425
+ "line": 39
4426
+ },
4427
+ "name": "apiClient",
4428
+ "type": {
4429
+ "fqn": "aws-cdk-lib.aws_cognito.IUserPoolClient"
4430
+ }
4431
+ }
4432
+ ],
4433
+ "symbolId": "src/platform/ApiUserPoolClient:ApiUserPoolClient"
4434
+ },
4435
+ "@btc-embedded/cdk-extensions.ApiUserPoolClientProps": {
4436
+ "assembly": "@btc-embedded/cdk-extensions",
4437
+ "datatype": true,
4280
4438
  "docs": {
4281
4439
  "stability": "experimental"
4282
4440
  },
4441
+ "fqn": "@btc-embedded/cdk-extensions.ApiUserPoolClientProps",
4442
+ "kind": "interface",
4443
+ "locationInModule": {
4444
+ "filename": "src/platform/ApiUserPoolClient.ts",
4445
+ "line": 11
4446
+ },
4447
+ "name": "ApiUserPoolClientProps",
4448
+ "properties": [
4449
+ {
4450
+ "abstract": true,
4451
+ "docs": {
4452
+ "stability": "experimental",
4453
+ "summary": "The user pool which should be attached to the clients."
4454
+ },
4455
+ "immutable": true,
4456
+ "locationInModule": {
4457
+ "filename": "src/platform/ApiUserPoolClient.ts",
4458
+ "line": 15
4459
+ },
4460
+ "name": "cognitoUserPool",
4461
+ "type": {
4462
+ "fqn": "@btc-embedded/cdk-extensions.CognitoUserPool"
4463
+ }
4464
+ },
4465
+ {
4466
+ "abstract": true,
4467
+ "docs": {
4468
+ "remarks": "This is used to define OAuth scopes for the client.",
4469
+ "stability": "experimental",
4470
+ "summary": "The resource server associated with the user pool client."
4471
+ },
4472
+ "immutable": true,
4473
+ "locationInModule": {
4474
+ "filename": "src/platform/ApiUserPoolClient.ts",
4475
+ "line": 26
4476
+ },
4477
+ "name": "resourceServer",
4478
+ "type": {
4479
+ "fqn": "@btc-embedded/cdk-extensions.ResourceServer"
4480
+ }
4481
+ },
4482
+ {
4483
+ "abstract": true,
4484
+ "docs": {
4485
+ "stability": "experimental",
4486
+ "summary": "Specify additional user pool identity providers to enable federated login."
4487
+ },
4488
+ "immutable": true,
4489
+ "locationInModule": {
4490
+ "filename": "src/platform/ApiUserPoolClient.ts",
4491
+ "line": 20
4492
+ },
4493
+ "name": "additonalUserPoolIdentityProviders",
4494
+ "optional": true,
4495
+ "type": {
4496
+ "collection": {
4497
+ "elementtype": {
4498
+ "primitive": "string"
4499
+ },
4500
+ "kind": "array"
4501
+ }
4502
+ }
4503
+ }
4504
+ ],
4505
+ "symbolId": "src/platform/ApiUserPoolClient:ApiUserPoolClientProps"
4506
+ },
4507
+ "@btc-embedded/cdk-extensions.ApplicationLoadBalancer": {
4508
+ "assembly": "@btc-embedded/cdk-extensions",
4509
+ "base": "constructs.Construct",
4510
+ "docs": {
4511
+ "deprecated": "Use {@link ApplicationLoadBalancerV2 } instead",
4512
+ "stability": "deprecated"
4513
+ },
4283
4514
  "fqn": "@btc-embedded/cdk-extensions.ApplicationLoadBalancer",
4284
4515
  "initializer": {
4285
4516
  "docs": {
4286
- "stability": "experimental"
4517
+ "stability": "deprecated"
4287
4518
  },
4288
4519
  "locationInModule": {
4289
4520
  "filename": "src/platform/ApplicationLoadBalancer.ts",
4290
- "line": 40
4521
+ "line": 42
4291
4522
  },
4292
4523
  "parameters": [
4293
4524
  {
@@ -4313,18 +4544,18 @@
4313
4544
  "kind": "class",
4314
4545
  "locationInModule": {
4315
4546
  "filename": "src/platform/ApplicationLoadBalancer.ts",
4316
- "line": 33
4547
+ "line": 35
4317
4548
  },
4318
4549
  "name": "ApplicationLoadBalancer",
4319
4550
  "properties": [
4320
4551
  {
4321
4552
  "docs": {
4322
- "stability": "experimental"
4553
+ "stability": "deprecated"
4323
4554
  },
4324
4555
  "immutable": true,
4325
4556
  "locationInModule": {
4326
4557
  "filename": "src/platform/ApplicationLoadBalancer.ts",
4327
- "line": 34
4558
+ "line": 36
4328
4559
  },
4329
4560
  "name": "loadbalancer",
4330
4561
  "type": {
@@ -4333,12 +4564,12 @@
4333
4564
  },
4334
4565
  {
4335
4566
  "docs": {
4336
- "stability": "experimental"
4567
+ "stability": "deprecated"
4337
4568
  },
4338
4569
  "immutable": true,
4339
4570
  "locationInModule": {
4340
4571
  "filename": "src/platform/ApplicationLoadBalancer.ts",
4341
- "line": 36
4572
+ "line": 38
4342
4573
  },
4343
4574
  "name": "loadBalancer",
4344
4575
  "type": {
@@ -4352,16 +4583,17 @@
4352
4583
  "assembly": "@btc-embedded/cdk-extensions",
4353
4584
  "base": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
4354
4585
  "docs": {
4355
- "stability": "experimental"
4586
+ "deprecated": "Use {@link ApplicationLoadBalancerExtensionV2 } instead",
4587
+ "stability": "deprecated"
4356
4588
  },
4357
4589
  "fqn": "@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension",
4358
4590
  "initializer": {
4359
4591
  "docs": {
4360
- "stability": "experimental"
4592
+ "stability": "deprecated"
4361
4593
  },
4362
4594
  "locationInModule": {
4363
4595
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
4364
- "line": 87
4596
+ "line": 89
4365
4597
  },
4366
4598
  "parameters": [
4367
4599
  {
@@ -4375,29 +4607,29 @@
4375
4607
  "kind": "class",
4376
4608
  "locationInModule": {
4377
4609
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
4378
- "line": 77
4610
+ "line": 79
4379
4611
  },
4380
4612
  "methods": [
4381
4613
  {
4382
4614
  "docs": {
4383
- "stability": "experimental",
4615
+ "stability": "deprecated",
4384
4616
  "summary": "A hook that allows the extension to add hooks to other extensions that are registered."
4385
4617
  },
4386
4618
  "locationInModule": {
4387
4619
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
4388
- "line": 93
4620
+ "line": 95
4389
4621
  },
4390
4622
  "name": "addHooks",
4391
4623
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension"
4392
4624
  },
4393
4625
  {
4394
4626
  "docs": {
4395
- "stability": "experimental",
4627
+ "stability": "deprecated",
4396
4628
  "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
4629
  },
4398
4630
  "locationInModule": {
4399
4631
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
4400
- "line": 162
4632
+ "line": 164
4401
4633
  },
4402
4634
  "name": "modifyServiceProps",
4403
4635
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -4417,12 +4649,12 @@
4417
4649
  },
4418
4650
  {
4419
4651
  "docs": {
4420
- "stability": "experimental",
4652
+ "stability": "deprecated",
4421
4653
  "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
4654
  },
4423
4655
  "locationInModule": {
4424
4656
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
4425
- "line": 115
4657
+ "line": 117
4426
4658
  },
4427
4659
  "name": "prehook",
4428
4660
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -4444,12 +4676,12 @@
4444
4676
  {
4445
4677
  "docs": {
4446
4678
  "remarks": "It is generally used to\ncreate any final resources which might depend on the service itself.",
4447
- "stability": "experimental",
4679
+ "stability": "deprecated",
4448
4680
  "summary": "When this hook is implemented by extension, it allows the extension to use the service which has been created."
4449
4681
  },
4450
4682
  "locationInModule": {
4451
4683
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
4452
- "line": 169
4684
+ "line": 171
4453
4685
  },
4454
4686
  "name": "useService",
4455
4687
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -4476,12 +4708,12 @@
4476
4708
  "properties": [
4477
4709
  {
4478
4710
  "docs": {
4479
- "stability": "experimental"
4711
+ "stability": "deprecated"
4480
4712
  },
4481
4713
  "immutable": true,
4482
4714
  "locationInModule": {
4483
4715
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
4484
- "line": 85
4716
+ "line": 87
4485
4717
  },
4486
4718
  "name": "fqdn",
4487
4719
  "type": {
@@ -4490,11 +4722,11 @@
4490
4722
  },
4491
4723
  {
4492
4724
  "docs": {
4493
- "stability": "experimental"
4725
+ "stability": "deprecated"
4494
4726
  },
4495
4727
  "locationInModule": {
4496
4728
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
4497
- "line": 81
4729
+ "line": 83
4498
4730
  },
4499
4731
  "name": "userPool",
4500
4732
  "type": {
@@ -4503,11 +4735,11 @@
4503
4735
  },
4504
4736
  {
4505
4737
  "docs": {
4506
- "stability": "experimental"
4738
+ "stability": "deprecated"
4507
4739
  },
4508
4740
  "locationInModule": {
4509
4741
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
4510
- "line": 82
4742
+ "line": 84
4511
4743
  },
4512
4744
  "name": "userPoolClient",
4513
4745
  "type": {
@@ -4516,11 +4748,11 @@
4516
4748
  },
4517
4749
  {
4518
4750
  "docs": {
4519
- "stability": "experimental"
4751
+ "stability": "deprecated"
4520
4752
  },
4521
4753
  "locationInModule": {
4522
4754
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
4523
- "line": 83
4755
+ "line": 85
4524
4756
  },
4525
4757
  "name": "userPoolDomain",
4526
4758
  "type": {
@@ -4639,19 +4871,19 @@
4639
4871
  ],
4640
4872
  "symbolId": "src/extensions/ApplicationLoadBalancerExtension:ApplicationLoadBalancerExtensionProps"
4641
4873
  },
4642
- "@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps": {
4874
+ "@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2": {
4643
4875
  "assembly": "@btc-embedded/cdk-extensions",
4644
4876
  "datatype": true,
4645
4877
  "docs": {
4646
4878
  "stability": "experimental"
4647
4879
  },
4648
- "fqn": "@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps",
4880
+ "fqn": "@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2",
4649
4881
  "kind": "interface",
4650
4882
  "locationInModule": {
4651
- "filename": "src/platform/ApplicationLoadBalancer.ts",
4652
- "line": 24
4883
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
4884
+ "line": 26
4653
4885
  },
4654
- "name": "ApplicationLoadBalancerProps",
4886
+ "name": "ApplicationLoadBalancerExtensionPropsV2",
4655
4887
  "properties": [
4656
4888
  {
4657
4889
  "abstract": true,
@@ -4660,10 +4892,10 @@
4660
4892
  },
4661
4893
  "immutable": true,
4662
4894
  "locationInModule": {
4663
- "filename": "src/platform/ApplicationLoadBalancer.ts",
4664
- "line": 25
4895
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
4896
+ "line": 30
4665
4897
  },
4666
- "name": "fqdn",
4898
+ "name": "clientScope",
4667
4899
  "type": {
4668
4900
  "primitive": "string"
4669
4901
  }
@@ -4675,12 +4907,12 @@
4675
4907
  },
4676
4908
  "immutable": true,
4677
4909
  "locationInModule": {
4678
- "filename": "src/platform/ApplicationLoadBalancer.ts",
4679
- "line": 30
4910
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
4911
+ "line": 27
4680
4912
  },
4681
- "name": "hostedZone",
4913
+ "name": "platformStackName",
4682
4914
  "type": {
4683
- "fqn": "aws-cdk-lib.aws_route53.IHostedZone"
4915
+ "primitive": "string"
4684
4916
  }
4685
4917
  },
4686
4918
  {
@@ -4690,12 +4922,12 @@
4690
4922
  },
4691
4923
  "immutable": true,
4692
4924
  "locationInModule": {
4693
- "filename": "src/platform/ApplicationLoadBalancer.ts",
4694
- "line": 27
4925
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
4926
+ "line": 29
4695
4927
  },
4696
- "name": "userPool",
4928
+ "name": "securityGroupId",
4697
4929
  "type": {
4698
- "fqn": "aws-cdk-lib.aws_cognito.IUserPool"
4930
+ "primitive": "string"
4699
4931
  }
4700
4932
  },
4701
4933
  {
@@ -4705,12 +4937,12 @@
4705
4937
  },
4706
4938
  "immutable": true,
4707
4939
  "locationInModule": {
4708
- "filename": "src/platform/ApplicationLoadBalancer.ts",
4940
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
4709
4941
  "line": 28
4710
4942
  },
4711
- "name": "userPoolClient",
4943
+ "name": "userPoolClientSecret",
4712
4944
  "type": {
4713
- "fqn": "aws-cdk-lib.aws_cognito.IUserPoolClient"
4945
+ "primitive": "string"
4714
4946
  }
4715
4947
  },
4716
4948
  {
@@ -4720,12 +4952,13 @@
4720
4952
  },
4721
4953
  "immutable": true,
4722
4954
  "locationInModule": {
4723
- "filename": "src/platform/ApplicationLoadBalancer.ts",
4724
- "line": 29
4955
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
4956
+ "line": 31
4725
4957
  },
4726
- "name": "userPoolDomain",
4958
+ "name": "healtCheckPath",
4959
+ "optional": true,
4727
4960
  "type": {
4728
- "fqn": "aws-cdk-lib.aws_cognito.IUserPoolDomain"
4961
+ "primitive": "string"
4729
4962
  }
4730
4963
  },
4731
4964
  {
@@ -4735,73 +4968,59 @@
4735
4968
  },
4736
4969
  "immutable": true,
4737
4970
  "locationInModule": {
4738
- "filename": "src/platform/ApplicationLoadBalancer.ts",
4739
- "line": 26
4971
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
4972
+ "line": 32
4740
4973
  },
4741
- "name": "vpc",
4974
+ "name": "path",
4975
+ "optional": true,
4742
4976
  "type": {
4743
- "fqn": "aws-cdk-lib.aws_ec2.IVpc"
4977
+ "primitive": "string"
4744
4978
  }
4745
4979
  }
4746
4980
  ],
4747
- "symbolId": "src/platform/ApplicationLoadBalancer:ApplicationLoadBalancerProps"
4981
+ "symbolId": "src/extensions/ApplicationLoadBalancerExtensionV2:ApplicationLoadBalancerExtensionPropsV2"
4748
4982
  },
4749
- "@btc-embedded/cdk-extensions.CloudMapExtension": {
4983
+ "@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionV2": {
4750
4984
  "assembly": "@btc-embedded/cdk-extensions",
4751
4985
  "base": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
4752
4986
  "docs": {
4753
4987
  "stability": "experimental"
4754
4988
  },
4755
- "fqn": "@btc-embedded/cdk-extensions.CloudMapExtension",
4989
+ "fqn": "@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionV2",
4756
4990
  "initializer": {
4757
4991
  "docs": {
4758
4992
  "stability": "experimental"
4759
4993
  },
4760
4994
  "locationInModule": {
4761
- "filename": "src/extensions/CloudMapExtension.ts",
4762
- "line": 38
4995
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
4996
+ "line": 76
4763
4997
  },
4764
4998
  "parameters": [
4765
4999
  {
4766
5000
  "name": "props",
4767
5001
  "type": {
4768
- "fqn": "@btc-embedded/cdk-extensions.CloudMapExtensionProps"
5002
+ "fqn": "@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2"
4769
5003
  }
4770
5004
  }
4771
5005
  ]
4772
5006
  },
4773
5007
  "kind": "class",
4774
5008
  "locationInModule": {
4775
- "filename": "src/extensions/CloudMapExtension.ts",
4776
- "line": 33
5009
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
5010
+ "line": 67
4777
5011
  },
4778
5012
  "methods": [
4779
5013
  {
4780
5014
  "docs": {
4781
5015
  "stability": "experimental",
4782
- "summary": "Adjust the security group of the given service to allow traffic from this service."
5016
+ "summary": "A hook that allows the extension to add hooks to other extensions that are registered."
4783
5017
  },
4784
5018
  "locationInModule": {
4785
- "filename": "src/extensions/CloudMapExtension.ts",
4786
- "line": 129
5019
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
5020
+ "line": 82
4787
5021
  },
4788
- "name": "connectToService",
4789
- "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
4790
- "parameters": [
4791
- {
4792
- "name": "service",
4793
- "type": {
4794
- "fqn": "@aws-cdk-containers/ecs-service-extensions.Service"
4795
- }
4796
- },
4797
- {
4798
- "name": "_connectToProps",
4799
- "optional": true,
4800
- "type": {
4801
- "fqn": "@aws-cdk-containers/ecs-service-extensions.ConnectToProps"
4802
- }
4803
- }
4804
- ]
5022
+ "name": "addHooks",
5023
+ "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension"
4805
5024
  },
4806
5025
  {
4807
5026
  "docs": {
@@ -4809,8 +5028,8 @@
4809
5028
  "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."
4810
5029
  },
4811
5030
  "locationInModule": {
4812
- "filename": "src/extensions/CloudMapExtension.ts",
4813
- "line": 44
5031
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
5032
+ "line": 133
4814
5033
  },
4815
5034
  "name": "modifyServiceProps",
4816
5035
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -4828,6 +5047,32 @@
4828
5047
  }
4829
5048
  }
4830
5049
  },
5050
+ {
5051
+ "docs": {
5052
+ "stability": "experimental",
5053
+ "summary": "A hook that is called for each extension ahead of time to allow for any initial setup, such as creating resources in advance."
5054
+ },
5055
+ "locationInModule": {
5056
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
5057
+ "line": 104
5058
+ },
5059
+ "name": "prehook",
5060
+ "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
5061
+ "parameters": [
5062
+ {
5063
+ "name": "service",
5064
+ "type": {
5065
+ "fqn": "@aws-cdk-containers/ecs-service-extensions.Service"
5066
+ }
5067
+ },
5068
+ {
5069
+ "name": "scope",
5070
+ "type": {
5071
+ "fqn": "constructs.Construct"
5072
+ }
5073
+ }
5074
+ ]
5075
+ },
4831
5076
  {
4832
5077
  "docs": {
4833
5078
  "remarks": "It is generally used to\ncreate any final resources which might depend on the service itself.",
@@ -4835,8 +5080,8 @@
4835
5080
  "summary": "When this hook is implemented by extension, it allows the extension to use the service which has been created."
4836
5081
  },
4837
5082
  "locationInModule": {
4838
- "filename": "src/extensions/CloudMapExtension.ts",
4839
- "line": 87
5083
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
5084
+ "line": 140
4840
5085
  },
4841
5086
  "name": "useService",
4842
5087
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -4859,19 +5104,20 @@
4859
5104
  ]
4860
5105
  }
4861
5106
  ],
4862
- "name": "CloudMapExtension",
5107
+ "name": "ApplicationLoadBalancerExtensionV2",
4863
5108
  "properties": [
4864
5109
  {
4865
5110
  "docs": {
4866
5111
  "stability": "experimental"
4867
5112
  },
5113
+ "immutable": true,
4868
5114
  "locationInModule": {
4869
- "filename": "src/extensions/CloudMapExtension.ts",
4870
- "line": 34
5115
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
5116
+ "line": 74
4871
5117
  },
4872
- "name": "props",
5118
+ "name": "fqdn",
4873
5119
  "type": {
4874
- "fqn": "@btc-embedded/cdk-extensions.CloudMapExtensionProps"
5120
+ "primitive": "string"
4875
5121
  }
4876
5122
  },
4877
5123
  {
@@ -4879,43 +5125,68 @@
4879
5125
  "stability": "experimental"
4880
5126
  },
4881
5127
  "locationInModule": {
4882
- "filename": "src/extensions/CloudMapExtension.ts",
4883
- "line": 36
5128
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
5129
+ "line": 70
4884
5130
  },
4885
- "name": "serviceName",
5131
+ "name": "userPool",
4886
5132
  "type": {
4887
- "primitive": "string"
5133
+ "fqn": "aws-cdk-lib.aws_cognito.IUserPool"
5134
+ }
5135
+ },
5136
+ {
5137
+ "docs": {
5138
+ "stability": "experimental"
5139
+ },
5140
+ "locationInModule": {
5141
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
5142
+ "line": 71
5143
+ },
5144
+ "name": "userPoolClient",
5145
+ "type": {
5146
+ "fqn": "aws-cdk-lib.aws_cognito.IUserPoolClient"
5147
+ }
5148
+ },
5149
+ {
5150
+ "docs": {
5151
+ "stability": "experimental"
5152
+ },
5153
+ "locationInModule": {
5154
+ "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
5155
+ "line": 72
5156
+ },
5157
+ "name": "userPoolDomain",
5158
+ "type": {
5159
+ "fqn": "aws-cdk-lib.aws_cognito.IUserPoolDomain"
4888
5160
  }
4889
5161
  }
4890
5162
  ],
4891
- "symbolId": "src/extensions/CloudMapExtension:CloudMapExtension"
5163
+ "symbolId": "src/extensions/ApplicationLoadBalancerExtensionV2:ApplicationLoadBalancerExtensionV2"
4892
5164
  },
4893
- "@btc-embedded/cdk-extensions.CloudMapExtensionProps": {
5165
+ "@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps": {
4894
5166
  "assembly": "@btc-embedded/cdk-extensions",
4895
5167
  "datatype": true,
4896
5168
  "docs": {
4897
5169
  "stability": "experimental"
4898
5170
  },
4899
- "fqn": "@btc-embedded/cdk-extensions.CloudMapExtensionProps",
5171
+ "fqn": "@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps",
4900
5172
  "kind": "interface",
4901
5173
  "locationInModule": {
4902
- "filename": "src/extensions/CloudMapExtension.ts",
4903
- "line": 19
5174
+ "filename": "src/platform/ApplicationLoadBalancer.ts",
5175
+ "line": 24
4904
5176
  },
4905
- "name": "CloudMapExtensionProps",
5177
+ "name": "ApplicationLoadBalancerProps",
4906
5178
  "properties": [
4907
5179
  {
4908
5180
  "abstract": true,
4909
5181
  "docs": {
4910
- "stability": "experimental",
4911
- "summary": "The name of the platform stack to import the namespace parameter details from."
5182
+ "stability": "experimental"
4912
5183
  },
4913
5184
  "immutable": true,
4914
5185
  "locationInModule": {
4915
- "filename": "src/extensions/CloudMapExtension.ts",
4916
- "line": 23
5186
+ "filename": "src/platform/ApplicationLoadBalancer.ts",
5187
+ "line": 25
4917
5188
  },
4918
- "name": "platformStackName",
5189
+ "name": "fqdn",
4919
5190
  "type": {
4920
5191
  "primitive": "string"
4921
5192
  }
@@ -4923,171 +5194,251 @@
4923
5194
  {
4924
5195
  "abstract": true,
4925
5196
  "docs": {
4926
- "default": "- \"namespace\"",
4927
- "stability": "experimental",
4928
- "summary": "The key of the Output parameter to import the namespace details from the platform stack."
5197
+ "stability": "experimental"
4929
5198
  },
4930
5199
  "immutable": true,
4931
5200
  "locationInModule": {
4932
- "filename": "src/extensions/CloudMapExtension.ts",
5201
+ "filename": "src/platform/ApplicationLoadBalancer.ts",
4933
5202
  "line": 30
4934
5203
  },
4935
- "name": "parameterKey",
4936
- "optional": true,
5204
+ "name": "hostedZone",
4937
5205
  "type": {
4938
- "primitive": "string"
5206
+ "fqn": "aws-cdk-lib.aws_route53.IHostedZone"
4939
5207
  }
4940
- }
4941
- ],
4942
- "symbolId": "src/extensions/CloudMapExtension:CloudMapExtensionProps"
4943
- },
4944
- "@btc-embedded/cdk-extensions.ContainerDefinitionExtensionProps": {
4945
- "assembly": "@btc-embedded/cdk-extensions",
4946
- "datatype": true,
4947
- "docs": {
4948
- "stability": "experimental"
4949
- },
4950
- "fqn": "@btc-embedded/cdk-extensions.ContainerDefinitionExtensionProps",
4951
- "interfaces": [
4952
- "aws-cdk-lib.aws_ecs.ContainerDefinitionOptions"
4953
- ],
4954
- "kind": "interface",
4955
- "locationInModule": {
4956
- "filename": "src/extensions/ModifyContainerDefinitionExtension.ts",
4957
- "line": 23
4958
- },
4959
- "name": "ContainerDefinitionExtensionProps",
4960
- "symbolId": "src/extensions/ModifyContainerDefinitionExtension:ContainerDefinitionExtensionProps"
4961
- },
4962
- "@btc-embedded/cdk-extensions.ContainerDependency": {
4963
- "assembly": "@btc-embedded/cdk-extensions",
4964
- "datatype": true,
4965
- "docs": {
4966
- "see": "https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDependency.html",
4967
- "stability": "experimental",
4968
- "summary": "The details of a dependency on another container in the task definition."
4969
- },
4970
- "fqn": "@btc-embedded/cdk-extensions.ContainerDependency",
4971
- "kind": "interface",
4972
- "locationInModule": {
4973
- "filename": "src/extensions/ExtraContainerExtension.ts",
4974
- "line": 11
4975
- },
4976
- "name": "ContainerDependency",
4977
- "properties": [
5208
+ },
4978
5209
  {
4979
5210
  "abstract": true,
4980
5211
  "docs": {
4981
- "stability": "experimental",
4982
- "summary": "The container extension to depend on."
5212
+ "stability": "experimental"
4983
5213
  },
4984
5214
  "immutable": true,
4985
5215
  "locationInModule": {
4986
- "filename": "src/extensions/ExtraContainerExtension.ts",
4987
- "line": 15
5216
+ "filename": "src/platform/ApplicationLoadBalancer.ts",
5217
+ "line": 27
4988
5218
  },
4989
- "name": "ext",
5219
+ "name": "userPool",
4990
5220
  "type": {
4991
- "fqn": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension"
5221
+ "fqn": "aws-cdk-lib.aws_cognito.IUserPool"
4992
5222
  }
4993
5223
  },
4994
5224
  {
4995
5225
  "abstract": true,
4996
5226
  "docs": {
4997
- "default": "ContainerDependencyCondition.HEALTHY",
4998
- "remarks": "Valid values are ContainerDependencyCondition.START, ContainerDependencyCondition.COMPLETE,\nContainerDependencyCondition.SUCCESS and ContainerDependencyCondition.HEALTHY.",
4999
- "stability": "experimental",
5000
- "summary": "The state the container needs to be in to satisfy the dependency and proceed with startup."
5227
+ "stability": "experimental"
5001
5228
  },
5002
5229
  "immutable": true,
5003
5230
  "locationInModule": {
5004
- "filename": "src/extensions/ExtraContainerExtension.ts",
5005
- "line": 24
5231
+ "filename": "src/platform/ApplicationLoadBalancer.ts",
5232
+ "line": 28
5006
5233
  },
5007
- "name": "condition",
5008
- "optional": true,
5234
+ "name": "userPoolClient",
5009
5235
  "type": {
5010
- "fqn": "aws-cdk-lib.aws_ecs.ContainerDependencyCondition"
5236
+ "fqn": "aws-cdk-lib.aws_cognito.IUserPoolClient"
5237
+ }
5238
+ },
5239
+ {
5240
+ "abstract": true,
5241
+ "docs": {
5242
+ "stability": "experimental"
5243
+ },
5244
+ "immutable": true,
5245
+ "locationInModule": {
5246
+ "filename": "src/platform/ApplicationLoadBalancer.ts",
5247
+ "line": 29
5248
+ },
5249
+ "name": "userPoolDomain",
5250
+ "type": {
5251
+ "fqn": "aws-cdk-lib.aws_cognito.IUserPoolDomain"
5252
+ }
5253
+ },
5254
+ {
5255
+ "abstract": true,
5256
+ "docs": {
5257
+ "stability": "experimental"
5258
+ },
5259
+ "immutable": true,
5260
+ "locationInModule": {
5261
+ "filename": "src/platform/ApplicationLoadBalancer.ts",
5262
+ "line": 26
5263
+ },
5264
+ "name": "vpc",
5265
+ "type": {
5266
+ "fqn": "aws-cdk-lib.aws_ec2.IVpc"
5011
5267
  }
5012
5268
  }
5013
5269
  ],
5014
- "symbolId": "src/extensions/ExtraContainerExtension:ContainerDependency"
5270
+ "symbolId": "src/platform/ApplicationLoadBalancer:ApplicationLoadBalancerProps"
5015
5271
  },
5016
- "@btc-embedded/cdk-extensions.ContainerProps": {
5272
+ "@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2": {
5017
5273
  "assembly": "@btc-embedded/cdk-extensions",
5018
5274
  "datatype": true,
5019
5275
  "docs": {
5020
5276
  "stability": "experimental"
5021
5277
  },
5022
- "fqn": "@btc-embedded/cdk-extensions.ContainerProps",
5023
- "interfaces": [
5024
- "aws-cdk-lib.aws_ecs.ContainerDefinitionOptions"
5025
- ],
5278
+ "fqn": "@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2",
5026
5279
  "kind": "interface",
5027
5280
  "locationInModule": {
5028
- "filename": "src/extensions/ExtraContainerExtension.ts",
5029
- "line": 27
5281
+ "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5282
+ "line": 24
5030
5283
  },
5031
- "name": "ContainerProps",
5284
+ "name": "ApplicationLoadBalancerPropsV2",
5032
5285
  "properties": [
5033
5286
  {
5034
5287
  "abstract": true,
5035
5288
  "docs": {
5289
+ "remarks": "This is used for configuring DNS records.",
5036
5290
  "stability": "experimental",
5037
- "summary": "Specify additional container dependencies which should be added after the container has been created in the task definition."
5291
+ "summary": "The fully qualified domain name (FQDN) for the Application Load Balancer (ALB)."
5038
5292
  },
5039
5293
  "immutable": true,
5040
5294
  "locationInModule": {
5041
- "filename": "src/extensions/ExtraContainerExtension.ts",
5042
- "line": 39
5295
+ "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5296
+ "line": 29
5043
5297
  },
5044
- "name": "containerDependencies",
5045
- "optional": true,
5298
+ "name": "fqdn",
5046
5299
  "type": {
5047
- "collection": {
5048
- "elementtype": {
5049
- "fqn": "@btc-embedded/cdk-extensions.ContainerDependency"
5050
- },
5051
- "kind": "array"
5052
- }
5300
+ "primitive": "string"
5053
5301
  }
5054
5302
  },
5055
5303
  {
5056
5304
  "abstract": true,
5057
5305
  "docs": {
5058
- "default": "- A log group is automatically created for you if the `ECS_SERVICE_EXTENSIONS_ENABLE_DEFAULT_LOG_DRIVER` feature flag is set.",
5059
5306
  "stability": "experimental",
5060
- "summary": "The log group into which application container logs should be routed."
5307
+ "summary": "The health check path for the target group."
5061
5308
  },
5062
5309
  "immutable": true,
5063
5310
  "locationInModule": {
5064
- "filename": "src/extensions/ExtraContainerExtension.ts",
5065
- "line": 33
5311
+ "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5312
+ "line": 67
5066
5313
  },
5067
- "name": "logGroup",
5314
+ "name": "healtCheckPath",
5315
+ "type": {
5316
+ "primitive": "string"
5317
+ }
5318
+ },
5319
+ {
5320
+ "abstract": true,
5321
+ "docs": {
5322
+ "stability": "experimental",
5323
+ "summary": "The Route 53 hosted zone where the ALB's DNS record will be created."
5324
+ },
5325
+ "immutable": true,
5326
+ "locationInModule": {
5327
+ "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5328
+ "line": 50
5329
+ },
5330
+ "name": "hostedZone",
5331
+ "type": {
5332
+ "fqn": "aws-cdk-lib.aws_route53.IHostedZone"
5333
+ }
5334
+ },
5335
+ {
5336
+ "abstract": true,
5337
+ "docs": {
5338
+ "stability": "experimental",
5339
+ "summary": "The port on which the target group will receive traffic."
5340
+ },
5341
+ "immutable": true,
5342
+ "locationInModule": {
5343
+ "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5344
+ "line": 62
5345
+ },
5346
+ "name": "trafficPort",
5347
+ "type": {
5348
+ "primitive": "number"
5349
+ }
5350
+ },
5351
+ {
5352
+ "abstract": true,
5353
+ "docs": {
5354
+ "remarks": "This client is used for handling OAuth flows.",
5355
+ "stability": "experimental",
5356
+ "summary": "The Cognito User Pool Client associated with the ALB."
5357
+ },
5358
+ "immutable": true,
5359
+ "locationInModule": {
5360
+ "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5361
+ "line": 40
5362
+ },
5363
+ "name": "userPoolClient",
5364
+ "type": {
5365
+ "fqn": "@btc-embedded/cdk-extensions.ApplicationUserPoolClient"
5366
+ }
5367
+ },
5368
+ {
5369
+ "abstract": true,
5370
+ "docs": {
5371
+ "stability": "experimental",
5372
+ "summary": "The Cognito User Pool Domain used for authentication."
5373
+ },
5374
+ "immutable": true,
5375
+ "locationInModule": {
5376
+ "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5377
+ "line": 45
5378
+ },
5379
+ "name": "userPoolDomain",
5380
+ "type": {
5381
+ "fqn": "aws-cdk-lib.aws_cognito.IUserPoolDomain"
5382
+ }
5383
+ },
5384
+ {
5385
+ "abstract": true,
5386
+ "docs": {
5387
+ "stability": "experimental",
5388
+ "summary": "The VPC in which the Application Load Balancer will be deployed."
5389
+ },
5390
+ "immutable": true,
5391
+ "locationInModule": {
5392
+ "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5393
+ "line": 34
5394
+ },
5395
+ "name": "vpc",
5396
+ "type": {
5397
+ "fqn": "aws-cdk-lib.aws_ec2.IVpc"
5398
+ }
5399
+ },
5400
+ {
5401
+ "abstract": true,
5402
+ "docs": {
5403
+ "default": "- No additional callback URLs are configured.",
5404
+ "stability": "experimental",
5405
+ "summary": "Additional callback URLs to be added to the Cognito User Pool Client."
5406
+ },
5407
+ "immutable": true,
5408
+ "locationInModule": {
5409
+ "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5410
+ "line": 57
5411
+ },
5412
+ "name": "additionalCallbackUrls",
5068
5413
  "optional": true,
5069
5414
  "type": {
5070
- "fqn": "aws-cdk-lib.aws_logs.ILogGroup"
5415
+ "collection": {
5416
+ "elementtype": {
5417
+ "primitive": "string"
5418
+ },
5419
+ "kind": "array"
5420
+ }
5071
5421
  }
5072
5422
  }
5073
5423
  ],
5074
- "symbolId": "src/extensions/ExtraContainerExtension:ContainerProps"
5424
+ "symbolId": "src/platform/ApplicationLoadBalancerV2:ApplicationLoadBalancerPropsV2"
5075
5425
  },
5076
- "@btc-embedded/cdk-extensions.DefaultUserPoolClients": {
5426
+ "@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2": {
5077
5427
  "assembly": "@btc-embedded/cdk-extensions",
5078
5428
  "base": "constructs.Construct",
5079
5429
  "docs": {
5430
+ "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.",
5080
5431
  "stability": "experimental",
5081
- "summary": "Create default user pool clients for the frontend and API access."
5432
+ "summary": "A construct that creates an Application Load Balancer (ALB) with Cognito authentication."
5082
5433
  },
5083
- "fqn": "@btc-embedded/cdk-extensions.DefaultUserPoolClients",
5434
+ "fqn": "@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2",
5084
5435
  "initializer": {
5085
5436
  "docs": {
5086
5437
  "stability": "experimental"
5087
5438
  },
5088
5439
  "locationInModule": {
5089
- "filename": "src/platform/DefaultUserPoolClients.ts",
5090
- "line": 51
5440
+ "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5441
+ "line": 86
5091
5442
  },
5092
5443
  "parameters": [
5093
5444
  {
@@ -5105,61 +5456,154 @@
5105
5456
  {
5106
5457
  "name": "props",
5107
5458
  "type": {
5108
- "fqn": "@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps"
5459
+ "fqn": "@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2"
5109
5460
  }
5110
5461
  }
5111
5462
  ]
5112
5463
  },
5113
5464
  "kind": "class",
5114
5465
  "locationInModule": {
5115
- "filename": "src/platform/DefaultUserPoolClients.ts",
5116
- "line": 47
5466
+ "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5467
+ "line": 79
5117
5468
  },
5118
- "name": "DefaultUserPoolClients",
5469
+ "name": "ApplicationLoadBalancerV2",
5119
5470
  "properties": [
5120
5471
  {
5121
5472
  "docs": {
5122
5473
  "stability": "experimental"
5123
5474
  },
5475
+ "immutable": true,
5124
5476
  "locationInModule": {
5125
- "filename": "src/platform/DefaultUserPoolClients.ts",
5126
- "line": 49
5477
+ "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5478
+ "line": 80
5127
5479
  },
5128
- "name": "apiClient",
5480
+ "name": "loadbalancer",
5129
5481
  "type": {
5130
- "fqn": "aws-cdk-lib.aws_cognito.IUserPoolClient"
5482
+ "fqn": "aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationLoadBalancer"
5131
5483
  }
5132
5484
  },
5133
5485
  {
5134
5486
  "docs": {
5135
5487
  "stability": "experimental"
5136
5488
  },
5489
+ "immutable": true,
5137
5490
  "locationInModule": {
5138
- "filename": "src/platform/DefaultUserPoolClients.ts",
5139
- "line": 48
5491
+ "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5492
+ "line": 82
5140
5493
  },
5141
- "name": "frontendClient",
5494
+ "name": "loadBalancer",
5495
+ "type": {
5496
+ "fqn": "aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationLoadBalancer"
5497
+ }
5498
+ }
5499
+ ],
5500
+ "symbolId": "src/platform/ApplicationLoadBalancerV2:ApplicationLoadBalancerV2"
5501
+ },
5502
+ "@btc-embedded/cdk-extensions.ApplicationUserPoolClient": {
5503
+ "assembly": "@btc-embedded/cdk-extensions",
5504
+ "base": "constructs.Construct",
5505
+ "docs": {
5506
+ "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.",
5507
+ "stability": "experimental",
5508
+ "summary": "A construct that creates a Cognito User Pool Client for frontend and API access."
5509
+ },
5510
+ "fqn": "@btc-embedded/cdk-extensions.ApplicationUserPoolClient",
5511
+ "initializer": {
5512
+ "docs": {
5513
+ "stability": "experimental"
5514
+ },
5515
+ "locationInModule": {
5516
+ "filename": "src/platform/ApplicationUserPoolClient.ts",
5517
+ "line": 64
5518
+ },
5519
+ "parameters": [
5520
+ {
5521
+ "name": "scope",
5522
+ "type": {
5523
+ "fqn": "constructs.Construct"
5524
+ }
5525
+ },
5526
+ {
5527
+ "name": "id",
5528
+ "type": {
5529
+ "primitive": "string"
5530
+ }
5531
+ },
5532
+ {
5533
+ "name": "props",
5534
+ "type": {
5535
+ "fqn": "@btc-embedded/cdk-extensions.ApplicationUserPoolClientProps"
5536
+ }
5537
+ }
5538
+ ]
5539
+ },
5540
+ "kind": "class",
5541
+ "locationInModule": {
5542
+ "filename": "src/platform/ApplicationUserPoolClient.ts",
5543
+ "line": 61
5544
+ },
5545
+ "name": "ApplicationUserPoolClient",
5546
+ "properties": [
5547
+ {
5548
+ "docs": {
5549
+ "stability": "experimental"
5550
+ },
5551
+ "immutable": true,
5552
+ "locationInModule": {
5553
+ "filename": "src/platform/ApplicationUserPoolClient.ts",
5554
+ "line": 118
5555
+ },
5556
+ "name": "userPool",
5557
+ "type": {
5558
+ "fqn": "aws-cdk-lib.aws_cognito.IUserPool"
5559
+ }
5560
+ },
5561
+ {
5562
+ "docs": {
5563
+ "stability": "experimental"
5564
+ },
5565
+ "locationInModule": {
5566
+ "filename": "src/platform/ApplicationUserPoolClient.ts",
5567
+ "line": 62
5568
+ },
5569
+ "name": "client",
5142
5570
  "type": {
5143
5571
  "fqn": "aws-cdk-lib.aws_cognito.IUserPoolClient"
5144
5572
  }
5145
5573
  }
5146
5574
  ],
5147
- "symbolId": "src/platform/DefaultUserPoolClients:DefaultUserPoolClients"
5575
+ "symbolId": "src/platform/ApplicationUserPoolClient:ApplicationUserPoolClient"
5148
5576
  },
5149
- "@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps": {
5577
+ "@btc-embedded/cdk-extensions.ApplicationUserPoolClientProps": {
5150
5578
  "assembly": "@btc-embedded/cdk-extensions",
5151
5579
  "datatype": true,
5152
5580
  "docs": {
5153
5581
  "stability": "experimental"
5154
5582
  },
5155
- "fqn": "@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps",
5583
+ "fqn": "@btc-embedded/cdk-extensions.ApplicationUserPoolClientProps",
5156
5584
  "kind": "interface",
5157
5585
  "locationInModule": {
5158
- "filename": "src/platform/DefaultUserPoolClients.ts",
5159
- "line": 12
5586
+ "filename": "src/platform/ApplicationUserPoolClient.ts",
5587
+ "line": 13
5160
5588
  },
5161
- "name": "DefaultUserPoolClientsProps",
5589
+ "name": "ApplicationUserPoolClientProps",
5162
5590
  "properties": [
5591
+ {
5592
+ "abstract": true,
5593
+ "docs": {
5594
+ "stability": "experimental",
5595
+ "summary": "The user pool which should be attached to the clients."
5596
+ },
5597
+ "immutable": true,
5598
+ "locationInModule": {
5599
+ "filename": "src/platform/ApplicationUserPoolClient.ts",
5600
+ "line": 17
5601
+ },
5602
+ "name": "cognitoUserPool",
5603
+ "type": {
5604
+ "fqn": "@btc-embedded/cdk-extensions.CognitoUserPool"
5605
+ }
5606
+ },
5163
5607
  {
5164
5608
  "abstract": true,
5165
5609
  "docs": {
@@ -5169,8 +5613,8 @@
5169
5613
  },
5170
5614
  "immutable": true,
5171
5615
  "locationInModule": {
5172
- "filename": "src/platform/DefaultUserPoolClients.ts",
5173
- "line": 25
5616
+ "filename": "src/platform/ApplicationUserPoolClient.ts",
5617
+ "line": 27
5174
5618
  },
5175
5619
  "name": "fqdn",
5176
5620
  "type": {
@@ -5180,17 +5624,18 @@
5180
5624
  {
5181
5625
  "abstract": true,
5182
5626
  "docs": {
5627
+ "remarks": "This is used to define OAuth scopes for the client.",
5183
5628
  "stability": "experimental",
5184
- "summary": "The user pool which should be attached to the clients."
5629
+ "summary": "The resource server associated with the user pool client."
5185
5630
  },
5186
5631
  "immutable": true,
5187
5632
  "locationInModule": {
5188
- "filename": "src/platform/DefaultUserPoolClients.ts",
5189
- "line": 16
5633
+ "filename": "src/platform/ApplicationUserPoolClient.ts",
5634
+ "line": 33
5190
5635
  },
5191
- "name": "userPool",
5636
+ "name": "resourceServer",
5192
5637
  "type": {
5193
- "fqn": "aws-cdk-lib.aws_cognito.IUserPool"
5638
+ "fqn": "@btc-embedded/cdk-extensions.ResourceServer"
5194
5639
  }
5195
5640
  },
5196
5641
  {
@@ -5201,8 +5646,8 @@
5201
5646
  },
5202
5647
  "immutable": true,
5203
5648
  "locationInModule": {
5204
- "filename": "src/platform/DefaultUserPoolClients.ts",
5205
- "line": 41
5649
+ "filename": "src/platform/ApplicationUserPoolClient.ts",
5650
+ "line": 49
5206
5651
  },
5207
5652
  "name": "additonalUserPoolIdentityProviders",
5208
5653
  "optional": true,
@@ -5223,8 +5668,8 @@
5223
5668
  },
5224
5669
  "immutable": true,
5225
5670
  "locationInModule": {
5226
- "filename": "src/platform/DefaultUserPoolClients.ts",
5227
- "line": 36
5671
+ "filename": "src/platform/ApplicationUserPoolClient.ts",
5672
+ "line": 44
5228
5673
  },
5229
5674
  "name": "callbackUrls",
5230
5675
  "optional": true,
@@ -5245,8 +5690,8 @@
5245
5690
  },
5246
5691
  "immutable": true,
5247
5692
  "locationInModule": {
5248
- "filename": "src/platform/DefaultUserPoolClients.ts",
5249
- "line": 30
5693
+ "filename": "src/platform/ApplicationUserPoolClient.ts",
5694
+ "line": 38
5250
5695
  },
5251
5696
  "name": "logoutUrls",
5252
5697
  "optional": true,
@@ -5260,66 +5705,728 @@
5260
5705
  }
5261
5706
  }
5262
5707
  ],
5263
- "symbolId": "src/platform/DefaultUserPoolClients:DefaultUserPoolClientsProps"
5708
+ "symbolId": "src/platform/ApplicationUserPoolClient:ApplicationUserPoolClientProps"
5264
5709
  },
5265
- "@btc-embedded/cdk-extensions.DocumentDB": {
5710
+ "@btc-embedded/cdk-extensions.CloudMapExtension": {
5266
5711
  "assembly": "@btc-embedded/cdk-extensions",
5267
- "base": "constructs.Construct",
5712
+ "base": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
5268
5713
  "docs": {
5269
5714
  "stability": "experimental"
5270
5715
  },
5271
- "fqn": "@btc-embedded/cdk-extensions.DocumentDB",
5716
+ "fqn": "@btc-embedded/cdk-extensions.CloudMapExtension",
5272
5717
  "initializer": {
5273
5718
  "docs": {
5274
5719
  "stability": "experimental"
5275
5720
  },
5276
5721
  "locationInModule": {
5277
- "filename": "src/platform/DocumentDB.ts",
5278
- "line": 23
5722
+ "filename": "src/extensions/CloudMapExtension.ts",
5723
+ "line": 38
5279
5724
  },
5280
5725
  "parameters": [
5281
- {
5282
- "name": "scope",
5283
- "type": {
5284
- "fqn": "constructs.Construct"
5285
- }
5286
- },
5287
- {
5288
- "name": "id",
5289
- "type": {
5290
- "primitive": "string"
5291
- }
5292
- },
5293
5726
  {
5294
5727
  "name": "props",
5295
5728
  "type": {
5296
- "fqn": "@btc-embedded/cdk-extensions.DocumentDBProps"
5729
+ "fqn": "@btc-embedded/cdk-extensions.CloudMapExtensionProps"
5297
5730
  }
5298
5731
  }
5299
5732
  ]
5300
5733
  },
5301
5734
  "kind": "class",
5302
5735
  "locationInModule": {
5303
- "filename": "src/platform/DocumentDB.ts",
5304
- "line": 20
5305
- },
5306
- "name": "DocumentDB",
5307
- "symbolId": "src/platform/DocumentDB:DocumentDB"
5308
- },
5309
- "@btc-embedded/cdk-extensions.DocumentDBProps": {
5310
- "assembly": "@btc-embedded/cdk-extensions",
5311
- "datatype": true,
5312
- "docs": {
5313
- "stability": "experimental"
5314
- },
5315
- "fqn": "@btc-embedded/cdk-extensions.DocumentDBProps",
5316
- "kind": "interface",
5317
- "locationInModule": {
5318
- "filename": "src/platform/DocumentDB.ts",
5319
- "line": 13
5736
+ "filename": "src/extensions/CloudMapExtension.ts",
5737
+ "line": 33
5320
5738
  },
5321
- "name": "DocumentDBProps",
5322
- "properties": [
5739
+ "methods": [
5740
+ {
5741
+ "docs": {
5742
+ "stability": "experimental",
5743
+ "summary": "Adjust the security group of the given service to allow traffic from this service."
5744
+ },
5745
+ "locationInModule": {
5746
+ "filename": "src/extensions/CloudMapExtension.ts",
5747
+ "line": 129
5748
+ },
5749
+ "name": "connectToService",
5750
+ "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
5751
+ "parameters": [
5752
+ {
5753
+ "name": "service",
5754
+ "type": {
5755
+ "fqn": "@aws-cdk-containers/ecs-service-extensions.Service"
5756
+ }
5757
+ },
5758
+ {
5759
+ "name": "_connectToProps",
5760
+ "optional": true,
5761
+ "type": {
5762
+ "fqn": "@aws-cdk-containers/ecs-service-extensions.ConnectToProps"
5763
+ }
5764
+ }
5765
+ ]
5766
+ },
5767
+ {
5768
+ "docs": {
5769
+ "stability": "experimental",
5770
+ "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."
5771
+ },
5772
+ "locationInModule": {
5773
+ "filename": "src/extensions/CloudMapExtension.ts",
5774
+ "line": 44
5775
+ },
5776
+ "name": "modifyServiceProps",
5777
+ "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
5778
+ "parameters": [
5779
+ {
5780
+ "name": "props",
5781
+ "type": {
5782
+ "fqn": "@aws-cdk-containers/ecs-service-extensions.ServiceBuild"
5783
+ }
5784
+ }
5785
+ ],
5786
+ "returns": {
5787
+ "type": {
5788
+ "fqn": "@aws-cdk-containers/ecs-service-extensions.ServiceBuild"
5789
+ }
5790
+ }
5791
+ },
5792
+ {
5793
+ "docs": {
5794
+ "remarks": "It is generally used to\ncreate any final resources which might depend on the service itself.",
5795
+ "stability": "experimental",
5796
+ "summary": "When this hook is implemented by extension, it allows the extension to use the service which has been created."
5797
+ },
5798
+ "locationInModule": {
5799
+ "filename": "src/extensions/CloudMapExtension.ts",
5800
+ "line": 87
5801
+ },
5802
+ "name": "useService",
5803
+ "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
5804
+ "parameters": [
5805
+ {
5806
+ "name": "service",
5807
+ "type": {
5808
+ "union": {
5809
+ "types": [
5810
+ {
5811
+ "fqn": "aws-cdk-lib.aws_ecs.Ec2Service"
5812
+ },
5813
+ {
5814
+ "fqn": "aws-cdk-lib.aws_ecs.FargateService"
5815
+ }
5816
+ ]
5817
+ }
5818
+ }
5819
+ }
5820
+ ]
5821
+ }
5822
+ ],
5823
+ "name": "CloudMapExtension",
5824
+ "properties": [
5825
+ {
5826
+ "docs": {
5827
+ "stability": "experimental"
5828
+ },
5829
+ "locationInModule": {
5830
+ "filename": "src/extensions/CloudMapExtension.ts",
5831
+ "line": 34
5832
+ },
5833
+ "name": "props",
5834
+ "type": {
5835
+ "fqn": "@btc-embedded/cdk-extensions.CloudMapExtensionProps"
5836
+ }
5837
+ },
5838
+ {
5839
+ "docs": {
5840
+ "stability": "experimental"
5841
+ },
5842
+ "locationInModule": {
5843
+ "filename": "src/extensions/CloudMapExtension.ts",
5844
+ "line": 36
5845
+ },
5846
+ "name": "serviceName",
5847
+ "type": {
5848
+ "primitive": "string"
5849
+ }
5850
+ }
5851
+ ],
5852
+ "symbolId": "src/extensions/CloudMapExtension:CloudMapExtension"
5853
+ },
5854
+ "@btc-embedded/cdk-extensions.CloudMapExtensionProps": {
5855
+ "assembly": "@btc-embedded/cdk-extensions",
5856
+ "datatype": true,
5857
+ "docs": {
5858
+ "stability": "experimental"
5859
+ },
5860
+ "fqn": "@btc-embedded/cdk-extensions.CloudMapExtensionProps",
5861
+ "kind": "interface",
5862
+ "locationInModule": {
5863
+ "filename": "src/extensions/CloudMapExtension.ts",
5864
+ "line": 19
5865
+ },
5866
+ "name": "CloudMapExtensionProps",
5867
+ "properties": [
5868
+ {
5869
+ "abstract": true,
5870
+ "docs": {
5871
+ "stability": "experimental",
5872
+ "summary": "The name of the platform stack to import the namespace parameter details from."
5873
+ },
5874
+ "immutable": true,
5875
+ "locationInModule": {
5876
+ "filename": "src/extensions/CloudMapExtension.ts",
5877
+ "line": 23
5878
+ },
5879
+ "name": "platformStackName",
5880
+ "type": {
5881
+ "primitive": "string"
5882
+ }
5883
+ },
5884
+ {
5885
+ "abstract": true,
5886
+ "docs": {
5887
+ "default": "- \"namespace\"",
5888
+ "stability": "experimental",
5889
+ "summary": "The key of the Output parameter to import the namespace details from the platform stack."
5890
+ },
5891
+ "immutable": true,
5892
+ "locationInModule": {
5893
+ "filename": "src/extensions/CloudMapExtension.ts",
5894
+ "line": 30
5895
+ },
5896
+ "name": "parameterKey",
5897
+ "optional": true,
5898
+ "type": {
5899
+ "primitive": "string"
5900
+ }
5901
+ }
5902
+ ],
5903
+ "symbolId": "src/extensions/CloudMapExtension:CloudMapExtensionProps"
5904
+ },
5905
+ "@btc-embedded/cdk-extensions.CognitoUserPool": {
5906
+ "assembly": "@btc-embedded/cdk-extensions",
5907
+ "base": "constructs.Construct",
5908
+ "docs": {
5909
+ "stability": "experimental"
5910
+ },
5911
+ "fqn": "@btc-embedded/cdk-extensions.CognitoUserPool",
5912
+ "initializer": {
5913
+ "docs": {
5914
+ "stability": "experimental"
5915
+ },
5916
+ "locationInModule": {
5917
+ "filename": "src/platform/CognitoUserPool.ts",
5918
+ "line": 15
5919
+ },
5920
+ "parameters": [
5921
+ {
5922
+ "name": "scope",
5923
+ "type": {
5924
+ "fqn": "constructs.Construct"
5925
+ }
5926
+ },
5927
+ {
5928
+ "name": "id",
5929
+ "type": {
5930
+ "primitive": "string"
5931
+ }
5932
+ },
5933
+ {
5934
+ "name": "props",
5935
+ "type": {
5936
+ "fqn": "@btc-embedded/cdk-extensions.CognitoUserPoolProps"
5937
+ }
5938
+ }
5939
+ ]
5940
+ },
5941
+ "kind": "class",
5942
+ "locationInModule": {
5943
+ "filename": "src/platform/CognitoUserPool.ts",
5944
+ "line": 11
5945
+ },
5946
+ "name": "CognitoUserPool",
5947
+ "properties": [
5948
+ {
5949
+ "docs": {
5950
+ "stability": "experimental"
5951
+ },
5952
+ "locationInModule": {
5953
+ "filename": "src/platform/CognitoUserPool.ts",
5954
+ "line": 12
5955
+ },
5956
+ "name": "userPool",
5957
+ "type": {
5958
+ "fqn": "aws-cdk-lib.aws_cognito.IUserPool"
5959
+ }
5960
+ }
5961
+ ],
5962
+ "symbolId": "src/platform/CognitoUserPool:CognitoUserPool"
5963
+ },
5964
+ "@btc-embedded/cdk-extensions.CognitoUserPoolProps": {
5965
+ "assembly": "@btc-embedded/cdk-extensions",
5966
+ "datatype": true,
5967
+ "docs": {
5968
+ "stability": "experimental"
5969
+ },
5970
+ "fqn": "@btc-embedded/cdk-extensions.CognitoUserPoolProps",
5971
+ "kind": "interface",
5972
+ "locationInModule": {
5973
+ "filename": "src/platform/CognitoUserPool.ts",
5974
+ "line": 5
5975
+ },
5976
+ "name": "CognitoUserPoolProps",
5977
+ "properties": [
5978
+ {
5979
+ "abstract": true,
5980
+ "docs": {
5981
+ "stability": "experimental",
5982
+ "summary": "The ID of the Cognito User Pool to be imported."
5983
+ },
5984
+ "immutable": true,
5985
+ "locationInModule": {
5986
+ "filename": "src/platform/CognitoUserPool.ts",
5987
+ "line": 9
5988
+ },
5989
+ "name": "userPoolId",
5990
+ "type": {
5991
+ "primitive": "string"
5992
+ }
5993
+ }
5994
+ ],
5995
+ "symbolId": "src/platform/CognitoUserPool:CognitoUserPoolProps"
5996
+ },
5997
+ "@btc-embedded/cdk-extensions.ContainerDefinitionExtensionProps": {
5998
+ "assembly": "@btc-embedded/cdk-extensions",
5999
+ "datatype": true,
6000
+ "docs": {
6001
+ "stability": "experimental"
6002
+ },
6003
+ "fqn": "@btc-embedded/cdk-extensions.ContainerDefinitionExtensionProps",
6004
+ "interfaces": [
6005
+ "aws-cdk-lib.aws_ecs.ContainerDefinitionOptions"
6006
+ ],
6007
+ "kind": "interface",
6008
+ "locationInModule": {
6009
+ "filename": "src/extensions/ModifyContainerDefinitionExtension.ts",
6010
+ "line": 23
6011
+ },
6012
+ "name": "ContainerDefinitionExtensionProps",
6013
+ "symbolId": "src/extensions/ModifyContainerDefinitionExtension:ContainerDefinitionExtensionProps"
6014
+ },
6015
+ "@btc-embedded/cdk-extensions.ContainerDependency": {
6016
+ "assembly": "@btc-embedded/cdk-extensions",
6017
+ "datatype": true,
6018
+ "docs": {
6019
+ "see": "https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDependency.html",
6020
+ "stability": "experimental",
6021
+ "summary": "The details of a dependency on another container in the task definition."
6022
+ },
6023
+ "fqn": "@btc-embedded/cdk-extensions.ContainerDependency",
6024
+ "kind": "interface",
6025
+ "locationInModule": {
6026
+ "filename": "src/extensions/ExtraContainerExtension.ts",
6027
+ "line": 11
6028
+ },
6029
+ "name": "ContainerDependency",
6030
+ "properties": [
6031
+ {
6032
+ "abstract": true,
6033
+ "docs": {
6034
+ "stability": "experimental",
6035
+ "summary": "The container extension to depend on."
6036
+ },
6037
+ "immutable": true,
6038
+ "locationInModule": {
6039
+ "filename": "src/extensions/ExtraContainerExtension.ts",
6040
+ "line": 15
6041
+ },
6042
+ "name": "ext",
6043
+ "type": {
6044
+ "fqn": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension"
6045
+ }
6046
+ },
6047
+ {
6048
+ "abstract": true,
6049
+ "docs": {
6050
+ "default": "ContainerDependencyCondition.HEALTHY",
6051
+ "remarks": "Valid values are ContainerDependencyCondition.START, ContainerDependencyCondition.COMPLETE,\nContainerDependencyCondition.SUCCESS and ContainerDependencyCondition.HEALTHY.",
6052
+ "stability": "experimental",
6053
+ "summary": "The state the container needs to be in to satisfy the dependency and proceed with startup."
6054
+ },
6055
+ "immutable": true,
6056
+ "locationInModule": {
6057
+ "filename": "src/extensions/ExtraContainerExtension.ts",
6058
+ "line": 24
6059
+ },
6060
+ "name": "condition",
6061
+ "optional": true,
6062
+ "type": {
6063
+ "fqn": "aws-cdk-lib.aws_ecs.ContainerDependencyCondition"
6064
+ }
6065
+ }
6066
+ ],
6067
+ "symbolId": "src/extensions/ExtraContainerExtension:ContainerDependency"
6068
+ },
6069
+ "@btc-embedded/cdk-extensions.ContainerProps": {
6070
+ "assembly": "@btc-embedded/cdk-extensions",
6071
+ "datatype": true,
6072
+ "docs": {
6073
+ "stability": "experimental"
6074
+ },
6075
+ "fqn": "@btc-embedded/cdk-extensions.ContainerProps",
6076
+ "interfaces": [
6077
+ "aws-cdk-lib.aws_ecs.ContainerDefinitionOptions"
6078
+ ],
6079
+ "kind": "interface",
6080
+ "locationInModule": {
6081
+ "filename": "src/extensions/ExtraContainerExtension.ts",
6082
+ "line": 27
6083
+ },
6084
+ "name": "ContainerProps",
6085
+ "properties": [
6086
+ {
6087
+ "abstract": true,
6088
+ "docs": {
6089
+ "stability": "experimental",
6090
+ "summary": "Specify additional container dependencies which should be added after the container has been created in the task definition."
6091
+ },
6092
+ "immutable": true,
6093
+ "locationInModule": {
6094
+ "filename": "src/extensions/ExtraContainerExtension.ts",
6095
+ "line": 39
6096
+ },
6097
+ "name": "containerDependencies",
6098
+ "optional": true,
6099
+ "type": {
6100
+ "collection": {
6101
+ "elementtype": {
6102
+ "fqn": "@btc-embedded/cdk-extensions.ContainerDependency"
6103
+ },
6104
+ "kind": "array"
6105
+ }
6106
+ }
6107
+ },
6108
+ {
6109
+ "abstract": true,
6110
+ "docs": {
6111
+ "default": "- A log group is automatically created for you if the `ECS_SERVICE_EXTENSIONS_ENABLE_DEFAULT_LOG_DRIVER` feature flag is set.",
6112
+ "stability": "experimental",
6113
+ "summary": "The log group into which application container logs should be routed."
6114
+ },
6115
+ "immutable": true,
6116
+ "locationInModule": {
6117
+ "filename": "src/extensions/ExtraContainerExtension.ts",
6118
+ "line": 33
6119
+ },
6120
+ "name": "logGroup",
6121
+ "optional": true,
6122
+ "type": {
6123
+ "fqn": "aws-cdk-lib.aws_logs.ILogGroup"
6124
+ }
6125
+ }
6126
+ ],
6127
+ "symbolId": "src/extensions/ExtraContainerExtension:ContainerProps"
6128
+ },
6129
+ "@btc-embedded/cdk-extensions.DeactivatableServiceExtension": {
6130
+ "assembly": "@btc-embedded/cdk-extensions",
6131
+ "base": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
6132
+ "docs": {
6133
+ "remarks": "Deactivation is implemented by setting the desired count to zero, i.e. the\nconstruct is still present in the stack.",
6134
+ "stability": "experimental",
6135
+ "summary": "Extension that allows the service to be deactivated, if the environment variable contains its ID."
6136
+ },
6137
+ "fqn": "@btc-embedded/cdk-extensions.DeactivatableServiceExtension",
6138
+ "initializer": {
6139
+ "docs": {
6140
+ "stability": "experimental"
6141
+ },
6142
+ "locationInModule": {
6143
+ "filename": "src/extensions/DeactivatableServiceExtension.ts",
6144
+ "line": 14
6145
+ }
6146
+ },
6147
+ "kind": "class",
6148
+ "locationInModule": {
6149
+ "filename": "src/extensions/DeactivatableServiceExtension.ts",
6150
+ "line": 13
6151
+ },
6152
+ "methods": [
6153
+ {
6154
+ "docs": {
6155
+ "stability": "experimental",
6156
+ "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."
6157
+ },
6158
+ "locationInModule": {
6159
+ "filename": "src/extensions/DeactivatableServiceExtension.ts",
6160
+ "line": 18
6161
+ },
6162
+ "name": "modifyServiceProps",
6163
+ "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
6164
+ "parameters": [
6165
+ {
6166
+ "name": "props",
6167
+ "type": {
6168
+ "fqn": "@aws-cdk-containers/ecs-service-extensions.ServiceBuild"
6169
+ }
6170
+ }
6171
+ ],
6172
+ "returns": {
6173
+ "type": {
6174
+ "fqn": "@aws-cdk-containers/ecs-service-extensions.ServiceBuild"
6175
+ }
6176
+ }
6177
+ }
6178
+ ],
6179
+ "name": "DeactivatableServiceExtension",
6180
+ "symbolId": "src/extensions/DeactivatableServiceExtension:DeactivatableServiceExtension"
6181
+ },
6182
+ "@btc-embedded/cdk-extensions.DefaultUserPoolClients": {
6183
+ "assembly": "@btc-embedded/cdk-extensions",
6184
+ "base": "constructs.Construct",
6185
+ "docs": {
6186
+ "deprecated": "Use {@link ApiUserPoolClient } or {@link ApplicationUserPoolClient } instead",
6187
+ "stability": "deprecated",
6188
+ "summary": "Create default user pool clients for the frontend and API access."
6189
+ },
6190
+ "fqn": "@btc-embedded/cdk-extensions.DefaultUserPoolClients",
6191
+ "initializer": {
6192
+ "docs": {
6193
+ "stability": "deprecated"
6194
+ },
6195
+ "locationInModule": {
6196
+ "filename": "src/platform/DefaultUserPoolClients.ts",
6197
+ "line": 52
6198
+ },
6199
+ "parameters": [
6200
+ {
6201
+ "name": "scope",
6202
+ "type": {
6203
+ "fqn": "constructs.Construct"
6204
+ }
6205
+ },
6206
+ {
6207
+ "name": "id",
6208
+ "type": {
6209
+ "primitive": "string"
6210
+ }
6211
+ },
6212
+ {
6213
+ "name": "props",
6214
+ "type": {
6215
+ "fqn": "@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps"
6216
+ }
6217
+ }
6218
+ ]
6219
+ },
6220
+ "kind": "class",
6221
+ "locationInModule": {
6222
+ "filename": "src/platform/DefaultUserPoolClients.ts",
6223
+ "line": 48
6224
+ },
6225
+ "name": "DefaultUserPoolClients",
6226
+ "properties": [
6227
+ {
6228
+ "docs": {
6229
+ "stability": "deprecated"
6230
+ },
6231
+ "locationInModule": {
6232
+ "filename": "src/platform/DefaultUserPoolClients.ts",
6233
+ "line": 50
6234
+ },
6235
+ "name": "apiClient",
6236
+ "type": {
6237
+ "fqn": "aws-cdk-lib.aws_cognito.IUserPoolClient"
6238
+ }
6239
+ },
6240
+ {
6241
+ "docs": {
6242
+ "stability": "deprecated"
6243
+ },
6244
+ "locationInModule": {
6245
+ "filename": "src/platform/DefaultUserPoolClients.ts",
6246
+ "line": 49
6247
+ },
6248
+ "name": "frontendClient",
6249
+ "type": {
6250
+ "fqn": "aws-cdk-lib.aws_cognito.IUserPoolClient"
6251
+ }
6252
+ }
6253
+ ],
6254
+ "symbolId": "src/platform/DefaultUserPoolClients:DefaultUserPoolClients"
6255
+ },
6256
+ "@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps": {
6257
+ "assembly": "@btc-embedded/cdk-extensions",
6258
+ "datatype": true,
6259
+ "docs": {
6260
+ "stability": "experimental"
6261
+ },
6262
+ "fqn": "@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps",
6263
+ "kind": "interface",
6264
+ "locationInModule": {
6265
+ "filename": "src/platform/DefaultUserPoolClients.ts",
6266
+ "line": 12
6267
+ },
6268
+ "name": "DefaultUserPoolClientsProps",
6269
+ "properties": [
6270
+ {
6271
+ "abstract": true,
6272
+ "docs": {
6273
+ "remarks": "This setting is used to configure the correct callback URL for user pool\nclient such that the ALB can perform authentication.",
6274
+ "stability": "experimental",
6275
+ "summary": "The fully qualified domain name which the ALB will listen to."
6276
+ },
6277
+ "immutable": true,
6278
+ "locationInModule": {
6279
+ "filename": "src/platform/DefaultUserPoolClients.ts",
6280
+ "line": 25
6281
+ },
6282
+ "name": "fqdn",
6283
+ "type": {
6284
+ "primitive": "string"
6285
+ }
6286
+ },
6287
+ {
6288
+ "abstract": true,
6289
+ "docs": {
6290
+ "stability": "experimental",
6291
+ "summary": "The user pool which should be attached to the clients."
6292
+ },
6293
+ "immutable": true,
6294
+ "locationInModule": {
6295
+ "filename": "src/platform/DefaultUserPoolClients.ts",
6296
+ "line": 16
6297
+ },
6298
+ "name": "userPool",
6299
+ "type": {
6300
+ "fqn": "aws-cdk-lib.aws_cognito.IUserPool"
6301
+ }
6302
+ },
6303
+ {
6304
+ "abstract": true,
6305
+ "docs": {
6306
+ "stability": "experimental",
6307
+ "summary": "Specify additional user pool identity providers to enable federated login."
6308
+ },
6309
+ "immutable": true,
6310
+ "locationInModule": {
6311
+ "filename": "src/platform/DefaultUserPoolClients.ts",
6312
+ "line": 41
6313
+ },
6314
+ "name": "additonalUserPoolIdentityProviders",
6315
+ "optional": true,
6316
+ "type": {
6317
+ "collection": {
6318
+ "elementtype": {
6319
+ "primitive": "string"
6320
+ },
6321
+ "kind": "array"
6322
+ }
6323
+ }
6324
+ },
6325
+ {
6326
+ "abstract": true,
6327
+ "docs": {
6328
+ "stability": "experimental",
6329
+ "summary": "Specify additional callback URLs which the frontend uses for OIDC authentication."
6330
+ },
6331
+ "immutable": true,
6332
+ "locationInModule": {
6333
+ "filename": "src/platform/DefaultUserPoolClients.ts",
6334
+ "line": 36
6335
+ },
6336
+ "name": "callbackUrls",
6337
+ "optional": true,
6338
+ "type": {
6339
+ "collection": {
6340
+ "elementtype": {
6341
+ "primitive": "string"
6342
+ },
6343
+ "kind": "array"
6344
+ }
6345
+ }
6346
+ },
6347
+ {
6348
+ "abstract": true,
6349
+ "docs": {
6350
+ "stability": "experimental",
6351
+ "summary": "Specify valid logout URLs which should be added to the frontend user pool client."
6352
+ },
6353
+ "immutable": true,
6354
+ "locationInModule": {
6355
+ "filename": "src/platform/DefaultUserPoolClients.ts",
6356
+ "line": 30
6357
+ },
6358
+ "name": "logoutUrls",
6359
+ "optional": true,
6360
+ "type": {
6361
+ "collection": {
6362
+ "elementtype": {
6363
+ "primitive": "string"
6364
+ },
6365
+ "kind": "array"
6366
+ }
6367
+ }
6368
+ }
6369
+ ],
6370
+ "symbolId": "src/platform/DefaultUserPoolClients:DefaultUserPoolClientsProps"
6371
+ },
6372
+ "@btc-embedded/cdk-extensions.DocumentDB": {
6373
+ "assembly": "@btc-embedded/cdk-extensions",
6374
+ "base": "constructs.Construct",
6375
+ "docs": {
6376
+ "stability": "experimental"
6377
+ },
6378
+ "fqn": "@btc-embedded/cdk-extensions.DocumentDB",
6379
+ "initializer": {
6380
+ "docs": {
6381
+ "stability": "experimental"
6382
+ },
6383
+ "locationInModule": {
6384
+ "filename": "src/platform/DocumentDB.ts",
6385
+ "line": 23
6386
+ },
6387
+ "parameters": [
6388
+ {
6389
+ "name": "scope",
6390
+ "type": {
6391
+ "fqn": "constructs.Construct"
6392
+ }
6393
+ },
6394
+ {
6395
+ "name": "id",
6396
+ "type": {
6397
+ "primitive": "string"
6398
+ }
6399
+ },
6400
+ {
6401
+ "name": "props",
6402
+ "type": {
6403
+ "fqn": "@btc-embedded/cdk-extensions.DocumentDBProps"
6404
+ }
6405
+ }
6406
+ ]
6407
+ },
6408
+ "kind": "class",
6409
+ "locationInModule": {
6410
+ "filename": "src/platform/DocumentDB.ts",
6411
+ "line": 20
6412
+ },
6413
+ "name": "DocumentDB",
6414
+ "symbolId": "src/platform/DocumentDB:DocumentDB"
6415
+ },
6416
+ "@btc-embedded/cdk-extensions.DocumentDBProps": {
6417
+ "assembly": "@btc-embedded/cdk-extensions",
6418
+ "datatype": true,
6419
+ "docs": {
6420
+ "stability": "experimental"
6421
+ },
6422
+ "fqn": "@btc-embedded/cdk-extensions.DocumentDBProps",
6423
+ "kind": "interface",
6424
+ "locationInModule": {
6425
+ "filename": "src/platform/DocumentDB.ts",
6426
+ "line": 13
6427
+ },
6428
+ "name": "DocumentDBProps",
6429
+ "properties": [
5323
6430
  {
5324
6431
  "abstract": true,
5325
6432
  "docs": {
@@ -5866,92 +6973,232 @@
5866
6973
  {
5867
6974
  "abstract": true,
5868
6975
  "docs": {
5869
- "default": "POSTGRES_ENDPOINT",
6976
+ "default": "POSTGRES_ENDPOINT",
6977
+ "stability": "experimental",
6978
+ "summary": "Environment variable for the Postgres endpoint."
6979
+ },
6980
+ "immutable": true,
6981
+ "locationInModule": {
6982
+ "filename": "src/extensions/PostgresDbAccessExtension.ts",
6983
+ "line": 27
6984
+ },
6985
+ "name": "postgresEndpoint",
6986
+ "optional": true,
6987
+ "type": {
6988
+ "primitive": "string"
6989
+ }
6990
+ },
6991
+ {
6992
+ "abstract": true,
6993
+ "docs": {
6994
+ "default": "POSTGRES_PASSWORD",
6995
+ "stability": "experimental",
6996
+ "summary": "Environment variable for the Postgres password."
6997
+ },
6998
+ "immutable": true,
6999
+ "locationInModule": {
7000
+ "filename": "src/extensions/PostgresDbAccessExtension.ts",
7001
+ "line": 48
7002
+ },
7003
+ "name": "postgresPassword",
7004
+ "optional": true,
7005
+ "type": {
7006
+ "primitive": "string"
7007
+ }
7008
+ },
7009
+ {
7010
+ "abstract": true,
7011
+ "docs": {
7012
+ "default": "POSTGRES_USERNAME",
7013
+ "stability": "experimental",
7014
+ "summary": "Environment variable for the Postgres username."
7015
+ },
7016
+ "immutable": true,
7017
+ "locationInModule": {
7018
+ "filename": "src/extensions/PostgresDbAccessExtension.ts",
7019
+ "line": 41
7020
+ },
7021
+ "name": "postgresUsername",
7022
+ "optional": true,
7023
+ "type": {
7024
+ "primitive": "string"
7025
+ }
7026
+ }
7027
+ ],
7028
+ "symbolId": "src/extensions/PostgresDbAccessExtension:EnvironmentVariableNames"
7029
+ },
7030
+ "@btc-embedded/cdk-extensions.EventListenerExtensionProps": {
7031
+ "assembly": "@btc-embedded/cdk-extensions",
7032
+ "datatype": true,
7033
+ "docs": {
7034
+ "stability": "experimental"
7035
+ },
7036
+ "fqn": "@btc-embedded/cdk-extensions.EventListenerExtensionProps",
7037
+ "kind": "interface",
7038
+ "locationInModule": {
7039
+ "filename": "src/extensions/DomainEventMessagingExtension.ts",
7040
+ "line": 24
7041
+ },
7042
+ "name": "EventListenerExtensionProps",
7043
+ "properties": [
7044
+ {
7045
+ "abstract": true,
7046
+ "docs": {
7047
+ "stability": "experimental"
7048
+ },
7049
+ "immutable": true,
7050
+ "locationInModule": {
7051
+ "filename": "src/extensions/DomainEventMessagingExtension.ts",
7052
+ "line": 25
7053
+ },
7054
+ "name": "queue",
7055
+ "optional": true,
7056
+ "type": {
7057
+ "fqn": "aws-cdk-lib.aws_sqs.Queue"
7058
+ }
7059
+ }
7060
+ ],
7061
+ "symbolId": "src/extensions/DomainEventMessagingExtension:EventListenerExtensionProps"
7062
+ },
7063
+ "@btc-embedded/cdk-extensions.EventPipe": {
7064
+ "assembly": "@btc-embedded/cdk-extensions",
7065
+ "base": "constructs.Construct",
7066
+ "docs": {
7067
+ "stability": "experimental",
7068
+ "summary": "A wrapper for the L1 event pipe with the ability to deactivate it within the stack."
7069
+ },
7070
+ "fqn": "@btc-embedded/cdk-extensions.EventPipe",
7071
+ "initializer": {
7072
+ "docs": {
7073
+ "stability": "experimental"
7074
+ },
7075
+ "locationInModule": {
7076
+ "filename": "src/constructs/EventPipe.ts",
7077
+ "line": 141
7078
+ },
7079
+ "parameters": [
7080
+ {
7081
+ "name": "scope",
7082
+ "type": {
7083
+ "fqn": "constructs.Construct"
7084
+ }
7085
+ },
7086
+ {
7087
+ "name": "id",
7088
+ "type": {
7089
+ "primitive": "string"
7090
+ }
7091
+ },
7092
+ {
7093
+ "name": "props",
7094
+ "type": {
7095
+ "fqn": "@btc-embedded/cdk-extensions.EventPipeProps"
7096
+ }
7097
+ }
7098
+ ]
7099
+ },
7100
+ "kind": "class",
7101
+ "locationInModule": {
7102
+ "filename": "src/constructs/EventPipe.ts",
7103
+ "line": 140
7104
+ },
7105
+ "name": "EventPipe",
7106
+ "symbolId": "src/constructs/EventPipe:EventPipe"
7107
+ },
7108
+ "@btc-embedded/cdk-extensions.EventPipeProps": {
7109
+ "assembly": "@btc-embedded/cdk-extensions",
7110
+ "datatype": true,
7111
+ "docs": {
7112
+ "stability": "experimental",
7113
+ "summary": "Properties for pipe construction."
7114
+ },
7115
+ "fqn": "@btc-embedded/cdk-extensions.EventPipeProps",
7116
+ "kind": "interface",
7117
+ "locationInModule": {
7118
+ "filename": "src/constructs/EventPipe.ts",
7119
+ "line": 12
7120
+ },
7121
+ "name": "EventPipeProps",
7122
+ "properties": [
7123
+ {
7124
+ "abstract": true,
7125
+ "docs": {
7126
+ "remarks": "No other source types are supported at the moment.",
5870
7127
  "stability": "experimental",
5871
- "summary": "Environment variable for the Postgres endpoint."
7128
+ "summary": "The source SQS queue."
5872
7129
  },
5873
7130
  "immutable": true,
5874
7131
  "locationInModule": {
5875
- "filename": "src/extensions/PostgresDbAccessExtension.ts",
5876
- "line": 27
7132
+ "filename": "src/constructs/EventPipe.ts",
7133
+ "line": 16
5877
7134
  },
5878
- "name": "postgresEndpoint",
5879
- "optional": true,
7135
+ "name": "source",
5880
7136
  "type": {
5881
- "primitive": "string"
7137
+ "fqn": "aws-cdk-lib.aws_sqs.IQueue"
5882
7138
  }
5883
7139
  },
5884
7140
  {
5885
7141
  "abstract": true,
5886
7142
  "docs": {
5887
- "default": "POSTGRES_PASSWORD",
5888
7143
  "stability": "experimental",
5889
- "summary": "Environment variable for the Postgres password."
7144
+ "summary": "The target SQS queue or target step function."
5890
7145
  },
5891
7146
  "immutable": true,
5892
7147
  "locationInModule": {
5893
- "filename": "src/extensions/PostgresDbAccessExtension.ts",
5894
- "line": 48
7148
+ "filename": "src/constructs/EventPipe.ts",
7149
+ "line": 21
5895
7150
  },
5896
- "name": "postgresPassword",
5897
- "optional": true,
7151
+ "name": "target",
5898
7152
  "type": {
5899
- "primitive": "string"
7153
+ "union": {
7154
+ "types": [
7155
+ {
7156
+ "fqn": "@btc-embedded/cdk-extensions.TargetQueue"
7157
+ },
7158
+ {
7159
+ "fqn": "@btc-embedded/cdk-extensions.TargetStepFunction"
7160
+ }
7161
+ ]
7162
+ }
5900
7163
  }
5901
7164
  },
5902
7165
  {
5903
7166
  "abstract": true,
5904
7167
  "docs": {
5905
- "default": "POSTGRES_USERNAME",
5906
7168
  "stability": "experimental",
5907
- "summary": "Environment variable for the Postgres username."
7169
+ "summary": "An optional filter for the pipe."
5908
7170
  },
5909
7171
  "immutable": true,
5910
7172
  "locationInModule": {
5911
- "filename": "src/extensions/PostgresDbAccessExtension.ts",
5912
- "line": 41
7173
+ "filename": "src/constructs/EventPipe.ts",
7174
+ "line": 31
5913
7175
  },
5914
- "name": "postgresUsername",
7176
+ "name": "filter",
5915
7177
  "optional": true,
5916
7178
  "type": {
5917
- "primitive": "string"
7179
+ "fqn": "@btc-embedded/cdk-extensions.PipeFilter"
5918
7180
  }
5919
- }
5920
- ],
5921
- "symbolId": "src/extensions/PostgresDbAccessExtension:EnvironmentVariableNames"
5922
- },
5923
- "@btc-embedded/cdk-extensions.EventListenerExtensionProps": {
5924
- "assembly": "@btc-embedded/cdk-extensions",
5925
- "datatype": true,
5926
- "docs": {
5927
- "stability": "experimental"
5928
- },
5929
- "fqn": "@btc-embedded/cdk-extensions.EventListenerExtensionProps",
5930
- "kind": "interface",
5931
- "locationInModule": {
5932
- "filename": "src/extensions/DomainEventMessagingExtension.ts",
5933
- "line": 24
5934
- },
5935
- "name": "EventListenerExtensionProps",
5936
- "properties": [
7181
+ },
5937
7182
  {
5938
7183
  "abstract": true,
5939
7184
  "docs": {
5940
- "stability": "experimental"
7185
+ "remarks": "If omitted, a new role is created.",
7186
+ "stability": "experimental",
7187
+ "summary": "The role used by the event pipe."
5941
7188
  },
5942
7189
  "immutable": true,
5943
7190
  "locationInModule": {
5944
- "filename": "src/extensions/DomainEventMessagingExtension.ts",
5945
- "line": 25
7191
+ "filename": "src/constructs/EventPipe.ts",
7192
+ "line": 26
5946
7193
  },
5947
- "name": "queue",
7194
+ "name": "role",
5948
7195
  "optional": true,
5949
7196
  "type": {
5950
- "fqn": "aws-cdk-lib.aws_sqs.Queue"
7197
+ "fqn": "aws-cdk-lib.aws_iam.Role"
5951
7198
  }
5952
7199
  }
5953
7200
  ],
5954
- "symbolId": "src/extensions/DomainEventMessagingExtension:EventListenerExtensionProps"
7201
+ "symbolId": "src/constructs/EventPipe:EventPipeProps"
5955
7202
  },
5956
7203
  "@btc-embedded/cdk-extensions.ExtraContainerExtension": {
5957
7204
  "assembly": "@btc-embedded/cdk-extensions",
@@ -6070,80 +7317,294 @@
6070
7317
  },
6071
7318
  "name": "dbAccess",
6072
7319
  "type": {
6073
- "primitive": "boolean"
7320
+ "primitive": "boolean"
7321
+ }
7322
+ },
7323
+ {
7324
+ "docs": {
7325
+ "stability": "experimental"
7326
+ },
7327
+ "immutable": true,
7328
+ "locationInModule": {
7329
+ "filename": "src/extensions/ExtraContainerExtension.ts",
7330
+ "line": 118
7331
+ },
7332
+ "name": "healthCondition",
7333
+ "type": {
7334
+ "fqn": "aws-cdk-lib.aws_ecs.ContainerDependencyCondition"
7335
+ }
7336
+ },
7337
+ {
7338
+ "docs": {
7339
+ "stability": "experimental"
7340
+ },
7341
+ "immutable": true,
7342
+ "locationInModule": {
7343
+ "filename": "src/extensions/ExtraContainerExtension.ts",
7344
+ "line": 55
7345
+ },
7346
+ "name": "props",
7347
+ "type": {
7348
+ "fqn": "@btc-embedded/cdk-extensions.ExtraContainerExtensionProps"
7349
+ }
7350
+ }
7351
+ ],
7352
+ "symbolId": "src/extensions/ExtraContainerExtension:ExtraContainerExtension"
7353
+ },
7354
+ "@btc-embedded/cdk-extensions.ExtraContainerExtensionProps": {
7355
+ "assembly": "@btc-embedded/cdk-extensions",
7356
+ "datatype": true,
7357
+ "docs": {
7358
+ "stability": "experimental"
7359
+ },
7360
+ "fqn": "@btc-embedded/cdk-extensions.ExtraContainerExtensionProps",
7361
+ "kind": "interface",
7362
+ "locationInModule": {
7363
+ "filename": "src/extensions/ExtraContainerExtension.ts",
7364
+ "line": 42
7365
+ },
7366
+ "name": "ExtraContainerExtensionProps",
7367
+ "properties": [
7368
+ {
7369
+ "abstract": true,
7370
+ "docs": {
7371
+ "stability": "experimental"
7372
+ },
7373
+ "immutable": true,
7374
+ "locationInModule": {
7375
+ "filename": "src/extensions/ExtraContainerExtension.ts",
7376
+ "line": 43
7377
+ },
7378
+ "name": "container",
7379
+ "type": {
7380
+ "fqn": "@btc-embedded/cdk-extensions.ContainerProps"
7381
+ }
7382
+ },
7383
+ {
7384
+ "abstract": true,
7385
+ "docs": {
7386
+ "stability": "experimental"
7387
+ },
7388
+ "immutable": true,
7389
+ "locationInModule": {
7390
+ "filename": "src/extensions/ExtraContainerExtension.ts",
7391
+ "line": 50
7392
+ },
7393
+ "name": "dbAccess",
7394
+ "optional": true,
7395
+ "type": {
7396
+ "primitive": "boolean"
7397
+ }
7398
+ },
7399
+ {
7400
+ "abstract": true,
7401
+ "docs": {
7402
+ "remarks": "Defaults to ContainerDependencyCondition.HEALTHY.",
7403
+ "stability": "experimental",
7404
+ "summary": "Specify the condition when this container should be considered healthy such that the main container can start."
7405
+ },
7406
+ "immutable": true,
7407
+ "locationInModule": {
7408
+ "filename": "src/extensions/ExtraContainerExtension.ts",
7409
+ "line": 49
7410
+ },
7411
+ "name": "healthCheckCondition",
7412
+ "optional": true,
7413
+ "type": {
7414
+ "fqn": "aws-cdk-lib.aws_ecs.ContainerDependencyCondition"
7415
+ }
7416
+ }
7417
+ ],
7418
+ "symbolId": "src/extensions/ExtraContainerExtension:ExtraContainerExtensionProps"
7419
+ },
7420
+ "@btc-embedded/cdk-extensions.FilterEqualsIgnoreCase": {
7421
+ "assembly": "@btc-embedded/cdk-extensions",
7422
+ "datatype": true,
7423
+ "docs": {
7424
+ "stability": "experimental",
7425
+ "summary": "Rule that matches a string, ignoring the case."
7426
+ },
7427
+ "fqn": "@btc-embedded/cdk-extensions.FilterEqualsIgnoreCase",
7428
+ "kind": "interface",
7429
+ "locationInModule": {
7430
+ "filename": "src/constructs/EventPipe.ts",
7431
+ "line": 119
7432
+ },
7433
+ "name": "FilterEqualsIgnoreCase",
7434
+ "symbolId": "src/constructs/EventPipe:FilterEqualsIgnoreCase"
7435
+ },
7436
+ "@btc-embedded/cdk-extensions.HTTPApiExtension": {
7437
+ "assembly": "@btc-embedded/cdk-extensions",
7438
+ "base": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
7439
+ "docs": {
7440
+ "stability": "experimental",
7441
+ "summary": "Configures the service to be reachable via an Http Api."
7442
+ },
7443
+ "fqn": "@btc-embedded/cdk-extensions.HTTPApiExtension",
7444
+ "initializer": {
7445
+ "docs": {
7446
+ "stability": "experimental"
7447
+ },
7448
+ "locationInModule": {
7449
+ "filename": "src/extensions/HTTPApiExtension.ts",
7450
+ "line": 72
7451
+ },
7452
+ "parameters": [
7453
+ {
7454
+ "name": "props",
7455
+ "type": {
7456
+ "fqn": "@btc-embedded/cdk-extensions.HTTPApiExtensionProps"
7457
+ }
7458
+ }
7459
+ ]
7460
+ },
7461
+ "kind": "class",
7462
+ "locationInModule": {
7463
+ "filename": "src/extensions/HTTPApiExtension.ts",
7464
+ "line": 65
7465
+ },
7466
+ "methods": [
7467
+ {
7468
+ "docs": {
7469
+ "remarks": "It is generally used to\ncreate any final resources which might depend on the service itself.",
7470
+ "stability": "experimental",
7471
+ "summary": "When this hook is implemented by extension, it allows the extension to use the service which has been created."
7472
+ },
7473
+ "locationInModule": {
7474
+ "filename": "src/extensions/HTTPApiExtension.ts",
7475
+ "line": 77
7476
+ },
7477
+ "name": "useService",
7478
+ "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
7479
+ "parameters": [
7480
+ {
7481
+ "name": "service",
7482
+ "type": {
7483
+ "union": {
7484
+ "types": [
7485
+ {
7486
+ "fqn": "aws-cdk-lib.aws_ecs.Ec2Service"
7487
+ },
7488
+ {
7489
+ "fqn": "aws-cdk-lib.aws_ecs.FargateService"
7490
+ }
7491
+ ]
7492
+ }
7493
+ }
7494
+ }
7495
+ ]
7496
+ }
7497
+ ],
7498
+ "name": "HTTPApiExtension",
7499
+ "properties": [
7500
+ {
7501
+ "docs": {
7502
+ "stability": "experimental"
7503
+ },
7504
+ "immutable": true,
7505
+ "locationInModule": {
7506
+ "filename": "src/extensions/HTTPApiExtension.ts",
7507
+ "line": 66
7508
+ },
7509
+ "name": "props",
7510
+ "type": {
7511
+ "fqn": "@btc-embedded/cdk-extensions.HTTPApiExtensionProps"
7512
+ }
7513
+ }
7514
+ ],
7515
+ "symbolId": "src/extensions/HTTPApiExtension:HTTPApiExtension"
7516
+ },
7517
+ "@btc-embedded/cdk-extensions.HTTPApiExtensionProps": {
7518
+ "assembly": "@btc-embedded/cdk-extensions",
7519
+ "datatype": true,
7520
+ "docs": {
7521
+ "stability": "experimental"
7522
+ },
7523
+ "fqn": "@btc-embedded/cdk-extensions.HTTPApiExtensionProps",
7524
+ "kind": "interface",
7525
+ "locationInModule": {
7526
+ "filename": "src/extensions/HTTPApiExtension.ts",
7527
+ "line": 29
7528
+ },
7529
+ "name": "HTTPApiExtensionProps",
7530
+ "properties": [
7531
+ {
7532
+ "abstract": true,
7533
+ "docs": {
7534
+ "stability": "experimental",
7535
+ "summary": "Domain prefix for the API Gateway endpoint."
7536
+ },
7537
+ "immutable": true,
7538
+ "locationInModule": {
7539
+ "filename": "src/extensions/HTTPApiExtension.ts",
7540
+ "line": 48
7541
+ },
7542
+ "name": "domainPrefix",
7543
+ "type": {
7544
+ "primitive": "string"
6074
7545
  }
6075
7546
  },
6076
7547
  {
7548
+ "abstract": true,
6077
7549
  "docs": {
6078
- "stability": "experimental"
7550
+ "stability": "experimental",
7551
+ "summary": "Hosted Zone to create the gateway domain A record."
6079
7552
  },
6080
7553
  "immutable": true,
6081
7554
  "locationInModule": {
6082
- "filename": "src/extensions/ExtraContainerExtension.ts",
6083
- "line": 118
7555
+ "filename": "src/extensions/HTTPApiExtension.ts",
7556
+ "line": 53
6084
7557
  },
6085
- "name": "healthCondition",
7558
+ "name": "hostedZone",
6086
7559
  "type": {
6087
- "fqn": "aws-cdk-lib.aws_ecs.ContainerDependencyCondition"
7560
+ "fqn": "aws-cdk-lib.aws_route53.IHostedZone"
6088
7561
  }
6089
7562
  },
6090
7563
  {
7564
+ "abstract": true,
6091
7565
  "docs": {
6092
- "stability": "experimental"
7566
+ "stability": "experimental",
7567
+ "summary": "The name of the base platform stack."
6093
7568
  },
6094
7569
  "immutable": true,
6095
7570
  "locationInModule": {
6096
- "filename": "src/extensions/ExtraContainerExtension.ts",
6097
- "line": 55
7571
+ "filename": "src/extensions/HTTPApiExtension.ts",
7572
+ "line": 38
6098
7573
  },
6099
- "name": "props",
7574
+ "name": "platformStackName",
6100
7575
  "type": {
6101
- "fqn": "@btc-embedded/cdk-extensions.ExtraContainerExtensionProps"
7576
+ "primitive": "string"
6102
7577
  }
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": [
7578
+ },
6121
7579
  {
6122
7580
  "abstract": true,
6123
7581
  "docs": {
6124
- "stability": "experimental"
7582
+ "stability": "experimental",
7583
+ "summary": "The security group ID of the API Gateway which should be allowed to connect to the service."
6125
7584
  },
6126
7585
  "immutable": true,
6127
7586
  "locationInModule": {
6128
- "filename": "src/extensions/ExtraContainerExtension.ts",
7587
+ "filename": "src/extensions/HTTPApiExtension.ts",
6129
7588
  "line": 43
6130
7589
  },
6131
- "name": "container",
7590
+ "name": "securityGroupId",
6132
7591
  "type": {
6133
- "fqn": "@btc-embedded/cdk-extensions.ContainerProps"
7592
+ "primitive": "string"
6134
7593
  }
6135
7594
  },
6136
7595
  {
6137
7596
  "abstract": true,
6138
7597
  "docs": {
6139
- "stability": "experimental"
7598
+ "remarks": "default: true",
7599
+ "stability": "experimental",
7600
+ "summary": "Enable access logs for the API Gateway."
6140
7601
  },
6141
7602
  "immutable": true,
6142
7603
  "locationInModule": {
6143
- "filename": "src/extensions/ExtraContainerExtension.ts",
6144
- "line": 50
7604
+ "filename": "src/extensions/HTTPApiExtension.ts",
7605
+ "line": 59
6145
7606
  },
6146
- "name": "dbAccess",
7607
+ "name": "enableAccessLogs",
6147
7608
  "optional": true,
6148
7609
  "type": {
6149
7610
  "primitive": "boolean"
@@ -6152,23 +7613,70 @@
6152
7613
  {
6153
7614
  "abstract": true,
6154
7615
  "docs": {
6155
- "remarks": "Defaults to ContainerDependencyCondition.HEALTHY.",
6156
7616
  "stability": "experimental",
6157
- "summary": "Specify the condition when this container should be considered healthy such that the main container can start."
7617
+ "summary": "The prefix for the API Gateway endpoint."
6158
7618
  },
6159
7619
  "immutable": true,
6160
7620
  "locationInModule": {
6161
- "filename": "src/extensions/ExtraContainerExtension.ts",
6162
- "line": 49
7621
+ "filename": "src/extensions/HTTPApiExtension.ts",
7622
+ "line": 33
6163
7623
  },
6164
- "name": "healthCheckCondition",
7624
+ "name": "prefix",
6165
7625
  "optional": true,
6166
7626
  "type": {
6167
- "fqn": "aws-cdk-lib.aws_ecs.ContainerDependencyCondition"
7627
+ "primitive": "string"
6168
7628
  }
6169
7629
  }
6170
7630
  ],
6171
- "symbolId": "src/extensions/ExtraContainerExtension:ExtraContainerExtensionProps"
7631
+ "symbolId": "src/extensions/HTTPApiExtension:HTTPApiExtensionProps"
7632
+ },
7633
+ "@btc-embedded/cdk-extensions.InputTemplate": {
7634
+ "assembly": "@btc-embedded/cdk-extensions",
7635
+ "datatype": true,
7636
+ "docs": {
7637
+ "stability": "experimental"
7638
+ },
7639
+ "fqn": "@btc-embedded/cdk-extensions.InputTemplate",
7640
+ "kind": "interface",
7641
+ "locationInModule": {
7642
+ "filename": "src/constructs/EventPipe.ts",
7643
+ "line": 53
7644
+ },
7645
+ "name": "InputTemplate",
7646
+ "symbolId": "src/constructs/EventPipe:InputTemplate"
7647
+ },
7648
+ "@btc-embedded/cdk-extensions.InvocationType": {
7649
+ "assembly": "@btc-embedded/cdk-extensions",
7650
+ "docs": {
7651
+ "stability": "experimental",
7652
+ "summary": "The invocation type of the step function."
7653
+ },
7654
+ "fqn": "@btc-embedded/cdk-extensions.InvocationType",
7655
+ "kind": "enum",
7656
+ "locationInModule": {
7657
+ "filename": "src/constructs/EventPipe.ts",
7658
+ "line": 37
7659
+ },
7660
+ "members": [
7661
+ {
7662
+ "docs": {
7663
+ "remarks": "For more information, see\n[StartSyncExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartSyncExecution.html)\nin the *AWS Step Functions API Reference*.\n> `REQUEST_RESPONSE` is not supported for `STANDARD` state machine workflows.",
7664
+ "stability": "experimental",
7665
+ "summary": "(default) - Invoke synchronously."
7666
+ },
7667
+ "name": "REQUEST_RESPONSE"
7668
+ },
7669
+ {
7670
+ "docs": {
7671
+ "remarks": "For more information, see\n[StartExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)\nin the *AWS Step Functions API Reference*.",
7672
+ "stability": "experimental",
7673
+ "summary": "Invoke asynchronously."
7674
+ },
7675
+ "name": "FIRE_AND_FORGET"
7676
+ }
7677
+ ],
7678
+ "name": "InvocationType",
7679
+ "symbolId": "src/constructs/EventPipe:InvocationType"
6172
7680
  },
6173
7681
  "@btc-embedded/cdk-extensions.LogExtension": {
6174
7682
  "assembly": "@btc-embedded/cdk-extensions",
@@ -6508,6 +8016,22 @@
6508
8016
  ],
6509
8017
  "symbolId": "src/extensions/OpenTelemetryExtension:OpenTelemetryExtensionProps"
6510
8018
  },
8019
+ "@btc-embedded/cdk-extensions.PipeFilter": {
8020
+ "assembly": "@btc-embedded/cdk-extensions",
8021
+ "datatype": true,
8022
+ "docs": {
8023
+ "stability": "experimental",
8024
+ "summary": "A filter for messages in the pipe."
8025
+ },
8026
+ "fqn": "@btc-embedded/cdk-extensions.PipeFilter",
8027
+ "kind": "interface",
8028
+ "locationInModule": {
8029
+ "filename": "src/constructs/EventPipe.ts",
8030
+ "line": 129
8031
+ },
8032
+ "name": "PipeFilter",
8033
+ "symbolId": "src/constructs/EventPipe:PipeFilter"
8034
+ },
6511
8035
  "@btc-embedded/cdk-extensions.PostgresDbAccessExtension": {
6512
8036
  "assembly": "@btc-embedded/cdk-extensions",
6513
8037
  "base": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -6735,56 +8259,220 @@
6735
8259
  "stability": "experimental",
6736
8260
  "summary": "Additional connection properties to be added to the database connection string as query parameters."
6737
8261
  },
6738
- "immutable": true,
6739
- "locationInModule": {
6740
- "filename": "src/extensions/PostgresDbAccessExtension.ts",
6741
- "line": 74
8262
+ "immutable": true,
8263
+ "locationInModule": {
8264
+ "filename": "src/extensions/PostgresDbAccessExtension.ts",
8265
+ "line": 74
8266
+ },
8267
+ "name": "dbConnectionProperties",
8268
+ "optional": true,
8269
+ "type": {
8270
+ "collection": {
8271
+ "elementtype": {
8272
+ "primitive": "string"
8273
+ },
8274
+ "kind": "map"
8275
+ }
8276
+ }
8277
+ },
8278
+ {
8279
+ "abstract": true,
8280
+ "docs": {
8281
+ "default": "- uses the default environment variable names",
8282
+ "stability": "experimental",
8283
+ "summary": "Adjust the environment variables."
8284
+ },
8285
+ "immutable": true,
8286
+ "locationInModule": {
8287
+ "filename": "src/extensions/PostgresDbAccessExtension.ts",
8288
+ "line": 81
8289
+ },
8290
+ "name": "environmentVariableNames",
8291
+ "optional": true,
8292
+ "type": {
8293
+ "fqn": "@btc-embedded/cdk-extensions.EnvironmentVariableNames"
8294
+ }
8295
+ }
8296
+ ],
8297
+ "symbolId": "src/extensions/PostgresDbAccessExtension:PostgresDbAccessExtensionProps"
8298
+ },
8299
+ "@btc-embedded/cdk-extensions.PredefinedPrivateDnsNamespaceProps": {
8300
+ "assembly": "@btc-embedded/cdk-extensions",
8301
+ "datatype": true,
8302
+ "docs": {
8303
+ "stability": "experimental"
8304
+ },
8305
+ "fqn": "@btc-embedded/cdk-extensions.PredefinedPrivateDnsNamespaceProps",
8306
+ "kind": "interface",
8307
+ "locationInModule": {
8308
+ "filename": "src/platform/PrivateDnsNamespace.ts",
8309
+ "line": 9
8310
+ },
8311
+ "name": "PredefinedPrivateDnsNamespaceProps",
8312
+ "properties": [
8313
+ {
8314
+ "abstract": true,
8315
+ "docs": {
8316
+ "stability": "experimental"
8317
+ },
8318
+ "immutable": true,
8319
+ "locationInModule": {
8320
+ "filename": "src/platform/PrivateDnsNamespace.ts",
8321
+ "line": 10
8322
+ },
8323
+ "name": "arn",
8324
+ "type": {
8325
+ "primitive": "string"
8326
+ }
8327
+ },
8328
+ {
8329
+ "abstract": true,
8330
+ "docs": {
8331
+ "stability": "experimental"
8332
+ },
8333
+ "immutable": true,
8334
+ "locationInModule": {
8335
+ "filename": "src/platform/PrivateDnsNamespace.ts",
8336
+ "line": 11
8337
+ },
8338
+ "name": "id",
8339
+ "type": {
8340
+ "primitive": "string"
8341
+ }
8342
+ },
8343
+ {
8344
+ "abstract": true,
8345
+ "docs": {
8346
+ "stability": "experimental"
8347
+ },
8348
+ "immutable": true,
8349
+ "locationInModule": {
8350
+ "filename": "src/platform/PrivateDnsNamespace.ts",
8351
+ "line": 12
8352
+ },
8353
+ "name": "namespace",
8354
+ "type": {
8355
+ "primitive": "string"
8356
+ }
8357
+ }
8358
+ ],
8359
+ "symbolId": "src/platform/PrivateDnsNamespace:PredefinedPrivateDnsNamespaceProps"
8360
+ },
8361
+ "@btc-embedded/cdk-extensions.PrefixFilterRule": {
8362
+ "assembly": "@btc-embedded/cdk-extensions",
8363
+ "datatype": true,
8364
+ "docs": {
8365
+ "stability": "experimental",
8366
+ "summary": "Rule that a property has to start with a prefix."
8367
+ },
8368
+ "fqn": "@btc-embedded/cdk-extensions.PrefixFilterRule",
8369
+ "kind": "interface",
8370
+ "locationInModule": {
8371
+ "filename": "src/constructs/EventPipe.ts",
8372
+ "line": 95
8373
+ },
8374
+ "name": "PrefixFilterRule",
8375
+ "properties": [
8376
+ {
8377
+ "abstract": true,
8378
+ "docs": {
8379
+ "stability": "experimental"
8380
+ },
8381
+ "immutable": true,
8382
+ "locationInModule": {
8383
+ "filename": "src/constructs/EventPipe.ts",
8384
+ "line": 96
8385
+ },
8386
+ "name": "prefix",
8387
+ "type": {
8388
+ "union": {
8389
+ "types": [
8390
+ {
8391
+ "primitive": "string"
8392
+ },
8393
+ {
8394
+ "fqn": "@btc-embedded/cdk-extensions.FilterEqualsIgnoreCase"
8395
+ }
8396
+ ]
8397
+ }
8398
+ }
8399
+ }
8400
+ ],
8401
+ "symbolId": "src/constructs/EventPipe:PrefixFilterRule"
8402
+ },
8403
+ "@btc-embedded/cdk-extensions.PrivateDnsNamespace": {
8404
+ "assembly": "@btc-embedded/cdk-extensions",
8405
+ "base": "constructs.Construct",
8406
+ "docs": {
8407
+ "stability": "experimental"
8408
+ },
8409
+ "fqn": "@btc-embedded/cdk-extensions.PrivateDnsNamespace",
8410
+ "initializer": {
8411
+ "docs": {
8412
+ "stability": "experimental"
8413
+ },
8414
+ "locationInModule": {
8415
+ "filename": "src/platform/PrivateDnsNamespace.ts",
8416
+ "line": 23
8417
+ },
8418
+ "parameters": [
8419
+ {
8420
+ "name": "scope",
8421
+ "type": {
8422
+ "fqn": "constructs.Construct"
8423
+ }
8424
+ },
8425
+ {
8426
+ "name": "id",
8427
+ "type": {
8428
+ "primitive": "string"
8429
+ }
6742
8430
  },
6743
- "name": "dbConnectionProperties",
6744
- "optional": true,
6745
- "type": {
6746
- "collection": {
6747
- "elementtype": {
6748
- "primitive": "string"
6749
- },
6750
- "kind": "map"
8431
+ {
8432
+ "name": "props",
8433
+ "type": {
8434
+ "fqn": "@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps"
6751
8435
  }
6752
8436
  }
6753
- },
8437
+ ]
8438
+ },
8439
+ "kind": "class",
8440
+ "locationInModule": {
8441
+ "filename": "src/platform/PrivateDnsNamespace.ts",
8442
+ "line": 21
8443
+ },
8444
+ "name": "PrivateDnsNamespace",
8445
+ "properties": [
6754
8446
  {
6755
- "abstract": true,
6756
8447
  "docs": {
6757
- "default": "- uses the default environment variable names",
6758
- "stability": "experimental",
6759
- "summary": "Adjust the environment variables."
8448
+ "stability": "experimental"
6760
8449
  },
6761
8450
  "immutable": true,
6762
8451
  "locationInModule": {
6763
- "filename": "src/extensions/PostgresDbAccessExtension.ts",
6764
- "line": 81
8452
+ "filename": "src/platform/PrivateDnsNamespace.ts",
8453
+ "line": 22
6765
8454
  },
6766
- "name": "environmentVariableNames",
6767
- "optional": true,
8455
+ "name": "namespace",
6768
8456
  "type": {
6769
- "fqn": "@btc-embedded/cdk-extensions.EnvironmentVariableNames"
8457
+ "fqn": "aws-cdk-lib.aws_servicediscovery.IPrivateDnsNamespace"
6770
8458
  }
6771
8459
  }
6772
8460
  ],
6773
- "symbolId": "src/extensions/PostgresDbAccessExtension:PostgresDbAccessExtensionProps"
8461
+ "symbolId": "src/platform/PrivateDnsNamespace:PrivateDnsNamespace"
6774
8462
  },
6775
- "@btc-embedded/cdk-extensions.PredefinedPrivateDnsNamespaceProps": {
8463
+ "@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps": {
6776
8464
  "assembly": "@btc-embedded/cdk-extensions",
6777
8465
  "datatype": true,
6778
8466
  "docs": {
6779
8467
  "stability": "experimental"
6780
8468
  },
6781
- "fqn": "@btc-embedded/cdk-extensions.PredefinedPrivateDnsNamespaceProps",
8469
+ "fqn": "@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps",
6782
8470
  "kind": "interface",
6783
8471
  "locationInModule": {
6784
8472
  "filename": "src/platform/PrivateDnsNamespace.ts",
6785
- "line": 9
8473
+ "line": 15
6786
8474
  },
6787
- "name": "PredefinedPrivateDnsNamespaceProps",
8475
+ "name": "PrivateDnsNamespaceProps",
6788
8476
  "properties": [
6789
8477
  {
6790
8478
  "abstract": true,
@@ -6794,11 +8482,11 @@
6794
8482
  "immutable": true,
6795
8483
  "locationInModule": {
6796
8484
  "filename": "src/platform/PrivateDnsNamespace.ts",
6797
- "line": 10
8485
+ "line": 18
6798
8486
  },
6799
- "name": "arn",
8487
+ "name": "vpc",
6800
8488
  "type": {
6801
- "primitive": "string"
8489
+ "fqn": "aws-cdk-lib.aws_ec2.IVpc"
6802
8490
  }
6803
8491
  },
6804
8492
  {
@@ -6809,11 +8497,12 @@
6809
8497
  "immutable": true,
6810
8498
  "locationInModule": {
6811
8499
  "filename": "src/platform/PrivateDnsNamespace.ts",
6812
- "line": 11
8500
+ "line": 16
6813
8501
  },
6814
- "name": "id",
8502
+ "name": "definedPrivateDnsNamespace",
8503
+ "optional": true,
6815
8504
  "type": {
6816
- "primitive": "string"
8505
+ "fqn": "@btc-embedded/cdk-extensions.PredefinedPrivateDnsNamespaceProps"
6817
8506
  }
6818
8507
  },
6819
8508
  {
@@ -6824,30 +8513,33 @@
6824
8513
  "immutable": true,
6825
8514
  "locationInModule": {
6826
8515
  "filename": "src/platform/PrivateDnsNamespace.ts",
6827
- "line": 12
8516
+ "line": 17
6828
8517
  },
6829
- "name": "namespace",
8518
+ "name": "namespaceName",
8519
+ "optional": true,
6830
8520
  "type": {
6831
8521
  "primitive": "string"
6832
8522
  }
6833
8523
  }
6834
8524
  ],
6835
- "symbolId": "src/platform/PrivateDnsNamespace:PredefinedPrivateDnsNamespaceProps"
8525
+ "symbolId": "src/platform/PrivateDnsNamespace:PrivateDnsNamespaceProps"
6836
8526
  },
6837
- "@btc-embedded/cdk-extensions.PrivateDnsNamespace": {
8527
+ "@btc-embedded/cdk-extensions.ResourceServer": {
6838
8528
  "assembly": "@btc-embedded/cdk-extensions",
6839
8529
  "base": "constructs.Construct",
6840
8530
  "docs": {
6841
- "stability": "experimental"
8531
+ "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.",
8532
+ "stability": "experimental",
8533
+ "summary": "A construct that creates a Cognito Resource Server for managing OAuth scopes."
6842
8534
  },
6843
- "fqn": "@btc-embedded/cdk-extensions.PrivateDnsNamespace",
8535
+ "fqn": "@btc-embedded/cdk-extensions.ResourceServer",
6844
8536
  "initializer": {
6845
8537
  "docs": {
6846
8538
  "stability": "experimental"
6847
8539
  },
6848
8540
  "locationInModule": {
6849
- "filename": "src/platform/PrivateDnsNamespace.ts",
6850
- "line": 23
8541
+ "filename": "src/platform/ResourceServer.ts",
8542
+ "line": 41
6851
8543
  },
6852
8544
  "parameters": [
6853
8545
  {
@@ -6865,113 +8557,191 @@
6865
8557
  {
6866
8558
  "name": "props",
6867
8559
  "type": {
6868
- "fqn": "@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps"
8560
+ "fqn": "@btc-embedded/cdk-extensions.ResourceServerProps"
6869
8561
  }
6870
8562
  }
6871
8563
  ]
6872
8564
  },
6873
8565
  "kind": "class",
6874
8566
  "locationInModule": {
6875
- "filename": "src/platform/PrivateDnsNamespace.ts",
6876
- "line": 21
8567
+ "filename": "src/platform/ResourceServer.ts",
8568
+ "line": 38
6877
8569
  },
6878
- "name": "PrivateDnsNamespace",
8570
+ "methods": [
8571
+ {
8572
+ "docs": {
8573
+ "stability": "experimental"
8574
+ },
8575
+ "locationInModule": {
8576
+ "filename": "src/platform/ResourceServer.ts",
8577
+ "line": 64
8578
+ },
8579
+ "name": "createOAuthScopes",
8580
+ "returns": {
8581
+ "type": {
8582
+ "collection": {
8583
+ "elementtype": {
8584
+ "fqn": "aws-cdk-lib.aws_cognito.OAuthScope"
8585
+ },
8586
+ "kind": "array"
8587
+ }
8588
+ }
8589
+ }
8590
+ }
8591
+ ],
8592
+ "name": "ResourceServer",
6879
8593
  "properties": [
6880
8594
  {
6881
8595
  "docs": {
6882
8596
  "stability": "experimental"
6883
8597
  },
6884
- "immutable": true,
6885
8598
  "locationInModule": {
6886
- "filename": "src/platform/PrivateDnsNamespace.ts",
6887
- "line": 22
8599
+ "filename": "src/platform/ResourceServer.ts",
8600
+ "line": 39
6888
8601
  },
6889
- "name": "namespace",
8602
+ "name": "resourceServerInstance",
6890
8603
  "type": {
6891
- "fqn": "aws-cdk-lib.aws_servicediscovery.IPrivateDnsNamespace"
8604
+ "fqn": "aws-cdk-lib.aws_cognito.IUserPoolResourceServer"
6892
8605
  }
6893
8606
  }
6894
8607
  ],
6895
- "symbolId": "src/platform/PrivateDnsNamespace:PrivateDnsNamespace"
8608
+ "symbolId": "src/platform/ResourceServer:ResourceServer"
6896
8609
  },
6897
- "@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps": {
8610
+ "@btc-embedded/cdk-extensions.ResourceServerProps": {
6898
8611
  "assembly": "@btc-embedded/cdk-extensions",
6899
8612
  "datatype": true,
6900
8613
  "docs": {
6901
8614
  "stability": "experimental"
6902
8615
  },
6903
- "fqn": "@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps",
8616
+ "fqn": "@btc-embedded/cdk-extensions.ResourceServerProps",
6904
8617
  "kind": "interface",
6905
8618
  "locationInModule": {
6906
- "filename": "src/platform/PrivateDnsNamespace.ts",
6907
- "line": 15
8619
+ "filename": "src/platform/ResourceServer.ts",
8620
+ "line": 9
6908
8621
  },
6909
- "name": "PrivateDnsNamespaceProps",
8622
+ "name": "ResourceServerProps",
6910
8623
  "properties": [
6911
8624
  {
6912
8625
  "abstract": true,
6913
8626
  "docs": {
6914
- "stability": "experimental"
8627
+ "stability": "experimental",
8628
+ "summary": "The fully qualified domain name (FQDN) used as the identifier for the resource server."
6915
8629
  },
6916
8630
  "immutable": true,
6917
8631
  "locationInModule": {
6918
- "filename": "src/platform/PrivateDnsNamespace.ts",
8632
+ "filename": "src/platform/ResourceServer.ts",
6919
8633
  "line": 18
6920
8634
  },
6921
- "name": "vpc",
8635
+ "name": "fqdn",
6922
8636
  "type": {
6923
- "fqn": "aws-cdk-lib.aws_ec2.IVpc"
8637
+ "primitive": "string"
6924
8638
  }
6925
8639
  },
6926
8640
  {
6927
8641
  "abstract": true,
6928
8642
  "docs": {
6929
- "stability": "experimental"
8643
+ "stability": "experimental",
8644
+ "summary": "The Cognito User Pool to which the resource server will be added."
6930
8645
  },
6931
8646
  "immutable": true,
6932
8647
  "locationInModule": {
6933
- "filename": "src/platform/PrivateDnsNamespace.ts",
6934
- "line": 16
8648
+ "filename": "src/platform/ResourceServer.ts",
8649
+ "line": 13
6935
8650
  },
6936
- "name": "definedPrivateDnsNamespace",
6937
- "optional": true,
8651
+ "name": "userPool",
6938
8652
  "type": {
6939
- "fqn": "@btc-embedded/cdk-extensions.PredefinedPrivateDnsNamespaceProps"
8653
+ "fqn": "aws-cdk-lib.aws_cognito.IUserPool"
6940
8654
  }
6941
8655
  },
6942
8656
  {
6943
8657
  "abstract": true,
6944
8658
  "docs": {
6945
- "stability": "experimental"
8659
+ "default": "- Default scopes for \"read_api\" and \"write_api\" are used.",
8660
+ "remarks": "If not provided, default scopes for \"read_api\" and \"write_api\" will be created.",
8661
+ "stability": "experimental",
8662
+ "summary": "Optional custom scopes to define for the resource server."
6946
8663
  },
6947
8664
  "immutable": true,
6948
8665
  "locationInModule": {
6949
- "filename": "src/platform/PrivateDnsNamespace.ts",
6950
- "line": 17
8666
+ "filename": "src/platform/ResourceServer.ts",
8667
+ "line": 26
6951
8668
  },
6952
- "name": "namespaceName",
8669
+ "name": "scopes",
6953
8670
  "optional": true,
6954
8671
  "type": {
6955
- "primitive": "string"
8672
+ "collection": {
8673
+ "elementtype": {
8674
+ "fqn": "aws-cdk-lib.aws_cognito.ResourceServerScope"
8675
+ },
8676
+ "kind": "array"
8677
+ }
6956
8678
  }
6957
8679
  }
6958
8680
  ],
6959
- "symbolId": "src/platform/PrivateDnsNamespace:PrivateDnsNamespaceProps"
8681
+ "symbolId": "src/platform/ResourceServer:ResourceServerProps"
8682
+ },
8683
+ "@btc-embedded/cdk-extensions.S3Bucket": {
8684
+ "assembly": "@btc-embedded/cdk-extensions",
8685
+ "base": "aws-cdk-lib.aws_s3.Bucket",
8686
+ "docs": {
8687
+ "remarks": "Will cause files to expire after tree days and allows to delete the\nbucket and all its contents, if the stack is deleted.",
8688
+ "stability": "experimental",
8689
+ "summary": "Wrapper for the {@link Bucket} constructs that adds additional properties, if a developer stack is detected."
8690
+ },
8691
+ "fqn": "@btc-embedded/cdk-extensions.S3Bucket",
8692
+ "initializer": {
8693
+ "docs": {
8694
+ "stability": "experimental"
8695
+ },
8696
+ "locationInModule": {
8697
+ "filename": "src/constructs/S3Bucket.ts",
8698
+ "line": 36
8699
+ },
8700
+ "parameters": [
8701
+ {
8702
+ "name": "scope",
8703
+ "type": {
8704
+ "fqn": "constructs.Construct"
8705
+ }
8706
+ },
8707
+ {
8708
+ "name": "id",
8709
+ "type": {
8710
+ "primitive": "string"
8711
+ }
8712
+ },
8713
+ {
8714
+ "name": "props",
8715
+ "optional": true,
8716
+ "type": {
8717
+ "fqn": "aws-cdk-lib.aws_s3.BucketProps"
8718
+ }
8719
+ }
8720
+ ]
8721
+ },
8722
+ "kind": "class",
8723
+ "locationInModule": {
8724
+ "filename": "src/constructs/S3Bucket.ts",
8725
+ "line": 35
8726
+ },
8727
+ "name": "S3Bucket",
8728
+ "symbolId": "src/constructs/S3Bucket:S3Bucket"
6960
8729
  },
6961
8730
  "@btc-embedded/cdk-extensions.SecureRestApi": {
6962
8731
  "assembly": "@btc-embedded/cdk-extensions",
6963
8732
  "base": "constructs.Construct",
6964
8733
  "docs": {
6965
- "stability": "experimental"
8734
+ "deprecated": "Use {@link SecureRestApiV2 } instead",
8735
+ "stability": "deprecated"
6966
8736
  },
6967
8737
  "fqn": "@btc-embedded/cdk-extensions.SecureRestApi",
6968
8738
  "initializer": {
6969
8739
  "docs": {
6970
- "stability": "experimental"
8740
+ "stability": "deprecated"
6971
8741
  },
6972
8742
  "locationInModule": {
6973
8743
  "filename": "src/constructs/SecureRestApi.ts",
6974
- "line": 45
8744
+ "line": 47
6975
8745
  },
6976
8746
  "parameters": [
6977
8747
  {
@@ -6997,17 +8767,17 @@
6997
8767
  "kind": "class",
6998
8768
  "locationInModule": {
6999
8769
  "filename": "src/constructs/SecureRestApi.ts",
7000
- "line": 37
8770
+ "line": 39
7001
8771
  },
7002
8772
  "name": "SecureRestApi",
7003
8773
  "properties": [
7004
8774
  {
7005
8775
  "docs": {
7006
- "stability": "experimental"
8776
+ "stability": "deprecated"
7007
8777
  },
7008
8778
  "locationInModule": {
7009
8779
  "filename": "src/constructs/SecureRestApi.ts",
7010
- "line": 40
8780
+ "line": 42
7011
8781
  },
7012
8782
  "name": "defaultAuthorizer",
7013
8783
  "type": {
@@ -7016,46 +8786,129 @@
7016
8786
  },
7017
8787
  {
7018
8788
  "docs": {
7019
- "stability": "experimental"
8789
+ "stability": "deprecated"
8790
+ },
8791
+ "locationInModule": {
8792
+ "filename": "src/constructs/SecureRestApi.ts",
8793
+ "line": 41
8794
+ },
8795
+ "name": "domainName",
8796
+ "type": {
8797
+ "primitive": "string"
8798
+ }
8799
+ },
8800
+ {
8801
+ "docs": {
8802
+ "stability": "deprecated"
8803
+ },
8804
+ "locationInModule": {
8805
+ "filename": "src/constructs/SecureRestApi.ts",
8806
+ "line": 45
8807
+ },
8808
+ "name": "restApi",
8809
+ "type": {
8810
+ "fqn": "aws-cdk-lib.aws_apigateway.RestApi"
8811
+ }
8812
+ }
8813
+ ],
8814
+ "symbolId": "src/constructs/SecureRestApi:SecureRestApi"
8815
+ },
8816
+ "@btc-embedded/cdk-extensions.SecureRestApiProps": {
8817
+ "assembly": "@btc-embedded/cdk-extensions",
8818
+ "datatype": true,
8819
+ "docs": {
8820
+ "stability": "experimental"
8821
+ },
8822
+ "fqn": "@btc-embedded/cdk-extensions.SecureRestApiProps",
8823
+ "kind": "interface",
8824
+ "locationInModule": {
8825
+ "filename": "src/constructs/SecureRestApi.ts",
8826
+ "line": 15
8827
+ },
8828
+ "name": "SecureRestApiProps",
8829
+ "properties": [
8830
+ {
8831
+ "abstract": true,
8832
+ "docs": {
8833
+ "stability": "experimental",
8834
+ "summary": "Subdomain that is used for REST API props."
8835
+ },
8836
+ "immutable": true,
8837
+ "locationInModule": {
8838
+ "filename": "src/constructs/SecureRestApi.ts",
8839
+ "line": 23
8840
+ },
8841
+ "name": "apiSubDomain",
8842
+ "type": {
8843
+ "primitive": "string"
8844
+ }
8845
+ },
8846
+ {
8847
+ "abstract": true,
8848
+ "docs": {
8849
+ "stability": "experimental",
8850
+ "summary": "The name of the Base platform Stack."
8851
+ },
8852
+ "immutable": true,
8853
+ "locationInModule": {
8854
+ "filename": "src/constructs/SecureRestApi.ts",
8855
+ "line": 19
8856
+ },
8857
+ "name": "basePlatformStackName",
8858
+ "type": {
8859
+ "primitive": "string"
8860
+ }
8861
+ },
8862
+ {
8863
+ "abstract": true,
8864
+ "docs": {
8865
+ "stability": "experimental",
8866
+ "summary": "Props forwarded to the RestApi construct."
7020
8867
  },
8868
+ "immutable": true,
7021
8869
  "locationInModule": {
7022
8870
  "filename": "src/constructs/SecureRestApi.ts",
7023
- "line": 39
8871
+ "line": 34
7024
8872
  },
7025
- "name": "domainName",
8873
+ "name": "restApiProps",
7026
8874
  "type": {
7027
- "primitive": "string"
8875
+ "fqn": "aws-cdk-lib.aws_apigateway.RestApiProps"
7028
8876
  }
7029
8877
  },
7030
8878
  {
8879
+ "abstract": true,
7031
8880
  "docs": {
7032
- "stability": "experimental"
8881
+ "default": "- fqdn output of base platform stack is used to import the hosted zone",
8882
+ "stability": "experimental",
8883
+ "summary": "hosted zone for the subdomain An optional parameter."
7033
8884
  },
8885
+ "immutable": true,
7034
8886
  "locationInModule": {
7035
8887
  "filename": "src/constructs/SecureRestApi.ts",
7036
- "line": 43
8888
+ "line": 29
7037
8889
  },
7038
- "name": "restApi",
8890
+ "name": "hostedZone",
8891
+ "optional": true,
7039
8892
  "type": {
7040
- "fqn": "aws-cdk-lib.aws_apigateway.RestApi"
8893
+ "fqn": "aws-cdk-lib.aws_route53.IHostedZone"
7041
8894
  }
7042
8895
  }
7043
8896
  ],
7044
- "symbolId": "src/constructs/SecureRestApi:SecureRestApi"
8897
+ "symbolId": "src/constructs/SecureRestApi:SecureRestApiProps"
7045
8898
  },
7046
- "@btc-embedded/cdk-extensions.SecureRestApiProps": {
8899
+ "@btc-embedded/cdk-extensions.SecureRestApiPropsV2": {
7047
8900
  "assembly": "@btc-embedded/cdk-extensions",
7048
8901
  "datatype": true,
7049
8902
  "docs": {
7050
8903
  "stability": "experimental"
7051
8904
  },
7052
- "fqn": "@btc-embedded/cdk-extensions.SecureRestApiProps",
8905
+ "fqn": "@btc-embedded/cdk-extensions.SecureRestApiPropsV2",
7053
8906
  "kind": "interface",
7054
8907
  "locationInModule": {
7055
- "filename": "src/constructs/SecureRestApi.ts",
7056
- "line": 15
8908
+ "filename": "src/constructs/SecureRestApiV2.ts",
8909
+ "line": 17
7057
8910
  },
7058
- "name": "SecureRestApiProps",
8911
+ "name": "SecureRestApiPropsV2",
7059
8912
  "properties": [
7060
8913
  {
7061
8914
  "abstract": true,
@@ -7065,8 +8918,8 @@
7065
8918
  },
7066
8919
  "immutable": true,
7067
8920
  "locationInModule": {
7068
- "filename": "src/constructs/SecureRestApi.ts",
7069
- "line": 23
8921
+ "filename": "src/constructs/SecureRestApiV2.ts",
8922
+ "line": 25
7070
8923
  },
7071
8924
  "name": "apiSubDomain",
7072
8925
  "type": {
@@ -7081,8 +8934,8 @@
7081
8934
  },
7082
8935
  "immutable": true,
7083
8936
  "locationInModule": {
7084
- "filename": "src/constructs/SecureRestApi.ts",
7085
- "line": 19
8937
+ "filename": "src/constructs/SecureRestApiV2.ts",
8938
+ "line": 21
7086
8939
  },
7087
8940
  "name": "basePlatformStackName",
7088
8941
  "type": {
@@ -7097,8 +8950,8 @@
7097
8950
  },
7098
8951
  "immutable": true,
7099
8952
  "locationInModule": {
7100
- "filename": "src/constructs/SecureRestApi.ts",
7101
- "line": 34
8953
+ "filename": "src/constructs/SecureRestApiV2.ts",
8954
+ "line": 36
7102
8955
  },
7103
8956
  "name": "restApiProps",
7104
8957
  "type": {
@@ -7114,8 +8967,8 @@
7114
8967
  },
7115
8968
  "immutable": true,
7116
8969
  "locationInModule": {
7117
- "filename": "src/constructs/SecureRestApi.ts",
7118
- "line": 29
8970
+ "filename": "src/constructs/SecureRestApiV2.ts",
8971
+ "line": 31
7119
8972
  },
7120
8973
  "name": "hostedZone",
7121
8974
  "optional": true,
@@ -7124,7 +8977,118 @@
7124
8977
  }
7125
8978
  }
7126
8979
  ],
7127
- "symbolId": "src/constructs/SecureRestApi:SecureRestApiProps"
8980
+ "symbolId": "src/constructs/SecureRestApiV2:SecureRestApiPropsV2"
8981
+ },
8982
+ "@btc-embedded/cdk-extensions.SecureRestApiV2": {
8983
+ "assembly": "@btc-embedded/cdk-extensions",
8984
+ "base": "constructs.Construct",
8985
+ "docs": {
8986
+ "stability": "experimental"
8987
+ },
8988
+ "fqn": "@btc-embedded/cdk-extensions.SecureRestApiV2",
8989
+ "initializer": {
8990
+ "docs": {
8991
+ "stability": "experimental"
8992
+ },
8993
+ "locationInModule": {
8994
+ "filename": "src/constructs/SecureRestApiV2.ts",
8995
+ "line": 48
8996
+ },
8997
+ "parameters": [
8998
+ {
8999
+ "name": "scope",
9000
+ "type": {
9001
+ "fqn": "constructs.Construct"
9002
+ }
9003
+ },
9004
+ {
9005
+ "name": "id",
9006
+ "type": {
9007
+ "primitive": "string"
9008
+ }
9009
+ },
9010
+ {
9011
+ "name": "props",
9012
+ "type": {
9013
+ "fqn": "@btc-embedded/cdk-extensions.SecureRestApiPropsV2"
9014
+ }
9015
+ }
9016
+ ]
9017
+ },
9018
+ "kind": "class",
9019
+ "locationInModule": {
9020
+ "filename": "src/constructs/SecureRestApiV2.ts",
9021
+ "line": 39
9022
+ },
9023
+ "methods": [
9024
+ {
9025
+ "docs": {
9026
+ "stability": "experimental"
9027
+ },
9028
+ "locationInModule": {
9029
+ "filename": "src/constructs/SecureRestApiV2.ts",
9030
+ "line": 100
9031
+ },
9032
+ "name": "addMethod",
9033
+ "parameters": [
9034
+ {
9035
+ "name": "httpMethod",
9036
+ "type": {
9037
+ "primitive": "string"
9038
+ }
9039
+ },
9040
+ {
9041
+ "name": "target",
9042
+ "optional": true,
9043
+ "type": {
9044
+ "fqn": "aws-cdk-lib.aws_apigateway.Integration"
9045
+ }
9046
+ },
9047
+ {
9048
+ "name": "options",
9049
+ "optional": true,
9050
+ "type": {
9051
+ "fqn": "aws-cdk-lib.aws_apigateway.MethodOptions"
9052
+ }
9053
+ }
9054
+ ],
9055
+ "returns": {
9056
+ "type": {
9057
+ "fqn": "aws-cdk-lib.aws_apigateway.Method"
9058
+ }
9059
+ }
9060
+ }
9061
+ ],
9062
+ "name": "SecureRestApiV2",
9063
+ "properties": [
9064
+ {
9065
+ "docs": {
9066
+ "stability": "experimental"
9067
+ },
9068
+ "locationInModule": {
9069
+ "filename": "src/constructs/SecureRestApiV2.ts",
9070
+ "line": 42
9071
+ },
9072
+ "name": "defaultAuthorizer",
9073
+ "type": {
9074
+ "fqn": "aws-cdk-lib.aws_apigateway.CognitoUserPoolsAuthorizer"
9075
+ }
9076
+ },
9077
+ {
9078
+ "docs": {
9079
+ "stability": "experimental"
9080
+ },
9081
+ "locationInModule": {
9082
+ "filename": "src/constructs/SecureRestApiV2.ts",
9083
+ "line": 41
9084
+ },
9085
+ "name": "domainName",
9086
+ "type": {
9087
+ "primitive": "string"
9088
+ }
9089
+ }
9090
+ ],
9091
+ "symbolId": "src/constructs/SecureRestApiV2:SecureRestApiV2"
7128
9092
  },
7129
9093
  "@btc-embedded/cdk-extensions.SharedVolumeExtension": {
7130
9094
  "assembly": "@btc-embedded/cdk-extensions",
@@ -7317,6 +9281,180 @@
7317
9281
  ],
7318
9282
  "symbolId": "src/extensions/SharedVolumeExtension:SharedVolumeExtensionProps"
7319
9283
  },
9284
+ "@btc-embedded/cdk-extensions.SuffixFilterRule": {
9285
+ "assembly": "@btc-embedded/cdk-extensions",
9286
+ "datatype": true,
9287
+ "docs": {
9288
+ "stability": "experimental",
9289
+ "summary": "Rule that a property has to end with a suffix."
9290
+ },
9291
+ "fqn": "@btc-embedded/cdk-extensions.SuffixFilterRule",
9292
+ "kind": "interface",
9293
+ "locationInModule": {
9294
+ "filename": "src/constructs/EventPipe.ts",
9295
+ "line": 102
9296
+ },
9297
+ "name": "SuffixFilterRule",
9298
+ "properties": [
9299
+ {
9300
+ "abstract": true,
9301
+ "docs": {
9302
+ "stability": "experimental"
9303
+ },
9304
+ "immutable": true,
9305
+ "locationInModule": {
9306
+ "filename": "src/constructs/EventPipe.ts",
9307
+ "line": 103
9308
+ },
9309
+ "name": "suffix",
9310
+ "type": {
9311
+ "union": {
9312
+ "types": [
9313
+ {
9314
+ "primitive": "string"
9315
+ },
9316
+ {
9317
+ "fqn": "@btc-embedded/cdk-extensions.FilterEqualsIgnoreCase"
9318
+ }
9319
+ ]
9320
+ }
9321
+ }
9322
+ }
9323
+ ],
9324
+ "symbolId": "src/constructs/EventPipe:SuffixFilterRule"
9325
+ },
9326
+ "@btc-embedded/cdk-extensions.TargetQueue": {
9327
+ "assembly": "@btc-embedded/cdk-extensions",
9328
+ "datatype": true,
9329
+ "docs": {
9330
+ "stability": "experimental",
9331
+ "summary": "SQS queue as pipe target."
9332
+ },
9333
+ "fqn": "@btc-embedded/cdk-extensions.TargetQueue",
9334
+ "kind": "interface",
9335
+ "locationInModule": {
9336
+ "filename": "src/constructs/EventPipe.ts",
9337
+ "line": 63
9338
+ },
9339
+ "name": "TargetQueue",
9340
+ "properties": [
9341
+ {
9342
+ "abstract": true,
9343
+ "docs": {
9344
+ "stability": "experimental"
9345
+ },
9346
+ "immutable": true,
9347
+ "locationInModule": {
9348
+ "filename": "src/constructs/EventPipe.ts",
9349
+ "line": 64
9350
+ },
9351
+ "name": "queue",
9352
+ "type": {
9353
+ "fqn": "aws-cdk-lib.aws_sqs.IQueue"
9354
+ }
9355
+ }
9356
+ ],
9357
+ "symbolId": "src/constructs/EventPipe:TargetQueue"
9358
+ },
9359
+ "@btc-embedded/cdk-extensions.TargetStepFunction": {
9360
+ "assembly": "@btc-embedded/cdk-extensions",
9361
+ "datatype": true,
9362
+ "docs": {
9363
+ "stability": "experimental",
9364
+ "summary": "StepFunction as pipe target."
9365
+ },
9366
+ "fqn": "@btc-embedded/cdk-extensions.TargetStepFunction",
9367
+ "kind": "interface",
9368
+ "locationInModule": {
9369
+ "filename": "src/constructs/EventPipe.ts",
9370
+ "line": 70
9371
+ },
9372
+ "name": "TargetStepFunction",
9373
+ "properties": [
9374
+ {
9375
+ "abstract": true,
9376
+ "docs": {
9377
+ "stability": "experimental"
9378
+ },
9379
+ "immutable": true,
9380
+ "locationInModule": {
9381
+ "filename": "src/constructs/EventPipe.ts",
9382
+ "line": 71
9383
+ },
9384
+ "name": "stepFunction",
9385
+ "type": {
9386
+ "fqn": "aws-cdk-lib.aws_stepfunctions.IStateMachine"
9387
+ }
9388
+ },
9389
+ {
9390
+ "abstract": true,
9391
+ "docs": {
9392
+ "stability": "experimental"
9393
+ },
9394
+ "immutable": true,
9395
+ "locationInModule": {
9396
+ "filename": "src/constructs/EventPipe.ts",
9397
+ "line": 72
9398
+ },
9399
+ "name": "parameters",
9400
+ "optional": true,
9401
+ "type": {
9402
+ "fqn": "@btc-embedded/cdk-extensions.TargetStepFunctionParameters"
9403
+ }
9404
+ }
9405
+ ],
9406
+ "symbolId": "src/constructs/EventPipe:TargetStepFunction"
9407
+ },
9408
+ "@btc-embedded/cdk-extensions.TargetStepFunctionParameters": {
9409
+ "assembly": "@btc-embedded/cdk-extensions",
9410
+ "datatype": true,
9411
+ "docs": {
9412
+ "stability": "experimental",
9413
+ "summary": "Parameters for a step function target."
9414
+ },
9415
+ "fqn": "@btc-embedded/cdk-extensions.TargetStepFunctionParameters",
9416
+ "kind": "interface",
9417
+ "locationInModule": {
9418
+ "filename": "src/constructs/EventPipe.ts",
9419
+ "line": 78
9420
+ },
9421
+ "name": "TargetStepFunctionParameters",
9422
+ "properties": [
9423
+ {
9424
+ "abstract": true,
9425
+ "docs": {
9426
+ "stability": "experimental"
9427
+ },
9428
+ "immutable": true,
9429
+ "locationInModule": {
9430
+ "filename": "src/constructs/EventPipe.ts",
9431
+ "line": 79
9432
+ },
9433
+ "name": "inputTemplate",
9434
+ "optional": true,
9435
+ "type": {
9436
+ "fqn": "@btc-embedded/cdk-extensions.InputTemplate"
9437
+ }
9438
+ },
9439
+ {
9440
+ "abstract": true,
9441
+ "docs": {
9442
+ "stability": "experimental"
9443
+ },
9444
+ "immutable": true,
9445
+ "locationInModule": {
9446
+ "filename": "src/constructs/EventPipe.ts",
9447
+ "line": 80
9448
+ },
9449
+ "name": "invocationType",
9450
+ "optional": true,
9451
+ "type": {
9452
+ "fqn": "@btc-embedded/cdk-extensions.InvocationType"
9453
+ }
9454
+ }
9455
+ ],
9456
+ "symbolId": "src/constructs/EventPipe:TargetStepFunctionParameters"
9457
+ },
7320
9458
  "@btc-embedded/cdk-extensions.TcpKeepAliveExtension": {
7321
9459
  "assembly": "@btc-embedded/cdk-extensions",
7322
9460
  "base": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -7606,6 +9744,6 @@
7606
9744
  "symbolId": "src/platform/Vpc:VpcProps"
7607
9745
  }
7608
9746
  },
7609
- "version": "0.8.4",
7610
- "fingerprint": "o5YqBIopObtafdF7q88LOZ6dzMYSsyLzHqxy/qi6Ivg="
9747
+ "version": "0.9.1",
9748
+ "fingerprint": "eWgq391js27Dpkxit6iJKZj1ZZSgbOOpenkM5zRpx28="
7611
9749
  }