eoapi-cdk 5.1.0 → 5.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.jsii CHANGED
@@ -3572,7 +3572,7 @@
3572
3572
  },
3573
3573
  "name": "eoapi-cdk",
3574
3574
  "readme": {
3575
- "markdown": "# eoAPI CDK Constructs\n\neoapi-cdk is a package of [AWS CDK constructs](https://docs.aws.amazon.com/prescriptive-guidance/latest/best-practices-cdk-typescript-iac/constructs-best-practices.html) designed to encapsulate eoAPI services and best practices as simple reusable components.\n\n\nFor more background on the included services see [The Earth Observation API](https://eoapi.dev/)\n\n## Included constructs\nDetailed API docs for the constructs can be found [here](https://developmentseed.org/eoapi-cdk/).\n\n### [pgSTAC Database](https://developmentseed.org/eoapi-cdk/#pgstacdatabase-)\nAn [RDS](https://aws.amazon.com/rds/) instance with [pgSTAC](https://github.com/stac-utils/pgstac) installed and the Postgres parameters optimized for the selected instance type.\n\n### [STAC API](https://developmentseed.org/eoapi-cdk/#pgstacapilambda-)\nA STAC API implementation using [stac-fastapi](https://github.com/stac-utils/stac-fastapi) with a [pgSTAC backend](https://github.com/stac-utils/stac-fastapi-pgstac). Packaged as a complete runtime for deployment with API Gateway and Lambda.\n\n### [pgSTAC Titiler API](https://developmentseed.org/eoapi-cdk/#titilerpgstacapilambda-)\nA complete dynamic tiling API using [titiler-pgstac](https://github.com/stac-utils/titiler-pgstac) to create dynamic mosaics of assets based on [STAC Search queries](https://github.com/radiantearth/stac-api-spec/tree/master/item-search). Packaged as a complete runtime for deployment with API Gateway and Lambda and fully integrated with the pgSTAC Database construct.\n\n### [STAC Ingestor](https://developmentseed.org/eoapi-cdk/#stacingestor-)\nAn API for large scale STAC data ingestion and validation into a pgSTAC instance.\n\n![ingestor](/diagrams/ingestor_diagram.png)\n\nAuthentication for the STAC Ingestor API can be configured with JWTs authenticated by JWKS. To learn more about securing FastAPI applications with this approach see [Securing FastAPI with JWKS (AWS Cognito, Auth0)](https://alukach.com/posts/fastapi-rs256-jwt/).\n\nA sample Cognito-based authentication system is available at [aws-asdi-auth](https://github.com/developmentseed/aws-asdi-auth).\n\n### [Bastion Host](https://developmentseed.org/eoapi-cdk/#bastionhost-)\nA bastion host is a secure gateway that provides access to resources in a private subnet. In this case it provides the ability to make administrative connections to eoAPI's pgSTAC instance.\n\n![Alt text](/diagrams/bastion_diagram.png)\n\nFor more background on bastion hosts in AWS see [this article](https://dev.to/aws-builders/bastion-host-in-aws-vpc-2i63).\n\nAnd for configuration instructions for this construct see [the docs](https://developmentseed.org/eoapi-cdk/#bastionhost-).\n\n\n## Published Packages\n\n- https://pypi.org/project/eoapi-cdk/\n- https://www.npmjs.com/package/eoapi-cdk/\n\n## Release\n\nVersioning is automatically handled via [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) and [Semantic Release](https://semantic-release.gitbook.io/semantic-release/).\n\n_Warning_: If you rebase `main`, you must ensure that the commits referenced by tags point to commits that are within the `main` branch. If a commit references a commit that is no longer on the `main` branch, Semantic Release will fail to detect the correct version of the project. [More information](https://github.com/semantic-release/semantic-release/issues/1121#issuecomment-517945233).\n\n\n"
3575
+ "markdown": "# eoAPI CDK Constructs\n\neoapi-cdk is a package of [AWS CDK constructs](https://docs.aws.amazon.com/prescriptive-guidance/latest/best-practices-cdk-typescript-iac/constructs-best-practices.html) designed to encapsulate eoAPI services and best practices as simple reusable components.\n\n\nFor more background on the included services see [The Earth Observation API](https://eoapi.dev/)\n\n## Included constructs\nDetailed API docs for the constructs can be found [here](https://developmentseed.org/eoapi-cdk/).\n\n### [pgSTAC Database](https://developmentseed.org/eoapi-cdk/#pgstacdatabase-)\nAn [RDS](https://aws.amazon.com/rds/) instance with [pgSTAC](https://github.com/stac-utils/pgstac) installed and the Postgres parameters optimized for the selected instance type.\n\n### [STAC API](https://developmentseed.org/eoapi-cdk/#pgstacapilambda-)\nA STAC API implementation using [stac-fastapi](https://github.com/stac-utils/stac-fastapi) with a [pgSTAC backend](https://github.com/stac-utils/stac-fastapi-pgstac). Packaged as a complete runtime for deployment with API Gateway and Lambda.\n\n### [pgSTAC Titiler API](https://developmentseed.org/eoapi-cdk/#titilerpgstacapilambda-)\nA complete dynamic tiling API using [titiler-pgstac](https://github.com/stac-utils/titiler-pgstac) to create dynamic mosaics of assets based on [STAC Search queries](https://github.com/radiantearth/stac-api-spec/tree/master/item-search). Packaged as a complete runtime for deployment with API Gateway and Lambda and fully integrated with the pgSTAC Database construct.\n\n### [STAC browser](https://developmentseed.org/eoapi-cdk/#stacbrowser-)\nA CDK construct to host a static [Radiant Earth STAC browser](https://github.com/radiantearth/stac-browser) on S3.\n\n### [OGC Features/Tiles API](https://developmentseed.org/eoapi-cdk/#titilerpgstacapilambda-)\nA complete OGC Features/Tiles API using [tipg](https://github.com/developmentseed/tipg). Packaged as a complete runtime for deployment with API Gateway and Lambda. By default the API will be connected to the Database's `public` schema.\n\n### [STAC Ingestor](https://developmentseed.org/eoapi-cdk/#stacingestor-)\nAn API for large scale STAC data ingestion and validation into a pgSTAC instance.\n\n![ingestor](/diagrams/ingestor_diagram.png)\n\nAuthentication for the STAC Ingestor API can be configured with JWTs authenticated by JWKS. To learn more about securing FastAPI applications with this approach see [Securing FastAPI with JWKS (AWS Cognito, Auth0)](https://alukach.com/posts/fastapi-rs256-jwt/).\n\nA sample Cognito-based authentication system is available at [aws-asdi-auth](https://github.com/developmentseed/aws-asdi-auth).\n\n### [Bastion Host](https://developmentseed.org/eoapi-cdk/#bastionhost-)\nA bastion host is a secure gateway that provides access to resources in a private subnet. In this case it provides the ability to make administrative connections to eoAPI's pgSTAC instance.\n\n![Alt text](/diagrams/bastion_diagram.png)\n\nFor more background on bastion hosts in AWS see [this article](https://dev.to/aws-builders/bastion-host-in-aws-vpc-2i63).\n\nAnd for configuration instructions for this construct see [the docs](https://developmentseed.org/eoapi-cdk/#bastionhost-).\n\n\n## Published Packages\n\n- https://pypi.org/project/eoapi-cdk/\n- https://www.npmjs.com/package/eoapi-cdk/\n\n## Release\n\nVersioning is automatically handled via [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) and [Semantic Release](https://semantic-release.gitbook.io/semantic-release/).\n\n_Warning_: If you rebase `main`, you must ensure that the commits referenced by tags point to commits that are within the `main` branch. If a commit references a commit that is no longer on the `main` branch, Semantic Release will fail to detect the correct version of the project. [More information](https://github.com/semantic-release/semantic-release/issues/1121#issuecomment-517945233).\n\n\n"
3576
3576
  },
3577
3577
  "repository": {
3578
3578
  "type": "git",
@@ -4614,6 +4614,201 @@
4614
4614
  ],
4615
4615
  "symbolId": "lib/database/index:PgStacDatabaseProps"
4616
4616
  },
4617
+ "eoapi-cdk.StacBrowser": {
4618
+ "assembly": "eoapi-cdk",
4619
+ "base": "constructs.Construct",
4620
+ "docs": {
4621
+ "stability": "experimental"
4622
+ },
4623
+ "fqn": "eoapi-cdk.StacBrowser",
4624
+ "initializer": {
4625
+ "docs": {
4626
+ "stability": "experimental"
4627
+ },
4628
+ "locationInModule": {
4629
+ "filename": "lib/stac-browser/index.ts",
4630
+ "line": 16
4631
+ },
4632
+ "parameters": [
4633
+ {
4634
+ "name": "scope",
4635
+ "type": {
4636
+ "fqn": "constructs.Construct"
4637
+ }
4638
+ },
4639
+ {
4640
+ "name": "id",
4641
+ "type": {
4642
+ "primitive": "string"
4643
+ }
4644
+ },
4645
+ {
4646
+ "name": "props",
4647
+ "type": {
4648
+ "fqn": "eoapi-cdk.StacBrowserProps"
4649
+ }
4650
+ }
4651
+ ]
4652
+ },
4653
+ "kind": "class",
4654
+ "locationInModule": {
4655
+ "filename": "lib/stac-browser/index.ts",
4656
+ "line": 11
4657
+ },
4658
+ "name": "StacBrowser",
4659
+ "properties": [
4660
+ {
4661
+ "docs": {
4662
+ "stability": "experimental"
4663
+ },
4664
+ "locationInModule": {
4665
+ "filename": "lib/stac-browser/index.ts",
4666
+ "line": 13
4667
+ },
4668
+ "name": "bucket",
4669
+ "type": {
4670
+ "fqn": "aws-cdk-lib.aws_s3.IBucket"
4671
+ }
4672
+ },
4673
+ {
4674
+ "docs": {
4675
+ "stability": "experimental"
4676
+ },
4677
+ "locationInModule": {
4678
+ "filename": "lib/stac-browser/index.ts",
4679
+ "line": 14
4680
+ },
4681
+ "name": "bucketDeployment",
4682
+ "type": {
4683
+ "fqn": "aws-cdk-lib.aws_s3_deployment.BucketDeployment"
4684
+ }
4685
+ }
4686
+ ],
4687
+ "symbolId": "lib/stac-browser/index:StacBrowser"
4688
+ },
4689
+ "eoapi-cdk.StacBrowserProps": {
4690
+ "assembly": "eoapi-cdk",
4691
+ "datatype": true,
4692
+ "docs": {
4693
+ "stability": "experimental"
4694
+ },
4695
+ "fqn": "eoapi-cdk.StacBrowserProps",
4696
+ "kind": "interface",
4697
+ "locationInModule": {
4698
+ "filename": "lib/stac-browser/index.ts",
4699
+ "line": 106
4700
+ },
4701
+ "name": "StacBrowserProps",
4702
+ "properties": [
4703
+ {
4704
+ "abstract": true,
4705
+ "docs": {
4706
+ "stability": "experimental",
4707
+ "summary": "Tag of the radiant earth stac-browser repo to use to build the app."
4708
+ },
4709
+ "immutable": true,
4710
+ "locationInModule": {
4711
+ "filename": "lib/stac-browser/index.ts",
4712
+ "line": 125
4713
+ },
4714
+ "name": "githubRepoTag",
4715
+ "type": {
4716
+ "primitive": "string"
4717
+ }
4718
+ },
4719
+ {
4720
+ "abstract": true,
4721
+ "docs": {
4722
+ "stability": "experimental",
4723
+ "summary": "STAC catalog URL."
4724
+ },
4725
+ "immutable": true,
4726
+ "locationInModule": {
4727
+ "filename": "lib/stac-browser/index.ts",
4728
+ "line": 120
4729
+ },
4730
+ "name": "stacCatalogUrl",
4731
+ "type": {
4732
+ "primitive": "string"
4733
+ }
4734
+ },
4735
+ {
4736
+ "abstract": true,
4737
+ "docs": {
4738
+ "default": "- No bucket ARN. A new bucket will be created.",
4739
+ "remarks": "If specified, the identity used to deploy the stack must have the appropriate permissions to create a deployment for this bucket. \nIn addition, if specified, `cloudFrontDistributionArn` is ignored since the policy of an imported resource can't be modified.",
4740
+ "stability": "experimental",
4741
+ "summary": "Bucket ARN."
4742
+ },
4743
+ "immutable": true,
4744
+ "locationInModule": {
4745
+ "filename": "lib/stac-browser/index.ts",
4746
+ "line": 115
4747
+ },
4748
+ "name": "bucketArn",
4749
+ "optional": true,
4750
+ "type": {
4751
+ "primitive": "string"
4752
+ }
4753
+ },
4754
+ {
4755
+ "abstract": true,
4756
+ "docs": {
4757
+ "default": "- DEFAULT_CLONE_DIRECTORY",
4758
+ "stability": "experimental",
4759
+ "summary": "Location in the filesystem where to compile the browser code."
4760
+ },
4761
+ "immutable": true,
4762
+ "locationInModule": {
4763
+ "filename": "lib/stac-browser/index.ts",
4764
+ "line": 149
4765
+ },
4766
+ "name": "cloneDirectory",
4767
+ "optional": true,
4768
+ "type": {
4769
+ "primitive": "string"
4770
+ }
4771
+ },
4772
+ {
4773
+ "abstract": true,
4774
+ "docs": {
4775
+ "default": "- No cloudfront distribution ARN. The bucket policy will not be modified.",
4776
+ "remarks": "If `bucketArn` is specified, this parameter is ignored since the policy of an imported bucket can't be modified.",
4777
+ "stability": "experimental",
4778
+ "summary": "The ARN of the cloudfront distribution that will be added to the bucket policy with read access."
4779
+ },
4780
+ "immutable": true,
4781
+ "locationInModule": {
4782
+ "filename": "lib/stac-browser/index.ts",
4783
+ "line": 134
4784
+ },
4785
+ "name": "cloudFrontDistributionArn",
4786
+ "optional": true,
4787
+ "type": {
4788
+ "primitive": "string"
4789
+ }
4790
+ },
4791
+ {
4792
+ "abstract": true,
4793
+ "docs": {
4794
+ "default": "- No index document.",
4795
+ "stability": "experimental",
4796
+ "summary": "The name of the index document (e.g. \"index.html\") for the website. Enables static website hosting for this bucket."
4797
+ },
4798
+ "immutable": true,
4799
+ "locationInModule": {
4800
+ "filename": "lib/stac-browser/index.ts",
4801
+ "line": 142
4802
+ },
4803
+ "name": "websiteIndexDocument",
4804
+ "optional": true,
4805
+ "type": {
4806
+ "primitive": "string"
4807
+ }
4808
+ }
4809
+ ],
4810
+ "symbolId": "lib/stac-browser/index:StacBrowserProps"
4811
+ },
4617
4812
  "eoapi-cdk.StacIngestor": {
4618
4813
  "assembly": "eoapi-cdk",
4619
4814
  "base": "constructs.Construct",
@@ -4888,6 +5083,286 @@
4888
5083
  ],
4889
5084
  "symbolId": "lib/ingestor-api/index:StacIngestorProps"
4890
5085
  },
5086
+ "eoapi-cdk.TiPgApiEntrypoint": {
5087
+ "assembly": "eoapi-cdk",
5088
+ "datatype": true,
5089
+ "docs": {
5090
+ "stability": "experimental"
5091
+ },
5092
+ "fqn": "eoapi-cdk.TiPgApiEntrypoint",
5093
+ "kind": "interface",
5094
+ "locationInModule": {
5095
+ "filename": "lib/tipg-api/index.ts",
5096
+ "line": 110
5097
+ },
5098
+ "name": "TiPgApiEntrypoint",
5099
+ "properties": [
5100
+ {
5101
+ "abstract": true,
5102
+ "docs": {
5103
+ "stability": "experimental",
5104
+ "summary": "Path to the source of the function or the location for dependencies."
5105
+ },
5106
+ "immutable": true,
5107
+ "locationInModule": {
5108
+ "filename": "lib/tipg-api/index.ts",
5109
+ "line": 114
5110
+ },
5111
+ "name": "entry",
5112
+ "type": {
5113
+ "primitive": "string"
5114
+ }
5115
+ },
5116
+ {
5117
+ "abstract": true,
5118
+ "docs": {
5119
+ "stability": "experimental",
5120
+ "summary": "The name of the exported handler in the index file."
5121
+ },
5122
+ "immutable": true,
5123
+ "locationInModule": {
5124
+ "filename": "lib/tipg-api/index.ts",
5125
+ "line": 122
5126
+ },
5127
+ "name": "handler",
5128
+ "optional": true,
5129
+ "type": {
5130
+ "primitive": "string"
5131
+ }
5132
+ },
5133
+ {
5134
+ "abstract": true,
5135
+ "docs": {
5136
+ "stability": "experimental",
5137
+ "summary": "The path (relative to entry) to the index file containing the exported handler."
5138
+ },
5139
+ "immutable": true,
5140
+ "locationInModule": {
5141
+ "filename": "lib/tipg-api/index.ts",
5142
+ "line": 118
5143
+ },
5144
+ "name": "index",
5145
+ "optional": true,
5146
+ "type": {
5147
+ "primitive": "string"
5148
+ }
5149
+ }
5150
+ ],
5151
+ "symbolId": "lib/tipg-api/index:TiPgApiEntrypoint"
5152
+ },
5153
+ "eoapi-cdk.TiPgApiLambda": {
5154
+ "assembly": "eoapi-cdk",
5155
+ "base": "constructs.Construct",
5156
+ "docs": {
5157
+ "stability": "experimental"
5158
+ },
5159
+ "fqn": "eoapi-cdk.TiPgApiLambda",
5160
+ "initializer": {
5161
+ "docs": {
5162
+ "stability": "experimental"
5163
+ },
5164
+ "locationInModule": {
5165
+ "filename": "lib/tipg-api/index.ts",
5166
+ "line": 22
5167
+ },
5168
+ "parameters": [
5169
+ {
5170
+ "name": "scope",
5171
+ "type": {
5172
+ "fqn": "constructs.Construct"
5173
+ }
5174
+ },
5175
+ {
5176
+ "name": "id",
5177
+ "type": {
5178
+ "primitive": "string"
5179
+ }
5180
+ },
5181
+ {
5182
+ "name": "props",
5183
+ "type": {
5184
+ "fqn": "eoapi-cdk.TiPgApiLambdaProps"
5185
+ }
5186
+ }
5187
+ ]
5188
+ },
5189
+ "kind": "class",
5190
+ "locationInModule": {
5191
+ "filename": "lib/tipg-api/index.ts",
5192
+ "line": 18
5193
+ },
5194
+ "name": "TiPgApiLambda",
5195
+ "properties": [
5196
+ {
5197
+ "docs": {
5198
+ "stability": "experimental"
5199
+ },
5200
+ "immutable": true,
5201
+ "locationInModule": {
5202
+ "filename": "lib/tipg-api/index.ts",
5203
+ "line": 19
5204
+ },
5205
+ "name": "url",
5206
+ "type": {
5207
+ "primitive": "string"
5208
+ }
5209
+ },
5210
+ {
5211
+ "docs": {
5212
+ "stability": "experimental"
5213
+ },
5214
+ "locationInModule": {
5215
+ "filename": "lib/tipg-api/index.ts",
5216
+ "line": 20
5217
+ },
5218
+ "name": "tiPgLambdaFunction",
5219
+ "type": {
5220
+ "fqn": "@aws-cdk/aws-lambda-python-alpha.PythonFunction"
5221
+ }
5222
+ }
5223
+ ],
5224
+ "symbolId": "lib/tipg-api/index:TiPgApiLambda"
5225
+ },
5226
+ "eoapi-cdk.TiPgApiLambdaProps": {
5227
+ "assembly": "eoapi-cdk",
5228
+ "datatype": true,
5229
+ "docs": {
5230
+ "stability": "experimental"
5231
+ },
5232
+ "fqn": "eoapi-cdk.TiPgApiLambdaProps",
5233
+ "kind": "interface",
5234
+ "locationInModule": {
5235
+ "filename": "lib/tipg-api/index.ts",
5236
+ "line": 67
5237
+ },
5238
+ "name": "TiPgApiLambdaProps",
5239
+ "properties": [
5240
+ {
5241
+ "abstract": true,
5242
+ "docs": {
5243
+ "stability": "experimental",
5244
+ "summary": "RDS Instance with installed pgSTAC."
5245
+ },
5246
+ "immutable": true,
5247
+ "locationInModule": {
5248
+ "filename": "lib/tipg-api/index.ts",
5249
+ "line": 77
5250
+ },
5251
+ "name": "db",
5252
+ "type": {
5253
+ "fqn": "aws-cdk-lib.aws_rds.IDatabaseInstance"
5254
+ }
5255
+ },
5256
+ {
5257
+ "abstract": true,
5258
+ "docs": {
5259
+ "stability": "experimental",
5260
+ "summary": "Secret containing connection information for pgSTAC database."
5261
+ },
5262
+ "immutable": true,
5263
+ "locationInModule": {
5264
+ "filename": "lib/tipg-api/index.ts",
5265
+ "line": 87
5266
+ },
5267
+ "name": "dbSecret",
5268
+ "type": {
5269
+ "fqn": "aws-cdk-lib.aws_secretsmanager.ISecret"
5270
+ }
5271
+ },
5272
+ {
5273
+ "abstract": true,
5274
+ "docs": {
5275
+ "stability": "experimental",
5276
+ "summary": "Subnet into which the lambda should be deployed."
5277
+ },
5278
+ "immutable": true,
5279
+ "locationInModule": {
5280
+ "filename": "lib/tipg-api/index.ts",
5281
+ "line": 82
5282
+ },
5283
+ "name": "subnetSelection",
5284
+ "type": {
5285
+ "fqn": "aws-cdk-lib.aws_ec2.SubnetSelection"
5286
+ }
5287
+ },
5288
+ {
5289
+ "abstract": true,
5290
+ "docs": {
5291
+ "stability": "experimental",
5292
+ "summary": "VPC into which the lambda should be deployed."
5293
+ },
5294
+ "immutable": true,
5295
+ "locationInModule": {
5296
+ "filename": "lib/tipg-api/index.ts",
5297
+ "line": 72
5298
+ },
5299
+ "name": "vpc",
5300
+ "type": {
5301
+ "fqn": "aws-cdk-lib.aws_ec2.IVpc"
5302
+ }
5303
+ },
5304
+ {
5305
+ "abstract": true,
5306
+ "docs": {
5307
+ "default": "- simplified version of fastapi-pgstac",
5308
+ "stability": "experimental",
5309
+ "summary": "Custom code to run for fastapi-pgstac."
5310
+ },
5311
+ "immutable": true,
5312
+ "locationInModule": {
5313
+ "filename": "lib/tipg-api/index.ts",
5314
+ "line": 94
5315
+ },
5316
+ "name": "apiCode",
5317
+ "optional": true,
5318
+ "type": {
5319
+ "fqn": "eoapi-cdk.TiPgApiEntrypoint"
5320
+ }
5321
+ },
5322
+ {
5323
+ "abstract": true,
5324
+ "docs": {
5325
+ "stability": "experimental",
5326
+ "summary": "Customized environment variables to send to titiler-pgstac runtime."
5327
+ },
5328
+ "immutable": true,
5329
+ "locationInModule": {
5330
+ "filename": "lib/tipg-api/index.ts",
5331
+ "line": 99
5332
+ },
5333
+ "name": "apiEnv",
5334
+ "optional": true,
5335
+ "type": {
5336
+ "collection": {
5337
+ "elementtype": {
5338
+ "primitive": "string"
5339
+ },
5340
+ "kind": "map"
5341
+ }
5342
+ }
5343
+ },
5344
+ {
5345
+ "abstract": true,
5346
+ "docs": {
5347
+ "default": "- undefined",
5348
+ "remarks": "If defined, will create the \ndomain name and integrate it with the tipg API.",
5349
+ "stability": "experimental",
5350
+ "summary": "Custom Domain Name for tipg API."
5351
+ },
5352
+ "immutable": true,
5353
+ "locationInModule": {
5354
+ "filename": "lib/tipg-api/index.ts",
5355
+ "line": 107
5356
+ },
5357
+ "name": "tipgApiDomainName",
5358
+ "optional": true,
5359
+ "type": {
5360
+ "fqn": "@aws-cdk/aws-apigatewayv2-alpha.IDomainName"
5361
+ }
5362
+ }
5363
+ ],
5364
+ "symbolId": "lib/tipg-api/index:TiPgApiLambdaProps"
5365
+ },
4891
5366
  "eoapi-cdk.TitilerPgStacApiLambdaProps": {
4892
5367
  "assembly": "eoapi-cdk",
4893
5368
  "datatype": true,
@@ -5104,6 +5579,6 @@
5104
5579
  "symbolId": "lib/titiler-pgstac-api/index:TitilerPgstacApiLambda"
5105
5580
  }
