eoapi-cdk 10.2.4__tar.gz → 10.3.0__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: 10.2.4
3
+ Version: 10.3.0
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>
@@ -10,19 +10,18 @@ Classifier: Intended Audience :: Developers
10
10
  Classifier: Operating System :: OS Independent
11
11
  Classifier: Programming Language :: JavaScript
12
12
  Classifier: Programming Language :: Python :: 3 :: Only
13
- Classifier: Programming Language :: Python :: 3.8
14
13
  Classifier: Programming Language :: Python :: 3.9
15
14
  Classifier: Programming Language :: Python :: 3.10
16
15
  Classifier: Programming Language :: Python :: 3.11
17
16
  Classifier: Typing :: Typed
18
17
  Classifier: Development Status :: 4 - Beta
19
18
  Classifier: License :: OSI Approved
20
- Requires-Python: ~=3.8
19
+ Requires-Python: ~=3.9
21
20
  Description-Content-Type: text/markdown
22
21
  License-File: LICENSE
23
22
  Requires-Dist: aws-cdk-lib<3.0.0,>=2.190.0
24
- Requires-Dist: constructs<11.0.0,>=10.3.0
25
- Requires-Dist: jsii<2.0.0,>=1.106.0
23
+ Requires-Dist: constructs<11.0.0,>=10.4.2
24
+ Requires-Dist: jsii<2.0.0,>=1.114.1
26
25
  Requires-Dist: publication>=0.0.3
27
26
  Requires-Dist: typeguard<4.3.0,>=2.13.3
28
27
 
@@ -1,9 +1,9 @@
1
1
  [build-system]
2
- requires = ["setuptools~=70.0.0", "wheel~=0.42"]
2
+ requires = ["setuptools~=75.3.2", "build~=1.3.0"]
3
3
  build-backend = "setuptools.build_meta"
4
4
 
5
5
  [tool.pyright]
6
6
  defineConstant = { DEBUG = true }
7
- pythonVersion = "3.8"
7
+ pythonVersion = "3.9"
8
8
  pythonPlatform = "All"
9
9
  reportSelfClsParameterName = false
