eoapi-cdk 7.3.0__tar.gz → 7.4.2__tar.gz

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: eoapi-cdk
3
- Version: 7.3.0
3
+ Version: 7.4.2
4
4
  Summary: A set of constructs deploying pgSTAC with CDK
5
5
  Home-page: https://github.com/developmentseed/eoapi-cdk.git
6
6
  Author: Anthony Lukach<anthony@developmentseed.org>
@@ -20,6 +20,13 @@ Classifier: License :: OSI Approved
20
20
  Requires-Python: ~=3.8
21
21
  Description-Content-Type: text/markdown
22
22
  License-File: LICENSE
23
+ Requires-Dist: aws-cdk-lib==2.130.0
24
+ Requires-Dist: aws-cdk.aws-apigatewayv2-alpha==2.114.1.a0
25
+ Requires-Dist: aws-cdk.aws-apigatewayv2-integrations-alpha==2.114.1.a0
26
+ Requires-Dist: constructs==10.3.0
27
+ Requires-Dist: jsii<2.0.0,>=1.106.0
28
+ Requires-Dist: publication>=0.0.3
29
+ Requires-Dist: typeguard<4.3.0,>=2.13.3
23
30
 
24
31
  # eoAPI CDK Constructs
25
32
 
@@ -1,5 +1,5 @@
1
1
  [build-system]
2
- requires = ["setuptools~=67.3.2", "wheel~=0.42"]
2
+ requires = ["setuptools~=70.0.0", "wheel~=0.42"]
3
3
  build-backend = "setuptools.build_meta"
4
4
 
5
5
  [tool.pyright]