5106
5581
  },
5107
- "version": "5.1.0",
5108
- "fingerprint": "Jqn62RNorNmUEbhjHMjJPVauKZ2HAqa1PGXU1tsAkh8="
5582
+ "version": "5.3.0",
5583
+ "fingerprint": "xaJ5JxX0D7rKagYaYvOlg9jlky8AnyKw+GXghxm0MzI="
5109
5584
  }
package/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ # [5.3.0](https://github.com/developmentseed/eoapi-cdk/compare/v5.2.0...v5.3.0) (2023-09-01)
2
+
3
+
4
+ ### Features
5
+
6
+ * add STAC browser option ([#64](https://github.com/developmentseed/eoapi-cdk/issues/64)) ([36499d2](https://github.com/developmentseed/eoapi-cdk/commit/36499d21be710edde5bc9d625acff17edf7a81d6))
7
+
8
+ # [5.2.0](https://github.com/developmentseed/eoapi-cdk/compare/v5.1.0...v5.2.0) (2023-08-30)
9
+
10
+
11
+ ### Features
12
+
13
+ * tipg-api ([#62](https://github.com/developmentseed/eoapi-cdk/issues/62)) ([24faa85](https://github.com/developmentseed/eoapi-cdk/commit/24faa85fc4f1ccb6406768b9f43a4cb095dac0cf))
14
+
1
15
  # [5.1.0](https://github.com/developmentseed/eoapi-cdk/compare/v5.0.0...v5.1.0) (2023-08-21)
2
16
 
3
17
 
package/README.md CHANGED
@@ -17,6 +17,12 @@ A STAC API implementation using [stac-fastapi](https://github.com/stac-utils/sta
17
17
  ### [pgSTAC Titiler API](https://developmentseed.org/eoapi-cdk/#titilerpgstacapilambda-)
18
18
  A complete dynamic tiling API using [titiler-pgstac](https://github.com/stac-utils/titiler-pgstac) to create dynamic mosaics of assets based on [STAC Search queries](https://github.com/radiantearth/stac-api-spec/tree/master/item-search). Packaged as a complete runtime for deployment with API Gateway and Lambda and fully integrated with the pgSTAC Database construct.
19
19
 
20
+ ### [STAC browser](https://developmentseed.org/eoapi-cdk/#stacbrowser-)
21
+ A CDK construct to host a static [Radiant Earth STAC browser](https://github.com/radiantearth/stac-browser) on S3.
22
+
23
+ ### [OGC Features/Tiles API](https://developmentseed.org/eoapi-cdk/#titilerpgstacapilambda-)
24
+ A complete OGC Features/Tiles API using [tipg](https://github.com/developmentseed/tipg). Packaged as a complete runtime for deployment with API Gateway and Lambda. By default the API will be connected to the Database's `public` schema.
25
+
20
26
  ### [STAC Ingestor](https://developmentseed.org/eoapi-cdk/#stacingestor-)
21
27
  An API for large scale STAC data ingestion and validation into a pgSTAC instance.
22
28
 
@@ -158,5 +158,5 @@ class BastionHost extends constructs_1.Construct {
158
158
  }
159
159
  exports.BastionHost = BastionHost;
160
160
  _a = JSII_RTTI_SYMBOL_1;
161
- BastionHost[_a] = { fqn: "eoapi-cdk.BastionHost", version: "5.1.0" };
161
+ BastionHost[_a] = { fqn: "eoapi-cdk.BastionHost", version: "5.3.0" };
162
162
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQU1xQjtBQUNyQiwyQ0FBdUM7QUFFdkM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpR0c7QUFDSCxNQUFhLFdBQVksU0FBUSxzQkFBUztJQUd4QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXVCO1FBQy9ELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXJDLHFCQUFxQjtRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUkscUJBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtZQUNyRCxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7WUFDZCxVQUFVLEVBQUUsRUFBRSxVQUFVLEVBQUUscUJBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFO1lBQ2pELFlBQVksRUFBRSxHQUFHLFNBQVMsZUFBZTtZQUN6QyxZQUFZLEVBQUUscUJBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUMvQixxQkFBRyxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsRUFDckMscUJBQUcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUN0QjtZQUNELFlBQVksRUFBRSxxQkFBRyxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQztnQkFDL0MsVUFBVSxFQUFFLHFCQUFHLENBQUMscUJBQXFCLENBQUMsY0FBYztnQkFDcEQsT0FBTyxFQUFFLHFCQUFHLENBQUMsa0JBQWtCLENBQUMsTUFBTTthQUN2QyxDQUFDO1lBQ0YsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1lBQ3hCLHlCQUF5QixFQUFFLElBQUk7U0FDaEMsQ0FBQyxDQUFDO1FBRUgsb0JBQW9CO1FBQ3BCLElBQUksS0FBSyxDQUFDLGVBQWUsSUFBSSxJQUFJLEVBQUU7WUFDakMsSUFBSSxxQkFBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO2dCQUN6QixVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVO2dCQUNwQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDO2FBQzFDLENBQUMsQ0FBQztTQUNKO1FBRUQsc0NBQXNDO1FBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FDL0IsS0FBSyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUN0QyxxQkFBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQ2xCLG9DQUFvQyxDQUNyQyxDQUFDO1FBRUYsa0NBQWtDO1FBQ2xDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxDQUFDLGFBQWEsRUFBRTtZQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQ2pDLHFCQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFDbkIscUJBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLEVBQ2pDLFlBQVksQ0FDYixDQUFDO1NBQ0g7UUFFRCxxQkFBcUI7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQzNCLElBQUkscUJBQUcsQ0FBQyxlQUFlLENBQUM7WUFDdEIsT0FBTyxFQUFFO2dCQUNQLGVBQWU7Z0JBQ2YsK0JBQStCO2dCQUMvQixlQUFlO2FBQ2hCO1lBQ0QsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDO1NBQ2pCLENBQUMsQ0FDSCxDQUFDO1FBRUYsSUFBSSx1QkFBUyxDQUFDLElBQUksRUFBRSxvQkFBb0IsRUFBRTtZQUN4QyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVO1lBQy9CLFVBQVUsRUFBRSxHQUFHLFNBQVMsY0FBYztTQUN2QyxDQUFDLENBQUM7UUFDSCxJQUFJLHVCQUFTLENBQUMsSUFBSSxFQUFFLDJCQUEyQixFQUFFO1lBQy9DLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQjtZQUNyQyxVQUFVLEVBQUUsR0FBRyxTQUFTLHFCQUFxQjtTQUM5QyxDQUFDLENBQUM7UUFDSCxJQUFJLHVCQUFTLENBQUMsSUFBSSxFQUFFLGlDQUFpQyxFQUFFO1lBQ3JELEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLHFCQUFxQjtZQUMxQyxVQUFVLEVBQUUsR0FBRyxTQUFTLGtCQUFrQjtTQUMzQyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQXpFSCxrQ0EwRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBTdGFjayxcbiAgYXdzX2VjMiBhcyBlYzIsXG4gIGF3c19pYW0gYXMgaWFtLFxuICBhd3NfcmRzIGFzIHJkcyxcbiAgQ2ZuT3V0cHV0LFxufSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbi8qKlxuICogVGhlIGRhdGFiYXNlIGlzIGxvY2F0ZWQgaW4gYW4gaXNvbGF0ZWQgc3VibmV0LCBtZWFuaW5nIHRoYXQgaXQgaXMgbm90IGFjY2Vzc2libGUgZnJvbSB0aGUgcHVibGljIGludGVybmV0LiBBcyBzdWNoLCB0byBpbnRlcmFjdCB3aXRoIHRoZSBkYXRhYmFzZSBkaXJlY3RseSwgYSB1c2VyIG11c3QgdHVubmVsIHRocm91Z2ggYSBiYXN0aW9uIGhvc3QuXG4gKlxuICogIyMjIENvbmZpZ3VyaW5nXG4gKlxuICogVGhpcyBjb2RlYmFzZSBjb250cm9scyBfd2hvXyBpcyBhbGxvd2VkIHRvIGNvbm5lY3QgdG8gdGhlIGJhc3Rpb24gaG9zdC4gVGhpcyByZXF1aXJlcyB0d28gc3RlcHM6XG4gKlxuICogMS4gQWRkaW5nIHRoZSBJUCBhZGRyZXNzIGZyb20gd2hpY2ggeW91IGFyZSBjb25uZWN0aW5nIHRvIHRoZSBgaXB2NEFsbG93bGlzdGAgYXJyYXlcbiAqIDEuIENyZWF0aW5nIGEgYmFzdGlvbiBob3N0IHN5c3RlbSB1c2VyIGJ5IGFkZGluZyB0aGUgdXNlcidzIGNvbmZpZ3VyYXRpb24gaW5mb3JtIHRvIGB1c2VyZGF0YS55YW1sYFxuICpcbiAqICMjIyMgQWRkaW5nIGFuIElQIGFkZHJlc3MgdG8gdGhlIGBpcHY0QWxsb3dsaXN0YCBhcnJheVxuICpcbiAqIFRoZSBgQmFzdGlvbkhvc3RgIGNvbnN0cnVjdCB0YWtlcyBpbiBhbiBgaXB2NEFsbG93bGlzdGAgYXJyYXkgYXMgYW4gYXJndW1lbnQuIEZpbmQgeW91ciBJUCBhZGRyZXNzIChlZyBgY3VybCBhcGkuaXBpZnkub3JnYCkgYW5kIGFkZCB0aGF0IHRvIHRoZSBhcnJheSBhbG9uZyB3aXRoIHRoZSB0cmFpbGluZyBDSURSIGJsb2NrIChsaWtlbHkgYC8zMmAgdG8gaW5kaWNhdGUgdGhhdCB5b3UgYXJlIGFkZGluZyBhIHNpbmdsZSBJUCBhZGRyZXNzKS5cbiAqXG4gKiAjIyMjIENyZWF0aW5nIGEgdXNlciB2aWEgYHVzZXJkYXRhLnlhbWxgXG4gKlxuICogQWRkIGFuIGVudHJ5IHRvIHRoZSBgdXNlcnNgIGFycmF5IHdpdGggYSB1c2VybmFtZSAobGlrZWx5IG1hdGNoaW5nIHlvdXIgbG9jYWwgc3lzdGVtcyB1c2VybmFtZSwgd2hpY2ggeW91IGNhbiBnZXQgYnkgcnVubmluZyB0aGUgYHdob2FtaWAgY29tbWFuZCBpbiB5b3VyIHRlcm1pbmFsKSBhbmQgYSBwdWJsaWMga2V5IChsaWtlbHkgeW91ciBkZWZhdWx0IHB1YmxpYyBrZXksIHdoaWNoIHlvdSBjYW4gZ2V0IGJ5IHJ1bm5pbmcgYGNhdCB+Ly5zc2gvaWRfKi5wdWJgIGluIHlvdXIgdGVybWluYWwpLlxuICpcbiAqICMjIyMgVGlwcyAmIFRyaWNrcyB3aGVuIHVzaW5nIHRoZSBCYXN0aW9uIEhvc3RcbiAqXG4gKiAqKkNvbm5lY3RpbmcgdG8gUkRTIEluc3RhbmNlIHZpYSBTU00qKlxuICpcbiAqIGBgYHNoXG4gKiBhd3Mgc3NtIHN0YXJ0LXNlc3Npb24gLS10YXJnZXQgJElOU1RBTkNFX0lEIFxcXG4gKiAtLWRvY3VtZW50LW5hbWUgQVdTLVN0YXJ0UG9ydEZvcndhcmRpbmdTZXNzaW9uVG9SZW1vdGVIb3N0IFxcXG4gKiAtLXBhcmFtZXRlcnMgJ3tcbiAqIFwiaG9zdFwiOiBbXG4gKiBcImV4YW1wbGUtZGIuYzVhYmNkZWZnaGlqLnVzLXdlc3QtMi5yZHMuYW1hem9uYXdzLmNvbVwiXG4gKiBdLFxuICogXCJwb3J0TnVtYmVyXCI6IFtcbiAqIFwiNTQzMlwiXG4gKiBdLFxuICogXCJsb2NhbFBvcnROdW1iZXJcIjogW1xuICogXCI5OTk5XCJcbiAqIF1cbiAqIH0nIFxcXG4gKiAtLXByb2ZpbGUgJEFXU19QUk9GSUxFXG4gKiBgYGBcbiAqXG4gKiBgYGBzaFxuICogcHNxbCAtaCBsb2NhbGhvc3QgLXAgOTk5OSAjIGNvbnRpbnVlIGFkZGluZyB1c2VybmFtZSAoLVUpIGFuZCBkYiAoLWQpIGhlcmUuLi5cbiAqIGBgYFxuICpcbiAqIENvbm5lY3QgZGlyZWN0bHkgdG8gQmFzdGlvbiBIb3N0OlxuICpcbiAqIGBgYHNoXG4gKiBhd3Mgc3NtIHN0YXJ0LXNlc3Npb24gLS10YXJnZXQgJElOU1RBTkNFX0lEIC0tcHJvZmlsZSAkQVdTX1BST0ZJTEVcbiAqIGBgYFxuICpcbiAqICoqU2V0dGluZyB1cCBhbiBTU0ggdHVubmVsKipcbiAqXG4gKiBJbiB5b3VyIGB+Ly5zc2gvY29uZmlnYCBmaWxlLCBhZGQgYW4gZW50cnkgbGlrZTpcbiAqXG4gKiBgYGBcbiAqIEhvc3QgZGItdHVubmVsXG4gKiBIb3N0bmFtZSB7dGhlLWJhc3Rpb24taG9zdC1hZGRyZXNzfVxuICogTG9jYWxGb3J3YXJkIDk5OTkge3RoZS1kYi1ob3N0bmFtZX06NTQzMlxuICogYGBgXG4gKlxuICogVGhlbiBhIHR1bm5lbCBjYW4gYmUgb3BlbmVkIHZpYTpcbiAqXG4gKiBgYGBcbiAqIHNzaCAtTiBkYi10dW5uZWxcbiAqIGBgYFxuICpcbiAqIEFuZCBhIGNvbm5lY3Rpb24gdG8gdGhlIERCIGNhbiBiZSBtYWRlIHZpYTpcbiAqXG4gKiBgYGBcbiAqIHBzcWwgLWggMTI3LjAuMC4xIC1wIDk5OTkgLVUge3VzZXJuYW1lfSAtZCB7ZGF0YWJhc2V9XG4gKiBgYGBcbiAqXG4gKiAqKkhhbmRsaW5nIGBSRU1PVEUgSE9TVCBJREVOVElGSUNBVElPTiBIQVMgQ0hBTkdFRCFgIGVycm9yKipcbiAqXG4gKiBJZiB5b3UndmUgcmVkZXBsb3llZCBhIGJhc3Rpb24gaG9zdCB0aGF0IHlvdSd2ZSBwcmV2aW91c2x5IGNvbm5lY3RlZCB0bywgeW91IG1heSBzZWUgYW4gZXJyb3IgbGlrZTpcbiAqXG4gKiBgYGBcbiAqIEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAXG4gKiBAICAgIFdBUk5JTkc6IFJFTU9URSBIT1NUIElERU5USUZJQ0FUSU9OIEhBUyBDSEFOR0VEISAgICAgQFxuICogQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBcbiAqIElUIElTIFBPU1NJQkxFIFRIQVQgU09NRU9ORSBJUyBET0lORyBTT01FVEhJTkcgTkFTVFkhXG4gKiBTb21lb25lIGNvdWxkIGJlIGVhdmVzZHJvcHBpbmcgb24geW91IHJpZ2h0IG5vdyAobWFuLWluLXRoZS1taWRkbGUgYXR0YWNrKSFcbiAqIEl0IGlzIGFsc28gcG9zc2libGUgdGhhdCBhIGhvc3Qga2V5IGhhcyBqdXN0IGJlZW4gY2hhbmdlZC5cbiAqIFRoZSBmaW5nZXJwcmludCBmb3IgdGhlIEVDRFNBIGtleSBzZW50IGJ5IHRoZSByZW1vdGUgaG9zdCBpc1xuICogU0hBMjU2Om1QbnhBT1hUcGIwNlBGZ0kxUWM4VE1RMmU5Yjdnb1U4eTJOZFM1aHpJcjguXG4gKiBQbGVhc2UgY29udGFjdCB5b3VyIHN5c3RlbSBhZG1pbmlzdHJhdG9yLlxuICogQWRkIGNvcnJlY3QgaG9zdCBrZXkgaW4gL1VzZXJzL3VzZXJuYW1lLy5zc2gva25vd25faG9zdHMgdG8gZ2V0IHJpZCBvZiB0aGlzIG1lc3NhZ2UuXG4gKiBPZmZlbmRpbmcgRUNEU0Ega2V5IGluIC9Vc2Vycy91c2VybmFtZS8uc3NoL2tub3duX2hvc3RzOjI4XG4gKiBFQ0RTQSBob3N0IGtleSBmb3IgZWMyLTEyLTM0LTU2LTc4OS51cy13ZXN0LTIuY29tcHV0ZS5hbWF6b25hd3MuY29tIGhhcyBjaGFuZ2VkIGFuZCB5b3UgaGF2ZSByZXF1ZXN0ZWQgc3RyaWN0IGNoZWNraW5nLlxuICogSG9zdCBrZXkgdmVyaWZpY2F0aW9uIGZhaWxlZC5cbiAqIGBgYFxuICpcbiAqIFRoaXMgaXMgZHVlIHRvIHRoZSBzZXJ2ZXIncyBmaW5nZXJwcmludCBjaGFuZ2luZy4gV2UgY2FuIHNjcnViIHRoZSBmaW5nZXJwcmludCBmcm9tIG91ciBzeXN0ZW0gd2l0aCBhIGNvbW1hbmQgbGlrZTpcbiAqXG4gKiBgYGBcbiAqIHNzaC1rZXlnZW4gLVIgMTIuMzQuNTYuNzg5XG4gKiBgYGBcbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBCYXN0aW9uSG9zdCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGluc3RhbmNlOiBlYzIuSW5zdGFuY2U7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEJhc3Rpb25Ib3N0UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgeyBzdGFja05hbWUgfSA9IFN0YWNrLm9mKHRoaXMpO1xuXG4gICAgLy8gQnVpbGQgZWMyIGluc3RhbmNlXG4gICAgdGhpcy5pbnN0YW5jZSA9IG5ldyBlYzIuSW5zdGFuY2UodGhpcywgXCJiYXN0aW9uLWhvc3RcIiwge1xuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICB2cGNTdWJuZXRzOiB7IHN1Ym5ldFR5cGU6IGVjMi5TdWJuZXRUeXBlLlBVQkxJQyB9LFxuICAgICAgaW5zdGFuY2VOYW1lOiBgJHtzdGFja05hbWV9IGJhc3Rpb24gaG9zdGAsXG4gICAgICBpbnN0YW5jZVR5cGU6IGVjMi5JbnN0YW5jZVR5cGUub2YoXG4gICAgICAgIGVjMi5JbnN0YW5jZUNsYXNzLkJVUlNUQUJMRTRfR1JBVklUT04sXG4gICAgICAgIGVjMi5JbnN0YW5jZVNpemUuTkFOT1xuICAgICAgKSxcbiAgICAgIG1hY2hpbmVJbWFnZTogZWMyLk1hY2hpbmVJbWFnZS5sYXRlc3RBbWF6b25MaW51eCh7XG4gICAgICAgIGdlbmVyYXRpb246IGVjMi5BbWF6b25MaW51eEdlbmVyYXRpb24uQU1BWk9OX0xJTlVYXzIsXG4gICAgICAgIGNwdVR5cGU6IGVjMi5BbWF6b25MaW51eENwdVR5cGUuQVJNXzY0LFxuICAgICAgfSksXG4gICAgICB1c2VyRGF0YTogcHJvcHMudXNlckRhdGEsXG4gICAgICB1c2VyRGF0YUNhdXNlc1JlcGxhY2VtZW50OiB0cnVlLFxuICAgIH0pO1xuXG4gICAgLy8gQXNzaWduIGVsYXN0aWMgSVBcbiAgICBpZiAocHJvcHMuY3JlYXRlRWxhc3RpY0lwID8/IHRydWUpIHtcbiAgICAgIG5ldyBlYzIuQ2ZuRUlQKHRoaXMsIFwiSVBcIiwge1xuICAgICAgICBpbnN0YW5jZUlkOiB0aGlzLmluc3RhbmNlLmluc3RhbmNlSWQsXG4gICAgICAgIHRhZ3M6IFt7IGtleTogXCJOYW1lXCIsIHZhbHVlOiBzdGFja05hbWUgfV0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBBbGxvdyBiYXN0aW9uIGhvc3QgdG8gY29ubmVjdCB0byBkYlxuICAgIHRoaXMuaW5zdGFuY2UuY29ubmVjdGlvbnMuYWxsb3dUbyhcbiAgICAgIHByb3BzLmRiLmNvbm5lY3Rpb25zLnNlY3VyaXR5R3JvdXBzWzBdLFxuICAgICAgZWMyLlBvcnQudGNwKDU0MzIpLFxuICAgICAgXCJBbGxvdyBjb25uZWN0aW9uIGZyb20gYmFzdGlvbiBob3N0XCJcbiAgICApO1xuXG4gICAgLy8gQWxsb3cgSVAgYWNjZXNzIHRvIGJhc3Rpb24gaG9zdFxuICAgIGZvciAoY29uc3QgaXB2NCBvZiBwcm9wcy5pcHY0QWxsb3dsaXN0KSB7XG4gICAgICB0aGlzLmluc3RhbmNlLmNvbm5lY3Rpb25zLmFsbG93RnJvbShcbiAgICAgICAgZWMyLlBlZXIuaXB2NChpcHY0KSxcbiAgICAgICAgZWMyLlBvcnQudGNwKHByb3BzLnNzaFBvcnQgfHwgMjIpLFxuICAgICAgICBcIlNTSCBBY2Nlc3NcIlxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBJbnRlZ3JhdGUgd2l0aCBTU01cbiAgICB0aGlzLmluc3RhbmNlLmFkZFRvUm9sZVBvbGljeShcbiAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgIFwic3NtbWVzc2FnZXM6KlwiLFxuICAgICAgICAgIFwic3NtOlVwZGF0ZUluc3RhbmNlSW5mb3JtYXRpb25cIixcbiAgICAgICAgICBcImVjMm1lc3NhZ2VzOipcIixcbiAgICAgICAgXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbXCIqXCJdLFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcImluc3RhbmNlLWlkLW91dHB1dFwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5pbnN0YW5jZS5pbnN0YW5jZUlkLFxuICAgICAgZXhwb3J0TmFtZTogYCR7c3RhY2tOYW1lfS1pbnN0YW5jZS1pZGAsXG4gICAgfSk7XG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcImluc3RhbmNlLXB1YmxpYy1pcC1vdXRwdXRcIiwge1xuICAgICAgdmFsdWU6IHRoaXMuaW5zdGFuY2UuaW5zdGFuY2VQdWJsaWNJcCxcbiAgICAgIGV4cG9ydE5hbWU6IGAke3N0YWNrTmFtZX0taW5zdGFuY2UtcHVibGljLWlwYCxcbiAgICB9KTtcbiAgICBuZXcgQ2ZuT3V0cHV0KHRoaXMsIFwiaW5zdGFuY2UtcHVibGljLWRucy1uYW1lLW91dHB1dFwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5pbnN0YW5jZS5pbnN0YW5jZVB1YmxpY0Ruc05hbWUsXG4gICAgICBleHBvcnROYW1lOiBgJHtzdGFja05hbWV9LXB1YmxpYy1kbnMtbmFtZWAsXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYXN0aW9uSG9zdFByb3BzIHtcbiAgcmVhZG9ubHkgdnBjOiBlYzIuSVZwYztcbiAgcmVhZG9ubHkgZGI6IHJkcy5JRGF0YWJhc2VJbnN0YW5jZTtcbiAgcmVhZG9ubHkgdXNlckRhdGE6IGVjMi5Vc2VyRGF0YTtcbiAgcmVhZG9ubHkgaXB2NEFsbG93bGlzdDogc3RyaW5nW107XG4gIHJlYWRvbmx5IHNzaFBvcnQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IGFuIGVsYXN0aWMgSVAgc2hvdWxkIGJlIGNyZWF0ZWQgZm9yIHRoZSBiYXN0aW9uIGhvc3QuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVFbGFzdGljSXA/OiBib29sZWFuO1xufVxuIl19
@@ -69,5 +69,5 @@ class BootstrapPgStac extends constructs_1.Construct {
69
69
  }
70
70
  exports.BootstrapPgStac = BootstrapPgStac;
71
71
  _a = JSII_RTTI_SYMBOL_1;
72
- BootstrapPgStac[_a] = { fqn: "eoapi-cdk.BootstrapPgStac", version: "5.1.0" };
72
+ BootstrapPgStac[_a] = { fqn: "eoapi-cdk.BootstrapPgStac", version: "5.3.0" };
73
73
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQVVxQjtBQUNyQiwyQ0FBdUM7QUFFdkMsU0FBUyxNQUFNLENBQ2IsUUFBOEQ7SUFFOUQsT0FBUSxRQUFxQyxDQUFDLEdBQUcsS0FBSyxTQUFTLENBQUM7QUFDbEUsQ0FBQztBQUVELE1BQU0sc0JBQXNCLEdBQUcsUUFBUSxDQUFDO0FBRXhDOztHQUVHO0FBQ0gsTUFBYSxlQUFnQixTQUFRLHNCQUFTO0lBRzVDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMkI7UUFDbkUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLEVBQUUsYUFBYSxHQUFHLHNCQUFzQixFQUFFLEdBQUcsS0FBSyxDQUFDO1FBQ3pELE1BQU0sT0FBTyxHQUFHLElBQUksd0JBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUN0RCxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLE9BQU8sRUFBRSx3QkFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVO1lBQ3RDLElBQUksRUFBRSx3QkFBVSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFO2dCQUMvQyxJQUFJLEVBQUUsb0JBQW9CO2dCQUMxQixTQUFTLEVBQUUsRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFO2FBQzdDLENBQUM7WUFDRixPQUFPLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQzVCLEdBQUcsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUc7WUFDNUQsWUFBWSxFQUFFLHNCQUFRLENBQUMsYUFBYSxDQUFDLFFBQVE7U0FDOUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGdDQUFrQixDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQzFELFVBQVUsRUFBRTtnQkFDVixLQUFLLENBQUMsYUFBYSxJQUFJLFFBQVE7Z0JBQy9CLEVBQUU7Z0JBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3pCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUNYLG9CQUFvQixFQUFFO2dCQUNwQixvQkFBb0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDO29CQUNuQyxNQUFNLEVBQUUsS0FBSyxDQUFDLFlBQVksSUFBSSxRQUFRO29CQUN0QyxNQUFNLEVBQUUsVUFBVTtvQkFDbEIsSUFBSSxFQUFFLElBQUk7b0JBQ1YsSUFBSSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsUUFBUTtvQkFDOUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxjQUFjLElBQUksYUFBYTtpQkFDaEQsQ0FBQztnQkFDRixpQkFBaUIsRUFBRSxVQUFVO2dCQUM3QixrQkFBa0IsRUFBRSxJQUFJO2FBQ3pCO1lBQ0QsV0FBVyxFQUFFLG1DQUNYLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQ2pCLEVBQUU7U0FDSCxDQUFDLENBQUM7UUFFSCxxQkFBcUI7UUFDckIsdUJBQXVCO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9CLHVCQUF1QjtRQUN2QixLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsQyxzQkFBc0I7UUFDdEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxxQkFBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUV0RSxpREFBaUQ7UUFDakQsSUFBSSw0QkFBYyxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7WUFDdkMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxXQUFXO1lBQ2pDLFVBQVUsRUFBRTtnQkFDVixzREFBc0Q7Z0JBQ3RELGdFQUFnRTtnQkFDaEUsY0FBYyxFQUFFLGFBQWE7Z0JBQzdCLGVBQWUsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVM7Z0JBQ3pDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUzthQUMzQztZQUNELGFBQWEsRUFBRSwyQkFBYSxDQUFDLE1BQU07U0FDcEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUE3REgsMENBOERDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYXdzX2VjMixcbiAgYXdzX3JkcyxcbiAgYXdzX2xhbWJkYSxcbiAgYXdzX2xvZ3MsXG4gIGF3c19zZWNyZXRzbWFuYWdlcixcbiAgQ3VzdG9tUmVzb3VyY2UsXG4gIER1cmF0aW9uLFxuICBTdGFjayxcbiAgUmVtb3ZhbFBvbGljeSxcbn0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuXG5mdW5jdGlvbiBoYXNWcGMoXG4gIGluc3RhbmNlOiBhd3NfcmRzLkRhdGFiYXNlSW5zdGFuY2UgfCBhd3NfcmRzLklEYXRhYmFzZUluc3RhbmNlXG4pOiBpbnN0YW5jZSBpcyBhd3NfcmRzLkRhdGFiYXNlSW5zdGFuY2Uge1xuICByZXR1cm4gKGluc3RhbmNlIGFzIGF3c19yZHMuRGF0YWJhc2VJbnN0YW5jZSkudnBjICE9PSB1bmRlZmluZWQ7XG59XG5cbmNvbnN0IERFRkFVTFRfUEdTVEFDX1ZFUlNJT04gPSBcIjAuNi4xM1wiO1xuXG4vKipcbiAqIEJvb3RzdHJhcHMgYSBkYXRhYmFzZSBpbnN0YW5jZSwgaW5zdGFsbGluZyBwZ1NUQUMgb250byB0aGUgZGF0YWJhc2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBCb290c3RyYXBQZ1N0YWMgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBzZWNyZXQ6IGF3c19zZWNyZXRzbWFuYWdlci5JU2VjcmV0O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBCb290c3RyYXBQZ1N0YWNQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCB7IHBnc3RhY1ZlcnNpb24gPSBERUZBVUxUX1BHU1RBQ19WRVJTSU9OIH0gPSBwcm9wcztcbiAgICBjb25zdCBoYW5kbGVyID0gbmV3IGF3c19sYW1iZGEuRnVuY3Rpb24odGhpcywgXCJsYW1iZGFcIiwge1xuICAgICAgaGFuZGxlcjogXCJoYW5kbGVyLmhhbmRsZXJcIixcbiAgICAgIHJ1bnRpbWU6IGF3c19sYW1iZGEuUnVudGltZS5QWVRIT05fM184LFxuICAgICAgY29kZTogYXdzX2xhbWJkYS5Db2RlLmZyb21Eb2NrZXJCdWlsZChfX2Rpcm5hbWUsIHtcbiAgICAgICAgZmlsZTogXCJydW50aW1lL0RvY2tlcmZpbGVcIixcbiAgICAgICAgYnVpbGRBcmdzOiB7IFBHU1RBQ19WRVJTSU9OOiBwZ3N0YWNWZXJzaW9uIH0sXG4gICAgICB9KSxcbiAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLm1pbnV0ZXMoMiksXG4gICAgICB2cGM6IGhhc1ZwYyhwcm9wcy5kYXRhYmFzZSkgPyBwcm9wcy5kYXRhYmFzZS52cGMgOiBwcm9wcy52cGMsXG4gICAgICBsb2dSZXRlbnRpb246IGF3c19sb2dzLlJldGVudGlvbkRheXMuT05FX1dFRUssXG4gICAgfSk7XG5cbiAgICB0aGlzLnNlY3JldCA9IG5ldyBhd3Nfc2VjcmV0c21hbmFnZXIuU2VjcmV0KHRoaXMsIFwic2VjcmV0XCIsIHtcbiAgICAgIHNlY3JldE5hbWU6IFtcbiAgICAgICAgcHJvcHMuc2VjcmV0c1ByZWZpeCB8fCBcInBnc3RhY1wiLFxuICAgICAgICBpZCxcbiAgICAgICAgdGhpcy5ub2RlLmFkZHIuc2xpY2UoLTgpLFxuICAgICAgXS5qb2luKFwiL1wiKSxcbiAgICAgIGdlbmVyYXRlU2VjcmV0U3RyaW5nOiB7XG4gICAgICAgIHNlY3JldFN0cmluZ1RlbXBsYXRlOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgZGJuYW1lOiBwcm9wcy5wZ3N0YWNEYk5hbWUgfHwgXCJwZ3N0YWNcIixcbiAgICAgICAgICBlbmdpbmU6IFwicG9zdGdyZXNcIixcbiAgICAgICAgICBwb3J0OiA1NDMyLFxuICAgICAgICAgIGhvc3Q6IHByb3BzLmRhdGFiYXNlLmluc3RhbmNlRW5kcG9pbnQuaG9zdG5hbWUsXG4gICAgICAgICAgdXNlcm5hbWU6IHByb3BzLnBnc3RhY1VzZXJuYW1lIHx8IFwicGdzdGFjX3VzZXJcIixcbiAgICAgICAgfSksXG4gICAgICAgIGdlbmVyYXRlU3RyaW5nS2V5OiBcInBhc3N3b3JkXCIsXG4gICAgICAgIGV4Y2x1ZGVQdW5jdHVhdGlvbjogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICBkZXNjcmlwdGlvbjogYFBnU1RBQyBkYXRhYmFzZSBib290c3RyYXBwZWQgYnkgJHtcbiAgICAgICAgU3RhY2sub2YodGhpcykuc3RhY2tOYW1lXG4gICAgICB9YCxcbiAgICB9KTtcblxuICAgIC8vIEFsbG93IGxhbWJkYSB0by4uLlxuICAgIC8vIHJlYWQgbmV3IHVzZXIgc2VjcmV0XG4gICAgdGhpcy5zZWNyZXQuZ3JhbnRSZWFkKGhhbmRsZXIpO1xuICAgIC8vIHJlYWQgZGF0YWJhc2Ugc2VjcmV0XG4gICAgcHJvcHMuZGJTZWNyZXQuZ3JhbnRSZWFkKGhhbmRsZXIpO1xuICAgIC8vIGNvbm5lY3QgdG8gZGF0YWJhc2VcbiAgICBwcm9wcy5kYXRhYmFzZS5jb25uZWN0aW9ucy5hbGxvd0Zyb20oaGFuZGxlciwgYXdzX2VjMi5Qb3J0LnRjcCg1NDMyKSk7XG5cbiAgICAvLyB0aGlzLmNvbm5lY3Rpb25zID0gcHJvcHMuZGF0YWJhc2UuY29ubmVjdGlvbnM7XG4gICAgbmV3IEN1c3RvbVJlc291cmNlKHRoaXMsIFwiYm9vdHN0cmFwcGVyXCIsIHtcbiAgICAgIHNlcnZpY2VUb2tlbjogaGFuZGxlci5mdW5jdGlvbkFybixcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgLy8gQnkgc2V0dGluZyBwZ3N0YWNfdmVyc2lvbiBpbiB0aGUgcHJvcGVydGllcyBhc3N1cmVzXG4gICAgICAgIC8vIHRoYXQgQ3JlYXRlL1VwZGF0ZSBldmVudHMgd2lsbCBiZSBwYXNzZWQgdG8gdGhlIHNlcnZpY2UgdG9rZW5cbiAgICAgICAgcGdzdGFjX3ZlcnNpb246IHBnc3RhY1ZlcnNpb24sXG4gICAgICAgIGNvbm5fc2VjcmV0X2FybjogcHJvcHMuZGJTZWNyZXQuc2VjcmV0QXJuLFxuICAgICAgICBuZXdfdXNlcl9zZWNyZXRfYXJuOiB0aGlzLnNlY3JldC5zZWNyZXRBcm4sXG4gICAgICB9LFxuICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5SRVRBSU4sIC8vIFRoaXMgcmV0YWlucyB0aGUgY3VzdG9tIHJlc291cmNlICh3aGljaCBkb2Vzbid0IHJlYWxseSBleGlzdCksIG5vdCB0aGUgZGF0YWJhc2VcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJvb3RzdHJhcFBnU3RhY1Byb3BzIHtcbiAgLyoqXG4gICAqIFZQQyBpbiB3aGljaCB0aGUgZGF0YWJhc2UgcmVzaWRlcy5cbiAgICpcbiAgICogTm90ZSAtIE11c3QgYmUgZXhwbGljaXRlbHkgc2V0IGlmIHRoZSBgZGF0YWJhc2VgIG9ubHkgY29uZm9ybXMgdG8gdGhlXG4gICAqIGBhd3NfcmRzLklEYXRhYmFzZUluc3RhY2VgIGludGVyZmFjZSAoaWUgaXQgaXMgYSByZWZlcmVuY2UgdG8gYSBkYXRhYmFzZSBpbnN0YW5jZVxuICAgKiByYXRoZXIgdGhhbiBhIGRhdGFiYXNlIGluc3RhbmNlLilcbiAgICpcbiAgICogQGRlZmF1bHQgLSBgdnBjYCBwcm9wZXJ0eSBvZiB0aGUgYGRhdGFiYXNlYCBpbnN0YW5jZSBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHZwYz86IGF3c19lYzIuSVZwYztcblxuICAvKipcbiAgICogRGF0YWJhc2Ugb250byB3aGljaCBwZ1NUQUMgc2hvdWxkIGJlIGluc3RhbGxlZC5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGFiYXNlOiBhd3NfcmRzLkRhdGFiYXNlSW5zdGFuY2UgfCBhd3NfcmRzLklEYXRhYmFzZUluc3RhbmNlO1xuXG4gIC8qKlxuICAgKiBTZWNyZXQgY29udGFpbmluZyB2YWxpZCBjb25uZWN0aW9uIGRldGFpbHMgZm9yIHRoZSBkYXRhYmFzZSBpbnN0YW5jZS4gU2VjcmV0IG11c3RcbiAgICogY29uZm9ybSB0byB0aGUgZm9ybWF0IG9mIENESydzIGBEYXRhYmFzZUluc3RhbmNlYCAoaS5lLiBhIEpTT04gb2JqZWN0IGNvbnRhaW5pbmcgYVxuICAgKiBgdXNlcm5hbWVgLCBgcGFzc3dvcmRgLCBgaG9zdGAsIGBwb3J0YCwgYW5kIG9wdGlvbmFsbHkgYSBgZGJuYW1lYCkuIElmIGEgYGRibmFtZWBcbiAgICogcHJvcGVydHkgaXMgbm90IHNwZWNpZmllZCB3aXRoaW4gdGhlIHNlY3JldCwgdGhlIGJvb3RzdHJhcHBlciB3aWxsIGF0dGVtcHQgdG9cbiAgICogY29ubmVjdCB0byBhIGRhdGFiYXNlIHdpdGggdGhlIG5hbWUgb2YgYFwicG9zdGdyZXNcImAuXG4gICAqL1xuICByZWFkb25seSBkYlNlY3JldDogYXdzX3NlY3JldHNtYW5hZ2VyLklTZWNyZXQ7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgZGF0YWJhc2UgdGhhdCBpcyB0byBiZSBjcmVhdGVkIGFuZCBvbnRvIHdoaWNoIHBnU1RBQyB3aWxsIGJlIGluc3RhbGxlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgcGdzdGFjXG4gICAqL1xuICByZWFkb25seSBwZ3N0YWNEYk5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdXNlciB0aGF0IHdpbGwgYmUgZ2VuZXJhdGVkIGZvciBjb25uZWN0aW5nIHRvIHRoZSBwZ1NUQUMgZGF0YWJhc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IHBnc3RhY191c2VyXG4gICAqL1xuICByZWFkb25seSBwZ3N0YWNVc2VybmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogcGdTVEFDIHZlcnNpb24gdG8gYmUgaW5zdGFsbGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAwLjYuOFxuICAgKi9cbiAgcmVhZG9ubHkgcGdzdGFjVmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogUHJlZml4IHRvIGFzc2lnbiB0byB0aGUgZ2VuZXJhdGVkIGBzZWNyZXRzX21hbmFnZXIuU2VjcmV0YFxuICAgKlxuICAgKiBAZGVmYXVsdCBwZ3N0YWNcbiAgICovXG4gIHJlYWRvbmx5IHNlY3JldHNQcmVmaXg/OiBzdHJpbmc7XG59XG4iXX0=
@@ -80,5 +80,5 @@ class PgStacDatabase extends constructs_1.Construct {
80
80
  }
81
81
  exports.PgStacDatabase = PgStacDatabase;
82
82
  _a = JSII_RTTI_SYMBOL_1;
83
- PgStacDatabase[_a] = { fqn: "eoapi-cdk.PgStacDatabase", version: "5.1.0" };
83
+ PgStacDatabase[_a] = { fqn: "eoapi-cdk.PgStacDatabase", version: "5.3.0" };
84
84
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUlxQjtBQUNyQiwyQ0FBdUM7QUFDdkMsa0RBQXdFO0FBRXhFLE1BQU0sYUFBYSxHQUEyQixPQUFPLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUVoRjs7OztHQUlHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsc0JBQVM7SUFJM0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEwQjtRQUNsRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FDMUMsS0FBSyxDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxVQUFVLEVBQzVDLEtBQUssQ0FBQyxVQUFVLENBQ2pCLENBQUM7UUFDRixNQUFNLGNBQWMsR0FBRyxJQUFJLHFCQUFHLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtZQUNwRSxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07WUFDcEIsVUFBVSxFQUFFO2dCQUNWLGNBQWMsRUFBRSxpQkFBaUIsQ0FBQyxhQUFhO2dCQUMvQyxvQkFBb0IsRUFBRSxpQkFBaUIsQ0FBQyxrQkFBa0I7Z0JBQzFELFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxPQUFPO2dCQUNuQyxvQkFBb0IsRUFBRSxpQkFBaUIsQ0FBQyxrQkFBa0I7Z0JBQzFELHlCQUF5QixFQUFFLGlCQUFpQixDQUFDLHNCQUFzQjtnQkFDbkUsWUFBWSxFQUFFLGlCQUFpQixDQUFDLFdBQVc7Z0JBQzNDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxXQUFXO2dCQUM1QyxnQkFBZ0IsRUFBRSxpQkFBaUIsQ0FBQyxjQUFjO2dCQUNsRCxHQUFHLEtBQUssQ0FBQyxVQUFVO2FBQ3BCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLHFCQUFHLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRTtZQUM3QyxrQkFBa0IsRUFBRSxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTO1lBQzVDLGNBQWM7WUFDZCxHQUFHLEtBQUs7U0FDVCxDQUFDLENBQUM7UUFFSCxNQUFNLFNBQVMsR0FBRyxJQUFJLDhCQUFlLENBQUMsSUFBSSxFQUFFLDJCQUEyQixFQUFFO1lBQ3ZFLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztZQUNkLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNqQixRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFPO1lBQ3pCLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtZQUNoQyxhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWE7WUFDbEMsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO1lBQ3BDLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYTtTQUNuQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUM7SUFDdkMsQ0FBQztJQUVNLGFBQWEsQ0FDbEIsWUFBb0IsRUFDcEIsVUFBNkM7UUFFN0Msb0VBQW9FO1FBQ3BFLE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQyxZQUFZLENBQUMsR0FBRyxJQUFJLENBQUM7UUFFeEQsa0ZBQWtGO1FBQ2xGLGtGQUFrRjtRQUNsRiwrQ0FBK0M7UUFDL0MsTUFBTSxjQUFjLEdBQUcsVUFBVSxFQUFFLGNBQWM7WUFDL0MsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQztZQUM1QyxDQUFDLENBQUMsb0dBQW9HO2dCQUNwRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEUsTUFBTSxhQUFhLEdBQUcsVUFBVSxFQUFFLFlBQVk7WUFDNUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQztZQUMxQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDLENBQUM7UUFFcEMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxZQUFZLENBQUMsQ0FBQztRQUMzRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsR0FBRyxjQUFjLENBQUMsQ0FBQztRQUMzRCxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLGFBQWEsQ0FBQyxDQUFDO1FBRTVELE1BQU0sV0FBVyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUM7UUFDL0IsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQztRQUUzQixPQUFPO1lBQ0wsY0FBYyxFQUFFLEdBQUcsY0FBYyxFQUFFO1lBQ25DLGFBQWEsRUFBRSxHQUFHLGFBQWEsR0FBRyxDQUFDLEVBQUU7WUFDckMsa0JBQWtCLEVBQUUsR0FBRyxrQkFBa0IsRUFBRTtZQUMzQyxPQUFPLEVBQUUsR0FBRyxPQUFPLEVBQUU7WUFDckIsa0JBQWtCLEVBQUUsR0FBRyxrQkFBa0IsRUFBRTtZQUMzQyxzQkFBc0IsRUFBRSxNQUFNO1lBQzlCLFdBQVcsRUFBRSxHQUFHLFdBQVcsRUFBRTtZQUM3QixXQUFXLEVBQUUsR0FBRyxXQUFXLEVBQUU7WUFDN0IsY0FBYyxFQUFFLEdBQUcsY0FBYyxFQUFFO1NBQ3BDLENBQUM7SUFDSixDQUFDOztBQWxGSCx3Q0FtRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBTdGFjayxcbiAgYXdzX3JkcyBhcyByZHMsXG4gIGF3c19zZWNyZXRzbWFuYWdlciBhcyBzZWNyZXRzbWFuYWdlcixcbn0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQm9vdHN0cmFwUGdTdGFjLCBCb290c3RyYXBQZ1N0YWNQcm9wcyB9IGZyb20gXCIuLi9ib290c3RyYXBwZXJcIjtcblxuY29uc3QgaW5zdGFuY2VTaXplczogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHJlcXVpcmUoXCIuL2luc3RhbmNlLW1lbW9yeS5qc29uXCIpO1xuXG4vKipcbiAqIEFuIFJEUyBpbnN0YW5jZSB3aXRoIHBnU1RBQyBpbnN0YWxsZWQuIFRoaXMgaXMgYSB3cmFwcGVyIGFyb3VuZCB0aGVcbiAqIGByZHMuRGF0YWJhc2VJbnN0YW5jZWAgaGlnaGVyLWxldmVsIGNvbnN0cnVjdCBtYWtpbmcgdXNlXG4gKiBvZiB0aGUgQm9vdHN0cmFwUGdTdGFjIGNvbnN0cnVjdC5cbiAqL1xuZXhwb3J0IGNsYXNzIFBnU3RhY0RhdGFiYXNlIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgZGI6IHJkcy5EYXRhYmFzZUluc3RhbmNlO1xuICBwZ3N0YWNTZWNyZXQ6IHNlY3JldHNtYW5hZ2VyLklTZWNyZXQ7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFBnU3RhY0RhdGFiYXNlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgZGVmYXVsdFBhcmFtZXRlcnMgPSB0aGlzLmdldFBhcmFtZXRlcnMoXG4gICAgICBwcm9wcy5pbnN0YW5jZVR5cGU/LnRvU3RyaW5nKCkgfHwgXCJtNS5sYXJnZVwiLFxuICAgICAgcHJvcHMucGFyYW1ldGVyc1xuICAgICk7XG4gICAgY29uc3QgcGFyYW1ldGVyR3JvdXAgPSBuZXcgcmRzLlBhcmFtZXRlckdyb3VwKHRoaXMsIFwicGFyYW1ldGVyR3JvdXBcIiwge1xuICAgICAgZW5naW5lOiBwcm9wcy5lbmdpbmUsXG4gICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgIHNoYXJlZF9idWZmZXJzOiBkZWZhdWx0UGFyYW1ldGVycy5zaGFyZWRCdWZmZXJzLFxuICAgICAgICBlZmZlY3RpdmVfY2FjaGVfc2l6ZTogZGVmYXVsdFBhcmFtZXRlcnMuZWZmZWN0aXZlQ2FjaGVTaXplLFxuICAgICAgICB3b3JrX21lbTogZGVmYXVsdFBhcmFtZXRlcnMud29ya01lbSxcbiAgICAgICAgbWFpbnRlbmFuY2Vfd29ya19tZW06IGRlZmF1bHRQYXJhbWV0ZXJzLm1haW50ZW5hbmNlV29ya01lbSxcbiAgICAgICAgbWF4X2xvY2tzX3Blcl90cmFuc2FjdGlvbjogZGVmYXVsdFBhcmFtZXRlcnMubWF4TG9ja3NQZXJUcmFuc2FjdGlvbixcbiAgICAgICAgdGVtcF9idWZmZXJzOiBkZWZhdWx0UGFyYW1ldGVycy50ZW1wQnVmZmVycyxcbiAgICAgICAgc2VxX3BhZ2VfY29zdDogZGVmYXVsdFBhcmFtZXRlcnMuc2VxUGFnZUNvc3QsXG4gICAgICAgIHJhbmRvbV9wYWdlX2Nvc3Q6IGRlZmF1bHRQYXJhbWV0ZXJzLnJhbmRvbVBhZ2VDb3N0LFxuICAgICAgICAuLi5wcm9wcy5wYXJhbWV0ZXJzLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRoaXMuZGIgPSBuZXcgcmRzLkRhdGFiYXNlSW5zdGFuY2UodGhpcywgXCJkYlwiLCB7XG4gICAgICBpbnN0YW5jZUlkZW50aWZpZXI6IFN0YWNrLm9mKHRoaXMpLnN0YWNrTmFtZSxcbiAgICAgIHBhcmFtZXRlckdyb3VwLFxuICAgICAgLi4ucHJvcHMsXG4gICAgfSk7XG5cbiAgICBjb25zdCBib290c3RyYXAgPSBuZXcgQm9vdHN0cmFwUGdTdGFjKHRoaXMsIFwiYm9vdHN0cmFwLXBnc3RhYy1pbnN0YW5jZVwiLCB7XG4gICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgIGRhdGFiYXNlOiB0aGlzLmRiLFxuICAgICAgZGJTZWNyZXQ6IHRoaXMuZGIuc2VjcmV0ISxcbiAgICAgIHBnc3RhY0RiTmFtZTogcHJvcHMucGdzdGFjRGJOYW1lLFxuICAgICAgcGdzdGFjVmVyc2lvbjogcHJvcHMucGdzdGFjVmVyc2lvbixcbiAgICAgIHBnc3RhY1VzZXJuYW1lOiBwcm9wcy5wZ3N0YWNVc2VybmFtZSxcbiAgICAgIHNlY3JldHNQcmVmaXg6IHByb3BzLnNlY3JldHNQcmVmaXgsXG4gICAgfSk7XG5cbiAgICB0aGlzLnBnc3RhY1NlY3JldCA9IGJvb3RzdHJhcC5zZWNyZXQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0UGFyYW1ldGVycyhcbiAgICBpbnN0YW5jZVR5cGU6IHN0cmluZyxcbiAgICBwYXJhbWV0ZXJzOiBQZ1N0YWNEYXRhYmFzZVByb3BzW1wicGFyYW1ldGVyc1wiXVxuICApOiBEYXRhYmFzZVBhcmFtZXRlcnMge1xuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNsaS9pc3N1ZXMvMTI3OSNpc3N1ZWNvbW1lbnQtOTA5MzE4MjM2XG4gICAgY29uc3QgbWVtb3J5X2luX2tiID0gaW5zdGFuY2VTaXplc1tpbnN0YW5jZVR5cGVdICogMTAyNDtcblxuICAgIC8vIEl0J3Mgb25seSBuZWNlc3NhcnkgdG8gY29uc2lkZXIgcGFzc2VkIGluIHBhcmFtZXRlcnMgZm9yIGFueSB2YWx1ZSB0aGF0IHVzZWQgdG9cbiAgICAvLyBkZXJpdmUgc3Vic2VxdWVudCB2YWx1ZXMuIFZhbHVlcyB0aGF0IGRvbid0IGhhdmUgZGVwZW5kZW5jaWVzIHdpbGwgYmUgb3ZlcnJpZGVuXG4gICAgLy8gd2hlbiB3ZSB1bnBhY2sgdGhlIHBhc3NlZC1pbiB1c2VyIHBhcmFtZXRlcnNcbiAgICBjb25zdCBtYXhDb25uZWN0aW9ucyA9IHBhcmFtZXRlcnM/Lm1heENvbm5lY3Rpb25zXG4gICAgICA/IE51bWJlci5wYXJzZUludChwYXJhbWV0ZXJzLm1heENvbm5lY3Rpb25zKVxuICAgICAgOiAvLyBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uUkRTL2xhdGVzdC9Vc2VyR3VpZGUvQ0hBUF9MaW1pdHMuaHRtbCNSRFNfTGltaXRzLk1heENvbm5lY3Rpb25zXG4gICAgICAgIE1hdGgubWluKE1hdGgucm91bmQoKG1lbW9yeV9pbl9rYiAqIDEwMjQpIC8gOTUzMTM5MiksIDUwMDApO1xuICAgIGNvbnN0IHNoYXJlZEJ1ZmZlcnMgPSBwYXJhbWV0ZXJzPy5zaGFyZWRCdWZlcnNcbiAgICAgID8gTnVtYmVyLnBhcnNlSW50KHBhcmFtZXRlcnMuc2hhcmVkQnVmZXJzKVxuICAgICAgOiBNYXRoLnJvdW5kKDAuMjUgKiBtZW1vcnlfaW5fa2IpO1xuXG4gICAgY29uc3QgZWZmZWN0aXZlQ2FjaGVTaXplID0gTWF0aC5yb3VuZCgwLjc1ICogbWVtb3J5X2luX2tiKTtcbiAgICBjb25zdCB3b3JrTWVtID0gTWF0aC5mbG9vcihzaGFyZWRCdWZmZXJzIC8gbWF4Q29ubmVjdGlvbnMpO1xuICAgIGNvbnN0IG1haW50ZW5hbmNlV29ya01lbSA9IE1hdGgucm91bmQoMC4yNSAqIHNoYXJlZEJ1ZmZlcnMpO1xuXG4gICAgY29uc3QgdGVtcEJ1ZmZlcnMgPSAxMjggKiAxMDI0O1xuICAgIGNvbnN0IHNlcVBhZ2VDb3N0ID0gMTtcbiAgICBjb25zdCByYW5kb21QYWdlQ29zdCA9IDEuMTtcblxuICAgIHJldHVybiB7XG4gICAgICBtYXhDb25uZWN0aW9uczogYCR7bWF4Q29ubmVjdGlvbnN9YCxcbiAgICAgIHNoYXJlZEJ1ZmZlcnM6IGAke3NoYXJlZEJ1ZmZlcnMgLyA4fWAsIC8vIFJlcHJlc2VudGVkIGluIDhrYiBibG9ja3NcbiAgICAgIGVmZmVjdGl2ZUNhY2hlU2l6ZTogYCR7ZWZmZWN0aXZlQ2FjaGVTaXplfWAsXG4gICAgICB3b3JrTWVtOiBgJHt3b3JrTWVtfWAsXG4gICAgICBtYWludGVuYW5jZVdvcmtNZW06IGAke21haW50ZW5hbmNlV29ya01lbX1gLFxuICAgICAgbWF4TG9ja3NQZXJUcmFuc2FjdGlvbjogXCIxMDI0XCIsXG4gICAgICB0ZW1wQnVmZmVyczogYCR7dGVtcEJ1ZmZlcnN9YCxcbiAgICAgIHNlcVBhZ2VDb3N0OiBgJHtzZXFQYWdlQ29zdH1gLFxuICAgICAgcmFuZG9tUGFnZUNvc3Q6IGAke3JhbmRvbVBhZ2VDb3N0fWAsXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBnU3RhY0RhdGFiYXNlUHJvcHMgZXh0ZW5kcyByZHMuRGF0YWJhc2VJbnN0YW5jZVByb3BzIHtcbiAgcmVhZG9ubHkgcGdzdGFjRGJOYW1lPzogQm9vdHN0cmFwUGdTdGFjUHJvcHNbXCJwZ3N0YWNEYk5hbWVcIl07XG4gIHJlYWRvbmx5IHBnc3RhY1ZlcnNpb24/OiBCb290c3RyYXBQZ1N0YWNQcm9wc1tcInBnc3RhY1ZlcnNpb25cIl07XG4gIHJlYWRvbmx5IHBnc3RhY1VzZXJuYW1lPzogQm9vdHN0cmFwUGdTdGFjUHJvcHNbXCJwZ3N0YWNVc2VybmFtZVwiXTtcbiAgcmVhZG9ubHkgc2VjcmV0c1ByZWZpeD86IEJvb3RzdHJhcFBnU3RhY1Byb3BzW1wic2VjcmV0c1ByZWZpeFwiXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhYmFzZVBhcmFtZXRlcnMge1xuICAvKipcbiAgICogQGRlZmF1bHQgLSBMRUFTVCh7REJJbnN0YW5jZUNsYXNzTWVtb3J5Lzk1MzEzOTJ9LCA1MDAwKVxuICAgKi9cbiAgcmVhZG9ubHkgbWF4Q29ubmVjdGlvbnM6IHN0cmluZztcblxuICAvKipcbiAgICogTm90ZTogVGhpcyB2YWx1ZSBpcyBtZWFzdXJlZCBpbiA4S0IgYmxvY2tzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAne0RCSW5zdGFuY2VDbGFzc01lbW9yeS8zMjc2OH0nIDI1JSBvZiBpbnN0YW5jZSBtZW1vcnksIGllIGB7KERCSW5zdGFuY2VDbGFzc01lbW9yeS8oMTAyNCo4KSkgKiAwLjI1fWBcbiAgICovXG4gIHJlYWRvbmx5IHNoYXJlZEJ1ZmZlcnM6IHN0cmluZztcblxuICAvKipcbiAgICogQGRlZmF1bHQgLSA3NSUgb2YgaW5zdGFuY2UgbWVtb3J5XG4gICAqL1xuICByZWFkb25seSBlZmZlY3RpdmVDYWNoZVNpemU6IHN0cmluZztcblxuICAvKipcbiAgICogQGRlZmF1bHQgLSBzaGFyZWQgYnVmZmVycyBkaXZpZGVkIGJ5IG1heCBjb25uZWN0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgd29ya01lbTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAZGVmYXVsdCAtIDI1JSBvZiBzaGFyZWQgYnVmZmVyc1xuICAgKi9cbiAgcmVhZG9ubHkgbWFpbnRlbmFuY2VXb3JrTWVtOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZWZhdWx0IDEwMjRcbiAgICovXG4gIHJlYWRvbmx5IG1heExvY2tzUGVyVHJhbnNhY3Rpb246IHN0cmluZztcblxuICAvKipcbiAgICogQGRlZmF1bHQgMTMxMTcyICgxMjggKiAxMDI0KVxuICAgKi9cbiAgcmVhZG9ubHkgdGVtcEJ1ZmZlcnM6IHN0cmluZztcblxuICAvKipcbiAgICogQGRlZmF1bHQgMVxuICAgKi9cbiAgcmVhZG9ubHkgc2VxUGFnZUNvc3Q6IHN0cmluZztcblxuICAvKipcbiAgICogQGRlZmF1bHQgMS4xXG4gICAqL1xuICByZWFkb25seSByYW5kb21QYWdlQ29zdDogc3RyaW5nO1xufVxuIl19
package/lib/index.d.ts CHANGED
@@ -4,3 +4,5 @@ export * from "./database";
4
4
  export * from "./ingestor-api";
5
5
  export * from "./stac-api";
6
6
  export * from "./titiler-pgstac-api";
7
+ export * from "./stac-browser";
8
+ export * from "./tipg-api";
package/lib/index.js CHANGED
@@ -16,4 +16,6 @@ __exportStar(require("./database"), exports);
16
16
  __exportStar(require("./ingestor-api"), exports);
17
17
  __exportStar(require("./stac-api"), exports);
18
18
  __exportStar(require("./titiler-pgstac-api"), exports);
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxpREFBK0I7QUFDL0IsaURBQStCO0FBQy9CLDZDQUEyQjtBQUMzQixpREFBK0I7QUFDL0IsNkNBQTJCO0FBQzNCLHVEQUFxQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2Jhc3Rpb24taG9zdFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYm9vdHN0cmFwcGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kYXRhYmFzZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW5nZXN0b3ItYXBpXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zdGFjLWFwaVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGl0aWxlci1wZ3N0YWMtYXBpXCI7Il19
19
+ __exportStar(require("./stac-browser"), exports);
20
+ __exportStar(require("./tipg-api"), exports);
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxpREFBK0I7QUFDL0IsaURBQStCO0FBQy9CLDZDQUEyQjtBQUMzQixpREFBK0I7QUFDL0IsNkNBQTJCO0FBQzNCLHVEQUFxQztBQUNyQyxpREFBK0I7QUFDL0IsNkNBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vYmFzdGlvbi1ob3N0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ib290c3RyYXBwZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RhdGFiYXNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9pbmdlc3Rvci1hcGlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N0YWMtYXBpXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90aXRpbGVyLXBnc3RhYy1hcGlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N0YWMtYnJvd3NlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGlwZy1hcGlcIjtcbiJdfQ==
@@ -148,5 +148,5 @@ class StacIngestor extends constructs_1.Construct {
148
148
  }
149
149
  exports.StacIngestor = StacIngestor;
150
150
  _a = JSII_RTTI_SYMBOL_1;
151
- StacIngestor[_a] = { fqn: "eoapi-cdk.StacIngestor", version: "5.1.0" };
151
+ StacIngestor[_a] = { fqn: "eoapi-cdk.StacIngestor", version: "5.3.0" };
152
152
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQVlxQjtBQUNyQiw4RUFBa0U7QUFDbEUsMkNBQXVDO0FBRXZDLE1BQWEsWUFBYSxTQUFRLHNCQUFTO0lBSXpDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBd0I7UUFDaEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUUvQixNQUFNLEdBQUcsR0FBMkI7WUFDbEMsY0FBYyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUztZQUNwQyxTQUFTLEVBQUUsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQzVCLHdCQUF3QixFQUFFLEdBQUc7WUFDN0IsUUFBUSxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQ3ZCLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsT0FBTztZQUM5QyxHQUFHLEtBQUssQ0FBQyxNQUFNO1NBQ2hCLENBQUM7UUFFRixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUkscUJBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1lBQ3RELFdBQVcsRUFDVCxtSUFBbUk7WUFDckksU0FBUyxFQUFFLElBQUkscUJBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQztZQUMzRCxlQUFlLEVBQUU7Z0JBQ2YscUJBQUcsQ0FBQyxhQUFhLENBQUMsd0JBQXdCLENBQ3hDLDBDQUEwQyxDQUMzQztnQkFDRCxxQkFBRyxDQUFDLGFBQWEsQ0FBQyx3QkFBd0IsQ0FDeEMsOENBQThDLENBQy9DO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFFSCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1lBQ2xDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixHQUFHO1lBQ0gsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO1lBQ3BDLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixRQUFRLEVBQUUsS0FBSyxDQUFDLFlBQVk7WUFDNUIsS0FBSyxFQUFFLEtBQUssQ0FBQyxHQUFHO1lBQ2hCLGVBQWUsRUFBRSxLQUFLLENBQUMsbUJBQW1CO1lBQzFDLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZTtTQUN2QyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsZ0JBQWdCLENBQUM7WUFDcEIsT0FBTztZQUNQLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixxQkFBcUIsRUFBRSxLQUFLLENBQUMsd0JBQXdCO1lBQ3JELE1BQU0sRUFBRSxLQUFLLENBQUMsU0FBUztZQUN2Qix5QkFBeUIsRUFBRSxLQUFLLENBQUMseUJBQXlCO1NBQzNELENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxhQUFhLENBQUM7WUFDakIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLEdBQUcsRUFBRSxHQUFHO1lBQ1IsUUFBUSxFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQzVCLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRztZQUNoQixlQUFlLEVBQUUsS0FBSyxDQUFDLG1CQUFtQjtZQUMxQyxlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWU7U0FDdkMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1lBQ3hCLElBQUksRUFBRSxnQkFBZ0I7WUFDdEIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUztZQUMzQixXQUFXLEVBQUUsd0NBQXdDO1NBQ3RELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxVQUFVO1FBQ2hCLE1BQU0sS0FBSyxHQUFHLElBQUksMEJBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFO1lBQ3pELFlBQVksRUFBRSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLDBCQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRTtZQUN6RSxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSwwQkFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUU7WUFDNUQsV0FBVyxFQUFFLDBCQUFRLENBQUMsV0FBVyxDQUFDLGVBQWU7WUFDakQsYUFBYSxFQUFFLDJCQUFhLENBQUMsT0FBTztZQUNwQyxNQUFNLEVBQUUsMEJBQVEsQ0FBQyxjQUFjLENBQUMsU0FBUztTQUMxQyxDQUFDLENBQUM7UUFFSCxLQUFLLENBQUMsdUJBQXVCLENBQUM7WUFDNUIsU0FBUyxFQUFFLFFBQVE7WUFDbkIsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsMEJBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFO1lBQ3JFLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLDBCQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRTtTQUNyRSxDQUFDLENBQUM7UUFFSCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTyxjQUFjLENBQUMsS0FTdEI7UUFFQyxNQUFNLE9BQU8sR0FBRyxJQUFJLHdDQUFjLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRTtZQUN0RCxLQUFLLEVBQUUsR0FBRyxTQUFTLFVBQVU7WUFDN0IsS0FBSyxFQUFFLGdCQUFnQjtZQUN2QixPQUFPLEVBQUUsd0JBQU0sQ0FBQyxPQUFPLENBQUMsVUFBVTtZQUNsQyxPQUFPLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzdCLFdBQVcsRUFBRSxFQUFFLGFBQWEsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDdEUsR0FBRyxFQUFFLEtBQUssQ0FBQyxLQUFLO1lBQ2hCLFVBQVUsRUFBRSxLQUFLLENBQUMsZUFBZTtZQUNqQyxpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVztZQUN0QixVQUFVLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7UUFFSCxrQ0FBa0M7UUFDbEMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbEMsaUNBQWlDO1FBQ2pDLEtBQUssQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUNsQyxPQUFPLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFDckMscUJBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUNsQixzQ0FBc0MsQ0FDdkMsQ0FBQztRQUVGLEtBQUssQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFeEMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVPLGFBQWEsQ0FBQyxLQU9yQjtRQUNDLE1BQU0sT0FBTyxHQUFHLElBQUksd0NBQWMsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFO1lBQ3hELEtBQUssRUFBRSxHQUFHLFNBQVMsVUFBVTtZQUM3QixLQUFLLEVBQUUsaUJBQWlCO1lBQ3hCLE9BQU8sRUFBRSx3QkFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVO1lBQ2xDLE9BQU8sRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDOUIsV0FBVyxFQUFFLEVBQUUsYUFBYSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLEdBQUcsS0FBSyxDQUFDLEdBQUcsRUFBRTtZQUN0RSxHQUFHLEVBQUUsS0FBSyxDQUFDLEtBQUs7WUFDaEIsVUFBVSxFQUFFLEtBQUssQ0FBQyxlQUFlO1lBQ2pDLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsVUFBVSxFQUFFLElBQUk7U0FDakIsQ0FBQyxDQUFDO1FBRUgsa0NBQWtDO1FBQ2xDLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWxDLGlDQUFpQztRQUNqQyxLQUFLLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FDbEMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQ3JDLHFCQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFDbEIsc0NBQXNDLENBQ3ZDLENBQUM7UUFFRiw2Q0FBNkM7UUFDN0MsS0FBSyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFcEMsZ0RBQWdEO1FBQ2hELE9BQU8sQ0FBQyxjQUFjLENBQ3BCLElBQUksc0NBQU0sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQ3hDLGtDQUFrQztZQUNsQyxTQUFTLEVBQUUsSUFBSTtZQUNmLGlDQUFpQztZQUNqQyxpQkFBaUIsRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDdkMsMEJBQTBCO1lBQzFCLGdCQUFnQixFQUFFLHdCQUFNLENBQUMsZ0JBQWdCLENBQUMsWUFBWTtZQUN0RCxhQUFhLEVBQUUsQ0FBQztTQUNqQixDQUFDLENBQ0gsQ0FBQztRQUVGLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQU14QjtRQUVDLE9BQU8sSUFBSSw0QkFBVSxDQUFDLGFBQWEsQ0FDakMsSUFBSSxFQUNKLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxlQUFlLEVBQzFDO1lBQ0UsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQ3RCLEtBQUssRUFBRSxJQUFJO1lBRVgsY0FBYyxFQUFFLElBQUk7WUFDcEIsYUFBYSxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFDekMsa0JBQWtCLEVBQUUsR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZTtZQUVwRCxxQkFBcUIsRUFBRSxLQUFLLENBQUMscUJBQXFCO1lBQ2xELE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtZQUVwQixVQUFVLEVBQUcsS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQztnQkFDN0MsVUFBVSxFQUFFLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxVQUFVO2dCQUN0RCxXQUFXLEVBQUUsS0FBSyxDQUFDLHlCQUF5QixDQUFDLFdBQVc7YUFDekQsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUNkLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxLQUk1QjtRQUNDLE1BQU0sa0JBQWtCLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ3BELE9BQU8sSUFBSSxxQkFBRyxDQUFDLGVBQWUsQ0FDNUIsSUFBSSxFQUNKLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxZQUFZLEVBQzNDO1lBQ0UsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1lBQzlCLGFBQWEsRUFBRSxJQUFJLGtCQUFrQixJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDckQsV0FBVyxFQUFFLEtBQUssQ0FBQyxLQUFLO1NBQ3pCLENBQ0YsQ0FBQztJQUNKLENBQUM7O0FBMU5ILG9DQTJOQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGF3c19hcGlnYXRld2F5IGFzIGFwaWdhdGV3YXksXG4gIGF3c19keW5hbW9kYiBhcyBkeW5hbW9kYixcbiAgYXdzX2VjMiBhcyBlYzIsXG4gIGF3c19pYW0gYXMgaWFtLFxuICBhd3NfbGFtYmRhIGFzIGxhbWJkYSxcbiAgYXdzX2xhbWJkYV9ldmVudF9zb3VyY2VzIGFzIGV2ZW50cyxcbiAgYXdzX3NlY3JldHNtYW5hZ2VyIGFzIHNlY3JldHNtYW5hZ2VyLFxuICBhd3Nfc3NtIGFzIHNzbSxcbiAgRHVyYXRpb24sXG4gIFJlbW92YWxQb2xpY3ksXG4gIFN0YWNrLFxufSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IFB5dGhvbkZ1bmN0aW9uIH0gZnJvbSBcIkBhd3MtY2RrL2F3cy1sYW1iZGEtcHl0aG9uLWFscGhhXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuXG5leHBvcnQgY2xhc3MgU3RhY0luZ2VzdG9yIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgdGFibGU6IGR5bmFtb2RiLlRhYmxlO1xuICBwdWJsaWMgaGFuZGxlclJvbGU6IGlhbS5Sb2xlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTdGFjSW5nZXN0b3JQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLnRhYmxlID0gdGhpcy5idWlsZFRhYmxlKCk7XG5cbiAgICBjb25zdCBlbnY6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICBEWU5BTU9EQl9UQUJMRTogdGhpcy50YWJsZS50YWJsZU5hbWUsXG4gICAgICBST09UX1BBVEg6IGAvJHtwcm9wcy5zdGFnZX1gLFxuICAgICAgTk9fUFlEQU5USUNfU1NNX1NFVFRJTkdTOiBcIjFcIixcbiAgICAgIFNUQUNfVVJMOiBwcm9wcy5zdGFjVXJsLFxuICAgICAgREFUQV9BQ0NFU1NfUk9MRTogcHJvcHMuZGF0YUFjY2Vzc1JvbGUucm9sZUFybixcbiAgICAgIC4uLnByb3BzLmFwaUVudixcbiAgICB9O1xuXG4gICAgdGhpcy5oYW5kbGVyUm9sZSA9IG5ldyBpYW0uUm9sZSh0aGlzLCBcImV4ZWN1dGlvbi1yb2xlXCIsIHtcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcIlJvbGUgdXNlZCBieSBTVEFDIEluZ2VzdG9yLiBNYW51YWxseSBkZWZpbmVkIHNvIHRoYXQgd2UgY2FuIGNob29zZSBhIG5hbWUgdGhhdCBpcyBzdXBwb3J0ZWQgYnkgdGhlIGRhdGEgYWNjZXNzIHJvbGVzIHRydXN0IHBvbGljeVwiLFxuICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoXCJsYW1iZGEuYW1hem9uYXdzLmNvbVwiKSxcbiAgICAgIG1hbmFnZWRQb2xpY2llczogW1xuICAgICAgICBpYW0uTWFuYWdlZFBvbGljeS5mcm9tQXdzTWFuYWdlZFBvbGljeU5hbWUoXG4gICAgICAgICAgXCJzZXJ2aWNlLXJvbGUvQVdTTGFtYmRhQmFzaWNFeGVjdXRpb25Sb2xlXCIsXG4gICAgICAgICksXG4gICAgICAgIGlhbS5NYW5hZ2VkUG9saWN5LmZyb21Bd3NNYW5hZ2VkUG9saWN5TmFtZShcbiAgICAgICAgICBcInNlcnZpY2Utcm9sZS9BV1NMYW1iZGFWUENBY2Nlc3NFeGVjdXRpb25Sb2xlXCIsXG4gICAgICAgICksXG4gICAgICBdLFxuICAgIH0pO1xuICAgIFxuICAgIGNvbnN0IGhhbmRsZXIgPSB0aGlzLmJ1aWxkQXBpTGFtYmRhKHtcbiAgICAgIHRhYmxlOiB0aGlzLnRhYmxlLFxuICAgICAgZW52LFxuICAgICAgZGF0YUFjY2Vzc1JvbGU6IHByb3BzLmRhdGFBY2Nlc3NSb2xlLFxuICAgICAgc3RhZ2U6IHByb3BzLnN0YWdlLFxuICAgICAgZGJTZWNyZXQ6IHByb3BzLnN0YWNEYlNlY3JldCxcbiAgICAgIGRiVnBjOiBwcm9wcy52cGMsXG4gICAgICBkYlNlY3VyaXR5R3JvdXA6IHByb3BzLnN0YWNEYlNlY3VyaXR5R3JvdXAsXG4gICAgICBzdWJuZXRTZWxlY3Rpb246IHByb3BzLnN1Ym5ldFNlbGVjdGlvbixcbiAgICB9KTtcblxuICAgIHRoaXMuYnVpbGRBcGlFbmRwb2ludCh7XG4gICAgICBoYW5kbGVyLFxuICAgICAgc3RhZ2U6IHByb3BzLnN0YWdlLFxuICAgICAgZW5kcG9pbnRDb25maWd1cmF0aW9uOiBwcm9wcy5hcGlFbmRwb2ludENvbmZpZ3VyYXRpb24sXG4gICAgICBwb2xpY3k6IHByb3BzLmFwaVBvbGljeSxcbiAgICAgIGluZ2VzdG9yRG9tYWluTmFtZU9wdGlvbnM6IHByb3BzLmluZ2VzdG9yRG9tYWluTmFtZU9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICB0aGlzLmJ1aWxkSW5nZXN0b3Ioe1xuICAgICAgdGFibGU6IHRoaXMudGFibGUsXG4gICAgICBlbnY6IGVudixcbiAgICAgIGRiU2VjcmV0OiBwcm9wcy5zdGFjRGJTZWNyZXQsXG4gICAgICBkYlZwYzogcHJvcHMudnBjLFxuICAgICAgZGJTZWN1cml0eUdyb3VwOiBwcm9wcy5zdGFjRGJTZWN1cml0eUdyb3VwLFxuICAgICAgc3VibmV0U2VsZWN0aW9uOiBwcm9wcy5zdWJuZXRTZWxlY3Rpb24sXG4gICAgfSk7XG5cbiAgICB0aGlzLnJlZ2lzdGVyU3NtUGFyYW1ldGVyKHtcbiAgICAgIG5hbWU6IFwiZHluYW1vZGJfdGFibGVcIixcbiAgICAgIHZhbHVlOiB0aGlzLnRhYmxlLnRhYmxlTmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBcIk5hbWUgb2YgdGFibGUgdXNlZCB0byBzdG9yZSBpbmdlc3Rpb25zXCIsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkVGFibGUoKTogZHluYW1vZGIuVGFibGUge1xuICAgIGNvbnN0IHRhYmxlID0gbmV3IGR5bmFtb2RiLlRhYmxlKHRoaXMsIFwiaW5nZXN0aW9ucy10YWJsZVwiLCB7XG4gICAgICBwYXJ0aXRpb25LZXk6IHsgbmFtZTogXCJjcmVhdGVkX2J5XCIsIHR5cGU6IGR5bmFtb2RiLkF0dHJpYnV0ZVR5cGUuU1RSSU5HIH0sXG4gICAgICBzb3J0S2V5OiB7IG5hbWU6IFwiaWRcIiwgdHlwZTogZHluYW1vZGIuQXR0cmlidXRlVHlwZS5TVFJJTkcgfSxcbiAgICAgIGJpbGxpbmdNb2RlOiBkeW5hbW9kYi5CaWxsaW5nTW9kZS5QQVlfUEVSX1JFUVVFU1QsXG4gICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgICBzdHJlYW06IGR5bmFtb2RiLlN0cmVhbVZpZXdUeXBlLk5FV19JTUFHRSxcbiAgICB9KTtcblxuICAgIHRhYmxlLmFkZEdsb2JhbFNlY29uZGFyeUluZGV4KHtcbiAgICAgIGluZGV4TmFtZTogXCJzdGF0dXNcIixcbiAgICAgIHBhcnRpdGlvbktleTogeyBuYW1lOiBcInN0YXR1c1wiLCB0eXBlOiBkeW5hbW9kYi5BdHRyaWJ1dGVUeXBlLlNUUklORyB9LFxuICAgICAgc29ydEtleTogeyBuYW1lOiBcImNyZWF0ZWRfYXRcIiwgdHlwZTogZHluYW1vZGIuQXR0cmlidXRlVHlwZS5TVFJJTkcgfSxcbiAgICB9KTtcblxuICAgIHJldHVybiB0YWJsZTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRBcGlMYW1iZGEocHJvcHM6IHtcbiAgICB0YWJsZTogZHluYW1vZGIuSVRhYmxlO1xuICAgIGVudjogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICBkYXRhQWNjZXNzUm9sZTogaWFtLklSb2xlO1xuICAgIHN0YWdlOiBzdHJpbmc7XG4gICAgZGJTZWNyZXQ6IHNlY3JldHNtYW5hZ2VyLklTZWNyZXQ7XG4gICAgZGJWcGM6IGVjMi5JVnBjO1xuICAgIGRiU2VjdXJpdHlHcm91cDogZWMyLklTZWN1cml0eUdyb3VwO1xuICAgIHN1Ym5ldFNlbGVjdGlvbjogZWMyLlN1Ym5ldFNlbGVjdGlvblxuICB9KTogUHl0aG9uRnVuY3Rpb24ge1xuICAgIFxuICAgIGNvbnN0IGhhbmRsZXIgPSBuZXcgUHl0aG9uRnVuY3Rpb24odGhpcywgXCJhcGktaGFuZGxlclwiLCB7XG4gICAgICBlbnRyeTogYCR7X19kaXJuYW1lfS9ydW50aW1lYCxcbiAgICAgIGluZGV4OiBcInNyYy9oYW5kbGVyLnB5XCIsXG4gICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5QWVRIT05fM185LFxuICAgICAgdGltZW91dDogRHVyYXRpb24uc2Vjb25kcygzMCksXG4gICAgICBlbnZpcm9ubWVudDogeyBEQl9TRUNSRVRfQVJOOiBwcm9wcy5kYlNlY3JldC5zZWNyZXRBcm4sIC4uLnByb3BzLmVudiB9LFxuICAgICAgdnBjOiBwcm9wcy5kYlZwYyxcbiAgICAgIHZwY1N1Ym5ldHM6IHByb3BzLnN1Ym5ldFNlbGVjdGlvbixcbiAgICAgIGFsbG93UHVibGljU3VibmV0OiB0cnVlLFxuICAgICAgcm9sZTogdGhpcy5oYW5kbGVyUm9sZSxcbiAgICAgIG1lbW9yeVNpemU6IDIwNDgsXG4gICAgfSk7XG5cbiAgICAvLyBBbGxvdyBoYW5kbGVyIHRvIHJlYWQgREIgc2VjcmV0XG4gICAgcHJvcHMuZGJTZWNyZXQuZ3JhbnRSZWFkKGhhbmRsZXIpO1xuXG4gICAgLy8gQWxsb3cgaGFuZGxlciB0byBjb25uZWN0IHRvIERCXG4gICAgcHJvcHMuZGJTZWN1cml0eUdyb3VwLmFkZEluZ3Jlc3NSdWxlKFxuICAgICAgaGFuZGxlci5jb25uZWN0aW9ucy5zZWN1cml0eUdyb3Vwc1swXSxcbiAgICAgIGVjMi5Qb3J0LnRjcCg1NDMyKSxcbiAgICAgIFwiQWxsb3cgY29ubmVjdGlvbnMgZnJvbSBTVEFDIEluZ2VzdG9yXCJcbiAgICApO1xuXG4gICAgcHJvcHMudGFibGUuZ3JhbnRSZWFkV3JpdGVEYXRhKGhhbmRsZXIpO1xuXG4gICAgcmV0dXJuIGhhbmRsZXI7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkSW5nZXN0b3IocHJvcHM6IHtcbiAgICB0YWJsZTogZHluYW1vZGIuSVRhYmxlO1xuICAgIGVudjogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICBkYlNlY3JldDogc2VjcmV0c21hbmFnZXIuSVNlY3JldDtcbiAgICBkYlZwYzogZWMyLklWcGM7XG4gICAgZGJTZWN1cml0eUdyb3VwOiBlYzIuSVNlY3VyaXR5R3JvdXA7XG4gICAgc3VibmV0U2VsZWN0aW9uOiBlYzIuU3VibmV0U2VsZWN0aW9uO1xuICB9KTogUHl0aG9uRnVuY3Rpb24ge1xuICAgIGNvbnN0IGhhbmRsZXIgPSBuZXcgUHl0aG9uRnVuY3Rpb24odGhpcywgXCJzdGFjLWluZ2VzdG9yXCIsIHtcbiAgICAgIGVudHJ5OiBgJHtfX2Rpcm5hbWV9L3J1bnRpbWVgLFxuICAgICAgaW5kZXg6IFwic3JjL2luZ2VzdG9yLnB5XCIsXG4gICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5QWVRIT05fM185LFxuICAgICAgdGltZW91dDogRHVyYXRpb24uc2Vjb25kcygxODApLFxuICAgICAgZW52aXJvbm1lbnQ6IHsgREJfU0VDUkVUX0FSTjogcHJvcHMuZGJTZWNyZXQuc2VjcmV0QXJuLCAuLi5wcm9wcy5lbnYgfSxcbiAgICAgIHZwYzogcHJvcHMuZGJWcGMsXG4gICAgICB2cGNTdWJuZXRzOiBwcm9wcy5zdWJuZXRTZWxlY3Rpb24sXG4gICAgICBhbGxvd1B1YmxpY1N1Ym5ldDogdHJ1ZSxcbiAgICAgIG1lbW9yeVNpemU6IDIwNDgsXG4gICAgfSk7XG5cbiAgICAvLyBBbGxvdyBoYW5kbGVyIHRvIHJlYWQgREIgc2VjcmV0XG4gICAgcHJvcHMuZGJTZWNyZXQuZ3JhbnRSZWFkKGhhbmRsZXIpO1xuXG4gICAgLy8gQWxsb3cgaGFuZGxlciB0byBjb25uZWN0IHRvIERCXG4gICAgcHJvcHMuZGJTZWN1cml0eUdyb3VwLmFkZEluZ3Jlc3NSdWxlKFxuICAgICAgaGFuZGxlci5jb25uZWN0aW9ucy5zZWN1cml0eUdyb3Vwc1swXSxcbiAgICAgIGVjMi5Qb3J0LnRjcCg1NDMyKSxcbiAgICAgIFwiQWxsb3cgY29ubmVjdGlvbnMgZnJvbSBTVEFDIEluZ2VzdG9yXCJcbiAgICApO1xuXG4gICAgLy8gQWxsb3cgaGFuZGxlciB0byB3cml0ZSByZXN1bHRzIGJhY2sgdG8gRELGklxuICAgIHByb3BzLnRhYmxlLmdyYW50V3JpdGVEYXRhKGhhbmRsZXIpO1xuXG4gICAgLy8gVHJpZ2dlciBoYW5kbGVyIGZyb20gd3JpdGVzIHRvIER5bmFtb0RCIHRhYmxlXG4gICAgaGFuZGxlci5hZGRFdmVudFNvdXJjZShcbiAgICAgIG5ldyBldmVudHMuRHluYW1vRXZlbnRTb3VyY2UocHJvcHMudGFibGUsIHtcbiAgICAgICAgLy8gUmVhZCB3aGVuIGJhdGNoZXMgcmVhY2ggc2l6ZS4uLlxuICAgICAgICBiYXRjaFNpemU6IDEwMDAsXG4gICAgICAgIC8vIC4uLiBvciB3aGVuIHdpbmRvdyBpcyByZWFjaGVkLlxuICAgICAgICBtYXhCYXRjaGluZ1dpbmRvdzogRHVyYXRpb24uc2Vjb25kcygxMCksXG4gICAgICAgIC8vIFJlYWQgb2xkZXN0IGRhdGEgZmlyc3QuXG4gICAgICAgIHN0YXJ0aW5nUG9zaXRpb246IGxhbWJkYS5TdGFydGluZ1Bvc2l0aW9uLlRSSU1fSE9SSVpPTixcbiAgICAgICAgcmV0cnlBdHRlbXB0czogMSxcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHJldHVybiBoYW5kbGVyO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEFwaUVuZHBvaW50KHByb3BzOiB7XG4gICAgaGFuZGxlcjogbGFtYmRhLklGdW5jdGlvbjtcbiAgICBzdGFnZTogc3RyaW5nO1xuICAgIHBvbGljeT86IGlhbS5Qb2xpY3lEb2N1bWVudDtcbiAgICBlbmRwb2ludENvbmZpZ3VyYXRpb24/OiBhcGlnYXRld2F5LkVuZHBvaW50Q29uZmlndXJhdGlvbjtcbiAgICBpbmdlc3RvckRvbWFpbk5hbWVPcHRpb25zPzogYXBpZ2F0ZXdheS5Eb21haW5OYW1lT3B0aW9ucztcbiAgfSk6IGFwaWdhdGV3YXkuTGFtYmRhUmVzdEFwaSB7XG5cbiAgICByZXR1cm4gbmV3IGFwaWdhdGV3YXkuTGFtYmRhUmVzdEFwaShcbiAgICAgIHRoaXMsXG4gICAgICBgJHtTdGFjay5vZih0aGlzKS5zdGFja05hbWV9LWluZ2VzdG9yLWFwaWAsXG4gICAgICB7XG4gICAgICAgIGhhbmRsZXI6IHByb3BzLmhhbmRsZXIsXG4gICAgICAgIHByb3h5OiB0cnVlLFxuXG4gICAgICAgIGNsb3VkV2F0Y2hSb2xlOiB0cnVlLFxuICAgICAgICBkZXBsb3lPcHRpb25zOiB7IHN0YWdlTmFtZTogcHJvcHMuc3RhZ2UgfSxcbiAgICAgICAgZW5kcG9pbnRFeHBvcnROYW1lOiBgJHtTdGFjay5vZih0aGlzKX0taW5nZXN0b3ItYXBpYCxcblxuICAgICAgICBlbmRwb2ludENvbmZpZ3VyYXRpb246IHByb3BzLmVuZHBvaW50Q29uZmlndXJhdGlvbixcbiAgICAgICAgcG9saWN5OiBwcm9wcy5wb2xpY3ksXG5cbiAgICAgICAgZG9tYWluTmFtZTogIHByb3BzLmluZ2VzdG9yRG9tYWluTmFtZU9wdGlvbnMgPyB7XG4gICAgICAgICAgZG9tYWluTmFtZTogcHJvcHMuaW5nZXN0b3JEb21haW5OYW1lT3B0aW9ucy5kb21haW5OYW1lLFxuICAgICAgICAgIGNlcnRpZmljYXRlOiBwcm9wcy5pbmdlc3RvckRvbWFpbk5hbWVPcHRpb25zLmNlcnRpZmljYXRlLFxuICAgICAgICB9IDogdW5kZWZpbmVkLFxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHJlZ2lzdGVyU3NtUGFyYW1ldGVyKHByb3BzOiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgfSk6IHNzbS5JU3RyaW5nUGFyYW1ldGVyIHtcbiAgICBjb25zdCBwYXJhbWV0ZXJOYW1lc3BhY2UgPSBTdGFjay5vZih0aGlzKS5zdGFja05hbWU7XG4gICAgcmV0dXJuIG5ldyBzc20uU3RyaW5nUGFyYW1ldGVyKFxuICAgICAgdGhpcyxcbiAgICAgIGAke3Byb3BzLm5hbWUucmVwbGFjZShcIl9cIiwgXCItXCIpfS1wYXJhbWV0ZXJgLFxuICAgICAge1xuICAgICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICAgIHBhcmFtZXRlck5hbWU6IGAvJHtwYXJhbWV0ZXJOYW1lc3BhY2V9LyR7cHJvcHMubmFtZX1gLFxuICAgICAgICBzdHJpbmdWYWx1ZTogcHJvcHMudmFsdWUsXG4gICAgICB9XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YWNJbmdlc3RvclByb3BzIHtcbiAgLyoqXG4gICAqIEFSTiBvZiBBV1MgUm9sZSB1c2VkIHRvIHZhbGlkYXRlIGFjY2VzcyB0byBTMyBkYXRhXG4gICAqL1xuICByZWFkb25seSBkYXRhQWNjZXNzUm9sZTogaWFtLklSb2xlO1xuXG4gIC8qKlxuICAgKiBVUkwgb2YgU1RBQyBBUElcbiAgICovXG4gIHJlYWRvbmx5IHN0YWNVcmw6IHN0cmluZztcblxuICAvKipcbiAgICogU3RhZ2Ugb2YgZGVwbG95bWVudCAoZS5nLiBgZGV2YCwgYHByb2RgKVxuICAgKi9cbiAgcmVhZG9ubHkgc3RhZ2U6IHN0cmluZztcblxuICAvKipcbiAgICogU2VjcmV0IGNvbnRhaW5pbmcgcGdTVEFDIERCIGNvbm5lY3Rpb24gaW5mb3JtYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IHN0YWNEYlNlY3JldDogc2VjcmV0c21hbmFnZXIuSVNlY3JldDtcblxuICAvKipcbiAgICogVlBDIHJ1bm5pbmcgcGdTVEFDIERCXG4gICAqL1xuICByZWFkb25seSB2cGM6IGVjMi5JVnBjO1xuXG4gIC8qKlxuICAgKiBTZWN1cml0eSBHcm91cCB1c2VkIGJ5IHBnU1RBQyBEQlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY0RiU2VjdXJpdHlHcm91cDogZWMyLklTZWN1cml0eUdyb3VwO1xuXG4gIC8qKlxuICAgKiBCb29sZWFuIGluZGljYXRpbmcgd2hldGhlciBvciBub3QgcGdTVEFDIERCIGlzIGluIGEgcHVibGljIHN1Ym5ldFxuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0U2VsZWN0aW9uOiBlYzIuU3VibmV0U2VsZWN0aW9uO1xuXG4gIC8qKlxuICAgKiBFbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gYmUgc2VudCB0byBMYW1iZGEuXG4gICAqL1xuICByZWFkb25seSBhcGlFbnY/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBBUEkgRW5kcG9pbnQgQ29uZmlndXJhdGlvbiwgdXNlZnVsIGZvciBjcmVhdGluZyBwcml2YXRlIEFQSXMuXG4gICAqL1xuICByZWFkb25seSBhcGlFbmRwb2ludENvbmZpZ3VyYXRpb24/OiBhcGlnYXRld2F5LkVuZHBvaW50Q29uZmlndXJhdGlvbjtcblxuICAvKipcbiAgICogQVBJIFBvbGljeSBEb2N1bWVudCwgdXNlZnVsIGZvciBjcmVhdGluZyBwcml2YXRlIEFQSXMuXG4gICAqL1xuICByZWFkb25seSBhcGlQb2xpY3k/OiBpYW0uUG9saWN5RG9jdW1lbnQ7XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBEb21haW4gTmFtZSBPcHRpb25zIGZvciBJbmdlc3RvciBBUElcbiAgICovXG4gICByZWFkb25seSBpbmdlc3RvckRvbWFpbk5hbWVPcHRpb25zPzogYXBpZ2F0ZXdheS5Eb21haW5OYW1lT3B0aW9ucztcbn1cbiJdfQ==
@@ -59,5 +59,5 @@ class PgStacApiLambda extends constructs_1.Construct {
59
59
  }
60
60
  exports.PgStacApiLambda = PgStacApiLambda;
61
61
  _a = JSII_RTTI_SYMBOL_1;
62
- PgStacApiLambda[_a] = { fqn: "eoapi-cdk.PgStacApiLambda", version: "5.1.0" };
62
+ PgStacApiLambda[_a] = { fqn: "eoapi-cdk.PgStacApiLambda", version: "5.3.0" };
63
63
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQU9xQjtBQUNyQiw4RUFHMEM7QUFDMUMsNEVBQXVFO0FBQ3ZFLHNHQUFxRjtBQUNyRiwyQ0FBdUM7QUFFdkMsTUFBYSxlQUFnQixTQUFRLHNCQUFTO0lBSTVDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMkI7UUFDbkUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxJQUFJO1lBQy9CLEtBQUssRUFBRSxHQUFHLFNBQVMsVUFBVTtZQUM3QixLQUFLLEVBQUUsZ0JBQWdCO1lBQ3ZCLE9BQU8sRUFBRSxTQUFTO1NBQ25CLENBQUM7UUFFRixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSx3Q0FBYyxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDaEUsR0FBRyxPQUFPO1lBQ1Y7Ozs7Ozs7Ozs7aUJBVUs7WUFDTCxPQUFPLEVBQUUsd0JBQU0sQ0FBQyxPQUFPLENBQUMsVUFBVTtZQUNsQyxZQUFZLEVBQUUsd0JBQU0sQ0FBQyxZQUFZLENBQUMsTUFBTTtZQUN4QyxXQUFXLEVBQUU7Z0JBQ1gsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTO2dCQUMzQyxnQkFBZ0IsRUFBRSxHQUFHO2dCQUNyQixnQkFBZ0IsRUFBRSxHQUFHO2dCQUNyQixHQUFHLEtBQUssQ0FBQyxNQUFNO2FBQ2hCO1lBQ0QsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1lBQ2QsVUFBVSxFQUFFLEtBQUssQ0FBQyxlQUFlO1lBQ2pDLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsVUFBVSxFQUFFLElBQUk7U0FDakIsQ0FBQyxDQUFDO1FBRUgsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxxQkFBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUU3RSxNQUFNLE9BQU8sR0FBRyxJQUFJLGdDQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxXQUFXLEVBQUU7WUFDeEUsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztnQkFDOUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxpQkFBaUI7YUFDcEMsQ0FBQyxDQUFDLENBQUMsU0FBUztZQUNiLGtCQUFrQixFQUFFLElBQUksMkRBQXFCLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztTQUN6RixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFJLENBQUM7UUFFeEIsSUFBSSx1QkFBUyxDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRTtZQUNyQyxVQUFVLEVBQUUsR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLE1BQU07WUFDN0MsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHO1NBQ2hCLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBeERILDBDQXlEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFN0YWNrLFxuICBhd3NfZWMyIGFzIGVjMixcbiAgYXdzX3JkcyBhcyByZHMsXG4gIGF3c19sYW1iZGEgYXMgbGFtYmRhLFxuICBhd3Nfc2VjcmV0c21hbmFnZXIgYXMgc2VjcmV0c21hbmFnZXIsXG4gIENmbk91dHB1dCxcbn0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge1xuICBQeXRob25GdW5jdGlvbixcbiAgUHl0aG9uRnVuY3Rpb25Qcm9wcyxcbn0gZnJvbSBcIkBhd3MtY2RrL2F3cy1sYW1iZGEtcHl0aG9uLWFscGhhXCI7XG5pbXBvcnQgeyBJRG9tYWluTmFtZSwgSHR0cEFwaSB9IGZyb20gXCJAYXdzLWNkay9hd3MtYXBpZ2F0ZXdheXYyLWFscGhhXCI7XG5pbXBvcnQgeyBIdHRwTGFtYmRhSW50ZWdyYXRpb24gfSBmcm9tIFwiQGF3cy1jZGsvYXdzLWFwaWdhdGV3YXl2Mi1pbnRlZ3JhdGlvbnMtYWxwaGFcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbmV4cG9ydCBjbGFzcyBQZ1N0YWNBcGlMYW1iZGEgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICByZWFkb25seSB1cmw6IHN0cmluZztcbiAgcHVibGljIHN0YWNBcGlMYW1iZGFGdW5jdGlvbjogUHl0aG9uRnVuY3Rpb247XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFBnU3RhY0FwaUxhbWJkYVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGFwaUNvZGUgPSBwcm9wcy5hcGlDb2RlIHx8IHtcbiAgICAgIGVudHJ5OiBgJHtfX2Rpcm5hbWV9L3J1bnRpbWVgLFxuICAgICAgaW5kZXg6IFwic3JjL2hhbmRsZXIucHlcIixcbiAgICAgIGhhbmRsZXI6IFwiaGFuZGxlclwiLFxuICAgIH07XG5cbiAgICB0aGlzLnN0YWNBcGlMYW1iZGFGdW5jdGlvbiA9IG5ldyBQeXRob25GdW5jdGlvbih0aGlzLCBcInN0YWMtYXBpXCIsIHtcbiAgICAgIC4uLmFwaUNvZGUsXG4gICAgICAvKipcbiAgICAgICAqIE5PVEU6IFVuYWJsZSB0byB1c2UgUHkzLjksIGR1ZSB0byBpc3N1ZXMgd2l0aCBoYXNoZXM6XG4gICAgICAgKlxuICAgICAgICogICAgRVJST1I6IEhhc2hlcyBhcmUgcmVxdWlyZWQgaW4gLS1yZXF1aXJlLWhhc2hlcyBtb2RlLCBidXQgdGhleSBhcmUgbWlzc2luZ1xuICAgICAgICogICAgZnJvbSBzb21lIHJlcXVpcmVtZW50cy4gSGVyZSBpcyBhIGxpc3Qgb2YgdGhvc2UgcmVxdWlyZW1lbnRzIGFsb25nIHdpdGggdGhlXG4gICAgICAgKiAgICBoYXNoZXMgdGhlaXIgZG93bmxvYWRlZCBhcmNoaXZlcyBhY3R1YWxseSBoYWQuIEFkZCBsaW5lcyBsaWtlIHRoZXNlIHRvIHlvdXJcbiAgICAgICAqICAgIHJlcXVpcmVtZW50cyBmaWxlcyB0byBwcmV2ZW50IHRhbXBlcmluZy4gKElmIHlvdSBkaWQgbm90IGVuYWJsZVxuICAgICAgICogICAgLS1yZXF1aXJlLWhhc2hlcyBtYW51YWxseSwgbm90ZSB0aGF0IGl0IHR1cm5zIG9uIGF1dG9tYXRpY2FsbHkgd2hlbiBhbnlcbiAgICAgICAqICAgIHBhY2thZ2UgaGFzIGEgaGFzaC4pXG4gICAgICAgKiAgICAgICAgYW55aW89PTMuNi4xIC0taGFzaD1zaGEyNTY6Y2IyOWI5YzcwNjIwNTA2YTlhOGY4N2EzMDk1OTE3MTM0NDY5NTMzMDJkN2Q5OTUzNDRkMGQ3YzZjMGM5YTdiZVxuICAgICAgICogKi9cbiAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLlBZVEhPTl8zXzgsXG4gICAgICBhcmNoaXRlY3R1cmU6IGxhbWJkYS5BcmNoaXRlY3R1cmUuWDg2XzY0LFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgUEdTVEFDX1NFQ1JFVF9BUk46IHByb3BzLmRiU2VjcmV0LnNlY3JldEFybixcbiAgICAgICAgREJfTUlOX0NPTk5fU0laRTogXCIwXCIsXG4gICAgICAgIERCX01BWF9DT05OX1NJWkU6IFwiMVwiLFxuICAgICAgICAuLi5wcm9wcy5hcGlFbnYsXG4gICAgICB9LFxuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICB2cGNTdWJuZXRzOiBwcm9wcy5zdWJuZXRTZWxlY3Rpb24sXG4gICAgICBhbGxvd1B1YmxpY1N1Ym5ldDogdHJ1ZSxcbiAgICAgIG1lbW9yeVNpemU6IDgxOTIsXG4gICAgfSk7XG5cbiAgICBwcm9wcy5kYlNlY3JldC5ncmFudFJlYWQodGhpcy5zdGFjQXBpTGFtYmRhRnVuY3Rpb24pO1xuICAgIHRoaXMuc3RhY0FwaUxhbWJkYUZ1bmN0aW9uLmNvbm5lY3Rpb25zLmFsbG93VG8ocHJvcHMuZGIsIGVjMi5Qb3J0LnRjcCg1NDMyKSk7XG5cbiAgICBjb25zdCBzdGFjQXBpID0gbmV3IEh0dHBBcGkodGhpcywgYCR7U3RhY2sub2YodGhpcykuc3RhY2tOYW1lfS1zdGFjLWFwaWAsIHtcbiAgICAgIGRlZmF1bHREb21haW5NYXBwaW5nOiBwcm9wcy5zdGFjQXBpRG9tYWluTmFtZSA/IHsgXG4gICAgICAgIGRvbWFpbk5hbWU6IHByb3BzLnN0YWNBcGlEb21haW5OYW1lXG4gICAgICB9IDogdW5kZWZpbmVkLFxuICAgICAgZGVmYXVsdEludGVncmF0aW9uOiBuZXcgSHR0cExhbWJkYUludGVncmF0aW9uKFwiaW50ZWdyYXRpb25cIiwgdGhpcy5zdGFjQXBpTGFtYmRhRnVuY3Rpb24pLFxuICAgIH0pO1xuXG4gICAgdGhpcy51cmwgPSBzdGFjQXBpLnVybCE7XG5cbiAgICBuZXcgQ2ZuT3V0cHV0KHRoaXMsIFwic3RhYy1hcGktb3V0cHV0XCIsIHtcbiAgICAgIGV4cG9ydE5hbWU6IGAke1N0YWNrLm9mKHRoaXMpLnN0YWNrTmFtZX0tdXJsYCxcbiAgICAgIHZhbHVlOiB0aGlzLnVybCxcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBnU3RhY0FwaUxhbWJkYVByb3BzIHtcbiAgLyoqXG4gICAqIFZQQyBpbnRvIHdoaWNoIHRoZSBsYW1iZGEgc2hvdWxkIGJlIGRlcGxveWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjOiBlYzIuSVZwYztcblxuICAvKipcbiAgICogUkRTIEluc3RhbmNlIHdpdGggaW5zdGFsbGVkIHBnU1RBQy5cbiAgICovXG4gIHJlYWRvbmx5IGRiOiByZHMuSURhdGFiYXNlSW5zdGFuY2U7XG5cbiAgLyoqXG4gICAqIFN1Ym5ldCBpbnRvIHdoaWNoIHRoZSBsYW1iZGEgc2hvdWxkIGJlIGRlcGxveWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0U2VsZWN0aW9uOiBlYzIuU3VibmV0U2VsZWN0aW9uO1xuXG4gIC8qKlxuICAgKiBTZWNyZXQgY29udGFpbmluZyBjb25uZWN0aW9uIGluZm9ybWF0aW9uIGZvciBwZ1NUQUMgZGF0YWJhc2UuXG4gICAqL1xuICByZWFkb25seSBkYlNlY3JldDogc2VjcmV0c21hbmFnZXIuSVNlY3JldDtcblxuICAvKipcbiAgICogQ3VzdG9tIGNvZGUgdG8gcnVuIGZvciBmYXN0YXBpLXBnc3RhYy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBzaW1wbGlmaWVkIHZlcnNpb24gb2YgZmFzdGFwaS1wZ3N0YWNcbiAgICovXG4gIHJlYWRvbmx5IGFwaUNvZGU/OiBBcGlFbnRyeXBvaW50O1xuXG4gIC8qKlxuICAgKiBDdXN0b21pemVkIGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBzZW5kIHRvIGZhc3RhcGktcGdzdGFjIHJ1bnRpbWUuXG4gICAqL1xuICByZWFkb25seSBhcGlFbnY/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBDdXN0b20gRG9tYWluIE5hbWUgT3B0aW9ucyBmb3IgU1RBQyBBUEksXG4gICAqL1xuICAgcmVhZG9ubHkgc3RhY0FwaURvbWFpbk5hbWU/OiBJRG9tYWluTmFtZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcGlFbnRyeXBvaW50IHtcbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIHNvdXJjZSBvZiB0aGUgZnVuY3Rpb24gb3IgdGhlIGxvY2F0aW9uIGZvciBkZXBlbmRlbmNpZXMuXG4gICAqL1xuICByZWFkb25seSBlbnRyeTogUHl0aG9uRnVuY3Rpb25Qcm9wc1tcImVudHJ5XCJdO1xuICAvKipcbiAgICogVGhlIHBhdGggKHJlbGF0aXZlIHRvIGVudHJ5KSB0byB0aGUgaW5kZXggZmlsZSBjb250YWluaW5nIHRoZSBleHBvcnRlZCBoYW5kbGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgaW5kZXg6IFB5dGhvbkZ1bmN0aW9uUHJvcHNbXCJpbmRleFwiXTtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBleHBvcnRlZCBoYW5kbGVyIGluIHRoZSBpbmRleCBmaWxlLlxuICAgKi9cbiAgcmVhZG9ubHkgaGFuZGxlcjogUHl0aG9uRnVuY3Rpb25Qcm9wc1tcImhhbmRsZXJcIl07XG59XG4iXX0=
@@ -0,0 +1,45 @@
1
+ import { aws_s3 as s3, aws_s3_deployment as s3_deployment } from "aws-cdk-lib";
2
+ import { Construct } from "constructs";
3
+ export declare class StacBrowser extends Construct {
4
+ bucket: s3.IBucket;
5
+ bucketDeployment: s3_deployment.BucketDeployment;
6
+ constructor(scope: Construct, id: string, props: StacBrowserProps);
7
+ private buildApp;
8
+ }
9
+ export interface StacBrowserProps {
10
+ /**
11
+ * Bucket ARN. If specified, the identity used to deploy the stack must have the appropriate permissions to create a deployment for this bucket.
12
+ * In addition, if specified, `cloudFrontDistributionArn` is ignored since the policy of an imported resource can't be modified.
13
+ *
14
+ * @default - No bucket ARN. A new bucket will be created.
15
+ */
16
+ readonly bucketArn?: string;
17
+ /**
18
+ * STAC catalog URL
19
+ */
20
+ readonly stacCatalogUrl: string;
21
+ /**
22
+ * Tag of the radiant earth stac-browser repo to use to build the app.
23
+ */
24
+ readonly githubRepoTag: string;
25
+ /**
26
+ * The ARN of the cloudfront distribution that will be added to the bucket policy with read access.
27
+ * If `bucketArn` is specified, this parameter is ignored since the policy of an imported bucket can't be modified.
28
+ *
29
+ * @default - No cloudfront distribution ARN. The bucket policy will not be modified.
30
+ */
31
+ readonly cloudFrontDistributionArn?: string;
32
+ /**
33
+ * The name of the index document (e.g. "index.html") for the website. Enables static website
34
+ * hosting for this bucket.
35
+ *
36
+ * @default - No index document.
37
+ */
38
+ readonly websiteIndexDocument?: string;
39
+ /**
40
+ * Location in the filesystem where to compile the browser code.
41
+ *
42
+ * @default - DEFAULT_CLONE_DIRECTORY
43
+ */
44
+ readonly cloneDirectory?: string;
45
+ }
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.StacBrowser = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
7
+ const aws_cdk_lib_2 = require("aws-cdk-lib");
8
+ const aws_iam_1 = require("aws-cdk-lib/aws-iam");
9
+ const constructs_1 = require("constructs");
10
+ const child_process_1 = require("child_process");
11
+ const fs = require("fs");
12
+ const DEFAULT_CLONE_DIRECTORY = './stac-browser';
13
+ class StacBrowser extends constructs_1.Construct {
14
+ constructor(scope, id, props) {
15
+ super(scope, id);
16
+ const buildPath = this.buildApp(props.stacCatalogUrl, props.githubRepoTag, props.cloneDirectory || DEFAULT_CLONE_DIRECTORY);
17
+ // import a bucket from props.bucketArn if defined, otherwise create a new bucket
18
+ if (props.bucketArn) {
19
+ this.bucket = aws_cdk_lib_1.aws_s3.Bucket.fromBucketArn(this, 'Bucket', props.bucketArn);
20
+ }
21
+ else {
22
+ this.bucket = new aws_cdk_lib_1.aws_s3.Bucket(this, 'Bucket', {
23
+ accessControl: aws_cdk_lib_1.aws_s3.BucketAccessControl.PRIVATE,
24
+ removalPolicy: aws_cdk_lib_2.RemovalPolicy.DESTROY,
25
+ websiteIndexDocument: props.websiteIndexDocument
26
+ });
27
+ }
28
+ // if props.cloudFrontDistributionArn is defined and props.bucketArn is not defined, add a bucket policy to allow read access from the cloudfront distribution
29
+ if (props.cloudFrontDistributionArn && !props.bucketArn) {
30
+ this.bucket.addToResourcePolicy(new aws_iam_1.PolicyStatement({
31
+ sid: 'AllowCloudFrontServicePrincipal',
32
+ effect: aws_iam_1.Effect.ALLOW,
33
+ actions: ['s3:GetObject'],
34
+ principals: [new aws_iam_1.ServicePrincipal('cloudfront.amazonaws.com')],
35
+ resources: [this.bucket.arnForObjects('*')],
36
+ conditions: {
37
+ 'StringEquals': {
38
+ 'aws:SourceArn': props.cloudFrontDistributionArn
39
+ }
40
+ }
41
+ }));
42
+ }
43
+ // add the compiled code to the bucket as a bucket deployment
44
+ this.bucketDeployment = new aws_cdk_lib_1.aws_s3_deployment.BucketDeployment(this, 'BucketDeployment', {
45
+ destinationBucket: this.bucket,
46
+ sources: [aws_cdk_lib_1.aws_s3_deployment.Source.asset(buildPath)]
47
+ });
48
+ new aws_cdk_lib_2.CfnOutput(this, "bucket-name", {
49
+ exportName: `${aws_cdk_lib_1.Stack.of(this).stackName}-bucket-name`,
50
+ value: this.bucket.bucketName,
51
+ });
52
+ }
53
+ buildApp(stacCatalogUrl, githubRepoTag, cloneDirectory) {
54
+ // Define where to clone and build
55
+ const githubRepoUrl = 'https://github.com/radiantearth/stac-browser.git';
56
+ // Maybe the repo already exists in cloneDirectory. Try checking out the desired version and if it fails, delete and reclone.
57
+ try {
58
+ console.log(`Checking if a valid cloned repo exists with version ${githubRepoTag}...`);
59
+ child_process_1.execSync(`git checkout tags/${githubRepoTag}`, { cwd: cloneDirectory });
60
+ }
61
+ catch (error) {
62
+ // if directory exists, raise an error
63
+ if (fs.existsSync(cloneDirectory)) {
64
+ throw new Error(`Directory ${cloneDirectory} already exists and is not a valid clone of ${githubRepoUrl}. Please delete this directory or specify a different cloneDirectory.`);
65
+ }
66
+ // else, we clone and check out the version.
67
+ // Clone the repo
68
+ console.log(`Cloning ${githubRepoUrl} into ${cloneDirectory}...`);
69
+ child_process_1.execSync(`git clone ${githubRepoUrl} ${cloneDirectory}`);
70
+ // Check out the desired version
71
+ console.log(`Checking out version ${githubRepoTag}...`);
72
+ child_process_1.execSync(`git checkout tags/${githubRepoTag}`, { cwd: cloneDirectory });
73
+ }
74
+ // Install the dependencies and build the application
75
+ console.log(`Installing dependencies`);
76
+ child_process_1.execSync('npm install', { cwd: cloneDirectory });
77
+ // Build the app with catalogUrl
78
+ console.log(`Building app with catalogUrl=${stacCatalogUrl} into ${cloneDirectory}`);
79
+ child_process_1.execSync(`npm run build -- --catalogUrl=${stacCatalogUrl}`, { cwd: cloneDirectory });
80
+ return './stac-browser/dist';
81
+ }
82
+ }
83
+ exports.StacBrowser = StacBrowser;
84
+ _a = JSII_RTTI_SYMBOL_1;
85
+ StacBrowser[_a] = { fqn: "eoapi-cdk.StacBrowser", version: "5.3.0" };
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUFxRjtBQUNyRiw2Q0FBdUQ7QUFDdkQsaURBQWdGO0FBRWhGLDJDQUF1QztBQUN2QyxpREFBeUM7QUFDekMseUJBQXlCO0FBRXpCLE1BQU0sdUJBQXVCLEdBQUcsZ0JBQWdCLENBQUM7QUFFakQsTUFBYSxXQUFZLFNBQVEsc0JBQVM7SUFLdEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF1QjtRQUM3RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxjQUFjLElBQUksdUJBQXVCLENBQUMsQ0FBQztRQUU1SCxpRkFBaUY7UUFDakYsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsb0JBQUUsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzFFO2FBQU07WUFDSCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksb0JBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtnQkFDeEMsYUFBYSxFQUFFLG9CQUFFLENBQUMsbUJBQW1CLENBQUMsT0FBTztnQkFDN0MsYUFBYSxFQUFFLDJCQUFhLENBQUMsT0FBTztnQkFDcEMsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLG9CQUFvQjthQUNuRCxDQUFDLENBQUE7U0FDTDtRQUVELDhKQUE4SjtRQUM5SixJQUFJLEtBQUssQ0FBQyx5QkFBeUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUU7WUFDckQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLHlCQUFlLENBQUM7Z0JBQ3hDLEdBQUcsRUFBRSxpQ0FBaUM7Z0JBQ3RDLE1BQU0sRUFBRSxnQkFBTSxDQUFDLEtBQUs7Z0JBQ3BCLE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQztnQkFDekIsVUFBVSxFQUFFLENBQUMsSUFBSSwwQkFBZ0IsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO2dCQUM5RCxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDM0MsVUFBVSxFQUFFO29CQUNSLGNBQWMsRUFBRTt3QkFDWixlQUFlLEVBQUUsS0FBSyxDQUFDLHlCQUF5QjtxQkFDbkQ7aUJBQ0o7YUFDSixDQUFDLENBQUMsQ0FBQztTQUNmO1FBRUQsNkRBQTZEO1FBQzdELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLCtCQUFhLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFO1lBQ2pGLGlCQUFpQixFQUFFLElBQUksQ0FBQyxNQUFNO1lBQzlCLE9BQU8sRUFBRSxDQUFDLCtCQUFhLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNqRCxDQUFDLENBQUM7UUFFTCxJQUFJLHVCQUFTLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRTtZQUNuQyxVQUFVLEVBQUUsR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLGNBQWM7WUFDckQsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVTtTQUM1QixDQUFDLENBQUM7SUFFUCxDQUFDO0lBRU8sUUFBUSxDQUFDLGNBQXNCLEVBQUUsYUFBcUIsRUFBRSxjQUFzQjtRQUVsRixrQ0FBa0M7UUFDbEMsTUFBTSxhQUFhLEdBQUcsa0RBQWtELENBQUM7UUFHekUsOEhBQThIO1FBQzlILElBQUk7WUFDQSxPQUFPLENBQUMsR0FBRyxDQUFDLHVEQUF1RCxhQUFhLEtBQUssQ0FBQyxDQUFBO1lBQ3RGLHdCQUFRLENBQUMscUJBQXFCLGFBQWEsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7U0FDM0U7UUFDRCxPQUFPLEtBQUssRUFBRTtZQUVWLHNDQUFzQztZQUN0QyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUU7Z0JBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsYUFBYSxjQUFjLCtDQUErQyxhQUFhLHVFQUF1RSxDQUFDLENBQUM7YUFDbkw7WUFFRCw0Q0FBNEM7WUFFNUMsaUJBQWlCO1lBQ2pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxhQUFhLFNBQVMsY0FBYyxLQUFLLENBQUMsQ0FBQTtZQUNqRSx3QkFBUSxDQUFDLGFBQWEsYUFBYSxJQUFJLGNBQWMsRUFBRSxDQUFDLENBQUM7WUFFekQsZ0NBQWdDO1lBQ2hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0JBQXdCLGFBQWEsS0FBSyxDQUFDLENBQUE7WUFDdkQsd0JBQVEsQ0FBQyxxQkFBcUIsYUFBYSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztTQUUzRTtRQUVELHFEQUFxRDtRQUNyRCxPQUFPLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUE7UUFDdEMsd0JBQVEsQ0FBQyxhQUFhLEVBQUUsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUVqRCxnQ0FBZ0M7UUFDaEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsY0FBYyxTQUFTLGNBQWMsRUFBRSxDQUFDLENBQUE7UUFDcEYsd0JBQVEsQ0FBQyxpQ0FBaUMsY0FBYyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUVyRixPQUFPLHFCQUFxQixDQUFBO0lBRWhDLENBQUM7O0FBMUZMLGtDQTZGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YWNrLCBhd3NfczMgYXMgczMsIGF3c19zM19kZXBsb3ltZW50IGFzIHMzX2RlcGxveW1lbnR9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgUmVtb3ZhbFBvbGljeSwgQ2ZuT3V0cHV0IH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBQb2xpY3lTdGF0ZW1lbnQsIFNlcnZpY2VQcmluY2lwYWwsIEVmZmVjdCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCI7XG5cbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBleGVjU3luYyB9IGZyb20gXCJjaGlsZF9wcm9jZXNzXCI7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5cbmNvbnN0IERFRkFVTFRfQ0xPTkVfRElSRUNUT1JZID0gJy4vc3RhYy1icm93c2VyJztcblxuZXhwb3J0IGNsYXNzIFN0YWNCcm93c2VyIGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICAgIHB1YmxpYyBidWNrZXQ6IHMzLklCdWNrZXQ7XG4gICAgcHVibGljIGJ1Y2tldERlcGxveW1lbnQ6IHMzX2RlcGxveW1lbnQuQnVja2V0RGVwbG95bWVudDtcblxuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTdGFjQnJvd3NlclByb3BzKSB7XG4gICAgICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICAgICAgY29uc3QgYnVpbGRQYXRoID0gdGhpcy5idWlsZEFwcChwcm9wcy5zdGFjQ2F0YWxvZ1VybCwgcHJvcHMuZ2l0aHViUmVwb1RhZywgcHJvcHMuY2xvbmVEaXJlY3RvcnkgfHwgREVGQVVMVF9DTE9ORV9ESVJFQ1RPUlkpO1xuXG4gICAgICAgIC8vIGltcG9ydCBhIGJ1Y2tldCBmcm9tIHByb3BzLmJ1Y2tldEFybiBpZiBkZWZpbmVkLCBvdGhlcndpc2UgY3JlYXRlIGEgbmV3IGJ1Y2tldFxuICAgICAgICBpZiAocHJvcHMuYnVja2V0QXJuKSB7XG4gICAgICAgICAgICB0aGlzLmJ1Y2tldCA9IHMzLkJ1Y2tldC5mcm9tQnVja2V0QXJuKHRoaXMsICdCdWNrZXQnLCBwcm9wcy5idWNrZXRBcm4pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5idWNrZXQgPSBuZXcgczMuQnVja2V0KHRoaXMsICdCdWNrZXQnLCB7XG4gICAgICAgICAgICAgICAgYWNjZXNzQ29udHJvbDogczMuQnVja2V0QWNjZXNzQ29udHJvbC5QUklWQVRFLFxuICAgICAgICAgICAgICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICAgICAgICAgICAgICB3ZWJzaXRlSW5kZXhEb2N1bWVudDogcHJvcHMud2Vic2l0ZUluZGV4RG9jdW1lbnRcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC8vIGlmIHByb3BzLmNsb3VkRnJvbnREaXN0cmlidXRpb25Bcm4gaXMgZGVmaW5lZCBhbmQgcHJvcHMuYnVja2V0QXJuIGlzIG5vdCBkZWZpbmVkLCBhZGQgYSBidWNrZXQgcG9saWN5IHRvIGFsbG93IHJlYWQgYWNjZXNzIGZyb20gdGhlIGNsb3VkZnJvbnQgZGlzdHJpYnV0aW9uXG4gICAgICAgIGlmIChwcm9wcy5jbG91ZEZyb250RGlzdHJpYnV0aW9uQXJuICYmICFwcm9wcy5idWNrZXRBcm4pIHtcbiAgICAgICAgICAgIHRoaXMuYnVja2V0LmFkZFRvUmVzb3VyY2VQb2xpY3kobmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBzaWQ6ICdBbGxvd0Nsb3VkRnJvbnRTZXJ2aWNlUHJpbmNpcGFsJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XLCBcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnM6IFsnczM6R2V0T2JqZWN0J10sXG4gICAgICAgICAgICAgICAgICAgICAgICBwcmluY2lwYWxzOiBbbmV3IFNlcnZpY2VQcmluY2lwYWwoJ2Nsb3VkZnJvbnQuYW1hem9uYXdzLmNvbScpXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlczogW3RoaXMuYnVja2V0LmFybkZvck9iamVjdHMoJyonKV0sXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0cmluZ0VxdWFscyc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2F3czpTb3VyY2VBcm4nOiBwcm9wcy5jbG91ZEZyb250RGlzdHJpYnV0aW9uQXJuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC8vIGFkZCB0aGUgY29tcGlsZWQgY29kZSB0byB0aGUgYnVja2V0IGFzIGEgYnVja2V0IGRlcGxveW1lbnRcbiAgICAgICAgdGhpcy5idWNrZXREZXBsb3ltZW50ID0gbmV3IHMzX2RlcGxveW1lbnQuQnVja2V0RGVwbG95bWVudCh0aGlzLCAnQnVja2V0RGVwbG95bWVudCcsIHtcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uQnVja2V0OiB0aGlzLmJ1Y2tldCxcbiAgICAgICAgICAgIHNvdXJjZXM6IFtzM19kZXBsb3ltZW50LlNvdXJjZS5hc3NldChidWlsZFBhdGgpXVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgIG5ldyBDZm5PdXRwdXQodGhpcywgXCJidWNrZXQtbmFtZVwiLCB7XG4gICAgICAgIGV4cG9ydE5hbWU6IGAke1N0YWNrLm9mKHRoaXMpLnN0YWNrTmFtZX0tYnVja2V0LW5hbWVgLFxuICAgICAgICB2YWx1ZTogdGhpcy5idWNrZXQuYnVja2V0TmFtZSxcbiAgICAgICAgfSk7XG5cbiAgICB9XG5cbiAgICBwcml2YXRlIGJ1aWxkQXBwKHN0YWNDYXRhbG9nVXJsOiBzdHJpbmcsIGdpdGh1YlJlcG9UYWc6IHN0cmluZywgY2xvbmVEaXJlY3Rvcnk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgICAgICBcbiAgICAgICAgLy8gRGVmaW5lIHdoZXJlIHRvIGNsb25lIGFuZCBidWlsZFxuICAgICAgICBjb25zdCBnaXRodWJSZXBvVXJsID0gJ2h0dHBzOi8vZ2l0aHViLmNvbS9yYWRpYW50ZWFydGgvc3RhYy1icm93c2VyLmdpdCc7XG5cblxuICAgICAgICAvLyBNYXliZSB0aGUgcmVwbyBhbHJlYWR5IGV4aXN0cyBpbiBjbG9uZURpcmVjdG9yeS4gVHJ5IGNoZWNraW5nIG91dCB0aGUgZGVzaXJlZCB2ZXJzaW9uIGFuZCBpZiBpdCBmYWlscywgZGVsZXRlIGFuZCByZWNsb25lLiBcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBDaGVja2luZyBpZiBhIHZhbGlkIGNsb25lZCByZXBvIGV4aXN0cyB3aXRoIHZlcnNpb24gJHtnaXRodWJSZXBvVGFnfS4uLmApXG4gICAgICAgICAgICBleGVjU3luYyhgZ2l0IGNoZWNrb3V0IHRhZ3MvJHtnaXRodWJSZXBvVGFnfWAsIHsgY3dkOiBjbG9uZURpcmVjdG9yeSB9KTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcblxuICAgICAgICAgICAgLy8gaWYgZGlyZWN0b3J5IGV4aXN0cywgcmFpc2UgYW4gZXJyb3JcbiAgICAgICAgICAgIGlmIChmcy5leGlzdHNTeW5jKGNsb25lRGlyZWN0b3J5KSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRGlyZWN0b3J5ICR7Y2xvbmVEaXJlY3Rvcnl9IGFscmVhZHkgZXhpc3RzIGFuZCBpcyBub3QgYSB2YWxpZCBjbG9uZSBvZiAke2dpdGh1YlJlcG9Vcmx9LiBQbGVhc2UgZGVsZXRlIHRoaXMgZGlyZWN0b3J5IG9yIHNwZWNpZnkgYSBkaWZmZXJlbnQgY2xvbmVEaXJlY3RvcnkuYCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGVsc2UsIHdlIGNsb25lIGFuZCBjaGVjayBvdXQgdGhlIHZlcnNpb24uXG5cbiAgICAgICAgICAgIC8vIENsb25lIHRoZSByZXBvXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgQ2xvbmluZyAke2dpdGh1YlJlcG9Vcmx9IGludG8gJHtjbG9uZURpcmVjdG9yeX0uLi5gKVxuICAgICAgICAgICAgZXhlY1N5bmMoYGdpdCBjbG9uZSAke2dpdGh1YlJlcG9Vcmx9ICR7Y2xvbmVEaXJlY3Rvcnl9YCk7XG5cbiAgICAgICAgICAgIC8vIENoZWNrIG91dCB0aGUgZGVzaXJlZCB2ZXJzaW9uXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgQ2hlY2tpbmcgb3V0IHZlcnNpb24gJHtnaXRodWJSZXBvVGFnfS4uLmApXG4gICAgICAgICAgICBleGVjU3luYyhgZ2l0IGNoZWNrb3V0IHRhZ3MvJHtnaXRodWJSZXBvVGFnfWAsIHsgY3dkOiBjbG9uZURpcmVjdG9yeSB9KTtcblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW5zdGFsbCB0aGUgZGVwZW5kZW5jaWVzIGFuZCBidWlsZCB0aGUgYXBwbGljYXRpb25cbiAgICAgICAgY29uc29sZS5sb2coYEluc3RhbGxpbmcgZGVwZW5kZW5jaWVzYClcbiAgICAgICAgZXhlY1N5bmMoJ25wbSBpbnN0YWxsJywgeyBjd2Q6IGNsb25lRGlyZWN0b3J5IH0pO1xuXG4gICAgICAgIC8vIEJ1aWxkIHRoZSBhcHAgd2l0aCBjYXRhbG9nVXJsXG4gICAgICAgIGNvbnNvbGUubG9nKGBCdWlsZGluZyBhcHAgd2l0aCBjYXRhbG9nVXJsPSR7c3RhY0NhdGFsb2dVcmx9IGludG8gJHtjbG9uZURpcmVjdG9yeX1gKVxuICAgICAgICBleGVjU3luYyhgbnBtIHJ1biBidWlsZCAtLSAtLWNhdGFsb2dVcmw9JHtzdGFjQ2F0YWxvZ1VybH1gLCB7IGN3ZDogY2xvbmVEaXJlY3RvcnkgfSk7XG5cbiAgICAgICAgcmV0dXJuICcuL3N0YWMtYnJvd3Nlci9kaXN0J1xuXG4gICAgfVxuXG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGFjQnJvd3NlclByb3BzIHtcblxuICAgIC8qKlxuICAgICAqIEJ1Y2tldCBBUk4uIElmIHNwZWNpZmllZCwgdGhlIGlkZW50aXR5IHVzZWQgdG8gZGVwbG95IHRoZSBzdGFjayBtdXN0IGhhdmUgdGhlIGFwcHJvcHJpYXRlIHBlcm1pc3Npb25zIHRvIGNyZWF0ZSBhIGRlcGxveW1lbnQgZm9yIHRoaXMgYnVja2V0LiBcbiAgICAgKiBJbiBhZGRpdGlvbiwgaWYgc3BlY2lmaWVkLCBgY2xvdWRGcm9udERpc3RyaWJ1dGlvbkFybmAgaXMgaWdub3JlZCBzaW5jZSB0aGUgcG9saWN5IG9mIGFuIGltcG9ydGVkIHJlc291cmNlIGNhbid0IGJlIG1vZGlmaWVkLlxuICAgICAqIFxuICAgICAqIEBkZWZhdWx0IC0gTm8gYnVja2V0IEFSTi4gQSBuZXcgYnVja2V0IHdpbGwgYmUgY3JlYXRlZC5cbiAgICAgKi9cblxuICAgIHJlYWRvbmx5IGJ1Y2tldEFybj86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFNUQUMgY2F0YWxvZyBVUkxcbiAgICAgKi8gICAgXG4gICAgcmVhZG9ubHkgc3RhY0NhdGFsb2dVcmw6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRhZyBvZiB0aGUgcmFkaWFudCBlYXJ0aCBzdGFjLWJyb3dzZXIgcmVwbyB0byB1c2UgdG8gYnVpbGQgdGhlIGFwcC5cbiAgICAgKi9cbiAgICByZWFkb25seSBnaXRodWJSZXBvVGFnOiBzdHJpbmc7XG5cblxuICAgIC8qKlxuICAgICAqIFRoZSBBUk4gb2YgdGhlIGNsb3VkZnJvbnQgZGlzdHJpYnV0aW9uIHRoYXQgd2lsbCBiZSBhZGRlZCB0byB0aGUgYnVja2V0IHBvbGljeSB3aXRoIHJlYWQgYWNjZXNzLlxuICAgICAqIElmIGBidWNrZXRBcm5gIGlzIHNwZWNpZmllZCwgdGhpcyBwYXJhbWV0ZXIgaXMgaWdub3JlZCBzaW5jZSB0aGUgcG9saWN5IG9mIGFuIGltcG9ydGVkIGJ1Y2tldCBjYW4ndCBiZSBtb2RpZmllZC5cbiAgICAgKiBcbiAgICAgKiBAZGVmYXVsdCAtIE5vIGNsb3VkZnJvbnQgZGlzdHJpYnV0aW9uIEFSTi4gVGhlIGJ1Y2tldCBwb2xpY3kgd2lsbCBub3QgYmUgbW9kaWZpZWQuXG4gICAgICovICAgIFxuICAgIHJlYWRvbmx5IGNsb3VkRnJvbnREaXN0cmlidXRpb25Bcm4/OiBzdHJpbmc7XG4gICAgXG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIGluZGV4IGRvY3VtZW50IChlLmcuIFwiaW5kZXguaHRtbFwiKSBmb3IgdGhlIHdlYnNpdGUuIEVuYWJsZXMgc3RhdGljIHdlYnNpdGVcbiAgICAgKiBob3N0aW5nIGZvciB0aGlzIGJ1Y2tldC5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gTm8gaW5kZXggZG9jdW1lbnQuXG4gICAgICovXG4gICAgcmVhZG9ubHkgd2Vic2l0ZUluZGV4RG9jdW1lbnQ/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBMb2NhdGlvbiBpbiB0aGUgZmlsZXN5c3RlbSB3aGVyZSB0byBjb21waWxlIHRoZSBicm93c2VyIGNvZGUuIFxuICAgICAqIFxuICAgICAqIEBkZWZhdWx0IC0gREVGQVVMVF9DTE9ORV9ESVJFQ1RPUllcbiAgICAgKi9cbiAgICByZWFkb25seSBjbG9uZURpcmVjdG9yeT86IHN0cmluZztcblxufVxuIl19
@@ -0,0 +1,58 @@
1
+ import { aws_ec2 as ec2, aws_rds as rds, aws_secretsmanager as secretsmanager } from "aws-cdk-lib";
2
+ import { PythonFunction, PythonFunctionProps } from "@aws-cdk/aws-lambda-python-alpha";
3
+ import { IDomainName } from "@aws-cdk/aws-apigatewayv2-alpha";
4
+ import { Construct } from "constructs";
5
+ export declare class TiPgApiLambda extends Construct {
6
+ readonly url: string;
7
+ tiPgLambdaFunction: PythonFunction;
8
+ constructor(scope: Construct, id: string, props: TiPgApiLambdaProps);
9
+ }
10
+ export interface TiPgApiLambdaProps {
11
+ /**
12
+ * VPC into which the lambda should be deployed.
13
+ */
14
+ readonly vpc: ec2.IVpc;
15
+ /**
16
+ * RDS Instance with installed pgSTAC.
17
+ */
18
+ readonly db: rds.IDatabaseInstance;
19
+ /**
20
+ * Subnet into which the lambda should be deployed.
21
+ */
22
+ readonly subnetSelection: ec2.SubnetSelection;
23
+ /**
24
+ * Secret containing connection information for pgSTAC database.
25
+ */
26
+ readonly dbSecret: secretsmanager.ISecret;
27
+ /**
28
+ * Custom code to run for fastapi-pgstac.
29
+ *
30
+ * @default - simplified version of fastapi-pgstac
31
+ */
32
+ readonly apiCode?: TiPgApiEntrypoint;
33
+ /**
34
+ * Customized environment variables to send to titiler-pgstac runtime.
35
+ */
36
+ readonly apiEnv?: Record<string, string>;
37
+ /**
38
+ * Custom Domain Name for tipg API. If defined, will create the
39
+ * domain name and integrate it with the tipg API.
40
+ *
41
+ * @default - undefined
42
+ */
43
+ readonly tipgApiDomainName?: IDomainName;
44
+ }
45
+ export interface TiPgApiEntrypoint {
46
+ /**
47
+ * Path to the source of the function or the location for dependencies.
48
+ */
49
+ readonly entry: PythonFunctionProps["entry"];
50
+ /**
51
+ * The path (relative to entry) to the index file containing the exported handler.
52
+ */
53
+ readonly index: PythonFunctionProps["index"];
54
+ /**
55
+ * The name of the exported handler in the index file.
56
+ */
57
+ readonly handler: PythonFunctionProps["handler"];
58
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.TiPgApiLambda = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
7
+ const aws_lambda_python_alpha_1 = require("@aws-cdk/aws-lambda-python-alpha");
8
+ const aws_apigatewayv2_alpha_1 = require("@aws-cdk/aws-apigatewayv2-alpha");
9
+ const aws_apigatewayv2_integrations_alpha_1 = require("@aws-cdk/aws-apigatewayv2-integrations-alpha");
10
+ const constructs_1 = require("constructs");
11
+ class TiPgApiLambda extends constructs_1.Construct {
12
+ constructor(scope, id, props) {
13
+ super(scope, id);
14
+ const apiCode = props.apiCode || {
15
+ entry: `${__dirname}/runtime`,
16
+ index: "src/handler.py",
17
+ handler: "handler",
18
+ };
19
+ this.tiPgLambdaFunction = new aws_lambda_python_alpha_1.PythonFunction(this, "tipg-api", {
20
+ ...apiCode,
21
+ runtime: aws_cdk_lib_1.aws_lambda.Runtime.PYTHON_3_10,
22
+ architecture: aws_cdk_lib_1.aws_lambda.Architecture.X86_64,
23
+ environment: {
24
+ PGSTAC_SECRET_ARN: props.dbSecret.secretArn,
25
+ DB_MIN_CONN_SIZE: "1",
26
+ DB_MAX_CONN_SIZE: "1",
27
+ ...props.apiEnv,
28
+ },
29
+ vpc: props.vpc,
30
+ vpcSubnets: props.subnetSelection,
31
+ allowPublicSubnet: true,
32
+ memorySize: 1024,
33
+ timeout: aws_cdk_lib_1.Duration.seconds(30),
34
+ });
35
+ props.dbSecret.grantRead(this.tiPgLambdaFunction);
36
+ this.tiPgLambdaFunction.connections.allowTo(props.db, aws_cdk_lib_1.aws_ec2.Port.tcp(5432), "allow connections from tipg");
37
+ const tipgApi = new aws_apigatewayv2_alpha_1.HttpApi(this, `${aws_cdk_lib_1.Stack.of(this).stackName}-tipg-api`, {
38
+ defaultDomainMapping: props.tipgApiDomainName ? {
39
+ domainName: props.tipgApiDomainName
40
+ } : undefined,
41
+ defaultIntegration: new aws_apigatewayv2_integrations_alpha_1.HttpLambdaIntegration("integration", this.tiPgLambdaFunction),
42
+ });
43
+ this.url = tipgApi.url;
44
+ new aws_cdk_lib_1.CfnOutput(this, "tipg-api-output", {
45
+ exportName: `${aws_cdk_lib_1.Stack.of(this).stackName}-tip-url`,
46
+ value: this.url,
47
+ });
48
+ }
49
+ }
50
+ exports.TiPgApiLambda = TiPgApiLambda;
51
+ _a = JSII_RTTI_SYMBOL_1;
52
+ TiPgApiLambda[_a] = { fqn: "eoapi-cdk.TiPgApiLambda", version: "5.3.0" };
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQVF1QjtBQUNyQiw4RUFHMEM7QUFDMUMsNEVBQXVFO0FBQ3ZFLHNHQUFxRjtBQUNyRiwyQ0FBdUM7QUFFdkMsTUFBYSxhQUFjLFNBQVEsc0JBQVM7SUFJMUMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF5QjtRQUNqRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLElBQUk7WUFDL0IsS0FBSyxFQUFFLEdBQUcsU0FBUyxVQUFVO1lBQzdCLEtBQUssRUFBRSxnQkFBZ0I7WUFDdkIsT0FBTyxFQUFFLFNBQVM7U0FDbkIsQ0FBQztRQUVGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLHdDQUFjLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUM3RCxHQUFHLE9BQU87WUFDVixPQUFPLEVBQUUsd0JBQU0sQ0FBQyxPQUFPLENBQUMsV0FBVztZQUNuQyxZQUFZLEVBQUUsd0JBQU0sQ0FBQyxZQUFZLENBQUMsTUFBTTtZQUN4QyxXQUFXLEVBQUU7Z0JBQ1gsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTO2dCQUMzQyxnQkFBZ0IsRUFBRSxHQUFHO2dCQUNyQixnQkFBZ0IsRUFBRSxHQUFHO2dCQUNyQixHQUFHLEtBQUssQ0FBQyxNQUFNO2FBQ2hCO1lBQ0QsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1lBQ2QsVUFBVSxFQUFFLEtBQUssQ0FBQyxlQUFlO1lBQ2pDLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsVUFBVSxFQUFFLElBQUk7WUFDaEIsT0FBTyxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztTQUM5QixDQUFDLENBQUM7UUFFSCxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLHFCQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSw2QkFBNkIsQ0FBQyxDQUFDO1FBRXpHLE1BQU0sT0FBTyxHQUFHLElBQUksZ0NBQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLFdBQVcsRUFBRTtZQUN4RSxvQkFBb0IsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO2dCQUM5QyxVQUFVLEVBQUUsS0FBSyxDQUFDLGlCQUFpQjthQUNwQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQ2Isa0JBQWtCLEVBQUUsSUFBSSwyREFBcUIsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1NBQ3RGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUksQ0FBQztRQUV4QixJQUFJLHVCQUFTLENBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFFO1lBQ3JDLFVBQVUsRUFBRSxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsVUFBVTtZQUNqRCxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUc7U0FDaEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUE5Q0gsc0NBK0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBTdGFjayxcbiAgICBhd3NfZWMyIGFzIGVjMixcbiAgICBhd3NfcmRzIGFzIHJkcyxcbiAgICBhd3NfbGFtYmRhIGFzIGxhbWJkYSxcbiAgICBhd3Nfc2VjcmV0c21hbmFnZXIgYXMgc2VjcmV0c21hbmFnZXIsXG4gICAgQ2ZuT3V0cHV0LFxuICAgIER1cmF0aW9uLFxuICB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuICBpbXBvcnQge1xuICAgIFB5dGhvbkZ1bmN0aW9uLFxuICAgIFB5dGhvbkZ1bmN0aW9uUHJvcHMsXG4gIH0gZnJvbSBcIkBhd3MtY2RrL2F3cy1sYW1iZGEtcHl0aG9uLWFscGhhXCI7XG4gIGltcG9ydCB7IElEb21haW5OYW1lLCBIdHRwQXBpIH0gZnJvbSBcIkBhd3MtY2RrL2F3cy1hcGlnYXRld2F5djItYWxwaGFcIjtcbiAgaW1wb3J0IHsgSHR0cExhbWJkYUludGVncmF0aW9uIH0gZnJvbSBcIkBhd3MtY2RrL2F3cy1hcGlnYXRld2F5djItaW50ZWdyYXRpb25zLWFscGhhXCI7XG4gIGltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbiAgZXhwb3J0IGNsYXNzIFRpUGdBcGlMYW1iZGEgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAgIHJlYWRvbmx5IHVybDogc3RyaW5nO1xuICAgIHB1YmxpYyB0aVBnTGFtYmRhRnVuY3Rpb246IFB5dGhvbkZ1bmN0aW9uO1xuXG4gICAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFRpUGdBcGlMYW1iZGFQcm9wcykge1xuICAgICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgICAgY29uc3QgYXBpQ29kZSA9IHByb3BzLmFwaUNvZGUgfHwge1xuICAgICAgICBlbnRyeTogYCR7X19kaXJuYW1lfS9ydW50aW1lYCxcbiAgICAgICAgaW5kZXg6IFwic3JjL2hhbmRsZXIucHlcIixcbiAgICAgICAgaGFuZGxlcjogXCJoYW5kbGVyXCIsXG4gICAgICB9O1xuXG4gICAgICB0aGlzLnRpUGdMYW1iZGFGdW5jdGlvbiA9IG5ldyBQeXRob25GdW5jdGlvbih0aGlzLCBcInRpcGctYXBpXCIsIHtcbiAgICAgICAgLi4uYXBpQ29kZSxcbiAgICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuUFlUSE9OXzNfMTAsXG4gICAgICAgIGFyY2hpdGVjdHVyZTogbGFtYmRhLkFyY2hpdGVjdHVyZS5YODZfNjQsXG4gICAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgICAgUEdTVEFDX1NFQ1JFVF9BUk46IHByb3BzLmRiU2VjcmV0LnNlY3JldEFybixcbiAgICAgICAgICBEQl9NSU5fQ09OTl9TSVpFOiBcIjFcIixcbiAgICAgICAgICBEQl9NQVhfQ09OTl9TSVpFOiBcIjFcIixcbiAgICAgICAgICAuLi5wcm9wcy5hcGlFbnYsXG4gICAgICAgIH0sXG4gICAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgICB2cGNTdWJuZXRzOiBwcm9wcy5zdWJuZXRTZWxlY3Rpb24sXG4gICAgICAgIGFsbG93UHVibGljU3VibmV0OiB0cnVlLFxuICAgICAgICBtZW1vcnlTaXplOiAxMDI0LFxuICAgICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKDMwKSxcbiAgICAgIH0pO1xuXG4gICAgICBwcm9wcy5kYlNlY3JldC5ncmFudFJlYWQodGhpcy50aVBnTGFtYmRhRnVuY3Rpb24pO1xuICAgICAgdGhpcy50aVBnTGFtYmRhRnVuY3Rpb24uY29ubmVjdGlvbnMuYWxsb3dUbyhwcm9wcy5kYiwgZWMyLlBvcnQudGNwKDU0MzIpLCBcImFsbG93IGNvbm5lY3Rpb25zIGZyb20gdGlwZ1wiKTtcblxuICAgICAgY29uc3QgdGlwZ0FwaSA9IG5ldyBIdHRwQXBpKHRoaXMsIGAke1N0YWNrLm9mKHRoaXMpLnN0YWNrTmFtZX0tdGlwZy1hcGlgLCB7XG4gICAgICAgIGRlZmF1bHREb21haW5NYXBwaW5nOiBwcm9wcy50aXBnQXBpRG9tYWluTmFtZSA/IHsgXG4gICAgICAgICAgZG9tYWluTmFtZTogcHJvcHMudGlwZ0FwaURvbWFpbk5hbWVcbiAgICAgICAgfSA6IHVuZGVmaW5lZCxcbiAgICAgICAgZGVmYXVsdEludGVncmF0aW9uOiBuZXcgSHR0cExhbWJkYUludGVncmF0aW9uKFwiaW50ZWdyYXRpb25cIiwgdGhpcy50aVBnTGFtYmRhRnVuY3Rpb24pLFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMudXJsID0gdGlwZ0FwaS51cmwhO1xuXG4gICAgICBuZXcgQ2ZuT3V0cHV0KHRoaXMsIFwidGlwZy1hcGktb3V0cHV0XCIsIHtcbiAgICAgICAgZXhwb3J0TmFtZTogYCR7U3RhY2sub2YodGhpcykuc3RhY2tOYW1lfS10aXAtdXJsYCxcbiAgICAgICAgdmFsdWU6IHRoaXMudXJsLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBUaVBnQXBpTGFtYmRhUHJvcHMge1xuXG4gICAgLyoqXG4gICAgICogVlBDIGludG8gd2hpY2ggdGhlIGxhbWJkYSBzaG91bGQgYmUgZGVwbG95ZWQuXG4gICAgICovXG4gICAgcmVhZG9ubHkgdnBjOiBlYzIuSVZwYztcblxuICAgIC8qKlxuICAgICAqIFJEUyBJbnN0YW5jZSB3aXRoIGluc3RhbGxlZCBwZ1NUQUMuXG4gICAgICovXG4gICAgcmVhZG9ubHkgZGI6IHJkcy5JRGF0YWJhc2VJbnN0YW5jZTtcblxuICAgIC8qKlxuICAgICAqIFN1Ym5ldCBpbnRvIHdoaWNoIHRoZSBsYW1iZGEgc2hvdWxkIGJlIGRlcGxveWVkLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHN1Ym5ldFNlbGVjdGlvbjogZWMyLlN1Ym5ldFNlbGVjdGlvbjtcblxuICAgIC8qKlxuICAgICAqIFNlY3JldCBjb250YWluaW5nIGNvbm5lY3Rpb24gaW5mb3JtYXRpb24gZm9yIHBnU1RBQyBkYXRhYmFzZS5cbiAgICAgKi9cbiAgICByZWFkb25seSBkYlNlY3JldDogc2VjcmV0c21hbmFnZXIuSVNlY3JldDtcblxuICAgIC8qKlxuICAgICAqIEN1c3RvbSBjb2RlIHRvIHJ1biBmb3IgZmFzdGFwaS1wZ3N0YWMuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAtIHNpbXBsaWZpZWQgdmVyc2lvbiBvZiBmYXN0YXBpLXBnc3RhY1xuICAgICAqL1xuICAgIHJlYWRvbmx5IGFwaUNvZGU/OiBUaVBnQXBpRW50cnlwb2ludDtcblxuICAgIC8qKlxuICAgICAqIEN1c3RvbWl6ZWQgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIHNlbmQgdG8gdGl0aWxlci1wZ3N0YWMgcnVudGltZS5cbiAgICAgKi9cbiAgICByZWFkb25seSBhcGlFbnY/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICBcbiAgICAvKipcbiAgICAgKiBDdXN0b20gRG9tYWluIE5hbWUgZm9yIHRpcGcgQVBJLiBJZiBkZWZpbmVkLCB3aWxsIGNyZWF0ZSB0aGUgXG4gICAgICogZG9tYWluIG5hbWUgYW5kIGludGVncmF0ZSBpdCB3aXRoIHRoZSB0aXBnIEFQSS4gXG4gICAgICogXG4gICAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICAgKi9cbiAgICByZWFkb25seSB0aXBnQXBpRG9tYWluTmFtZT86IElEb21haW5OYW1lO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBUaVBnQXBpRW50cnlwb2ludCB7XG4gICAgLyoqXG4gICAgICogUGF0aCB0byB0aGUgc291cmNlIG9mIHRoZSBmdW5jdGlvbiBvciB0aGUgbG9jYXRpb24gZm9yIGRlcGVuZGVuY2llcy5cbiAgICAgKi9cbiAgICByZWFkb25seSBlbnRyeTogUHl0aG9uRnVuY3Rpb25Qcm9wc1tcImVudHJ5XCJdO1xuICAgIC8qKlxuICAgICAqIFRoZSBwYXRoIChyZWxhdGl2ZSB0byBlbnRyeSkgdG8gdGhlIGluZGV4IGZpbGUgY29udGFpbmluZyB0aGUgZXhwb3J0ZWQgaGFuZGxlci5cbiAgICAgKi9cbiAgICByZWFkb25seSBpbmRleDogUHl0aG9uRnVuY3Rpb25Qcm9wc1tcImluZGV4XCJdO1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBleHBvcnRlZCBoYW5kbGVyIGluIHRoZSBpbmRleCBmaWxlLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGhhbmRsZXI6IFB5dGhvbkZ1bmN0aW9uUHJvcHNbXCJoYW5kbGVyXCJdO1xuICB9XG4iXX0=
@@ -0,0 +1,2 @@
1
+ tipg==0.3.1
2
+ mangum==0.15.1
@@ -0,0 +1,3 @@
1
+ """tipg lambda."""
2
+
3
+ __version__ = "0.1.0"
@@ -0,0 +1,54 @@
1
+ """
2
+ Handler for AWS Lambda.
3
+ """
4
+
5
+ import asyncio
6
+ import os
7
+ from mangum import Mangum
8
+ from src.utils import load_pgstac_secret
9
+
10
+ load_pgstac_secret(os.environ["PGSTAC_SECRET_ARN"]) # required for the below imports
11
+
12
+ # skipping linting rule that wants all imports at the top
13
+ from tipg.main import app # noqa: E402
14
+ from tipg.collections import register_collection_catalog # noqa: E402
15
+ from tipg.database import connect_to_db # noqa: E402
16
+ from tipg.settings import ( # noqa: E402
17
+ CustomSQLSettings, # noqa: E402
18
+ DatabaseSettings, # noqa: E402
19
+ PostgresSettings, # noqa: E402
20
+ ) # noqa: E402
21
+
22
+
23
+ postgres_settings = PostgresSettings()
24
+ db_settings = DatabaseSettings()
25
+ custom_sql_settings = CustomSQLSettings()
26
+
27
+
28
+ @app.on_event("startup")
29
+ async def startup_event() -> None:
30
+ """Connect to database on startup."""
31
+ await connect_to_db(
32
+ app,
33
+ settings=postgres_settings,
34
+ schemas=db_settings.schemas,
35
+ user_sql_files=custom_sql_settings.sql_files,
36
+ )
37
+ await register_collection_catalog(
38
+ app,
39
+ schemas=db_settings.schemas,
40
+ tables=db_settings.tables,
41
+ exclude_tables=db_settings.exclude_tables,
42
+ exclude_table_schemas=db_settings.exclude_table_schemas,
43
+ functions=db_settings.functions,
44
+ exclude_functions=db_settings.exclude_functions,
45
+ exclude_function_schemas=db_settings.exclude_function_schemas,
46
+ spatial=db_settings.only_spatial_tables,
47
+ )
48
+
49
+
50
+ handler = Mangum(app, lifespan="off")
51
+
52
+ if "AWS_EXECUTION_ENV" in os.environ:
53
+ loop = asyncio.get_event_loop()
54
+ loop.run_until_complete(app.router.startup())
@@ -0,0 +1,41 @@
1
+ import base64
2
+ import json
3
+ import boto3
4
+ import os
5
+
6
+
7
+ def load_pgstac_secret(secret_name: str):
8
+ """Retrieve secrets from AWS Secrets Manager
9
+
10
+ Args:
11
+ secret_name (str): name of aws secrets manager secret containing database connection secrets
12
+ profile_name (str, optional): optional name of aws profile for use in debugger only
13
+
14
+ Returns:
15
+ secrets (dict): decrypted secrets in dict
16
+ """
17
+
18
+ # Create a Secrets Manager client
19
+ session = boto3.session.Session()
20
+ client = session.client(service_name="secretsmanager")
21
+
22
+ get_secret_value_response = client.get_secret_value(SecretId=secret_name)
23
+
24
+ if "SecretString" in get_secret_value_response:
25
+ secret = json.loads(get_secret_value_response["SecretString"])
26
+ else:
27
+ secret = json.loads(base64.b64decode(get_secret_value_response["SecretBinary"]))
28
+
29
+ try:
30
+ os.environ.update(
31
+ {
32
+ "postgres_host": secret["host"],
33
+ "postgres_dbname": secret["dbname"],
34
+ "postgres_user": secret["username"],
35
+ "postgres_pass": secret["password"],
36
+ "postgres_port": str(secret["port"]),
37
+ }
38
+ )
39
+ except Exception as ex:
40
+ print("Could not load the pgstac environment variables from the secret")
41
+ raise ex
@@ -66,5 +66,5 @@ class TitilerPgstacApiLambda extends constructs_1.Construct {
66
66
  }
67
67
  exports.TitilerPgstacApiLambda = TitilerPgstacApiLambda;
68
68
  _a = JSII_RTTI_SYMBOL_1;
69
- TitilerPgstacApiLambda[_a] = { fqn: "eoapi-cdk.TitilerPgstacApiLambda", version: "5.1.0" };
69
+ TitilerPgstacApiLambda[_a] = { fqn: "eoapi-cdk.TitilerPgstacApiLambda", version: "5.3.0" };
70
70
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQVV1QjtBQUNyQiw0RUFBdUU7QUFDdkUsc0dBQXFGO0FBQ3JGLDJDQUF1QztBQUV2QyxNQUFhLHNCQUF1QixTQUFRLHNCQUFTO0lBSW5ELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBa0M7UUFDMUUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLGdCQUFnQixHQUFHO1lBQ3JCLGtDQUFrQyxFQUFFLGlCQUFpQjtZQUNyRCxlQUFlLEVBQUUsS0FBSztZQUN0Qiw4QkFBOEIsRUFBRSxXQUFXO1lBQzNDLDZCQUE2QixFQUFFLE9BQU87WUFDdEMsb0NBQW9DLEVBQUUsS0FBSztZQUMzQyxxQkFBcUIsRUFBRSxLQUFLO1lBQzVCLG1CQUFtQixFQUFFLEdBQUc7WUFDeEIsZ0JBQWdCLEVBQUUsUUFBUTtZQUMxQixXQUFXLEVBQUUsTUFBTTtZQUNuQixnQkFBZ0IsRUFBRSxTQUFTO1lBQzNCLGtCQUFrQixFQUFFLEdBQUc7WUFDdkIsa0JBQWtCLEVBQUUsR0FBRztZQUN2QixtQkFBbUIsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVM7U0FDaEQsQ0FBQTtRQUdELElBQUksQ0FBQywyQkFBMkIsR0FBRyxJQUFJLHdCQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDckUsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixPQUFPLEVBQUUsd0JBQU0sQ0FBQyxPQUFPLENBQUMsV0FBVztZQUNuQyxJQUFJLEVBQUUsd0JBQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRTtnQkFDM0MsSUFBSSxFQUFFLG9CQUFvQjtnQkFDMUIsU0FBUyxFQUFFLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRTthQUN0QyxDQUFDO1lBQ0YsT0FBTyxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM3QixHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7WUFDZCxVQUFVLEVBQUUsS0FBSyxDQUFDLGVBQWU7WUFDakMsaUJBQWlCLEVBQUUsSUFBSTtZQUN2QixVQUFVLEVBQUUsSUFBSTtZQUNoQixZQUFZLEVBQUUsc0JBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUTtZQUM3QyxXQUFXLEVBQUUsZ0JBQWdCO1NBQzlCLENBQUMsQ0FBQztRQUVILGdEQUFnRDtRQUNoRCxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7WUFDakIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQzdCLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxlQUFlLENBQUMsSUFBSSxxQkFBRyxDQUFDLGVBQWUsQ0FBQztvQkFDdkUsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDO29CQUN6QixTQUFTLEVBQUUsQ0FBQyxnQkFBZ0IsTUFBTSxJQUFJLENBQUM7aUJBQ3hDLENBQUMsQ0FBQyxDQUFDO1lBQ04sQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUVELEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQywyQkFBMkIsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUscUJBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLGdDQUFnQyxDQUFDLENBQUM7UUFFckgsTUFBTSxPQUFPLEdBQUcsSUFBSSxnQ0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMscUJBQXFCLEVBQUU7WUFDbEYsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQztnQkFDdkQsVUFBVSxFQUFFLEtBQUssQ0FBQywwQkFBMEI7YUFDN0MsQ0FBQyxDQUFDLENBQUMsU0FBUztZQUNiLGtCQUFrQixFQUFFLElBQUksMkRBQXFCLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQywyQkFBMkIsQ0FBQztTQUMvRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFJLENBQUM7UUFFeEIsSUFBSSx1QkFBUyxDQUFDLElBQUksRUFBRSwyQkFBMkIsRUFBRTtZQUMvQyxVQUFVLEVBQUUsR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLHFCQUFxQjtZQUM1RCxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUc7U0FDaEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFsRUgsd0RBbUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBTdGFjayxcbiAgICBhd3NfaWFtIGFzIGlhbSxcbiAgICBhd3NfZWMyIGFzIGVjMixcbiAgICBhd3NfcmRzIGFzIHJkcyxcbiAgICBhd3NfbGFtYmRhIGFzIGxhbWJkYSxcbiAgICBhd3Nfc2VjcmV0c21hbmFnZXIgYXMgc2VjcmV0c21hbmFnZXIsXG4gICAgQ2ZuT3V0cHV0LFxuICAgIER1cmF0aW9uLFxuICAgIGF3c19sb2dzLFxuICB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuICBpbXBvcnQgeyBJRG9tYWluTmFtZSwgSHR0cEFwaSB9IGZyb20gXCJAYXdzLWNkay9hd3MtYXBpZ2F0ZXdheXYyLWFscGhhXCI7XG4gIGltcG9ydCB7IEh0dHBMYW1iZGFJbnRlZ3JhdGlvbiB9IGZyb20gXCJAYXdzLWNkay9hd3MtYXBpZ2F0ZXdheXYyLWludGVncmF0aW9ucy1hbHBoYVwiO1xuICBpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuICBcbiAgZXhwb3J0IGNsYXNzIFRpdGlsZXJQZ3N0YWNBcGlMYW1iZGEgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAgIHJlYWRvbmx5IHVybDogc3RyaW5nO1xuICAgIHB1YmxpYyB0aXRpbGVyUGdzdGFjTGFtYmRhRnVuY3Rpb246IGxhbWJkYS5GdW5jdGlvbjtcbiAgXG4gICAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFRpdGlsZXJQZ1N0YWNBcGlMYW1iZGFQcm9wcykge1xuICAgICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgXG4gICAgICBjb25zdCB0aXRpbGVyUGdzdGFjRW52ID0ge1xuICAgICAgICAgIFwiQ1BMX1ZTSUxfQ1VSTF9BTExPV0VEX0VYVEVOU0lPTlNcIjogXCIudGlmLC5USUYsLnRpZmZcIixcbiAgICAgICAgICBcIkdEQUxfQ0FDSEVNQVhcIjogXCIyMDBcIiwgXG4gICAgICAgICAgXCJHREFMX0RJU0FCTEVfUkVBRERJUl9PTl9PUEVOXCI6IFwiRU1QVFlfRElSXCIsXG4gICAgICAgICAgXCJHREFMX0lOR0VTVEVEX0JZVEVTX0FUX09QRU5cIjogXCIzMjc2OFwiLFxuICAgICAgICAgIFwiR0RBTF9IVFRQX01FUkdFX0NPTlNFQ1VUSVZFX1JBTkdFU1wiOiBcIllFU1wiLFxuICAgICAgICAgIFwiR0RBTF9IVFRQX01VTFRJUExFWFwiOiBcIllFU1wiLFxuICAgICAgICAgIFwiR0RBTF9IVFRQX1ZFUlNJT05cIjogXCIyXCIsXG4gICAgICAgICAgXCJQWVRIT05XQVJOSU5HU1wiOiBcImlnbm9yZVwiLFxuICAgICAgICAgIFwiVlNJX0NBQ0hFXCI6IFwiVFJVRVwiLFxuICAgICAgICAgIFwiVlNJX0NBQ0hFX1NJWkVcIjogXCI1MDAwMDAwXCIsIFxuICAgICAgICAgIFwiREJfTUlOX0NPTk5fU0laRVwiOiBcIjFcIixcbiAgICAgICAgICBcIkRCX01BWF9DT05OX1NJWkVcIjogXCIxXCIsXG4gICAgICAgICAgXCJQR1NUQUNfU0VDUkVUX0FSTlwiOiBwcm9wcy5kYlNlY3JldC5zZWNyZXRBcm4sXG4gICAgICB9XG4gICAgXG4gICAgICBcbiAgICAgIHRoaXMudGl0aWxlclBnc3RhY0xhbWJkYUZ1bmN0aW9uID0gbmV3IGxhbWJkYS5GdW5jdGlvbih0aGlzLCBcImxhbWJkYVwiLCB7XG4gICAgICAgIGhhbmRsZXI6IFwiaGFuZGxlci5oYW5kbGVyXCIsXG4gICAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLlBZVEhPTl8zXzEwLFxuICAgICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tRG9ja2VyQnVpbGQoX19kaXJuYW1lLCB7XG4gICAgICAgICAgZmlsZTogXCJydW50aW1lL0RvY2tlcmZpbGVcIixcbiAgICAgICAgICBidWlsZEFyZ3M6IHsgUFlUSE9OX1ZFUlNJT046ICczLjEwJyB9LFxuICAgICAgICB9KSxcbiAgICAgICAgdGltZW91dDogRHVyYXRpb24uc2Vjb25kcygzMCksXG4gICAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgICB2cGNTdWJuZXRzOiBwcm9wcy5zdWJuZXRTZWxlY3Rpb24sXG4gICAgICAgIGFsbG93UHVibGljU3VibmV0OiB0cnVlLFxuICAgICAgICBtZW1vcnlTaXplOiAzMDA4LFxuICAgICAgICBsb2dSZXRlbnRpb246IGF3c19sb2dzLlJldGVudGlvbkRheXMuT05FX1dFRUssXG4gICAgICAgIGVudmlyb25tZW50OiB0aXRpbGVyUGdzdGFjRW52LFxuICAgICAgfSk7XG5cbiAgICAgIC8vIGdyYW50IGFjY2VzcyB0byBidWNrZXRzIHVzaW5nIGFkZFRvUm9sZVBvbGljeVxuICAgICAgaWYgKHByb3BzLmJ1Y2tldHMpIHtcbiAgICAgICAgcHJvcHMuYnVja2V0cy5mb3JFYWNoKGJ1Y2tldCA9PiB7XG4gICAgICAgICAgdGhpcy50aXRpbGVyUGdzdGFjTGFtYmRhRnVuY3Rpb24uYWRkVG9Sb2xlUG9saWN5KG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgIGFjdGlvbnM6IFtcInMzOkdldE9iamVjdFwiXSxcbiAgICAgICAgICAgIHJlc291cmNlczogW2Bhcm46YXdzOnMzOjo6JHtidWNrZXR9LypgXSxcbiAgICAgICAgICB9KSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgXG4gICAgICBwcm9wcy5kYlNlY3JldC5ncmFudFJlYWQodGhpcy50aXRpbGVyUGdzdGFjTGFtYmRhRnVuY3Rpb24pO1xuICAgICAgdGhpcy50aXRpbGVyUGdzdGFjTGFtYmRhRnVuY3Rpb24uY29ubmVjdGlvbnMuYWxsb3dUbyhwcm9wcy5kYiwgZWMyLlBvcnQudGNwKDU0MzIpLCBcImFsbG93IGNvbm5lY3Rpb25zIGZyb20gdGl0aWxlclwiKTtcbiAgXG4gICAgICBjb25zdCBzdGFjQXBpID0gbmV3IEh0dHBBcGkodGhpcywgYCR7U3RhY2sub2YodGhpcykuc3RhY2tOYW1lfS10aXRpbGVyLXBnc3RhYy1hcGlgLCB7XG4gICAgICAgIGRlZmF1bHREb21haW5NYXBwaW5nOiBwcm9wcy50aXRpbGVyUGdzdGFjQXBpRG9tYWluTmFtZSA/IHsgXG4gICAgICAgICAgZG9tYWluTmFtZTogcHJvcHMudGl0aWxlclBnc3RhY0FwaURvbWFpbk5hbWUgXG4gICAgICAgIH0gOiB1bmRlZmluZWQsXG4gICAgICAgIGRlZmF1bHRJbnRlZ3JhdGlvbjogbmV3IEh0dHBMYW1iZGFJbnRlZ3JhdGlvbihcImludGVncmF0aW9uXCIsIHRoaXMudGl0aWxlclBnc3RhY0xhbWJkYUZ1bmN0aW9uKSxcbiAgICAgIH0pO1xuICBcbiAgICAgIHRoaXMudXJsID0gc3RhY0FwaS51cmwhO1xuICBcbiAgICAgIG5ldyBDZm5PdXRwdXQodGhpcywgXCJ0aXRpbGVyLXBnc3RhYy1hcGktb3V0cHV0XCIsIHtcbiAgICAgICAgZXhwb3J0TmFtZTogYCR7U3RhY2sub2YodGhpcykuc3RhY2tOYW1lfS10aXRpbGVyLXBnc3RhYy11cmxgLFxuICAgICAgICB2YWx1ZTogdGhpcy51cmwsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgXG4gIGV4cG9ydCBpbnRlcmZhY2UgVGl0aWxlclBnU3RhY0FwaUxhbWJkYVByb3BzIHtcblxuICAgIC8qKlxuICAgICAqIFZQQyBpbnRvIHdoaWNoIHRoZSBsYW1iZGEgc2hvdWxkIGJlIGRlcGxveWVkLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHZwYzogZWMyLklWcGM7XG4gIFxuICAgIC8qKlxuICAgICAqIFJEUyBJbnN0YW5jZSB3aXRoIGluc3RhbGxlZCBwZ1NUQUMuXG4gICAgICovXG4gICAgcmVhZG9ubHkgZGI6IHJkcy5JRGF0YWJhc2VJbnN0YW5jZTtcbiAgXG4gICAgLyoqXG4gICAgICogU3VibmV0IGludG8gd2hpY2ggdGhlIGxhbWJkYSBzaG91bGQgYmUgZGVwbG95ZWQuXG4gICAgICovXG4gICAgcmVhZG9ubHkgc3VibmV0U2VsZWN0aW9uOiBlYzIuU3VibmV0U2VsZWN0aW9uO1xuICBcbiAgICAvKipcbiAgICAgKiBTZWNyZXQgY29udGFpbmluZyBjb25uZWN0aW9uIGluZm9ybWF0aW9uIGZvciBwZ1NUQUMgZGF0YWJhc2UuXG4gICAgICovXG4gICAgcmVhZG9ubHkgZGJTZWNyZXQ6IHNlY3JldHNtYW5hZ2VyLklTZWNyZXQ7XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b21pemVkIGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBzZW5kIHRvIHRpdGlsZXItcGdzdGFjIHJ1bnRpbWUuXG4gICAgICovXG4gICAgcmVhZG9ubHkgYXBpRW52PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAgIC8qKlxuICAgICAqIGxpc3Qgb2YgYnVja2V0cyB0aGUgbGFtYmRhIHdpbGwgYmUgZ3JhbnRlZCBhY2Nlc3MgdG8uIFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGJ1Y2tldHM/OiBzdHJpbmdbXTtcblxuICAgIC8qKlxuICAgICAqIEN1c3RvbSBEb21haW4gTmFtZSBPcHRpb25zIGZvciBUaXRpbGVyIFBnc3RhYyBBUEksXG4gICAgICovXG4gICAgcmVhZG9ubHkgdGl0aWxlclBnc3RhY0FwaURvbWFpbk5hbWU/OiBJRG9tYWluTmFtZTtcbiAgfVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eoapi-cdk",
3
- "version": "5.1.0",
3
+ "version": "5.3.0",
4
4
  "description": "A set of constructs deploying pgSTAC with CDK",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
package/tox.ini CHANGED
@@ -12,7 +12,7 @@ commands =
12
12
  pip install -r ./lib/ingestor-api/runtime/dev_requirements.txt
13
13
  flake8
14
14
  black lib --diff
15
- isort lib
15
+ isort lib
16
16
  python -m pytest -s
17
17
 
18
18
 
@@ -6729,8 +6729,16 @@
6729
6729
  "version": "dd16f73144a3c7dd2fd759d876d5a6940ba8250dca9f930a324d5637c07a25da",
6730
6730
  "affectsGlobalScope": false
6731
6731
  },
6732
+ "./lib/stac-browser/index.ts": {
6733
+ "version": "096ba9b2817599e3b8dc280c0d315f3a5fb6d1ae51aff31c4ab13e4da48313ae",
6734
+ "affectsGlobalScope": false
6735
+ },
6736
+ "./lib/tipg-api/index.ts": {
6737
+ "version": "6d028789fd0d34f24dd7d44bd1c5e4c224476c75ca8d6874a4ae6a9f6c37e9f6",
6738
+ "affectsGlobalScope": false
6739
+ },
6732
6740
  "./lib/index.ts": {
6733
- "version": "810330873b4cc6972e4f24e2282418f81a57748fdbd283ccac1a889e43787917",
6741
+ "version": "f002e6147370577a20a4b47a34767123970b7d1ee8d04c41b09d95161d5f0455",
6734
6742
  "affectsGlobalScope": false
6735
6743
  },
6736
6744
  "./node_modules/typescript/lib/lib.es2020.d.ts": {
@@ -7115,6 +7123,8 @@
7115
7123
  "./lib/database/index.ts",
7116
7124
  "./lib/ingestor-api/index.ts",
7117
7125
  "./lib/stac-api/index.ts",
7126
+ "./lib/stac-browser/index.ts",
7127
+ "./lib/tipg-api/index.ts",
7118
7128
  "./lib/titiler-pgstac-api/index.ts",
7119
7129
  "./node_modules/@types/node/ts4.8/util.d.ts"
7120
7130
  ],
@@ -7132,6 +7142,22 @@
7132
7142
  "./node_modules/aws-cdk-lib/index.d.ts",
7133
7143
  "./node_modules/constructs/lib/index.d.ts"
7134
7144
  ],
7145
+ "./lib/stac-browser/index.ts": [
7146
+ "./node_modules/@types/node/ts4.8/child_process.d.ts",
7147
+ "./node_modules/@types/node/ts4.8/fs.d.ts",
7148
+ "./node_modules/@types/node/ts4.8/util.d.ts",
7149
+ "./node_modules/aws-cdk-lib/aws-iam/index.d.ts",
7150
+ "./node_modules/aws-cdk-lib/index.d.ts",
7151
+ "./node_modules/constructs/lib/index.d.ts"
7152
+ ],
7153
+ "./lib/tipg-api/index.ts": [
7154
+ "./node_modules/@aws-cdk/aws-apigatewayv2-alpha/lib/index.d.ts",
7155
+ "./node_modules/@aws-cdk/aws-apigatewayv2-integrations-alpha/lib/index.d.ts",
7156
+ "./node_modules/@aws-cdk/aws-lambda-python-alpha/lib/index.d.ts",
7157
+ "./node_modules/@types/node/ts4.8/util.d.ts",
7158
+ "./node_modules/aws-cdk-lib/index.d.ts",
7159
+ "./node_modules/constructs/lib/index.d.ts"
7160
+ ],
7135
7161
  "./lib/titiler-pgstac-api/index.ts": [
7136
7162
  "./node_modules/@aws-cdk/aws-apigatewayv2-alpha/lib/index.d.ts",
7137
7163
  "./node_modules/@aws-cdk/aws-apigatewayv2-integrations-alpha/lib/index.d.ts",