@@ -5,7 +5,7 @@ kwargs = json.loads(
5
5
  """
6
6
  {
7
7
  "name": "eoapi-cdk",
8
- "version": "10.2.4",
8
+ "version": "10.3.0",
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,17 +26,17 @@ kwargs = json.loads(
26
26
  ],
27
27
  "package_data": {
28
28
  "eoapi_cdk._jsii": [
29
- "eoapi-cdk@10.2.4.jsii.tgz"
29
+ "eoapi-cdk@10.3.0.jsii.tgz"
30
30
  ],
31
31
  "eoapi_cdk": [
32
32
  "py.typed"
33
33
  ]
34
34
  },
35
- "python_requires": "~=3.8",
35
+ "python_requires": "~=3.9",
36
36
  "install_requires": [
37
37
  "aws-cdk-lib>=2.190.0, <3.0.0",
38
- "constructs>=10.3.0, <11.0.0",
39
- "jsii>=1.106.0, <2.0.0",
38
+ "constructs>=10.4.2, <11.0.0",
39
+ "jsii>=1.114.1, <2.0.0",
40
40
  "publication>=0.0.3",
41
41
  "typeguard>=2.13.3,<4.3.0"
42
42
  ],
@@ -45,7 +45,6 @@ kwargs = json.loads(
45
45
  "Operating System :: OS Independent",
46
46
  "Programming Language :: JavaScript",
47
47
  "Programming Language :: Python :: 3 :: Only",
48
- "Programming Language :: Python :: 3.8",
49
48
  "Programming Language :: Python :: 3.9",
50
49
  "Programming Language :: Python :: 3.10",
51
50
  "Programming Language :: Python :: 3.11",
@@ -581,7 +581,7 @@ class LambdaApiGateway(
581
581
  scope: _constructs_77d1e7e8.Construct,
582
582
  id: builtins.str,
583
583
  *,
584
- lambda_function: _aws_cdk_aws_lambda_ceddda9d.Function,
584
+ lambda_function: typing.Union[_aws_cdk_aws_lambda_ceddda9d.Function, _aws_cdk_aws_lambda_ceddda9d.Version],
585
585
  api_name: typing.Optional[builtins.str] = None,
586
586
  domain_name: typing.Optional[_aws_cdk_aws_apigatewayv2_ceddda9d.IDomainName] = None,
587
587
  ) -> None:
@@ -626,7 +626,7 @@ class LambdaApiGatewayProps:
626
626
  def __init__(
627
627
  self,
628
628
  *,
629
- lambda_function: _aws_cdk_aws_lambda_ceddda9d.Function,
629
+ lambda_function: typing.Union[_aws_cdk_aws_lambda_ceddda9d.Function, _aws_cdk_aws_lambda_ceddda9d.Version],
630
630
  api_name: typing.Optional[builtins.str] = None,
631
631
  domain_name: typing.Optional[_aws_cdk_aws_apigatewayv2_ceddda9d.IDomainName] = None,
632
632
  ) -> None:
@@ -651,14 +651,16 @@ class LambdaApiGatewayProps:
651
651
  self._values["domain_name"] = domain_name
652
652
 
653
653
  @builtins.property
654
- def lambda_function(self) -> _aws_cdk_aws_lambda_ceddda9d.Function:
654
+ def lambda_function(
655
+ self,
656
+ ) -> typing.Union[_aws_cdk_aws_lambda_ceddda9d.Function, _aws_cdk_aws_lambda_ceddda9d.Version]:
655
657
  '''(experimental) Lambda function to integrate with the API Gateway.
656
658
 
657
659
  :stability: experimental
658
660
  '''
659
661
  result = self._values.get("lambda_function")
660
662
  assert result is not None, "Required property 'lambda_function' is missing"
661
- return typing.cast(_aws_cdk_aws_lambda_ceddda9d.Function, result)
663
+ return typing.cast(typing.Union[_aws_cdk_aws_lambda_ceddda9d.Function, _aws_cdk_aws_lambda_ceddda9d.Version], result)
662
664
 
663
665
  @builtins.property
664
666
  def api_name(self) -> typing.Optional[builtins.str]:
@@ -717,6 +719,7 @@ class PgStacApiLambda(
717
719
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
718
720
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
719
721
  enabled_extensions: typing.Optional[typing.Sequence[builtins.str]] = None,
722
+ enable_snap_start: typing.Optional[builtins.bool] = None,
720
723
  lambda_function_options: typing.Any = None,
721
724
  subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
722
725
  vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
@@ -730,6 +733,7 @@ class PgStacApiLambda(
730
733
  :param db_secret: (experimental) Secret containing connection information for pgSTAC database.
731
734
  :param api_env: (experimental) Customized environment variables to send to fastapi-pgstac runtime.
732
735
  :param enabled_extensions: (experimental) List of STAC API extensions to enable. Default: - query, sort, fields, filter, free_text, pagination, collection_search
736
+ :param enable_snap_start: (experimental) Enable SnapStart to reduce cold start latency. SnapStart creates a snapshot of the initialized Lambda function, allowing new instances to start from this pre-initialized state instead of starting from scratch. Benefits: - Significantly reduces cold start times (typically 10x faster) - Improves API response time for infrequent requests Considerations: - Additional cost: charges for snapshot storage and restore operations - Requires Lambda versioning (automatically configured by this construct) - Database connections are recreated on restore using snapshot lifecycle hooks Default: false
733
737
  :param lambda_function_options: (experimental) Can be used to override the default lambda function properties. Default: - defined in the construct.
734
738
  :param subnet_selection: (experimental) Subnet into which the lambda should be deployed.
735
739
  :param vpc: (experimental) VPC into which the lambda should be deployed.
@@ -747,6 +751,7 @@ class PgStacApiLambda(
747
751
  db_secret=db_secret,
748
752
  api_env=api_env,
749
753
  enabled_extensions=enabled_extensions,
754
+ enable_snap_start=enable_snap_start,
750
755
  lambda_function_options=lambda_function_options,
751
756
  subnet_selection=subnet_selection,
752
757
  vpc=vpc,
@@ -811,6 +816,7 @@ class PgStacApiLambdaRuntime(
811
816
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
812
817
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
813
818
  enabled_extensions: typing.Optional[typing.Sequence[builtins.str]] = None,
819
+ enable_snap_start: typing.Optional[builtins.bool] = None,
814
820
  lambda_function_options: typing.Any = None,
815
821
  subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
816
822
  vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
@@ -822,6 +828,7 @@ class PgStacApiLambdaRuntime(
822
828
  :param db_secret: (experimental) Secret containing connection information for pgSTAC database.
823
829
  :param api_env: (experimental) Customized environment variables to send to fastapi-pgstac runtime.
824
830
  :param enabled_extensions: (experimental) List of STAC API extensions to enable. Default: - query, sort, fields, filter, free_text, pagination, collection_search
831
+ :param enable_snap_start: (experimental) Enable SnapStart to reduce cold start latency. SnapStart creates a snapshot of the initialized Lambda function, allowing new instances to start from this pre-initialized state instead of starting from scratch. Benefits: - Significantly reduces cold start times (typically 10x faster) - Improves API response time for infrequent requests Considerations: - Additional cost: charges for snapshot storage and restore operations - Requires Lambda versioning (automatically configured by this construct) - Database connections are recreated on restore using snapshot lifecycle hooks Default: false
825
832
  :param lambda_function_options: (experimental) Can be used to override the default lambda function properties. Default: - defined in the construct.
826
833
  :param subnet_selection: (experimental) Subnet into which the lambda should be deployed.
827
834
  :param vpc: (experimental) VPC into which the lambda should be deployed.
@@ -837,6 +844,7 @@ class PgStacApiLambdaRuntime(
837
844
  db_secret=db_secret,
838
845
  api_env=api_env,
839
846
  enabled_extensions=enabled_extensions,
847
+ enable_snap_start=enable_snap_start,
840
848
  lambda_function_options=lambda_function_options,
841
849
  subnet_selection=subnet_selection,
842
850
  vpc=vpc,
@@ -861,6 +869,7 @@ class PgStacApiLambdaRuntime(
861
869
  "db_secret": "dbSecret",
862
870
  "api_env": "apiEnv",
863
871
  "enabled_extensions": "enabledExtensions",
872
+ "enable_snap_start": "enableSnapStart",
864
873
  "lambda_function_options": "lambdaFunctionOptions",
865
874
  "subnet_selection": "subnetSelection",
866
875
  "vpc": "vpc",
@@ -874,6 +883,7 @@ class PgStacApiLambdaRuntimeProps:
874
883
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
875
884
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
876
885
  enabled_extensions: typing.Optional[typing.Sequence[builtins.str]] = None,
886
+ enable_snap_start: typing.Optional[builtins.bool] = None,
877
887
  lambda_function_options: typing.Any = None,
878
888
  subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
879
889
  vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
@@ -883,6 +893,7 @@ class PgStacApiLambdaRuntimeProps:
883
893
  :param db_secret: (experimental) Secret containing connection information for pgSTAC database.
884
894
  :param api_env: (experimental) Customized environment variables to send to fastapi-pgstac runtime.
885
895
  :param enabled_extensions: (experimental) List of STAC API extensions to enable. Default: - query, sort, fields, filter, free_text, pagination, collection_search
896
+ :param enable_snap_start: (experimental) Enable SnapStart to reduce cold start latency. SnapStart creates a snapshot of the initialized Lambda function, allowing new instances to start from this pre-initialized state instead of starting from scratch. Benefits: - Significantly reduces cold start times (typically 10x faster) - Improves API response time for infrequent requests Considerations: - Additional cost: charges for snapshot storage and restore operations - Requires Lambda versioning (automatically configured by this construct) - Database connections are recreated on restore using snapshot lifecycle hooks Default: false
886
897
  :param lambda_function_options: (experimental) Can be used to override the default lambda function properties. Default: - defined in the construct.
887
898
  :param subnet_selection: (experimental) Subnet into which the lambda should be deployed.
888
899
  :param vpc: (experimental) VPC into which the lambda should be deployed.
@@ -897,6 +908,7 @@ class PgStacApiLambdaRuntimeProps:
897
908
  check_type(argname="argument db_secret", value=db_secret, expected_type=type_hints["db_secret"])
898
909
  check_type(argname="argument api_env", value=api_env, expected_type=type_hints["api_env"])
899
910
  check_type(argname="argument enabled_extensions", value=enabled_extensions, expected_type=type_hints["enabled_extensions"])
911
+ check_type(argname="argument enable_snap_start", value=enable_snap_start, expected_type=type_hints["enable_snap_start"])
900
912
  check_type(argname="argument lambda_function_options", value=lambda_function_options, expected_type=type_hints["lambda_function_options"])
901
913
  check_type(argname="argument subnet_selection", value=subnet_selection, expected_type=type_hints["subnet_selection"])
902
914
  check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
@@ -908,6 +920,8 @@ class PgStacApiLambdaRuntimeProps:
908
920
  self._values["api_env"] = api_env
909
921
  if enabled_extensions is not None:
910
922
  self._values["enabled_extensions"] = enabled_extensions
923
+ if enable_snap_start is not None:
924
+ self._values["enable_snap_start"] = enable_snap_start
911
925
  if lambda_function_options is not None:
912
926
  self._values["lambda_function_options"] = lambda_function_options
913
927
  if subnet_selection is not None:
@@ -957,6 +971,32 @@ class PgStacApiLambdaRuntimeProps:
957
971
  result = self._values.get("enabled_extensions")
958
972
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
959
973
 
974
+ @builtins.property
975
+ def enable_snap_start(self) -> typing.Optional[builtins.bool]:
976
+ '''(experimental) Enable SnapStart to reduce cold start latency.
977
+
978
+ SnapStart creates a snapshot of the initialized Lambda function, allowing new instances
979
+ to start from this pre-initialized state instead of starting from scratch.
980
+
981
+ Benefits:
982
+
983
+ - Significantly reduces cold start times (typically 10x faster)
984
+ - Improves API response time for infrequent requests
985
+
986
+ Considerations:
987
+
988
+ - Additional cost: charges for snapshot storage and restore operations
989
+ - Requires Lambda versioning (automatically configured by this construct)
990
+ - Database connections are recreated on restore using snapshot lifecycle hooks
991
+
992
+ :default: false
993
+
994
+ :see: https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html
995
+ :stability: experimental
996
+ '''
997
+ result = self._values.get("enable_snap_start")
998
+ return typing.cast(typing.Optional[builtins.bool], result)
999
+
960
1000
  @builtins.property
961
1001
  def lambda_function_options(self) -> typing.Any:
962
1002
  '''(experimental) Can be used to override the default lambda function properties.
@@ -4735,6 +4775,7 @@ class TiPgApiLambda(
4735
4775
  db: typing.Union[_aws_cdk_aws_rds_ceddda9d.IDatabaseInstance, _aws_cdk_aws_ec2_ceddda9d.IInstance],
4736
4776
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
4737
4777
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4778
+ enable_snap_start: typing.Optional[builtins.bool] = None,
4738
4779
  lambda_function_options: typing.Any = None,
4739
4780
  subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
4740
4781
  vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
@@ -4747,6 +4788,7 @@ class TiPgApiLambda(
4747
4788
  :param db: (experimental) RDS Instance with installed pgSTAC or pgbouncer server.
4748
4789
  :param db_secret: (experimental) Secret containing connection information for pgSTAC database.
4749
4790
  :param api_env: (experimental) Customized environment variables to send to titiler-pgstac runtime.
4791
+ :param enable_snap_start: (experimental) Enable SnapStart to reduce cold start latency. SnapStart creates a snapshot of the initialized Lambda function, allowing new instances to start from this pre-initialized state instead of starting from scratch. Benefits: - Significantly reduces cold start times (typically 10x faster) - Improves API response time for infrequent requests Considerations: - Additional cost: charges for snapshot storage and restore operations - Requires Lambda versioning (automatically configured by this construct) - Database connections are recreated on restore using snapshot lifecycle hooks Default: false
4750
4792
  :param lambda_function_options: (experimental) Can be used to override the default lambda function properties. Default: - defined in the construct.
4751
4793
  :param subnet_selection: (experimental) Subnet into which the lambda should be deployed.
4752
4794
  :param vpc: (experimental) VPC into which the lambda should be deployed.
@@ -4763,6 +4805,7 @@ class TiPgApiLambda(
4763
4805
  db=db,
4764
4806
  db_secret=db_secret,
4765
4807
  api_env=api_env,
4808
+ enable_snap_start=enable_snap_start,
4766
4809
  lambda_function_options=lambda_function_options,
4767
4810
  subnet_selection=subnet_selection,
4768
4811
  vpc=vpc,
@@ -4826,6 +4869,7 @@ class TiPgApiLambdaRuntime(
4826
4869
  db: typing.Union[_aws_cdk_aws_rds_ceddda9d.IDatabaseInstance, _aws_cdk_aws_ec2_ceddda9d.IInstance],
4827
4870
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
4828
4871
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4872
+ enable_snap_start: typing.Optional[builtins.bool] = None,
4829
4873
  lambda_function_options: typing.Any = None,
4830
4874
  subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
4831
4875
  vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
@@ -4836,6 +4880,7 @@ class TiPgApiLambdaRuntime(
4836
4880
  :param db: (experimental) RDS Instance with installed pgSTAC or pgbouncer server.
4837
4881
  :param db_secret: (experimental) Secret containing connection information for pgSTAC database.
4838
4882
  :param api_env: (experimental) Customized environment variables to send to titiler-pgstac runtime.
4883
+ :param enable_snap_start: (experimental) Enable SnapStart to reduce cold start latency. SnapStart creates a snapshot of the initialized Lambda function, allowing new instances to start from this pre-initialized state instead of starting from scratch. Benefits: - Significantly reduces cold start times (typically 10x faster) - Improves API response time for infrequent requests Considerations: - Additional cost: charges for snapshot storage and restore operations - Requires Lambda versioning (automatically configured by this construct) - Database connections are recreated on restore using snapshot lifecycle hooks Default: false
4839
4884
  :param lambda_function_options: (experimental) Can be used to override the default lambda function properties. Default: - defined in the construct.
4840
4885
  :param subnet_selection: (experimental) Subnet into which the lambda should be deployed.
4841
4886
  :param vpc: (experimental) VPC into which the lambda should be deployed.
@@ -4850,6 +4895,7 @@ class TiPgApiLambdaRuntime(
4850
4895
  db=db,
4851
4896
  db_secret=db_secret,
4852
4897
  api_env=api_env,
4898
+ enable_snap_start=enable_snap_start,
4853
4899
  lambda_function_options=lambda_function_options,
4854
4900
  subnet_selection=subnet_selection,
4855
4901
  vpc=vpc,
@@ -4873,6 +4919,7 @@ class TiPgApiLambdaRuntime(
4873
4919
  "db": "db",
4874
4920
  "db_secret": "dbSecret",
4875
4921
  "api_env": "apiEnv",
4922
+ "enable_snap_start": "enableSnapStart",
4876
4923
  "lambda_function_options": "lambdaFunctionOptions",
4877
4924
  "subnet_selection": "subnetSelection",
4878
4925
  "vpc": "vpc",
@@ -4885,6 +4932,7 @@ class TiPgApiLambdaRuntimeProps:
4885
4932
  db: typing.Union[_aws_cdk_aws_rds_ceddda9d.IDatabaseInstance, _aws_cdk_aws_ec2_ceddda9d.IInstance],
4886
4933
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
4887
4934
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4935
+ enable_snap_start: typing.Optional[builtins.bool] = None,
4888
4936
  lambda_function_options: typing.Any = None,
4889
4937
  subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
4890
4938
  vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
@@ -4893,6 +4941,7 @@ class TiPgApiLambdaRuntimeProps:
4893
4941
  :param db: (experimental) RDS Instance with installed pgSTAC or pgbouncer server.
4894
4942
  :param db_secret: (experimental) Secret containing connection information for pgSTAC database.
4895
4943
  :param api_env: (experimental) Customized environment variables to send to titiler-pgstac runtime.
4944
+ :param enable_snap_start: (experimental) Enable SnapStart to reduce cold start latency. SnapStart creates a snapshot of the initialized Lambda function, allowing new instances to start from this pre-initialized state instead of starting from scratch. Benefits: - Significantly reduces cold start times (typically 10x faster) - Improves API response time for infrequent requests Considerations: - Additional cost: charges for snapshot storage and restore operations - Requires Lambda versioning (automatically configured by this construct) - Database connections are recreated on restore using snapshot lifecycle hooks Default: false
4896
4945
  :param lambda_function_options: (experimental) Can be used to override the default lambda function properties. Default: - defined in the construct.
4897
4946
  :param subnet_selection: (experimental) Subnet into which the lambda should be deployed.
4898
4947
  :param vpc: (experimental) VPC into which the lambda should be deployed.
@@ -4906,6 +4955,7 @@ class TiPgApiLambdaRuntimeProps:
4906
4955
  check_type(argname="argument db", value=db, expected_type=type_hints["db"])
4907
4956
  check_type(argname="argument db_secret", value=db_secret, expected_type=type_hints["db_secret"])
4908
4957
  check_type(argname="argument api_env", value=api_env, expected_type=type_hints["api_env"])
4958
+ check_type(argname="argument enable_snap_start", value=enable_snap_start, expected_type=type_hints["enable_snap_start"])
4909
4959
  check_type(argname="argument lambda_function_options", value=lambda_function_options, expected_type=type_hints["lambda_function_options"])
4910
4960
  check_type(argname="argument subnet_selection", value=subnet_selection, expected_type=type_hints["subnet_selection"])
4911
4961
  check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
@@ -4915,6 +4965,8 @@ class TiPgApiLambdaRuntimeProps:
4915
4965
  }
4916
4966
  if api_env is not None:
4917
4967
  self._values["api_env"] = api_env
4968
+ if enable_snap_start is not None:
4969
+ self._values["enable_snap_start"] = enable_snap_start
4918
4970
  if lambda_function_options is not None:
4919
4971
  self._values["lambda_function_options"] = lambda_function_options
4920
4972
  if subnet_selection is not None:
@@ -4953,6 +5005,32 @@ class TiPgApiLambdaRuntimeProps:
4953
5005
  result = self._values.get("api_env")
4954
5006
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
4955
5007
 
5008
+ @builtins.property
5009
+ def enable_snap_start(self) -> typing.Optional[builtins.bool]:
5010
+ '''(experimental) Enable SnapStart to reduce cold start latency.
5011
+
5012
+ SnapStart creates a snapshot of the initialized Lambda function, allowing new instances
5013
+ to start from this pre-initialized state instead of starting from scratch.
5014
+
5015
+ Benefits:
5016
+
5017
+ - Significantly reduces cold start times (typically 10x faster)
5018
+ - Improves API response time for infrequent requests
5019
+
5020
+ Considerations:
5021
+
5022
+ - Additional cost: charges for snapshot storage and restore operations
5023
+ - Requires Lambda versioning (automatically configured by this construct)
5024
+ - Database connections are recreated on restore using snapshot lifecycle hooks
5025
+
5026
+ :default: false
5027
+
5028
+ :see: https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html
5029
+ :stability: experimental
5030
+ '''
5031
+ result = self._values.get("enable_snap_start")
5032
+ return typing.cast(typing.Optional[builtins.bool], result)
5033
+
4956
5034
  @builtins.property
4957
5035
  def lambda_function_options(self) -> typing.Any:
4958
5036
  '''(experimental) Can be used to override the default lambda function properties.
@@ -5016,6 +5094,7 @@ class TitilerPgstacApiLambda(
5016
5094
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
5017
5095
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
5018
5096
  buckets: typing.Optional[typing.Sequence[builtins.str]] = None,
5097
+ enable_snap_start: typing.Optional[builtins.bool] = None,
5019
5098
  lambda_function_options: typing.Any = None,
5020
5099
  subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
5021
5100
  vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
@@ -5029,6 +5108,7 @@ class TitilerPgstacApiLambda(
5029
5108
  :param db_secret: (experimental) Secret containing connection information for pgSTAC database.
5030
5109
  :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.
5031
5110
  :param buckets: (experimental) list of buckets the lambda will be granted access to.
5111
+ :param enable_snap_start: (experimental) Enable SnapStart to reduce cold start latency. SnapStart creates a snapshot of the initialized Lambda function, allowing new instances to start from this pre-initialized state instead of starting from scratch. Benefits: - Significantly reduces cold start times (typically 10x faster) - Improves API response time for infrequent requests Considerations: - Additional cost: charges for snapshot storage and restore operations - Requires Lambda versioning (automatically configured by this construct) - Database connections are recreated on restore using snapshot lifecycle hooks Default: false
5032
5112
  :param lambda_function_options: (experimental) Can be used to override the default lambda function properties. Default: - defined in the construct.
5033
5113
  :param subnet_selection: (experimental) Subnet into which the lambda should be deployed.
5034
5114
  :param vpc: (experimental) VPC into which the lambda should be deployed.
@@ -5046,6 +5126,7 @@ class TitilerPgstacApiLambda(
5046
5126
  db_secret=db_secret,
5047
5127
  api_env=api_env,
5048
5128
  buckets=buckets,
5129
+ enable_snap_start=enable_snap_start,
5049
5130
  lambda_function_options=lambda_function_options,
5050
5131
  subnet_selection=subnet_selection,
5051
5132
  vpc=vpc,
@@ -5110,6 +5191,7 @@ class TitilerPgstacApiLambdaRuntime(
5110
5191
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
5111
5192
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
5112
5193
  buckets: typing.Optional[typing.Sequence[builtins.str]] = None,
5194
+ enable_snap_start: typing.Optional[builtins.bool] = None,
5113
5195
  lambda_function_options: typing.Any = None,
5114
5196
  subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
5115
5197
  vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
@@ -5121,6 +5203,7 @@ class TitilerPgstacApiLambdaRuntime(
5121
5203
  :param db_secret: (experimental) Secret containing connection information for pgSTAC database.
5122
5204
  :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.
5123
5205
  :param buckets: (experimental) list of buckets the lambda will be granted access to.
5206
+ :param enable_snap_start: (experimental) Enable SnapStart to reduce cold start latency. SnapStart creates a snapshot of the initialized Lambda function, allowing new instances to start from this pre-initialized state instead of starting from scratch. Benefits: - Significantly reduces cold start times (typically 10x faster) - Improves API response time for infrequent requests Considerations: - Additional cost: charges for snapshot storage and restore operations - Requires Lambda versioning (automatically configured by this construct) - Database connections are recreated on restore using snapshot lifecycle hooks Default: false
5124
5207
  :param lambda_function_options: (experimental) Can be used to override the default lambda function properties. Default: - defined in the construct.
5125
5208
  :param subnet_selection: (experimental) Subnet into which the lambda should be deployed.
5126
5209
  :param vpc: (experimental) VPC into which the lambda should be deployed.
@@ -5136,6 +5219,7 @@ class TitilerPgstacApiLambdaRuntime(
5136
5219
  db_secret=db_secret,
5137
5220
  api_env=api_env,
5138
5221
  buckets=buckets,
5222
+ enable_snap_start=enable_snap_start,
5139
5223
  lambda_function_options=lambda_function_options,
5140
5224
  subnet_selection=subnet_selection,
5141
5225
  vpc=vpc,
@@ -5160,6 +5244,7 @@ class TitilerPgstacApiLambdaRuntime(
5160
5244
  "db_secret": "dbSecret",
5161
5245
  "api_env": "apiEnv",
5162
5246
  "buckets": "buckets",
5247
+ "enable_snap_start": "enableSnapStart",
5163
5248
  "lambda_function_options": "lambdaFunctionOptions",
5164
5249
  "subnet_selection": "subnetSelection",
5165
5250
  "vpc": "vpc",
@@ -5173,6 +5258,7 @@ class TitilerPgstacApiLambdaRuntimeProps:
5173
5258
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
5174
5259
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
5175
5260
  buckets: typing.Optional[typing.Sequence[builtins.str]] = None,
5261
+ enable_snap_start: typing.Optional[builtins.bool] = None,
5176
5262
  lambda_function_options: typing.Any = None,
5177
5263
  subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
5178
5264
  vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
@@ -5182,6 +5268,7 @@ class TitilerPgstacApiLambdaRuntimeProps:
5182
5268
  :param db_secret: (experimental) Secret containing connection information for pgSTAC database.
5183
5269
  :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.
5184
5270
  :param buckets: (experimental) list of buckets the lambda will be granted access to.
5271
+ :param enable_snap_start: (experimental) Enable SnapStart to reduce cold start latency. SnapStart creates a snapshot of the initialized Lambda function, allowing new instances to start from this pre-initialized state instead of starting from scratch. Benefits: - Significantly reduces cold start times (typically 10x faster) - Improves API response time for infrequent requests Considerations: - Additional cost: charges for snapshot storage and restore operations - Requires Lambda versioning (automatically configured by this construct) - Database connections are recreated on restore using snapshot lifecycle hooks Default: false
5185
5272
  :param lambda_function_options: (experimental) Can be used to override the default lambda function properties. Default: - defined in the construct.
5186
5273
  :param subnet_selection: (experimental) Subnet into which the lambda should be deployed.
5187
5274
  :param vpc: (experimental) VPC into which the lambda should be deployed.
@@ -5196,6 +5283,7 @@ class TitilerPgstacApiLambdaRuntimeProps:
5196
5283
  check_type(argname="argument db_secret", value=db_secret, expected_type=type_hints["db_secret"])
5197
5284
  check_type(argname="argument api_env", value=api_env, expected_type=type_hints["api_env"])
5198
5285
  check_type(argname="argument buckets", value=buckets, expected_type=type_hints["buckets"])
5286
+ check_type(argname="argument enable_snap_start", value=enable_snap_start, expected_type=type_hints["enable_snap_start"])
5199
5287
  check_type(argname="argument lambda_function_options", value=lambda_function_options, expected_type=type_hints["lambda_function_options"])
5200
5288
  check_type(argname="argument subnet_selection", value=subnet_selection, expected_type=type_hints["subnet_selection"])
5201
5289
  check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
@@ -5207,6 +5295,8 @@ class TitilerPgstacApiLambdaRuntimeProps:
5207
5295
  self._values["api_env"] = api_env
5208
5296
  if buckets is not None:
5209
5297
  self._values["buckets"] = buckets
5298
+ if enable_snap_start is not None:
5299
+ self._values["enable_snap_start"] = enable_snap_start
5210
5300
  if lambda_function_options is not None:
5211
5301
  self._values["lambda_function_options"] = lambda_function_options
5212
5302
  if subnet_selection is not None:
@@ -5257,6 +5347,32 @@ class TitilerPgstacApiLambdaRuntimeProps:
5257
5347
  result = self._values.get("buckets")
5258
5348
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
5259
5349
 
5350
+ @builtins.property
5351
+ def enable_snap_start(self) -> typing.Optional[builtins.bool]:
5352
+ '''(experimental) Enable SnapStart to reduce cold start latency.
5353
+
5354
+ SnapStart creates a snapshot of the initialized Lambda function, allowing new instances
5355
+ to start from this pre-initialized state instead of starting from scratch.
5356
+
5357
+ Benefits:
5358
+
5359
+ - Significantly reduces cold start times (typically 10x faster)
5360
+ - Improves API response time for infrequent requests
5361
+
5362
+ Considerations:
5363
+
5364
+ - Additional cost: charges for snapshot storage and restore operations
5365
+ - Requires Lambda versioning (automatically configured by this construct)
5366
+ - Database connections are recreated on restore using snapshot lifecycle hooks
5367
+
5368
+ :default: false
5369
+
5370
+ :see: https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html
5371
+ :stability: experimental
5372
+ '''
5373
+ result = self._values.get("enable_snap_start")
5374
+ return typing.cast(typing.Optional[builtins.bool], result)
5375
+
5260
5376
  @builtins.property
5261
5377
  def lambda_function_options(self) -> typing.Any:
5262
5378
  '''(experimental) Can be used to override the default lambda function properties.
@@ -5308,6 +5424,7 @@ class TitilerPgstacApiLambdaRuntimeProps:
5308
5424
  "db_secret": "dbSecret",
5309
5425
  "api_env": "apiEnv",
5310
5426
  "enabled_extensions": "enabledExtensions",
5427
+ "enable_snap_start": "enableSnapStart",
5311
5428
  "lambda_function_options": "lambdaFunctionOptions",
5312
5429
  "subnet_selection": "subnetSelection",
5313
5430
  "vpc": "vpc",
@@ -5323,6 +5440,7 @@ class PgStacApiLambdaProps(PgStacApiLambdaRuntimeProps):
5323
5440
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
5324
5441
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
5325
5442
  enabled_extensions: typing.Optional[typing.Sequence[builtins.str]] = None,
5443
+ enable_snap_start: typing.Optional[builtins.bool] = None,
5326
5444
  lambda_function_options: typing.Any = None,
5327
5445
  subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
5328
5446
  vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
@@ -5334,6 +5452,7 @@ class PgStacApiLambdaProps(PgStacApiLambdaRuntimeProps):
5334
5452
  :param db_secret: (experimental) Secret containing connection information for pgSTAC database.
5335
5453
  :param api_env: (experimental) Customized environment variables to send to fastapi-pgstac runtime.
5336
5454
  :param enabled_extensions: (experimental) List of STAC API extensions to enable. Default: - query, sort, fields, filter, free_text, pagination, collection_search
5455
+ :param enable_snap_start: (experimental) Enable SnapStart to reduce cold start latency. SnapStart creates a snapshot of the initialized Lambda function, allowing new instances to start from this pre-initialized state instead of starting from scratch. Benefits: - Significantly reduces cold start times (typically 10x faster) - Improves API response time for infrequent requests Considerations: - Additional cost: charges for snapshot storage and restore operations - Requires Lambda versioning (automatically configured by this construct) - Database connections are recreated on restore using snapshot lifecycle hooks Default: false
5337
5456
  :param lambda_function_options: (experimental) Can be used to override the default lambda function properties. Default: - defined in the construct.
5338
5457
  :param subnet_selection: (experimental) Subnet into which the lambda should be deployed.
5339
5458
  :param vpc: (experimental) VPC into which the lambda should be deployed.
@@ -5350,6 +5469,7 @@ class PgStacApiLambdaProps(PgStacApiLambdaRuntimeProps):
5350
5469
  check_type(argname="argument db_secret", value=db_secret, expected_type=type_hints["db_secret"])
5351
5470
  check_type(argname="argument api_env", value=api_env, expected_type=type_hints["api_env"])
5352
5471
  check_type(argname="argument enabled_extensions", value=enabled_extensions, expected_type=type_hints["enabled_extensions"])
5472
+ check_type(argname="argument enable_snap_start", value=enable_snap_start, expected_type=type_hints["enable_snap_start"])
5353
5473
  check_type(argname="argument lambda_function_options", value=lambda_function_options, expected_type=type_hints["lambda_function_options"])
5354
5474
  check_type(argname="argument subnet_selection", value=subnet_selection, expected_type=type_hints["subnet_selection"])
5355
5475
  check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
@@ -5363,6 +5483,8 @@ class PgStacApiLambdaProps(PgStacApiLambdaRuntimeProps):
5363
5483
  self._values["api_env"] = api_env
5364
5484
  if enabled_extensions is not None:
5365
5485
  self._values["enabled_extensions"] = enabled_extensions
5486
+ if enable_snap_start is not None:
5487
+ self._values["enable_snap_start"] = enable_snap_start
5366
5488
  if lambda_function_options is not None:
5367
5489
  self._values["lambda_function_options"] = lambda_function_options
5368
5490
  if subnet_selection is not None:
@@ -5416,6 +5538,32 @@ class PgStacApiLambdaProps(PgStacApiLambdaRuntimeProps):
5416
5538
  result = self._values.get("enabled_extensions")
5417
5539
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
5418
5540
 
5541
+ @builtins.property
5542
+ def enable_snap_start(self) -> typing.Optional[builtins.bool]:
5543
+ '''(experimental) Enable SnapStart to reduce cold start latency.
5544
+
5545
+ SnapStart creates a snapshot of the initialized Lambda function, allowing new instances
5546
+ to start from this pre-initialized state instead of starting from scratch.
5547
+
5548
+ Benefits:
5549
+
5550
+ - Significantly reduces cold start times (typically 10x faster)
5551
+ - Improves API response time for infrequent requests
5552
+
5553
+ Considerations:
5554
+
5555
+ - Additional cost: charges for snapshot storage and restore operations
5556
+ - Requires Lambda versioning (automatically configured by this construct)
5557
+ - Database connections are recreated on restore using snapshot lifecycle hooks
5558
+
5559
+ :default: false
5560
+
5561
+ :see: https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html
5562
+ :stability: experimental
5563
+ '''
5564
+ result = self._values.get("enable_snap_start")
5565
+ return typing.cast(typing.Optional[builtins.bool], result)
5566
+
5419
5567
  @builtins.property
5420
5568
  def lambda_function_options(self) -> typing.Any:
5421
5569
  '''(experimental) Can be used to override the default lambda function properties.
@@ -5992,6 +6140,7 @@ class StacItemLoaderProps(StacLoaderProps):
5992
6140
  "db": "db",
5993
6141
  "db_secret": "dbSecret",
5994
6142
  "api_env": "apiEnv",
6143
+ "enable_snap_start": "enableSnapStart",
5995
6144
  "lambda_function_options": "lambdaFunctionOptions",
5996
6145
  "subnet_selection": "subnetSelection",
5997
6146
  "vpc": "vpc",
@@ -6006,6 +6155,7 @@ class TiPgApiLambdaProps(TiPgApiLambdaRuntimeProps):
6006
6155
  db: typing.Union[_aws_cdk_aws_rds_ceddda9d.IDatabaseInstance, _aws_cdk_aws_ec2_ceddda9d.IInstance],
6007
6156
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
6008
6157
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
6158
+ enable_snap_start: typing.Optional[builtins.bool] = None,
6009
6159
  lambda_function_options: typing.Any = None,
6010
6160
  subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
6011
6161
  vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
@@ -6016,6 +6166,7 @@ class TiPgApiLambdaProps(TiPgApiLambdaRuntimeProps):
6016
6166
  :param db: (experimental) RDS Instance with installed pgSTAC or pgbouncer server.
6017
6167
  :param db_secret: (experimental) Secret containing connection information for pgSTAC database.
6018
6168
  :param api_env: (experimental) Customized environment variables to send to titiler-pgstac runtime.
6169
+ :param enable_snap_start: (experimental) Enable SnapStart to reduce cold start latency. SnapStart creates a snapshot of the initialized Lambda function, allowing new instances to start from this pre-initialized state instead of starting from scratch. Benefits: - Significantly reduces cold start times (typically 10x faster) - Improves API response time for infrequent requests Considerations: - Additional cost: charges for snapshot storage and restore operations - Requires Lambda versioning (automatically configured by this construct) - Database connections are recreated on restore using snapshot lifecycle hooks Default: false
6019
6170
  :param lambda_function_options: (experimental) Can be used to override the default lambda function properties. Default: - defined in the construct.
6020
6171
  :param subnet_selection: (experimental) Subnet into which the lambda should be deployed.
6021
6172
  :param vpc: (experimental) VPC into which the lambda should be deployed.
@@ -6031,6 +6182,7 @@ class TiPgApiLambdaProps(TiPgApiLambdaRuntimeProps):
6031
6182
  check_type(argname="argument db", value=db, expected_type=type_hints["db"])
6032
6183
  check_type(argname="argument db_secret", value=db_secret, expected_type=type_hints["db_secret"])
6033
6184
  check_type(argname="argument api_env", value=api_env, expected_type=type_hints["api_env"])
6185
+ check_type(argname="argument enable_snap_start", value=enable_snap_start, expected_type=type_hints["enable_snap_start"])
6034
6186
  check_type(argname="argument lambda_function_options", value=lambda_function_options, expected_type=type_hints["lambda_function_options"])
6035
6187
  check_type(argname="argument subnet_selection", value=subnet_selection, expected_type=type_hints["subnet_selection"])
6036
6188
  check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
@@ -6042,6 +6194,8 @@ class TiPgApiLambdaProps(TiPgApiLambdaRuntimeProps):
6042
6194
  }
6043
6195
  if api_env is not None:
6044
6196
  self._values["api_env"] = api_env
6197
+ if enable_snap_start is not None:
6198
+ self._values["enable_snap_start"] = enable_snap_start
6045
6199
  if lambda_function_options is not None:
6046
6200
  self._values["lambda_function_options"] = lambda_function_options
6047
6201
  if subnet_selection is not None:
@@ -6084,6 +6238,32 @@ class TiPgApiLambdaProps(TiPgApiLambdaRuntimeProps):
6084
6238
  result = self._values.get("api_env")
6085
6239
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
6086
6240
 
6241
+ @builtins.property
6242
+ def enable_snap_start(self) -> typing.Optional[builtins.bool]:
6243
+ '''(experimental) Enable SnapStart to reduce cold start latency.
6244
+
6245
+ SnapStart creates a snapshot of the initialized Lambda function, allowing new instances
6246
+ to start from this pre-initialized state instead of starting from scratch.
6247
+
6248
+ Benefits:
6249
+
6250
+ - Significantly reduces cold start times (typically 10x faster)
6251
+ - Improves API response time for infrequent requests
6252
+
6253
+ Considerations:
6254
+
6255
+ - Additional cost: charges for snapshot storage and restore operations
6256
+ - Requires Lambda versioning (automatically configured by this construct)
6257
+ - Database connections are recreated on restore using snapshot lifecycle hooks
6258
+
6259
+ :default: false
6260
+
6261
+ :see: https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html
6262
+ :stability: experimental
6263
+ '''
6264
+ result = self._values.get("enable_snap_start")
6265
+ return typing.cast(typing.Optional[builtins.bool], result)
6266
+
6087
6267
  @builtins.property
6088
6268
  def lambda_function_options(self) -> typing.Any:
6089
6269
  '''(experimental) Can be used to override the default lambda function properties.
@@ -6168,6 +6348,7 @@ class TiPgApiLambdaProps(TiPgApiLambdaRuntimeProps):
6168
6348
  "db_secret": "dbSecret",
6169
6349
  "api_env": "apiEnv",
6170
6350
  "buckets": "buckets",
6351
+ "enable_snap_start": "enableSnapStart",
6171
6352
  "lambda_function_options": "lambdaFunctionOptions",
6172
6353
  "subnet_selection": "subnetSelection",
6173
6354
  "vpc": "vpc",
@@ -6183,6 +6364,7 @@ class TitilerPgstacApiLambdaProps(TitilerPgstacApiLambdaRuntimeProps):
6183
6364
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
6184
6365
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
6185
6366
  buckets: typing.Optional[typing.Sequence[builtins.str]] = None,
6367
+ enable_snap_start: typing.Optional[builtins.bool] = None,
6186
6368
  lambda_function_options: typing.Any = None,
6187
6369
  subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
6188
6370
  vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
@@ -6194,6 +6376,7 @@ class TitilerPgstacApiLambdaProps(TitilerPgstacApiLambdaRuntimeProps):
6194
6376
  :param db_secret: (experimental) Secret containing connection information for pgSTAC database.
6195
6377
  :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.
6196
6378
  :param buckets: (experimental) list of buckets the lambda will be granted access to.
6379
+ :param enable_snap_start: (experimental) Enable SnapStart to reduce cold start latency. SnapStart creates a snapshot of the initialized Lambda function, allowing new instances to start from this pre-initialized state instead of starting from scratch. Benefits: - Significantly reduces cold start times (typically 10x faster) - Improves API response time for infrequent requests Considerations: - Additional cost: charges for snapshot storage and restore operations - Requires Lambda versioning (automatically configured by this construct) - Database connections are recreated on restore using snapshot lifecycle hooks Default: false
6197
6380
  :param lambda_function_options: (experimental) Can be used to override the default lambda function properties. Default: - defined in the construct.
6198
6381
  :param subnet_selection: (experimental) Subnet into which the lambda should be deployed.
6199
6382
  :param vpc: (experimental) VPC into which the lambda should be deployed.
@@ -6210,6 +6393,7 @@ class TitilerPgstacApiLambdaProps(TitilerPgstacApiLambdaRuntimeProps):
6210
6393
  check_type(argname="argument db_secret", value=db_secret, expected_type=type_hints["db_secret"])
6211
6394
  check_type(argname="argument api_env", value=api_env, expected_type=type_hints["api_env"])
6212
6395
  check_type(argname="argument buckets", value=buckets, expected_type=type_hints["buckets"])
6396
+ check_type(argname="argument enable_snap_start", value=enable_snap_start, expected_type=type_hints["enable_snap_start"])
6213
6397
  check_type(argname="argument lambda_function_options", value=lambda_function_options, expected_type=type_hints["lambda_function_options"])
6214
6398
  check_type(argname="argument subnet_selection", value=subnet_selection, expected_type=type_hints["subnet_selection"])
6215
6399
  check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
@@ -6223,6 +6407,8 @@ class TitilerPgstacApiLambdaProps(TitilerPgstacApiLambdaRuntimeProps):
6223
6407
  self._values["api_env"] = api_env
6224
6408
  if buckets is not None:
6225
6409
  self._values["buckets"] = buckets
6410
+ if enable_snap_start is not None:
6411
+ self._values["enable_snap_start"] = enable_snap_start
6226
6412
  if lambda_function_options is not None:
6227
6413
  self._values["lambda_function_options"] = lambda_function_options
6228
6414
  if subnet_selection is not None:
@@ -6277,6 +6463,32 @@ class TitilerPgstacApiLambdaProps(TitilerPgstacApiLambdaRuntimeProps):
6277
6463
  result = self._values.get("buckets")
6278
6464
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
6279
6465
 
6466
+ @builtins.property
6467
+ def enable_snap_start(self) -> typing.Optional[builtins.bool]:
6468
+ '''(experimental) Enable SnapStart to reduce cold start latency.
6469
+
6470
+ SnapStart creates a snapshot of the initialized Lambda function, allowing new instances
6471
+ to start from this pre-initialized state instead of starting from scratch.
6472
+
6473
+ Benefits:
6474
+
6475
+ - Significantly reduces cold start times (typically 10x faster)
6476
+ - Improves API response time for infrequent requests
6477
+
6478
+ Considerations:
6479
+
6480
+ - Additional cost: charges for snapshot storage and restore operations
6481
+ - Requires Lambda versioning (automatically configured by this construct)
6482
+ - Database connections are recreated on restore using snapshot lifecycle hooks
6483
+
6484
+ :default: false
6485
+
6486
+ :see: https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html
6487
+ :stability: experimental
6488
+ '''
6489
+ result = self._values.get("enable_snap_start")
6490
+ return typing.cast(typing.Optional[builtins.bool], result)
6491
+
6280
6492
  @builtins.property
6281
6493
  def lambda_function_options(self) -> typing.Any:
6282
6494
  '''(experimental) Can be used to override the default lambda function properties.
@@ -6441,7 +6653,7 @@ def _typecheckingstub__6acf89577f1516b39461b2eda5a444dd27116780e59eb5b01d76b51ed
6441
6653
  scope: _constructs_77d1e7e8.Construct,
6442
6654
  id: builtins.str,
6443
6655
  *,
6444
- lambda_function: _aws_cdk_aws_lambda_ceddda9d.Function,
6656
+ lambda_function: typing.Union[_aws_cdk_aws_lambda_ceddda9d.Function, _aws_cdk_aws_lambda_ceddda9d.Version],
6445
6657
  api_name: typing.Optional[builtins.str] = None,
6446
6658
  domain_name: typing.Optional[_aws_cdk_aws_apigatewayv2_ceddda9d.IDomainName] = None,
6447
6659
  ) -> None:
@@ -6450,7 +6662,7 @@ def _typecheckingstub__6acf89577f1516b39461b2eda5a444dd27116780e59eb5b01d76b51ed
6450
6662
 
6451
6663
  def _typecheckingstub__636370de798041d3155ed89acdee82e6c954340f4042f30c625f1531cdc7c955(
6452
6664
  *,
6453
- lambda_function: _aws_cdk_aws_lambda_ceddda9d.Function,
6665
+ lambda_function: typing.Union[_aws_cdk_aws_lambda_ceddda9d.Function, _aws_cdk_aws_lambda_ceddda9d.Version],
6454
6666
  api_name: typing.Optional[builtins.str] = None,
6455
6667
  domain_name: typing.Optional[_aws_cdk_aws_apigatewayv2_ceddda9d.IDomainName] = None,
6456
6668
  ) -> None:
@@ -6467,6 +6679,7 @@ def _typecheckingstub__001e0940684741a8dcd75ad791003ac3ff1c57fce9c2ee18d768c590e
6467
6679
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
6468
6680
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
6469
6681
  enabled_extensions: typing.Optional[typing.Sequence[builtins.str]] = None,
6682
+ enable_snap_start: typing.Optional[builtins.bool] = None,
6470
6683
  lambda_function_options: typing.Any = None,
6471
6684
  subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
6472
6685
  vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
@@ -6488,6 +6701,7 @@ def _typecheckingstub__49b0d9a2cd9f07535f42605859a3a1c8a68a03c903739730d5e58befd
6488
6701
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
6489
6702
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
6490
6703
  enabled_extensions: typing.Optional[typing.Sequence[builtins.str]] = None,
6704
+ enable_snap_start: typing.Optional[builtins.bool] = None,
6491
6705
  lambda_function_options: typing.Any = None,
6492
6706
  subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
6493
6707
  vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
@@ -6501,6 +6715,7 @@ def _typecheckingstub__40e645300f58b309671d7231a68e2a78341edb0faea44598fb36ae1d4
6501
6715
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
6502
6716
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
6503
6717
  enabled_extensions: typing.Optional[typing.Sequence[builtins.str]] = None,
6718
+ enable_snap_start: typing.Optional[builtins.bool] = None,
6504
6719
  lambda_function_options: typing.Any = None,
6505
6720
  subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
6506
6721
  vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
@@ -6914,6 +7129,7 @@ def _typecheckingstub__0826d8694d7942b670a22c452863755627ab9af4557bb03a20bfd01db
6914
7129
  db: typing.Union[_aws_cdk_aws_rds_ceddda9d.IDatabaseInstance, _aws_cdk_aws_ec2_ceddda9d.IInstance],
6915
7130
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
6916
7131
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
7132
+ enable_snap_start: typing.Optional[builtins.bool] = None,
6917
7133
  lambda_function_options: typing.Any = None,
6918
7134
  subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
6919
7135
  vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
@@ -6934,6 +7150,7 @@ def _typecheckingstub__bd1b48e9a5cb1feacbdb23aef97bd49d1c586780edc6e99ad0852fac5
6934
7150
  db: typing.Union[_aws_cdk_aws_rds_ceddda9d.IDatabaseInstance, _aws_cdk_aws_ec2_ceddda9d.IInstance],
6935
7151
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
6936
7152
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
7153
+ enable_snap_start: typing.Optional[builtins.bool] = None,
6937
7154
  lambda_function_options: typing.Any = None,
6938
7155
  subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
6939
7156
  vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
@@ -6946,6 +7163,7 @@ def _typecheckingstub__4225d7bdf33955013ab0b4abdc105e778e5dd923ec9bc02832bdd41fe
6946
7163
  db: typing.Union[_aws_cdk_aws_rds_ceddda9d.IDatabaseInstance, _aws_cdk_aws_ec2_ceddda9d.IInstance],
6947
7164
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
6948
7165
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
7166
+ enable_snap_start: typing.Optional[builtins.bool] = None,
6949
7167
  lambda_function_options: typing.Any = None,
6950
7168
  subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
6951
7169
  vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
@@ -6963,6 +7181,7 @@ def _typecheckingstub__a2b90457bc885f0e9a1addcbc1cfd61c2e0b2bb60bb399d941f3cc877
6963
7181
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
6964
7182
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
6965
7183
  buckets: typing.Optional[typing.Sequence[builtins.str]] = None,
7184
+ enable_snap_start: typing.Optional[builtins.bool] = None,
6966
7185
  lambda_function_options: typing.Any = None,
6967
7186
  subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
6968
7187
  vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
@@ -6984,6 +7203,7 @@ def _typecheckingstub__ba29b67b28f12770e993415d8b877a9d26ba0572c9b03f564b7a6ad77
6984
7203
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
6985
7204
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
6986
7205
  buckets: typing.Optional[typing.Sequence[builtins.str]] = None,
7206
+ enable_snap_start: typing.Optional[builtins.bool] = None,
6987
7207
  lambda_function_options: typing.Any = None,
6988
7208
  subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
6989
7209
  vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
@@ -6997,6 +7217,7 @@ def _typecheckingstub__b5e3f1c2940a29a6441f30422c15b17bbeabb76f8aa0214d8baf9507d
6997
7217
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
6998
7218
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
6999
7219
  buckets: typing.Optional[typing.Sequence[builtins.str]] = None,
7220
+ enable_snap_start: typing.Optional[builtins.bool] = None,
7000
7221
  lambda_function_options: typing.Any = None,
7001
7222
  subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
7002
7223
  vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
@@ -7010,6 +7231,7 @@ def _typecheckingstub__aac048adccce72d79219bafd7e28ffb071969e8f3fa9b9b9048c3ff33
7010
7231
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
7011
7232
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
7012
7233
  enabled_extensions: typing.Optional[typing.Sequence[builtins.str]] = None,
7234
+ enable_snap_start: typing.Optional[builtins.bool] = None,
7013
7235
  lambda_function_options: typing.Any = None,
7014
7236
  subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
7015
7237
  vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
@@ -7074,6 +7296,7 @@ def _typecheckingstub__8b7b315d993cc5100817e9fa2086872db371adea0c52ddee49864f4b2
7074
7296
  db: typing.Union[_aws_cdk_aws_rds_ceddda9d.IDatabaseInstance, _aws_cdk_aws_ec2_ceddda9d.IInstance],
7075
7297
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
7076
7298
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
7299
+ enable_snap_start: typing.Optional[builtins.bool] = None,
7077
7300
  lambda_function_options: typing.Any = None,
7078
7301
  subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
7079
7302
  vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
@@ -7089,6 +7312,7 @@ def _typecheckingstub__dbd2e8c1eca682012234240955d528876d985ddb49620a6fea2712899
7089
7312
  db_secret: _aws_cdk_aws_secretsmanager_ceddda9d.ISecret,
7090
7313
  api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
7091
7314
  buckets: typing.Optional[typing.Sequence[builtins.str]] = None,
7315
+ enable_snap_start: typing.Optional[builtins.bool] = None,
7092
7316
  lambda_function_options: typing.Any = None,
7093
7317
  subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
7094
7318
  vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
@@ -32,7 +32,7 @@ import aws_cdk._jsii
32
32
  import constructs._jsii
33
33
 
34
34
  __jsii_assembly__ = jsii.JSIIAssembly.load(
35
- "eoapi-cdk", "10.2.4", __name__[0:-6], "eoapi-cdk@10.2.4.jsii.tgz"
35
+ "eoapi-cdk", "10.3.0", __name__[0:-6], "eoapi-cdk@10.3.0.jsii.tgz"
36
36
  )
37
37
 
38
38
  __all__ = [
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: eoapi-cdk
3
- Version: 10.2.4
3
+ Version: 10.3.0
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>
@@ -10,19 +10,18 @@ Classifier: Intended Audience :: Developers
10
10
  Classifier: Operating System :: OS Independent
11
11
  Classifier: Programming Language :: JavaScript
12
12
  Classifier: Programming Language :: Python :: 3 :: Only
13
- Classifier: Programming Language :: Python :: 3.8
14
13
  Classifier: Programming Language :: Python :: 3.9
15
14
  Classifier: Programming Language :: Python :: 3.10
16
15
  Classifier: Programming Language :: Python :: 3.11
17
16
  Classifier: Typing :: Typed
18
17
  Classifier: Development Status :: 4 - Beta
19
18
  Classifier: License :: OSI Approved
20
- Requires-Python: ~=3.8
19
+ Requires-Python: ~=3.9
21
20
  Description-Content-Type: text/markdown
22
21
  License-File: LICENSE
23
22
  Requires-Dist: aws-cdk-lib<3.0.0,>=2.190.0
24
- Requires-Dist: constructs<11.0.0,>=10.3.0
25
- Requires-Dist: jsii<2.0.0,>=1.106.0
23
+ Requires-Dist: constructs<11.0.0,>=10.4.2
24
+ Requires-Dist: jsii<2.0.0,>=1.114.1
26
25
  Requires-Dist: publication>=0.0.3
27
26
  Requires-Dist: typeguard<4.3.0,>=2.13.3
28
27
 
@@ -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@10.2.4.jsii.tgz
14
+ src/eoapi_cdk/_jsii/eoapi-cdk@10.3.0.jsii.tgz
@@ -1,5 +1,5 @@
1
1
  aws-cdk-lib<3.0.0,>=2.190.0
2
- constructs<11.0.0,>=10.3.0
3
- jsii<2.0.0,>=1.106.0
2
+ constructs<11.0.0,>=10.4.2
3
+ jsii<2.0.0,>=1.114.1
4
4
  publication>=0.0.3
5
5
  typeguard<4.3.0,>=2.13.3
File without changes
File without changes
File without changes
File without changes