@@ -5,7 +5,7 @@ kwargs = json.loads(
5
5
  """
6
6
  {
7
7
  "name": "eoapi-cdk",
8
- "version": "7.3.0",
8
+ "version": "7.4.2",
9
9
  "description": "A set of constructs deploying pgSTAC with CDK",
10
10
  "license": "ISC",
11
11
  "url": "https://github.com/developmentseed/eoapi-cdk.git",
@@ -26,7 +26,7 @@ kwargs = json.loads(
26
26
  ],
27
27
  "package_data": {
28
28
  "eoapi_cdk._jsii": [
29
- "eoapi-cdk@7.3.0.jsii.tgz"
29
+ "eoapi-cdk@7.4.2.jsii.tgz"
30
30
  ],
31
31
  "eoapi_cdk": [
32
32
  "py.typed"
@@ -38,9 +38,9 @@ kwargs = json.loads(
38
38
  "aws-cdk.aws-apigatewayv2-alpha==2.114.1.a0",
39
39
  "aws-cdk.aws-apigatewayv2-integrations-alpha==2.114.1.a0",
40
40
  "constructs==10.3.0",
41
- "jsii>=1.94.0, <2.0.0",
41
+ "jsii>=1.106.0, <2.0.0",
42
42
  "publication>=0.0.3",
43
- "typeguard~=2.13.3"
43
+ "typeguard>=2.13.3,<4.3.0"
44
44
  ],
45
45
  "classifiers": [
46
46
  "Intended Audience :: Developers",
@@ -1,4 +1,4 @@
1
- '''
1
+ r'''
2
2
  # eoAPI CDK Constructs
3
3
 
4
4
  eoapi-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.
@@ -64,6 +64,9 @@ Versioning is automatically handled via [Conventional Commits](https://www.conve
64
64
 
65
65
  Each pull request to `main` is added to a [merge queue](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-a-merge-queue#triggering-merge-group-checks-with-github-actions) so that a "deployment test" workflow can run before the merge actually happens. If the deployment fails, the merge is cancelled. Here is [the definition of this workflow](https://github.com/developmentseed/eoapi-cdk/blob/main/.github/workflows/deploy.yaml) and the [tests definition](https://github.com/developmentseed/eoapi-cdk/blob/main/tests).
66
66
  '''
67
+ from pkgutil import extend_path
68
+ __path__ = extend_path(__path__, __name__)
69
+
67
70
  import abc
68
71
  import builtins
69
72
  import datetime
@@ -74,7 +77,22 @@ import jsii
74
77
  import publication
75
78
  import typing_extensions
76
79
 
77
- from typeguard import check_type
80
+ import typeguard
81
+ from importlib.metadata import version as _metadata_package_version
82
+ TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
83
+
84
+ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
85
+ if TYPEGUARD_MAJOR_VERSION <= 2:
86
+ return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
87
+ else:
88
+ if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
89
+ pass
90
+ else:
91
+ if TYPEGUARD_MAJOR_VERSION == 3:
92
+ typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
93
+ typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
94
+ else:
95
+ typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
78
96
 
79
97
  from ._jsii import *
80
98
 
@@ -242,7 +260,7 @@ class BastionHost(
242
260
  if __debug__:
243
261
  type_hints = typing.get_type_hints(_typecheckingstub__80fb0feedb858fb24741f897aca05b271358cdc74e541cfb7aab020793c77769)
244
262
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
245
- jsii.set(self, "instance", value)
263
+ jsii.set(self, "instance", value) # pyright: ignore[reportArgumentType]
246
264
 
247
265
 
248
266
  @jsii.data_type(
@@ -555,7 +573,7 @@ class PgStacApiLambda(
555
573
  scope: _constructs_77d1e7e8.Construct,
556
574
  id: builtins.str,
557
575
  *,
558
- db: _aws_cdk_aws_rds_ceddda9d.IDatabaseInstance,
576
+ db: typing.Union[_aws_cdk_aws_rds_ceddda9d.IDatabaseInstance, _aws_cdk_aws_ec2_ceddda9d.IInstance],
559
577
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
560
578
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
561
579
  lambda_function_options: typing.Any = None,
@@ -566,7 +584,7 @@ class PgStacApiLambda(
566
584
  '''
567
585
  :param scope: -
568
586
  :param id: -
569
- :param db: (experimental) RDS Instance with installed pgSTAC.
587
+ :param db: (experimental) RDS Instance with installed pgSTAC or pgbouncer server.
570
588
  :param db_secret: (experimental) Secret containing connection information for pgSTAC database.
571
589
  :param api_env: (experimental) Customized environment variables to send to fastapi-pgstac runtime.
572
590
  :param lambda_function_options: (experimental) Can be used to override the default lambda function properties. Default: - defined in the construct.
@@ -616,7 +634,7 @@ class PgStacApiLambda(
616
634
  if __debug__:
617
635
  type_hints = typing.get_type_hints(_typecheckingstub__d2c3356e9c4fcad6133b4d30c2f7d84fd7701ed6e27781d7055d4f617ea74570)
618
636
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
619
- jsii.set(self, "stacApiLambdaFunction", value)
637
+ jsii.set(self, "stacApiLambdaFunction", value) # pyright: ignore[reportArgumentType]
620
638
 
621
639
 
622
640
  @jsii.data_type(
@@ -636,7 +654,7 @@ class PgStacApiLambdaProps:
636
654
  def __init__(
637
655
  self,
638
656
  *,
639
- db: _aws_cdk_aws_rds_ceddda9d.IDatabaseInstance,
657
+ db: typing.Union[_aws_cdk_aws_rds_ceddda9d.IDatabaseInstance, _aws_cdk_aws_ec2_ceddda9d.IInstance],
640
658
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
641
659
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
642
660
  lambda_function_options: typing.Any = None,
@@ -645,7 +663,7 @@ class PgStacApiLambdaProps:
645
663
  vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
646
664
  ) -> None:
647
665
  '''
648
- :param db: (experimental) RDS Instance with installed pgSTAC.
666
+ :param db: (experimental) RDS Instance with installed pgSTAC or pgbouncer server.
649
667
  :param db_secret: (experimental) Secret containing connection information for pgSTAC database.
650
668
  :param api_env: (experimental) Customized environment variables to send to fastapi-pgstac runtime.
651
669
  :param lambda_function_options: (experimental) Can be used to override the default lambda function properties. Default: - defined in the construct.
@@ -682,14 +700,16 @@ class PgStacApiLambdaProps:
682
700
  self._values["vpc"] = vpc
683
701
 
684
702
  @builtins.property
685
- def db(self) -> _aws_cdk_aws_rds_ceddda9d.IDatabaseInstance:
686
- '''(experimental) RDS Instance with installed pgSTAC.
703
+ def db(
704
+ self,
705
+ ) -> typing.Union[_aws_cdk_aws_rds_ceddda9d.IDatabaseInstance, _aws_cdk_aws_ec2_ceddda9d.IInstance]:
706
+ '''(experimental) RDS Instance with installed pgSTAC or pgbouncer server.
687
707
 
688
708
  :stability: experimental
689
709
  '''
690
710
  result = self._values.get("db")
691
711
  assert result is not None, "Required property 'db' is missing"
692
- return typing.cast(_aws_cdk_aws_rds_ceddda9d.IDatabaseInstance, result)
712
+ return typing.cast(typing.Union[_aws_cdk_aws_rds_ceddda9d.IDatabaseInstance, _aws_cdk_aws_ec2_ceddda9d.IInstance], result)
693
713
 
694
714
  @builtins.property
695
715
  def db_secret(self) -> _aws_cdk_aws_secretsmanager_ceddda9d.ISecret:
@@ -783,6 +803,7 @@ class PgStacDatabase(
783
803
  scope: _constructs_77d1e7e8.Construct,
784
804
  id: builtins.str,
785
805
  *,
806
+ add_pgbouncer: typing.Optional[builtins.bool] = None,
786
807
  bootstrapper_lambda_function_options: typing.Any = None,
787
808
  custom_resource_properties: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
788
809
  pgstac_db_name: typing.Optional[builtins.str] = None,
@@ -845,6 +866,7 @@ class PgStacDatabase(
845
866
  '''
846
867
  :param scope: -
847
868
  :param id: -
869
+ :param add_pgbouncer: (experimental) Add pgbouncer instance for managing traffic to the pgSTAC database. Default: true
848
870
  :param bootstrapper_lambda_function_options: (experimental) Can be used to override the default lambda function properties. Default: - defined in the construct.
849
871
  :param custom_resource_properties: (experimental) Lambda function Custom Resource properties. A custom resource property is going to be created to trigger the boostrapping lambda function. This parameter allows the user to specify additional properties on top of the defaults ones.
850
872
  :param pgstac_db_name: (experimental) Name of database that is to be created and onto which pgSTAC will be installed. Default: pgstac
@@ -911,6 +933,7 @@ class PgStacDatabase(
911
933
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
912
934
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
913
935
  props = PgStacDatabaseProps(
936
+ add_pgbouncer=add_pgbouncer,
914
937
  bootstrapper_lambda_function_options=bootstrapper_lambda_function_options,
915
938
  custom_resource_properties=custom_resource_properties,
916
939
  pgstac_db_name=pgstac_db_name,
@@ -991,6 +1014,26 @@ class PgStacDatabase(
991
1014
  check_type(argname="argument parameters", value=parameters, expected_type=type_hints["parameters"])
992
1015
  return typing.cast(DatabaseParameters, jsii.invoke(self, "getParameters", [instance_type, parameters]))
993
1016
 
1017
+ @builtins.property
1018
+ @jsii.member(jsii_name="connectionTarget")
1019
+ def connection_target(
1020
+ self,
1021
+ ) -> typing.Union[_aws_cdk_aws_ec2_ceddda9d.Instance, _aws_cdk_aws_rds_ceddda9d.IDatabaseInstance]:
1022
+ '''
1023
+ :stability: experimental
1024
+ '''
1025
+ return typing.cast(typing.Union[_aws_cdk_aws_ec2_ceddda9d.Instance, _aws_cdk_aws_rds_ceddda9d.IDatabaseInstance], jsii.get(self, "connectionTarget"))
1026
+
1027
+ @builtins.property
1028
+ @jsii.member(jsii_name="securityGroup")
1029
+ def security_group(
1030
+ self,
1031
+ ) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SecurityGroup]:
1032
+ '''
1033
+ :stability: experimental
1034
+ '''
1035
+ return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SecurityGroup], jsii.get(self, "securityGroup"))
1036
+
994
1037
  @builtins.property
995
1038
  @jsii.member(jsii_name="db")
996
1039
  def db(self) -> _aws_cdk_aws_rds_ceddda9d.DatabaseInstance:
@@ -1004,7 +1047,7 @@ class PgStacDatabase(
1004
1047
  if __debug__:
1005
1048
  type_hints = typing.get_type_hints(_typecheckingstub__9e80f4c7855b52d0a5a598524d2fcdafa861926a45a2af11846d99c3bc6d7d9f)
1006
1049
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1007
- jsii.set(self, "db", value)
1050
+ jsii.set(self, "db", value) # pyright: ignore[reportArgumentType]
1008
1051
 
1009
1052
  @builtins.property
1010
1053
  @jsii.member(jsii_name="pgstacSecret")
@@ -1022,7 +1065,7 @@ class PgStacDatabase(
1022
1065
  if __debug__:
1023
1066
  type_hints = typing.get_type_hints(_typecheckingstub__9d9f4370761bcda923ab4970fe50e71c6c3ac2b30f7238afa86c49b09a8a3414)
1024
1067
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1025
- jsii.set(self, "pgstacSecret", value)
1068
+ jsii.set(self, "pgstacSecret", value) # pyright: ignore[reportArgumentType]
1026
1069
 
1027
1070
 
1028
1071
  @jsii.data_type(
@@ -1082,6 +1125,7 @@ class PgStacDatabase(
1082
1125
  "credentials": "credentials",
1083
1126
  "storage_encrypted": "storageEncrypted",
1084
1127
  "storage_encryption_key": "storageEncryptionKey",
1128
+ "add_pgbouncer": "addPgbouncer",
1085
1129
  "bootstrapper_lambda_function_options": "bootstrapperLambdaFunctionOptions",
1086
1130
  "custom_resource_properties": "customResourceProperties",
1087
1131
  "pgstac_db_name": "pgstacDbName",
@@ -1146,6 +1190,7 @@ class PgStacDatabaseProps(_aws_cdk_aws_rds_ceddda9d.DatabaseInstanceProps):
1146
1190
  credentials: typing.Optional[_aws_cdk_aws_rds_ceddda9d.Credentials] = None,
1147
1191
  storage_encrypted: typing.Optional[builtins.bool] = None,
1148
1192
  storage_encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey] = None,
1193
+ add_pgbouncer: typing.Optional[builtins.bool] = None,
1149
1194
  bootstrapper_lambda_function_options: typing.Any = None,
1150
1195
  custom_resource_properties: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
1151
1196
  pgstac_db_name: typing.Optional[builtins.str] = None,
@@ -1206,6 +1251,7 @@ class PgStacDatabaseProps(_aws_cdk_aws_rds_ceddda9d.DatabaseInstanceProps):
1206
1251
  :param credentials: Credentials for the administrative user. Default: - A username of 'admin' (or 'postgres' for PostgreSQL) and SecretsManager-generated password
1207
1252
  :param storage_encrypted: Indicates whether the DB instance is encrypted. Default: - true if storageEncryptionKey has been provided, false otherwise
1208
1253
  :param storage_encryption_key: The KMS key that's used to encrypt the DB instance. Default: - default master key if storageEncrypted is true, no key otherwise
1254
+ :param add_pgbouncer: (experimental) Add pgbouncer instance for managing traffic to the pgSTAC database. Default: true
1209
1255
  :param bootstrapper_lambda_function_options: (experimental) Can be used to override the default lambda function properties. Default: - defined in the construct.
1210
1256
  :param custom_resource_properties: (experimental) Lambda function Custom Resource properties. A custom resource property is going to be created to trigger the boostrapping lambda function. This parameter allows the user to specify additional properties on top of the defaults ones.
1211
1257
  :param pgstac_db_name: (experimental) Name of database that is to be created and onto which pgSTAC will be installed. Default: pgstac
@@ -1273,6 +1319,7 @@ class PgStacDatabaseProps(_aws_cdk_aws_rds_ceddda9d.DatabaseInstanceProps):
1273
1319
  check_type(argname="argument credentials", value=credentials, expected_type=type_hints["credentials"])
1274
1320
  check_type(argname="argument storage_encrypted", value=storage_encrypted, expected_type=type_hints["storage_encrypted"])
1275
1321
  check_type(argname="argument storage_encryption_key", value=storage_encryption_key, expected_type=type_hints["storage_encryption_key"])
1322
+ check_type(argname="argument add_pgbouncer", value=add_pgbouncer, expected_type=type_hints["add_pgbouncer"])
1276
1323
  check_type(argname="argument bootstrapper_lambda_function_options", value=bootstrapper_lambda_function_options, expected_type=type_hints["bootstrapper_lambda_function_options"])
1277
1324
  check_type(argname="argument custom_resource_properties", value=custom_resource_properties, expected_type=type_hints["custom_resource_properties"])
1278
1325
  check_type(argname="argument pgstac_db_name", value=pgstac_db_name, expected_type=type_hints["pgstac_db_name"])
@@ -1384,6 +1431,8 @@ class PgStacDatabaseProps(_aws_cdk_aws_rds_ceddda9d.DatabaseInstanceProps):
1384
1431
  self._values["storage_encrypted"] = storage_encrypted
1385
1432
  if storage_encryption_key is not None:
1386
1433
  self._values["storage_encryption_key"] = storage_encryption_key
1434
+ if add_pgbouncer is not None:
1435
+ self._values["add_pgbouncer"] = add_pgbouncer
1387
1436
  if bootstrapper_lambda_function_options is not None:
1388
1437
  self._values["bootstrapper_lambda_function_options"] = bootstrapper_lambda_function_options
1389
1438
  if custom_resource_properties is not None:
@@ -1989,6 +2038,17 @@ class PgStacDatabaseProps(_aws_cdk_aws_rds_ceddda9d.DatabaseInstanceProps):
1989
2038
  result = self._values.get("storage_encryption_key")
1990
2039
  return typing.cast(typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey], result)
1991
2040
 
2041
+ @builtins.property
2042
+ def add_pgbouncer(self) -> typing.Optional[builtins.bool]:
2043
+ '''(experimental) Add pgbouncer instance for managing traffic to the pgSTAC database.
2044
+
2045
+ :default: true
2046
+
2047
+ :stability: experimental
2048
+ '''
2049
+ result = self._values.get("add_pgbouncer")
2050
+ return typing.cast(typing.Optional[builtins.bool], result)
2051
+
1992
2052
  @builtins.property
1993
2053
  def bootstrapper_lambda_function_options(self) -> typing.Any:
1994
2054
  '''(experimental) Can be used to override the default lambda function properties.
@@ -2124,7 +2184,7 @@ class StacBrowser(
2124
2184
  if __debug__:
2125
2185
  type_hints = typing.get_type_hints(_typecheckingstub__00ecbe37640c40a466002fc9a172c97cb647a26279e41e5dc86dbc920737dc8a)
2126
2186
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2127
- jsii.set(self, "bucket", value)
2187
+ jsii.set(self, "bucket", value) # pyright: ignore[reportArgumentType]
2128
2188
 
2129
2189
  @builtins.property
2130
2190
  @jsii.member(jsii_name="bucketDeployment")
@@ -2142,7 +2202,7 @@ class StacBrowser(
2142
2202
  if __debug__:
2143
2203
  type_hints = typing.get_type_hints(_typecheckingstub__5411950c935f7f57a7c1a5f8942992db0e8c4ce327c12cb4114649a606e9a498)
2144
2204
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2145
- jsii.set(self, "bucketDeployment", value)
2205
+ jsii.set(self, "bucketDeployment", value) # pyright: ignore[reportArgumentType]
2146
2206
 
2147
2207
 
2148
2208
  @jsii.data_type(
@@ -2382,7 +2442,7 @@ class StacIngestor(
2382
2442
  if __debug__:
2383
2443
  type_hints = typing.get_type_hints(_typecheckingstub__2b2224388f216581da00708bb900b469d6120a2b7c35c035b435af4a41e5183c)
2384
2444
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2385
- jsii.set(self, "handlerRole", value)
2445
+ jsii.set(self, "handlerRole", value) # pyright: ignore[reportArgumentType]
2386
2446
 
2387
2447
  @builtins.property
2388
2448
  @jsii.member(jsii_name="table")
@@ -2397,7 +2457,7 @@ class StacIngestor(
2397
2457
  if __debug__:
2398
2458
  type_hints = typing.get_type_hints(_typecheckingstub__3ed605ecda82e38e548e66cc636258322473a42915619fe32d9d803320dcef5c)
2399
2459
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2400
- jsii.set(self, "table", value)
2460
+ jsii.set(self, "table", value) # pyright: ignore[reportArgumentType]
2401
2461
 
2402
2462
 
2403
2463
  @jsii.data_type(
@@ -2657,7 +2717,7 @@ class TiPgApiLambda(
2657
2717
  scope: _constructs_77d1e7e8.Construct,
2658
2718
  id: builtins.str,
2659
2719
  *,
2660
- db: _aws_cdk_aws_rds_ceddda9d.IDatabaseInstance,
2720
+ db: typing.Union[_aws_cdk_aws_rds_ceddda9d.IDatabaseInstance, _aws_cdk_aws_ec2_ceddda9d.IInstance],
2661
2721
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
2662
2722
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
2663
2723
  lambda_function_options: typing.Any = None,
@@ -2668,7 +2728,7 @@ class TiPgApiLambda(
2668
2728
  '''
2669
2729
  :param scope: -
2670
2730
  :param id: -
2671
- :param db: (experimental) RDS Instance with installed pgSTAC.
2731
+ :param db: (experimental) RDS Instance with installed pgSTAC or pgbouncer server.
2672
2732
  :param db_secret: (experimental) Secret containing connection information for pgSTAC database.
2673
2733
  :param api_env: (experimental) Customized environment variables to send to titiler-pgstac runtime.
2674
2734
  :param lambda_function_options: (experimental) Can be used to override the default lambda function properties. Default: - defined in the construct.
@@ -2718,7 +2778,7 @@ class TiPgApiLambda(
2718
2778
  if __debug__:
2719
2779
  type_hints = typing.get_type_hints(_typecheckingstub__7f908f2b03d8624d502ddfeb6d44ceee686d0eaabfb7aaad570a91b6db90b012)
2720
2780
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2721
- jsii.set(self, "tiPgLambdaFunction", value)
2781
+ jsii.set(self, "tiPgLambdaFunction", value) # pyright: ignore[reportArgumentType]
2722
2782
 
2723
2783
 
2724
2784
  @jsii.data_type(
@@ -2738,7 +2798,7 @@ class TiPgApiLambdaProps:
2738
2798
  def __init__(
2739
2799
  self,
2740
2800
  *,
2741
- db: _aws_cdk_aws_rds_ceddda9d.IDatabaseInstance,
2801
+ db: typing.Union[_aws_cdk_aws_rds_ceddda9d.IDatabaseInstance, _aws_cdk_aws_ec2_ceddda9d.IInstance],
2742
2802
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
2743
2803
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
2744
2804
  lambda_function_options: typing.Any = None,
@@ -2747,7 +2807,7 @@ class TiPgApiLambdaProps:
2747
2807
  vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
2748
2808
  ) -> None:
2749
2809
  '''
2750
- :param db: (experimental) RDS Instance with installed pgSTAC.
2810
+ :param db: (experimental) RDS Instance with installed pgSTAC or pgbouncer server.
2751
2811
  :param db_secret: (experimental) Secret containing connection information for pgSTAC database.
2752
2812
  :param api_env: (experimental) Customized environment variables to send to titiler-pgstac runtime.
2753
2813
  :param lambda_function_options: (experimental) Can be used to override the default lambda function properties. Default: - defined in the construct.
@@ -2784,14 +2844,16 @@ class TiPgApiLambdaProps:
2784
2844
  self._values["vpc"] = vpc
2785
2845
 
2786
2846
  @builtins.property
2787
- def db(self) -> _aws_cdk_aws_rds_ceddda9d.IDatabaseInstance:
2788
- '''(experimental) RDS Instance with installed pgSTAC.
2847
+ def db(
2848
+ self,
2849
+ ) -> typing.Union[_aws_cdk_aws_rds_ceddda9d.IDatabaseInstance, _aws_cdk_aws_ec2_ceddda9d.IInstance]:
2850
+ '''(experimental) RDS Instance with installed pgSTAC or pgbouncer server.
2789
2851
 
2790
2852
  :stability: experimental
2791
2853
  '''
2792
2854
  result = self._values.get("db")
2793
2855
  assert result is not None, "Required property 'db' is missing"
2794
- return typing.cast(_aws_cdk_aws_rds_ceddda9d.IDatabaseInstance, result)
2856
+ return typing.cast(typing.Union[_aws_cdk_aws_rds_ceddda9d.IDatabaseInstance, _aws_cdk_aws_ec2_ceddda9d.IInstance], result)
2795
2857
 
2796
2858
  @builtins.property
2797
2859
  def db_secret(self) -> _aws_cdk_aws_secretsmanager_ceddda9d.ISecret:
@@ -2889,7 +2951,7 @@ class TitilerPgStacApiLambdaProps:
2889
2951
  def __init__(
2890
2952
  self,
2891
2953
  *,
2892
- db: _aws_cdk_aws_rds_ceddda9d.IDatabaseInstance,
2954
+ db: typing.Union[_aws_cdk_aws_rds_ceddda9d.IDatabaseInstance, _aws_cdk_aws_ec2_ceddda9d.IInstance],
2893
2955
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
2894
2956
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
2895
2957
  buckets: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -2899,7 +2961,7 @@ class TitilerPgStacApiLambdaProps:
2899
2961
  vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
2900
2962
  ) -> None:
2901
2963
  '''
2902
- :param db: (experimental) RDS Instance with installed pgSTAC.
2964
+ :param db: (experimental) RDS Instance with installed pgSTAC or pgbouncer server.
2903
2965
  :param db_secret: (experimental) Secret containing connection information for pgSTAC database.
2904
2966
  :param api_env: (experimental) Customized environment variables to send to titiler-pgstac runtime. These will be merged with ``defaultTitilerPgstacEnv``. The database secret arn is automatically added to the environment variables at deployment. /
2905
2967
  :param buckets: (experimental) list of buckets the lambda will be granted access to.
@@ -2940,14 +3002,16 @@ class TitilerPgStacApiLambdaProps:
2940
3002
  self._values["vpc"] = vpc
2941
3003
 
2942
3004
  @builtins.property
2943
- def db(self) -> _aws_cdk_aws_rds_ceddda9d.IDatabaseInstance:
2944
- '''(experimental) RDS Instance with installed pgSTAC.
3005
+ def db(
3006
+ self,
3007
+ ) -> typing.Union[_aws_cdk_aws_rds_ceddda9d.IDatabaseInstance, _aws_cdk_aws_ec2_ceddda9d.IInstance]:
3008
+ '''(experimental) RDS Instance with installed pgSTAC or pgbouncer server.
2945
3009
 
2946
3010
  :stability: experimental
2947
3011
  '''
2948
3012
  result = self._values.get("db")
2949
3013
  assert result is not None, "Required property 'db' is missing"
2950
- return typing.cast(_aws_cdk_aws_rds_ceddda9d.IDatabaseInstance, result)
3014
+ return typing.cast(typing.Union[_aws_cdk_aws_rds_ceddda9d.IDatabaseInstance, _aws_cdk_aws_ec2_ceddda9d.IInstance], result)
2951
3015
 
2952
3016
  @builtins.property
2953
3017
  def db_secret(self) -> _aws_cdk_aws_secretsmanager_ceddda9d.ISecret:
@@ -3051,7 +3115,7 @@ class TitilerPgstacApiLambda(
3051
3115
  scope: _constructs_77d1e7e8.Construct,
3052
3116
  id: builtins.str,
3053
3117
  *,
3054
- db: _aws_cdk_aws_rds_ceddda9d.IDatabaseInstance,
3118
+ db: typing.Union[_aws_cdk_aws_rds_ceddda9d.IDatabaseInstance, _aws_cdk_aws_ec2_ceddda9d.IInstance],
3055
3119
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
3056
3120
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
3057
3121
  buckets: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -3063,7 +3127,7 @@ class TitilerPgstacApiLambda(
3063
3127
  '''
3064
3128
  :param scope: -
3065
3129
  :param id: -
3066
- :param db: (experimental) RDS Instance with installed pgSTAC.
3130
+ :param db: (experimental) RDS Instance with installed pgSTAC or pgbouncer server.
3067
3131
  :param db_secret: (experimental) Secret containing connection information for pgSTAC database.
3068
3132
  :param api_env: (experimental) Customized environment variables to send to titiler-pgstac runtime. These will be merged with ``defaultTitilerPgstacEnv``. The database secret arn is automatically added to the environment variables at deployment. /
3069
3133
  :param buckets: (experimental) list of buckets the lambda will be granted access to.
@@ -3115,7 +3179,7 @@ class TitilerPgstacApiLambda(
3115
3179
  if __debug__:
3116
3180
  type_hints = typing.get_type_hints(_typecheckingstub__1ae429080881692eda11326adbfaae8dacaec10c61b4af3a038e97d46bd181b1)
3117
3181
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3118
- jsii.set(self, "titilerPgstacLambdaFunction", value)
3182
+ jsii.set(self, "titilerPgstacLambdaFunction", value) # pyright: ignore[reportArgumentType]
3119
3183
 
3120
3184
 
3121
3185
  __all__ = [
@@ -3189,7 +3253,7 @@ def _typecheckingstub__001e0940684741a8dcd75ad791003ac3ff1c57fce9c2ee18d768c590e
3189
3253
  scope: _constructs_77d1e7e8.Construct,
3190
3254
  id: builtins.str,
3191
3255
  *,
3192
- db: _aws_cdk_aws_rds_ceddda9d.IDatabaseInstance,
3256
+ db: typing.Union[_aws_cdk_aws_rds_ceddda9d.IDatabaseInstance, _aws_cdk_aws_ec2_ceddda9d.IInstance],
3193
3257
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
3194
3258
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
3195
3259
  lambda_function_options: typing.Any = None,
@@ -3208,7 +3272,7 @@ def _typecheckingstub__d2c3356e9c4fcad6133b4d30c2f7d84fd7701ed6e27781d7055d4f617
3208
3272
 
3209
3273
  def _typecheckingstub__aac048adccce72d79219bafd7e28ffb071969e8f3fa9b9b9048c3ff3355fa171(
3210
3274
  *,
3211
- db: _aws_cdk_aws_rds_ceddda9d.IDatabaseInstance,
3275
+ db: typing.Union[_aws_cdk_aws_rds_ceddda9d.IDatabaseInstance, _aws_cdk_aws_ec2_ceddda9d.IInstance],
3212
3276
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
3213
3277
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
3214
3278
  lambda_function_options: typing.Any = None,
@@ -3223,6 +3287,7 @@ def _typecheckingstub__ee96e62bc19e035f9c50d6fa57ffa87eec4eddea97361cc3013acc300
3223
3287
  scope: _constructs_77d1e7e8.Construct,
3224
3288
  id: builtins.str,
3225
3289
  *,
3290
+ add_pgbouncer: typing.Optional[builtins.bool] = None,
3226
3291
  bootstrapper_lambda_function_options: typing.Any = None,
3227
3292
  custom_resource_properties: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
3228
3293
  pgstac_db_name: typing.Optional[builtins.str] = None,
@@ -3359,6 +3424,7 @@ def _typecheckingstub__258b1c29ccb1e46320eabd0ab87e2a36a78f09de16f1610cc09d0c29f
3359
3424
  credentials: typing.Optional[_aws_cdk_aws_rds_ceddda9d.Credentials] = None,
3360
3425
  storage_encrypted: typing.Optional[builtins.bool] = None,
3361
3426
  storage_encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey] = None,
3427
+ add_pgbouncer: typing.Optional[builtins.bool] = None,
3362
3428
  bootstrapper_lambda_function_options: typing.Any = None,
3363
3429
  custom_resource_properties: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
3364
3430
  pgstac_db_name: typing.Optional[builtins.str] = None,
@@ -3464,7 +3530,7 @@ def _typecheckingstub__0826d8694d7942b670a22c452863755627ab9af4557bb03a20bfd01db
3464
3530
  scope: _constructs_77d1e7e8.Construct,
3465
3531
  id: builtins.str,
3466
3532
  *,
3467
- db: _aws_cdk_aws_rds_ceddda9d.IDatabaseInstance,
3533
+ db: typing.Union[_aws_cdk_aws_rds_ceddda9d.IDatabaseInstance, _aws_cdk_aws_ec2_ceddda9d.IInstance],
3468
3534
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
3469
3535
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
3470
3536
  lambda_function_options: typing.Any = None,
@@ -3483,7 +3549,7 @@ def _typecheckingstub__7f908f2b03d8624d502ddfeb6d44ceee686d0eaabfb7aaad570a91b6d
3483
3549
 
3484
3550
  def _typecheckingstub__8b7b315d993cc5100817e9fa2086872db371adea0c52ddee49864f4b2b7a101d(
3485
3551
  *,
3486
- db: _aws_cdk_aws_rds_ceddda9d.IDatabaseInstance,
3552
+ db: typing.Union[_aws_cdk_aws_rds_ceddda9d.IDatabaseInstance, _aws_cdk_aws_ec2_ceddda9d.IInstance],
3487
3553
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
3488
3554
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
3489
3555
  lambda_function_options: typing.Any = None,
@@ -3496,7 +3562,7 @@ def _typecheckingstub__8b7b315d993cc5100817e9fa2086872db371adea0c52ddee49864f4b2
3496
3562
 
3497
3563
  def _typecheckingstub__a499007b8913fd5d0af1888afd5f32ef824aa7e21bf2b961981da6df009e2b0d(
3498
3564
  *,
3499
- db: _aws_cdk_aws_rds_ceddda9d.IDatabaseInstance,
3565
+ db: typing.Union[_aws_cdk_aws_rds_ceddda9d.IDatabaseInstance, _aws_cdk_aws_ec2_ceddda9d.IInstance],
3500
3566
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
3501
3567
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
3502
3568
  buckets: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -3512,7 +3578,7 @@ def _typecheckingstub__a2b90457bc885f0e9a1addcbc1cfd61c2e0b2bb60bb399d941f3cc877
3512
3578
  scope: _constructs_77d1e7e8.Construct,
3513
3579
  id: builtins.str,
3514
3580
  *,
3515
- db: _aws_cdk_aws_rds_ceddda9d.IDatabaseInstance,
3581
+ db: typing.Union[_aws_cdk_aws_rds_ceddda9d.IDatabaseInstance, _aws_cdk_aws_ec2_ceddda9d.IInstance],
3516
3582
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
3517
3583
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
3518
3584
  buckets: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -0,0 +1,44 @@
1
+ from pkgutil import extend_path
2
+ __path__ = extend_path(__path__, __name__)
3
+
4
+ import abc
5
+ import builtins
6
+ import datetime
7
+ import enum
8
+ import typing
9
+
10
+ import jsii
11
+ import publication
12
+ import typing_extensions
13
+
14
+ import typeguard
15
+ from importlib.metadata import version as _metadata_package_version
16
+ TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
17
+
18
+ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
19
+ if TYPEGUARD_MAJOR_VERSION <= 2:
20
+ return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
21
+ else:
22
+ if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
23
+ pass
24
+ else:
25
+ if TYPEGUARD_MAJOR_VERSION == 3:
26
+ typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
27
+ typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
28
+ else:
29
+ typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
30
+
31
+ import aws_cdk._jsii
32
+ import aws_cdk.aws_apigatewayv2_alpha._jsii
33
+ import aws_cdk.aws_apigatewayv2_integrations_alpha._jsii
34
+ import constructs._jsii
35
+
36
+ __jsii_assembly__ = jsii.JSIIAssembly.load(
37
+ "eoapi-cdk", "7.4.2", __name__[0:-6], "eoapi-cdk@7.4.2.jsii.tgz"
38
+ )
39
+
40
+ __all__ = [
41
+ "__jsii_assembly__",
42
+ ]
43
+
44
+ publication.publish()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: eoapi-cdk
3
- Version: 7.3.0
3
+ Version: 7.4.2
4
4
  Summary: A set of constructs deploying pgSTAC with CDK
5
5
  Home-page: https://github.com/developmentseed/eoapi-cdk.git
6
6
  Author: Anthony Lukach<anthony@developmentseed.org>
@@ -20,6 +20,13 @@ Classifier: License :: OSI Approved
20
20
  Requires-Python: ~=3.8
21
21
  Description-Content-Type: text/markdown
22
22
  License-File: LICENSE
23
+ Requires-Dist: aws-cdk-lib==2.130.0
24
+ Requires-Dist: aws-cdk.aws-apigatewayv2-alpha==2.114.1.a0
25
+ Requires-Dist: aws-cdk.aws-apigatewayv2-integrations-alpha==2.114.1.a0
26
+ Requires-Dist: constructs==10.3.0
27
+ Requires-Dist: jsii<2.0.0,>=1.106.0
28
+ Requires-Dist: publication>=0.0.3
29
+ Requires-Dist: typeguard<4.3.0,>=2.13.3
23
30
 
24
31
  # eoAPI CDK Constructs
25
32
 
@@ -11,4 +11,4 @@ src/eoapi_cdk.egg-info/dependency_links.txt
11
11
  src/eoapi_cdk.egg-info/requires.txt
12
12
  src/eoapi_cdk.egg-info/top_level.txt
13
13
  src/eoapi_cdk/_jsii/__init__.py
14
- src/eoapi_cdk/_jsii/eoapi-cdk@7.3.0.jsii.tgz
14
+ src/eoapi_cdk/_jsii/eoapi-cdk@7.4.2.jsii.tgz
@@ -2,6 +2,6 @@ aws-cdk-lib==2.130.0
2
2
  aws-cdk.aws-apigatewayv2-alpha==2.114.1.a0
3
3
  aws-cdk.aws-apigatewayv2-integrations-alpha==2.114.1.a0
4
4
  constructs==10.3.0
5
- jsii<2.0.0,>=1.94.0
5
+ jsii<2.0.0,>=1.106.0
6
6
  publication>=0.0.3
7
- typeguard~=2.13.3
7
+ typeguard<4.3.0,>=2.13.3
@@ -1,26 +0,0 @@
1
- import abc
2
- import builtins
3
- import datetime
4
- import enum
5
- import typing
6
-
7
- import jsii
8
- import publication
9
- import typing_extensions
10
-
11
- from typeguard import check_type
12
-
13
- import aws_cdk._jsii
14
- import aws_cdk.aws_apigatewayv2_alpha._jsii
15
- import aws_cdk.aws_apigatewayv2_integrations_alpha._jsii
16
- import constructs._jsii
17
-
18
- __jsii_assembly__ = jsii.JSIIAssembly.load(
19
- "eoapi-cdk", "7.3.0", __name__[0:-6], "eoapi-cdk@7.3.0.jsii.tgz"
20
- )
21
-
22
- __all__ = [
23
- "__jsii_assembly__",
24
- ]
25
-
26
- publication.publish()
File without changes
File without changes
File without changes
File without changes