eoapi-cdk 8.2.0__tar.gz → 8.2.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: 8.2.0
3
+ Version: 8.2.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>
@@ -5,7 +5,7 @@ kwargs = json.loads(
5
5
  """
6
6
  {
7
7
  "name": "eoapi-cdk",
8
- "version": "8.2.0",
8
+ "version": "8.2.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@8.2.0.jsii.tgz"
29
+ "eoapi-cdk@8.2.2.jsii.tgz"
30
30
  ],
31
31
  "eoapi_cdk": [
32
32
  "py.typed"
@@ -3024,23 +3024,29 @@ class StacItemLoader(
3024
3024
  pgstac_db: PgStacDatabase,
3025
3025
  batch_size: typing.Optional[jsii.Number] = None,
3026
3026
  environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
3027
+ lambda_function_options: typing.Any = None,
3027
3028
  lambda_runtime: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Runtime] = None,
3028
3029
  lambda_timeout_seconds: typing.Optional[jsii.Number] = None,
3029
3030
  max_batching_window_minutes: typing.Optional[jsii.Number] = None,
3030
3031
  max_concurrency: typing.Optional[jsii.Number] = None,
3031
3032
  memory_size: typing.Optional[jsii.Number] = None,
3033
+ subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
3034
+ vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
3032
3035
  ) -> None:
3033
3036
  '''
3034
3037
  :param scope: -
3035
3038
  :param id: -
3036
3039
  :param pgstac_db: (experimental) The PgSTAC database instance to load items into. This database must have the pgstac extension installed and be properly configured with collections before items can be loaded. The loader will use AWS Secrets Manager to securely access database credentials.
3037
3040
  :param batch_size: (experimental) SQS batch size for lambda event source. This determines the maximum number of STAC items that will be processed together in a single lambda invocation. Larger batch sizes improve database insertion efficiency but require more memory and longer processing time. **Batching Behavior**: SQS will wait to accumulate up to this many messages before triggering the Lambda, OR until the maxBatchingWindow timeout is reached, whichever comes first. This creates an efficient balance between throughput and latency. Default: 500
3038
- :param environment: (experimental) Additional environment variables for the lambda function. These will be merged with the default environment variables including PGSTAC_SECRET_ARN. Use this for custom configuration or debugging flags.
3041
+ :param environment: (experimental) Additional environment variables for the lambda function. These will be merged with the default environment variables including PGSTAC_SECRET_ARN. Use this for custom configuration or debugging flags. If you want to enable the option to upload a boilerplate collection record in the event that the collection record does not yet exist for an item that is set to be loaded, set the variable ``"CREATE_COLLECTIONS_IF_MISSING": "TRUE"``.
3042
+ :param lambda_function_options: (experimental) Can be used to override the default lambda function properties. Default: - defined in the construct.
3039
3043
  :param lambda_runtime: (experimental) The lambda runtime to use for the item loading function. The function is implemented in Python and uses pypgstac for database operations. Ensure the runtime version is compatible with the pgstac version specified in the database configuration. Default: lambda.Runtime.PYTHON_3_11
3040
3044
  :param lambda_timeout_seconds: (experimental) The timeout for the item load lambda in seconds. This should accommodate the time needed to process up to ``batchSize`` items and perform database insertions. The SQS visibility timeout will be set to this value plus 10 seconds. Default: 300
3041
3045
  :param max_batching_window_minutes: (experimental) Maximum batching window in minutes. Even if the batch size isn't reached, the lambda will be triggered after this time period to ensure timely processing of items. This prevents items from waiting indefinitely in low-volume scenarios. **Important**: This timeout works in conjunction with batchSize - SQS will trigger the Lambda when EITHER the batch size is reached OR this time window expires, ensuring items are processed in a timely manner regardless of volume. Default: 1
3042
3046
  :param max_concurrency: (experimental) Maximum concurrent executions for the StacItemLoader Lambda function. This limit will be applied to the Lambda function and will control how many concurrent batches will be released from the SQS queue. Default: 2
3043
3047
  :param memory_size: (experimental) Memory size for the lambda function in MB. Higher memory allocation may improve performance when processing large batches of STAC items, especially for memory-intensive database operations. Default: 1024
3048
+ :param subnet_selection: (experimental) Subnet into which the lambda should be deployed.
3049
+ :param vpc: (experimental) VPC into which the lambda should be deployed.
3044
3050
 
3045
3051
  :stability: experimental
3046
3052
  '''
@@ -3052,11 +3058,14 @@ class StacItemLoader(
3052
3058
  pgstac_db=pgstac_db,
3053
3059
  batch_size=batch_size,
3054
3060
  environment=environment,
3061
+ lambda_function_options=lambda_function_options,
3055
3062
  lambda_runtime=lambda_runtime,
3056
3063
  lambda_timeout_seconds=lambda_timeout_seconds,
3057
3064
  max_batching_window_minutes=max_batching_window_minutes,
3058
3065
  max_concurrency=max_concurrency,
3059
3066
  memory_size=memory_size,
3067
+ subnet_selection=subnet_selection,
3068
+ vpc=vpc,
3060
3069
  )
3061
3070
 
3062
3071
  jsii.create(self.__class__, self, [scope, id, props])
@@ -3139,11 +3148,14 @@ class StacItemLoader(
3139
3148
  "pgstac_db": "pgstacDb",
3140
3149
  "batch_size": "batchSize",
3141
3150
  "environment": "environment",
3151
+ "lambda_function_options": "lambdaFunctionOptions",
3142
3152
  "lambda_runtime": "lambdaRuntime",
3143
3153
  "lambda_timeout_seconds": "lambdaTimeoutSeconds",
3144
3154
  "max_batching_window_minutes": "maxBatchingWindowMinutes",
3145
3155
  "max_concurrency": "maxConcurrency",
3146
3156
  "memory_size": "memorySize",
3157
+ "subnet_selection": "subnetSelection",
3158
+ "vpc": "vpc",
3147
3159
  },
3148
3160
  )
3149
3161
  class StacItemLoaderProps:
@@ -3153,11 +3165,14 @@ class StacItemLoaderProps:
3153
3165
  pgstac_db: PgStacDatabase,
3154
3166
  batch_size: typing.Optional[jsii.Number] = None,
3155
3167
  environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
3168
+ lambda_function_options: typing.Any = None,
3156
3169
  lambda_runtime: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Runtime] = None,
3157
3170
  lambda_timeout_seconds: typing.Optional[jsii.Number] = None,
3158
3171
  max_batching_window_minutes: typing.Optional[jsii.Number] = None,
3159
3172
  max_concurrency: typing.Optional[jsii.Number] = None,
3160
3173
  memory_size: typing.Optional[jsii.Number] = None,
3174
+ subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
3175
+ vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
3161
3176
  ) -> None:
3162
3177
  '''(experimental) Configuration properties for the StacItemLoader construct.
3163
3178
 
@@ -3172,12 +3187,15 @@ class StacItemLoaderProps:
3172
3187
 
3173
3188
  :param pgstac_db: (experimental) The PgSTAC database instance to load items into. This database must have the pgstac extension installed and be properly configured with collections before items can be loaded. The loader will use AWS Secrets Manager to securely access database credentials.
3174
3189
  :param batch_size: (experimental) SQS batch size for lambda event source. This determines the maximum number of STAC items that will be processed together in a single lambda invocation. Larger batch sizes improve database insertion efficiency but require more memory and longer processing time. **Batching Behavior**: SQS will wait to accumulate up to this many messages before triggering the Lambda, OR until the maxBatchingWindow timeout is reached, whichever comes first. This creates an efficient balance between throughput and latency. Default: 500
3175
- :param environment: (experimental) Additional environment variables for the lambda function. These will be merged with the default environment variables including PGSTAC_SECRET_ARN. Use this for custom configuration or debugging flags.
3190
+ :param environment: (experimental) Additional environment variables for the lambda function. These will be merged with the default environment variables including PGSTAC_SECRET_ARN. Use this for custom configuration or debugging flags. If you want to enable the option to upload a boilerplate collection record in the event that the collection record does not yet exist for an item that is set to be loaded, set the variable ``"CREATE_COLLECTIONS_IF_MISSING": "TRUE"``.
3191
+ :param lambda_function_options: (experimental) Can be used to override the default lambda function properties. Default: - defined in the construct.
3176
3192
  :param lambda_runtime: (experimental) The lambda runtime to use for the item loading function. The function is implemented in Python and uses pypgstac for database operations. Ensure the runtime version is compatible with the pgstac version specified in the database configuration. Default: lambda.Runtime.PYTHON_3_11
3177
3193
  :param lambda_timeout_seconds: (experimental) The timeout for the item load lambda in seconds. This should accommodate the time needed to process up to ``batchSize`` items and perform database insertions. The SQS visibility timeout will be set to this value plus 10 seconds. Default: 300
3178
3194
  :param max_batching_window_minutes: (experimental) Maximum batching window in minutes. Even if the batch size isn't reached, the lambda will be triggered after this time period to ensure timely processing of items. This prevents items from waiting indefinitely in low-volume scenarios. **Important**: This timeout works in conjunction with batchSize - SQS will trigger the Lambda when EITHER the batch size is reached OR this time window expires, ensuring items are processed in a timely manner regardless of volume. Default: 1
3179
3195
  :param max_concurrency: (experimental) Maximum concurrent executions for the StacItemLoader Lambda function. This limit will be applied to the Lambda function and will control how many concurrent batches will be released from the SQS queue. Default: 2
3180
3196
  :param memory_size: (experimental) Memory size for the lambda function in MB. Higher memory allocation may improve performance when processing large batches of STAC items, especially for memory-intensive database operations. Default: 1024
3197
+ :param subnet_selection: (experimental) Subnet into which the lambda should be deployed.
3198
+ :param vpc: (experimental) VPC into which the lambda should be deployed.
3181
3199
 
3182
3200
  :stability: experimental
3183
3201
 
@@ -3190,16 +3208,21 @@ class StacItemLoaderProps:
3190
3208
  lambdaTimeoutSeconds: 300
3191
3209
  });
3192
3210
  '''
3211
+ if isinstance(subnet_selection, dict):
3212
+ subnet_selection = _aws_cdk_aws_ec2_ceddda9d.SubnetSelection(**subnet_selection)
3193
3213
  if __debug__:
3194
3214
  type_hints = typing.get_type_hints(_typecheckingstub__4bbe16b8ca579680ab8c75903813675de5c4f4e8877137194262298af5f8093d)
3195
3215
  check_type(argname="argument pgstac_db", value=pgstac_db, expected_type=type_hints["pgstac_db"])
3196
3216
  check_type(argname="argument batch_size", value=batch_size, expected_type=type_hints["batch_size"])
3197
3217
  check_type(argname="argument environment", value=environment, expected_type=type_hints["environment"])
3218
+ check_type(argname="argument lambda_function_options", value=lambda_function_options, expected_type=type_hints["lambda_function_options"])
3198
3219
  check_type(argname="argument lambda_runtime", value=lambda_runtime, expected_type=type_hints["lambda_runtime"])
3199
3220
  check_type(argname="argument lambda_timeout_seconds", value=lambda_timeout_seconds, expected_type=type_hints["lambda_timeout_seconds"])
3200
3221
  check_type(argname="argument max_batching_window_minutes", value=max_batching_window_minutes, expected_type=type_hints["max_batching_window_minutes"])
3201
3222
  check_type(argname="argument max_concurrency", value=max_concurrency, expected_type=type_hints["max_concurrency"])
3202
3223
  check_type(argname="argument memory_size", value=memory_size, expected_type=type_hints["memory_size"])
3224
+ check_type(argname="argument subnet_selection", value=subnet_selection, expected_type=type_hints["subnet_selection"])
3225
+ check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
3203
3226
  self._values: typing.Dict[builtins.str, typing.Any] = {
3204
3227
  "pgstac_db": pgstac_db,
3205
3228
  }
@@ -3207,6 +3230,8 @@ class StacItemLoaderProps:
3207
3230
  self._values["batch_size"] = batch_size
3208
3231
  if environment is not None:
3209
3232
  self._values["environment"] = environment
3233
+ if lambda_function_options is not None:
3234
+ self._values["lambda_function_options"] = lambda_function_options
3210
3235
  if lambda_runtime is not None:
3211
3236
  self._values["lambda_runtime"] = lambda_runtime
3212
3237
  if lambda_timeout_seconds is not None:
@@ -3217,6 +3242,10 @@ class StacItemLoaderProps:
3217
3242
  self._values["max_concurrency"] = max_concurrency
3218
3243
  if memory_size is not None:
3219
3244
  self._values["memory_size"] = memory_size
3245
+ if subnet_selection is not None:
3246
+ self._values["subnet_selection"] = subnet_selection
3247
+ if vpc is not None:
3248
+ self._values["vpc"] = vpc
3220
3249
 
3221
3250
  @builtins.property
3222
3251
  def pgstac_db(self) -> PgStacDatabase:
@@ -3262,11 +3291,26 @@ class StacItemLoaderProps:
3262
3291
  These will be merged with the default environment variables including
3263
3292
  PGSTAC_SECRET_ARN. Use this for custom configuration or debugging flags.
3264
3293
 
3294
+ If you want to enable the option to upload a boilerplate collection record
3295
+ in the event that the collection record does not yet exist for an item that
3296
+ is set to be loaded, set the variable ``"CREATE_COLLECTIONS_IF_MISSING": "TRUE"``.
3297
+
3265
3298
  :stability: experimental
3266
3299
  '''
3267
3300
  result = self._values.get("environment")
3268
3301
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
3269
3302
 
3303
+ @builtins.property
3304
+ def lambda_function_options(self) -> typing.Any:
3305
+ '''(experimental) Can be used to override the default lambda function properties.
3306
+
3307
+ :default: - defined in the construct.
3308
+
3309
+ :stability: experimental
3310
+ '''
3311
+ result = self._values.get("lambda_function_options")
3312
+ return typing.cast(typing.Any, result)
3313
+
3270
3314
  @builtins.property
3271
3315
  def lambda_runtime(self) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Runtime]:
3272
3316
  '''(experimental) The lambda runtime to use for the item loading function.
@@ -3346,6 +3390,26 @@ class StacItemLoaderProps:
3346
3390
  result = self._values.get("memory_size")
3347
3391
  return typing.cast(typing.Optional[jsii.Number], result)
3348
3392
 
3393
+ @builtins.property
3394
+ def subnet_selection(
3395
+ self,
3396
+ ) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection]:
3397
+ '''(experimental) Subnet into which the lambda should be deployed.
3398
+
3399
+ :stability: experimental
3400
+ '''
3401
+ result = self._values.get("subnet_selection")
3402
+ return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection], result)
3403
+
3404
+ @builtins.property
3405
+ def vpc(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc]:
3406
+ '''(experimental) VPC into which the lambda should be deployed.
3407
+
3408
+ :stability: experimental
3409
+ '''
3410
+ result = self._values.get("vpc")
3411
+ return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc], result)
3412
+
3349
3413
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
3350
3414
  return isinstance(rhs, self.__class__) and rhs._values == self._values
3351
3415
 
@@ -3499,10 +3563,13 @@ class StactoolsItemGenerator(
3499
3563
  item_load_topic_arn: builtins.str,
3500
3564
  batch_size: typing.Optional[jsii.Number] = None,
3501
3565
  environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
3566
+ lambda_function_options: typing.Any = None,
3502
3567
  lambda_runtime: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Runtime] = None,
3503
3568
  lambda_timeout_seconds: typing.Optional[jsii.Number] = None,
3504
3569
  max_concurrency: typing.Optional[jsii.Number] = None,
3505
3570
  memory_size: typing.Optional[jsii.Number] = None,
3571
+ subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
3572
+ vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
3506
3573
  ) -> None:
3507
3574
  '''
3508
3575
  :param scope: -
@@ -3510,10 +3577,13 @@ class StactoolsItemGenerator(
3510
3577
  :param item_load_topic_arn: (experimental) ARN of the SNS topic to publish generated items to. This is typically the topic from a StacItemLoader construct. Generated STAC items will be published here for downstream processing and database insertion.
3511
3578
  :param batch_size: (experimental) SQS batch size for lambda event source. This determines how many generation requests are processed together in a single lambda invocation. Unlike the loader, generation typically processes items individually, so smaller batch sizes are common. Default: 10
3512
3579
  :param environment: (experimental) Additional environment variables for the lambda function. These will be merged with default environment variables including ITEM_LOAD_TOPIC_ARN and LOG_LEVEL. Use this for custom configuration or to pass credentials for external data sources.
3580
+ :param lambda_function_options: (experimental) Can be used to override the default lambda function properties. Default: - defined in the construct.
3513
3581
  :param lambda_runtime: (experimental) The lambda runtime to use for the item generation function. The function is containerized using Docker and can accommodate various stactools packages. The runtime version should be compatible with the packages you plan to use for STAC item generation. Default: lambda.Runtime.PYTHON_3_11
3514
3582
  :param lambda_timeout_seconds: (experimental) The timeout for the item generation lambda in seconds. This should accommodate the time needed to: - Install stactools packages using uvx - Download and process source data - Generate STAC metadata - Publish results to SNS The SQS visibility timeout will be set to this value plus 10 seconds. Default: 120
3515
3583
  :param max_concurrency: (experimental) Maximum number of concurrent executions. This controls how many item generation tasks can run simultaneously. Higher concurrency enables faster processing of large batches but may strain downstream systems or external data sources. Default: 100
3516
3584
  :param memory_size: (experimental) Memory size for the lambda function in MB. Higher memory allocation may be needed for processing large geospatial datasets or when stactools packages have high memory requirements. More memory also provides proportionally more CPU power. Default: 1024
3585
+ :param subnet_selection: (experimental) Subnet into which the lambda should be deployed.
3586
+ :param vpc: (experimental) VPC into which the lambda should be deployed.
3517
3587
 
3518
3588
  :stability: experimental
3519
3589
  '''
@@ -3525,10 +3595,13 @@ class StactoolsItemGenerator(
3525
3595
  item_load_topic_arn=item_load_topic_arn,
3526
3596
  batch_size=batch_size,
3527
3597
  environment=environment,
3598
+ lambda_function_options=lambda_function_options,
3528
3599
  lambda_runtime=lambda_runtime,
3529
3600
  lambda_timeout_seconds=lambda_timeout_seconds,
3530
3601
  max_concurrency=max_concurrency,
3531
3602
  memory_size=memory_size,
3603
+ subnet_selection=subnet_selection,
3604
+ vpc=vpc,
3532
3605
  )
3533
3606
 
3534
3607
  jsii.create(self.__class__, self, [scope, id, props])
@@ -3592,10 +3665,13 @@ class StactoolsItemGenerator(
3592
3665
  "item_load_topic_arn": "itemLoadTopicArn",
3593
3666
  "batch_size": "batchSize",
3594
3667
  "environment": "environment",
3668
+ "lambda_function_options": "lambdaFunctionOptions",
3595
3669
  "lambda_runtime": "lambdaRuntime",
3596
3670
  "lambda_timeout_seconds": "lambdaTimeoutSeconds",
3597
3671
  "max_concurrency": "maxConcurrency",
3598
3672
  "memory_size": "memorySize",
3673
+ "subnet_selection": "subnetSelection",
3674
+ "vpc": "vpc",
3599
3675
  },
3600
3676
  )
3601
3677
  class StactoolsItemGeneratorProps:
@@ -3605,10 +3681,13 @@ class StactoolsItemGeneratorProps:
3605
3681
  item_load_topic_arn: builtins.str,
3606
3682
  batch_size: typing.Optional[jsii.Number] = None,
3607
3683
  environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
3684
+ lambda_function_options: typing.Any = None,
3608
3685
  lambda_runtime: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Runtime] = None,
3609
3686
  lambda_timeout_seconds: typing.Optional[jsii.Number] = None,
3610
3687
  max_concurrency: typing.Optional[jsii.Number] = None,
3611
3688
  memory_size: typing.Optional[jsii.Number] = None,
3689
+ subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
3690
+ vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
3612
3691
  ) -> None:
3613
3692
  '''(experimental) Configuration properties for the StactoolsItemGenerator construct.
3614
3693
 
@@ -3620,10 +3699,13 @@ class StactoolsItemGeneratorProps:
3620
3699
  :param item_load_topic_arn: (experimental) ARN of the SNS topic to publish generated items to. This is typically the topic from a StacItemLoader construct. Generated STAC items will be published here for downstream processing and database insertion.
3621
3700
  :param batch_size: (experimental) SQS batch size for lambda event source. This determines how many generation requests are processed together in a single lambda invocation. Unlike the loader, generation typically processes items individually, so smaller batch sizes are common. Default: 10
3622
3701
  :param environment: (experimental) Additional environment variables for the lambda function. These will be merged with default environment variables including ITEM_LOAD_TOPIC_ARN and LOG_LEVEL. Use this for custom configuration or to pass credentials for external data sources.
3702
+ :param lambda_function_options: (experimental) Can be used to override the default lambda function properties. Default: - defined in the construct.
3623
3703
  :param lambda_runtime: (experimental) The lambda runtime to use for the item generation function. The function is containerized using Docker and can accommodate various stactools packages. The runtime version should be compatible with the packages you plan to use for STAC item generation. Default: lambda.Runtime.PYTHON_3_11
3624
3704
  :param lambda_timeout_seconds: (experimental) The timeout for the item generation lambda in seconds. This should accommodate the time needed to: - Install stactools packages using uvx - Download and process source data - Generate STAC metadata - Publish results to SNS The SQS visibility timeout will be set to this value plus 10 seconds. Default: 120
3625
3705
  :param max_concurrency: (experimental) Maximum number of concurrent executions. This controls how many item generation tasks can run simultaneously. Higher concurrency enables faster processing of large batches but may strain downstream systems or external data sources. Default: 100
3626
3706
  :param memory_size: (experimental) Memory size for the lambda function in MB. Higher memory allocation may be needed for processing large geospatial datasets or when stactools packages have high memory requirements. More memory also provides proportionally more CPU power. Default: 1024
3707
+ :param subnet_selection: (experimental) Subnet into which the lambda should be deployed.
3708
+ :param vpc: (experimental) VPC into which the lambda should be deployed.
3627
3709
 
3628
3710
  :stability: experimental
3629
3711
 
@@ -3636,15 +3718,20 @@ class StactoolsItemGeneratorProps:
3636
3718
  batchSize: 10
3637
3719
  });
3638
3720
  '''
3721
+ if isinstance(subnet_selection, dict):
3722
+ subnet_selection = _aws_cdk_aws_ec2_ceddda9d.SubnetSelection(**subnet_selection)
3639
3723
  if __debug__:
3640
3724
  type_hints = typing.get_type_hints(_typecheckingstub__6b9e5f6f8807be7e134c778699faa426c2851b57b5925a17e70c484a0a1cb82c)
3641
3725
  check_type(argname="argument item_load_topic_arn", value=item_load_topic_arn, expected_type=type_hints["item_load_topic_arn"])
3642
3726
  check_type(argname="argument batch_size", value=batch_size, expected_type=type_hints["batch_size"])
3643
3727
  check_type(argname="argument environment", value=environment, expected_type=type_hints["environment"])
3728
+ check_type(argname="argument lambda_function_options", value=lambda_function_options, expected_type=type_hints["lambda_function_options"])
3644
3729
  check_type(argname="argument lambda_runtime", value=lambda_runtime, expected_type=type_hints["lambda_runtime"])
3645
3730
  check_type(argname="argument lambda_timeout_seconds", value=lambda_timeout_seconds, expected_type=type_hints["lambda_timeout_seconds"])
3646
3731
  check_type(argname="argument max_concurrency", value=max_concurrency, expected_type=type_hints["max_concurrency"])
3647
3732
  check_type(argname="argument memory_size", value=memory_size, expected_type=type_hints["memory_size"])
3733
+ check_type(argname="argument subnet_selection", value=subnet_selection, expected_type=type_hints["subnet_selection"])
3734
+ check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
3648
3735
  self._values: typing.Dict[builtins.str, typing.Any] = {
3649
3736
  "item_load_topic_arn": item_load_topic_arn,
3650
3737
  }
@@ -3652,6 +3739,8 @@ class StactoolsItemGeneratorProps:
3652
3739
  self._values["batch_size"] = batch_size
3653
3740
  if environment is not None:
3654
3741
  self._values["environment"] = environment
3742
+ if lambda_function_options is not None:
3743
+ self._values["lambda_function_options"] = lambda_function_options
3655
3744
  if lambda_runtime is not None:
3656
3745
  self._values["lambda_runtime"] = lambda_runtime
3657
3746
  if lambda_timeout_seconds is not None:
@@ -3660,6 +3749,10 @@ class StactoolsItemGeneratorProps:
3660
3749
  self._values["max_concurrency"] = max_concurrency
3661
3750
  if memory_size is not None:
3662
3751
  self._values["memory_size"] = memory_size
3752
+ if subnet_selection is not None:
3753
+ self._values["subnet_selection"] = subnet_selection
3754
+ if vpc is not None:
3755
+ self._values["vpc"] = vpc
3663
3756
 
3664
3757
  @builtins.property
3665
3758
  def item_load_topic_arn(self) -> builtins.str:
@@ -3705,6 +3798,17 @@ class StactoolsItemGeneratorProps:
3705
3798
  result = self._values.get("environment")
3706
3799
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
3707
3800
 
3801
+ @builtins.property
3802
+ def lambda_function_options(self) -> typing.Any:
3803
+ '''(experimental) Can be used to override the default lambda function properties.
3804
+
3805
+ :default: - defined in the construct.
3806
+
3807
+ :stability: experimental
3808
+ '''
3809
+ result = self._values.get("lambda_function_options")
3810
+ return typing.cast(typing.Any, result)
3811
+
3708
3812
  @builtins.property
3709
3813
  def lambda_runtime(self) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Runtime]:
3710
3814
  '''(experimental) The lambda runtime to use for the item generation function.
@@ -3770,6 +3874,26 @@ class StactoolsItemGeneratorProps:
3770
3874
  result = self._values.get("memory_size")
3771
3875
  return typing.cast(typing.Optional[jsii.Number], result)
3772
3876
 
3877
+ @builtins.property
3878
+ def subnet_selection(
3879
+ self,
3880
+ ) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection]:
3881
+ '''(experimental) Subnet into which the lambda should be deployed.
3882
+
3883
+ :stability: experimental
3884
+ '''
3885
+ result = self._values.get("subnet_selection")
3886
+ return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection], result)
3887
+
3888
+ @builtins.property
3889
+ def vpc(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc]:
3890
+ '''(experimental) VPC into which the lambda should be deployed.
3891
+
3892
+ :stability: experimental
3893
+ '''
3894
+ result = self._values.get("vpc")
3895
+ return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc], result)
3896
+
3773
3897
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
3774
3898
  return isinstance(rhs, self.__class__) and rhs._values == self._values
3775
3899
 
@@ -4626,11 +4750,14 @@ def _typecheckingstub__3993e1684b5582edef005457882c4cfe3c53062e1f47dc584d35a9cfa
4626
4750
  pgstac_db: PgStacDatabase,
4627
4751
  batch_size: typing.Optional[jsii.Number] = None,
4628
4752
  environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4753
+ lambda_function_options: typing.Any = None,
4629
4754
  lambda_runtime: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Runtime] = None,
4630
4755
  lambda_timeout_seconds: typing.Optional[jsii.Number] = None,
4631
4756
  max_batching_window_minutes: typing.Optional[jsii.Number] = None,
4632
4757
  max_concurrency: typing.Optional[jsii.Number] = None,
4633
4758
  memory_size: typing.Optional[jsii.Number] = None,
4759
+ subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
4760
+ vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
4634
4761
  ) -> None:
4635
4762
  """Type checking stubs"""
4636
4763
  pass
@@ -4640,11 +4767,14 @@ def _typecheckingstub__4bbe16b8ca579680ab8c75903813675de5c4f4e8877137194262298af
4640
4767
  pgstac_db: PgStacDatabase,
4641
4768
  batch_size: typing.Optional[jsii.Number] = None,
4642
4769
  environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4770
+ lambda_function_options: typing.Any = None,
4643
4771
  lambda_runtime: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Runtime] = None,
4644
4772
  lambda_timeout_seconds: typing.Optional[jsii.Number] = None,
4645
4773
  max_batching_window_minutes: typing.Optional[jsii.Number] = None,
4646
4774
  max_concurrency: typing.Optional[jsii.Number] = None,
4647
4775
  memory_size: typing.Optional[jsii.Number] = None,
4776
+ subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
4777
+ vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
4648
4778
  ) -> None:
4649
4779
  """Type checking stubs"""
4650
4780
  pass
@@ -4656,10 +4786,13 @@ def _typecheckingstub__243b4e1875cc07228a55b3a2ffc4c24ad6d9b88594875765ecf973953
4656
4786
  item_load_topic_arn: builtins.str,
4657
4787
  batch_size: typing.Optional[jsii.Number] = None,
4658
4788
  environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4789
+ lambda_function_options: typing.Any = None,
4659
4790
  lambda_runtime: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Runtime] = None,
4660
4791
  lambda_timeout_seconds: typing.Optional[jsii.Number] = None,
4661
4792
  max_concurrency: typing.Optional[jsii.Number] = None,
4662
4793
  memory_size: typing.Optional[jsii.Number] = None,
4794
+ subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
4795
+ vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
4663
4796
  ) -> None:
4664
4797
  """Type checking stubs"""
4665
4798
  pass
@@ -4669,10 +4802,13 @@ def _typecheckingstub__6b9e5f6f8807be7e134c778699faa426c2851b57b5925a17e70c484a0
4669
4802
  item_load_topic_arn: builtins.str,
4670
4803
  batch_size: typing.Optional[jsii.Number] = None,
4671
4804
  environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4805
+ lambda_function_options: typing.Any = None,
4672
4806
  lambda_runtime: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Runtime] = None,
4673
4807
  lambda_timeout_seconds: typing.Optional[jsii.Number] = None,
4674
4808
  max_concurrency: typing.Optional[jsii.Number] = None,
4675
4809
  memory_size: typing.Optional[jsii.Number] = None,
4810
+ subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
4811
+ vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
4676
4812
  ) -> None:
4677
4813
  """Type checking stubs"""
4678
4814
  pass
@@ -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", "8.2.0", __name__[0:-6], "eoapi-cdk@8.2.0.jsii.tgz"
35
+ "eoapi-cdk", "8.2.2", __name__[0:-6], "eoapi-cdk@8.2.2.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: 8.2.0
3
+ Version: 8.2.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>
@@ -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@8.2.0.jsii.tgz
14
+ src/eoapi_cdk/_jsii/eoapi-cdk@8.2.2.jsii.tgz
File without changes
File without changes
File without changes
File without changes
File without changes