eoapi-cdk 9.1.0__tar.gz → 9.2.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: 9.1.0
3
+ Version: 9.2.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>
@@ -5,7 +5,7 @@ kwargs = json.loads(
5
5
  """
6
6
  {
7
7
  "name": "eoapi-cdk",
8
- "version": "9.1.0",
8
+ "version": "9.2.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,7 +26,7 @@ kwargs = json.loads(
26
26
  ],
27
27
  "package_data": {
28
28
  "eoapi_cdk._jsii": [
29
- "eoapi-cdk@9.1.0.jsii.tgz"
29
+ "eoapi-cdk@9.2.0.jsii.tgz"
30
30
  ],
31
31
  "eoapi_cdk": [
32
32
  "py.typed"
@@ -561,6 +561,136 @@ class DatabaseParameters:
561
561
  )
562
562
 
563
563
 
564
+ class LambdaApiGateway(
565
+ _constructs_77d1e7e8.Construct,
566
+ metaclass=jsii.JSIIMeta,
567
+ jsii_type="eoapi-cdk.LambdaApiGateway",
568
+ ):
569
+ '''
570
+ :stability: experimental
571
+ '''
572
+
573
+ def __init__(
574
+ self,
575
+ scope: _constructs_77d1e7e8.Construct,
576
+ id: builtins.str,
577
+ *,
578
+ lambda_function: _aws_cdk_aws_lambda_ceddda9d.Function,
579
+ api_name: typing.Optional[builtins.str] = None,
580
+ domain_name: typing.Optional[_aws_cdk_aws_apigatewayv2_ceddda9d.IDomainName] = None,
581
+ ) -> None:
582
+ '''
583
+ :param scope: -
584
+ :param id: -
585
+ :param lambda_function: (experimental) Lambda function to integrate with the API Gateway.
586
+ :param api_name: (experimental) Name of the API Gateway.
587
+ :param domain_name: (experimental) Custom Domain Name for the API. If defined, will create the domain name and integrate it with the API. Default: - undefined
588
+
589
+ :stability: experimental
590
+ '''
591
+ if __debug__:
592
+ type_hints = typing.get_type_hints(_typecheckingstub__6acf89577f1516b39461b2eda5a444dd27116780e59eb5b01d76b51eddb39aea)
593
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
594
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
595
+ props = LambdaApiGatewayProps(
596
+ lambda_function=lambda_function, api_name=api_name, domain_name=domain_name
597
+ )
598
+
599
+ jsii.create(self.__class__, self, [scope, id, props])
600
+
601
+ @builtins.property
602
+ @jsii.member(jsii_name="api")
603
+ def api(self) -> _aws_cdk_aws_apigatewayv2_ceddda9d.HttpApi:
604
+ '''
605
+ :stability: experimental
606
+ '''
607
+ return typing.cast(_aws_cdk_aws_apigatewayv2_ceddda9d.HttpApi, jsii.get(self, "api"))
608
+
609
+
610
+ @jsii.data_type(
611
+ jsii_type="eoapi-cdk.LambdaApiGatewayProps",
612
+ jsii_struct_bases=[],
613
+ name_mapping={
614
+ "lambda_function": "lambdaFunction",
615
+ "api_name": "apiName",
616
+ "domain_name": "domainName",
617
+ },
618
+ )
619
+ class LambdaApiGatewayProps:
620
+ def __init__(
621
+ self,
622
+ *,
623
+ lambda_function: _aws_cdk_aws_lambda_ceddda9d.Function,
624
+ api_name: typing.Optional[builtins.str] = None,
625
+ domain_name: typing.Optional[_aws_cdk_aws_apigatewayv2_ceddda9d.IDomainName] = None,
626
+ ) -> None:
627
+ '''
628
+ :param lambda_function: (experimental) Lambda function to integrate with the API Gateway.
629
+ :param api_name: (experimental) Name of the API Gateway.
630
+ :param domain_name: (experimental) Custom Domain Name for the API. If defined, will create the domain name and integrate it with the API. Default: - undefined
631
+
632
+ :stability: experimental
633
+ '''
634
+ if __debug__:
635
+ type_hints = typing.get_type_hints(_typecheckingstub__636370de798041d3155ed89acdee82e6c954340f4042f30c625f1531cdc7c955)
636
+ check_type(argname="argument lambda_function", value=lambda_function, expected_type=type_hints["lambda_function"])
637
+ check_type(argname="argument api_name", value=api_name, expected_type=type_hints["api_name"])
638
+ check_type(argname="argument domain_name", value=domain_name, expected_type=type_hints["domain_name"])
639
+ self._values: typing.Dict[builtins.str, typing.Any] = {
640
+ "lambda_function": lambda_function,
641
+ }
642
+ if api_name is not None:
643
+ self._values["api_name"] = api_name
644
+ if domain_name is not None:
645
+ self._values["domain_name"] = domain_name
646
+
647
+ @builtins.property
648
+ def lambda_function(self) -> _aws_cdk_aws_lambda_ceddda9d.Function:
649
+ '''(experimental) Lambda function to integrate with the API Gateway.
650
+
651
+ :stability: experimental
652
+ '''
653
+ result = self._values.get("lambda_function")
654
+ assert result is not None, "Required property 'lambda_function' is missing"
655
+ return typing.cast(_aws_cdk_aws_lambda_ceddda9d.Function, result)
656
+
657
+ @builtins.property
658
+ def api_name(self) -> typing.Optional[builtins.str]:
659
+ '''(experimental) Name of the API Gateway.
660
+
661
+ :stability: experimental
662
+ '''
663
+ result = self._values.get("api_name")
664
+ return typing.cast(typing.Optional[builtins.str], result)
665
+
666
+ @builtins.property
667
+ def domain_name(
668
+ self,
669
+ ) -> typing.Optional[_aws_cdk_aws_apigatewayv2_ceddda9d.IDomainName]:
670
+ '''(experimental) Custom Domain Name for the API.
671
+
672
+ If defined, will create the
673
+ domain name and integrate it with the API.
674
+
675
+ :default: - undefined
676
+
677
+ :stability: experimental
678
+ '''
679
+ result = self._values.get("domain_name")
680
+ return typing.cast(typing.Optional[_aws_cdk_aws_apigatewayv2_ceddda9d.IDomainName], result)
681
+
682
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
683
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
684
+
685
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
686
+ return not (rhs == self)
687
+
688
+ def __repr__(self) -> str:
689
+ return "LambdaApiGatewayProps(%s)" % ", ".join(
690
+ k + "=" + repr(v) for k, v in self._values.items()
691
+ )
692
+
693
+
564
694
  class PgStacApiLambda(
565
695
  _constructs_77d1e7e8.Construct,
566
696
  metaclass=jsii.JSIIMeta,
@@ -2213,63 +2343,606 @@ class PgStacDatabaseProps(_aws_cdk_aws_rds_ceddda9d.DatabaseInstanceProps):
2213
2343
 
2214
2344
  :stability: experimental
2215
2345
  '''
2216
- result = self._values.get("custom_resource_properties")
2217
- return typing.cast(typing.Optional[typing.Mapping[builtins.str, typing.Any]], result)
2346
+ result = self._values.get("custom_resource_properties")
2347
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, typing.Any]], result)
2348
+
2349
+ @builtins.property
2350
+ def pgbouncer_instance_props(self) -> typing.Any:
2351
+ '''(experimental) Properties for the pgbouncer ec2 instance.
2352
+
2353
+ :default: - defined in the construct
2354
+
2355
+ :stability: experimental
2356
+ '''
2357
+ result = self._values.get("pgbouncer_instance_props")
2358
+ return typing.cast(typing.Any, result)
2359
+
2360
+ @builtins.property
2361
+ def pgstac_db_name(self) -> typing.Optional[builtins.str]:
2362
+ '''(experimental) Name of database that is to be created and onto which pgSTAC will be installed.
2363
+
2364
+ :default: pgstac
2365
+
2366
+ :stability: experimental
2367
+ '''
2368
+ result = self._values.get("pgstac_db_name")
2369
+ return typing.cast(typing.Optional[builtins.str], result)
2370
+
2371
+ @builtins.property
2372
+ def pgstac_username(self) -> typing.Optional[builtins.str]:
2373
+ '''(experimental) Name of user that will be generated for connecting to the pgSTAC database.
2374
+
2375
+ :default: pgstac_user
2376
+
2377
+ :stability: experimental
2378
+ '''
2379
+ result = self._values.get("pgstac_username")
2380
+ return typing.cast(typing.Optional[builtins.str], result)
2381
+
2382
+ @builtins.property
2383
+ def pgstac_version(self) -> typing.Optional[builtins.str]:
2384
+ '''(experimental) Version of pgstac to install on the database.
2385
+
2386
+ :default: 0.8.5
2387
+
2388
+ :stability: experimental
2389
+ '''
2390
+ result = self._values.get("pgstac_version")
2391
+ return typing.cast(typing.Optional[builtins.str], result)
2392
+
2393
+ @builtins.property
2394
+ def secrets_prefix(self) -> typing.Optional[builtins.str]:
2395
+ '''(experimental) Prefix to assign to the generated ``secrets_manager.Secret``.
2396
+
2397
+ :default: pgstac
2398
+
2399
+ :stability: experimental
2400
+ '''
2401
+ result = self._values.get("secrets_prefix")
2402
+ return typing.cast(typing.Optional[builtins.str], result)
2403
+
2404
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2405
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2406
+
2407
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2408
+ return not (rhs == self)
2409
+
2410
+ def __repr__(self) -> str:
2411
+ return "PgStacDatabaseProps(%s)" % ", ".join(
2412
+ k + "=" + repr(v) for k, v in self._values.items()
2413
+ )
2414
+
2415
+
2416
+ class PrivateLambdaApiGateway(
2417
+ _constructs_77d1e7e8.Construct,
2418
+ metaclass=jsii.JSIIMeta,
2419
+ jsii_type="eoapi-cdk.PrivateLambdaApiGateway",
2420
+ ):
2421
+ '''
2422
+ :stability: experimental
2423
+ '''
2424
+
2425
+ def __init__(
2426
+ self,
2427
+ scope: _constructs_77d1e7e8.Construct,
2428
+ id: builtins.str,
2429
+ *,
2430
+ lambda_function: _aws_cdk_aws_lambda_ceddda9d.IFunction,
2431
+ vpc: _aws_cdk_aws_ec2_ceddda9d.IVpc,
2432
+ create_vpc_endpoint: typing.Optional[builtins.bool] = None,
2433
+ deploy_options: typing.Optional[typing.Union[_aws_cdk_aws_apigateway_ceddda9d.StageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
2434
+ description: typing.Optional[builtins.str] = None,
2435
+ lambda_integration_options: typing.Optional[typing.Union[_aws_cdk_aws_apigateway_ceddda9d.LambdaIntegrationOptions, typing.Dict[builtins.str, typing.Any]]] = None,
2436
+ policy: typing.Optional[_aws_cdk_aws_iam_ceddda9d.PolicyDocument] = None,
2437
+ rest_api_name: typing.Optional[builtins.str] = None,
2438
+ vpc_endpoint_subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
2439
+ ) -> None:
2440
+ '''
2441
+ :param scope: -
2442
+ :param id: -
2443
+ :param lambda_function: (experimental) Lambda function to integrate with the API Gateway.
2444
+ :param vpc: (experimental) VPC to create the API Gateway in.
2445
+ :param create_vpc_endpoint: (experimental) Whether to create a VPC endpoint for the API Gateway. Default: - true
2446
+ :param deploy_options: (experimental) Deploy options for the API Gateway.
2447
+ :param description: (experimental) Description for the API Gateway. Default: - "Private REST API Gateway"
2448
+ :param lambda_integration_options: (experimental) Lambda integration options for the API Gateway.
2449
+ :param policy: (experimental) Policy for the API Gateway. Default: - Policy that allows any principal with the same VPC to invoke the API.
2450
+ :param rest_api_name: (experimental) Name for the API Gateway. Default: - ``${scope.node.id}-private-api``
2451
+ :param vpc_endpoint_subnet_selection: (experimental) The subnets in which to create a VPC endpoint network interface. At most one per availability zone.
2452
+
2453
+ :stability: experimental
2454
+ '''
2455
+ if __debug__:
2456
+ type_hints = typing.get_type_hints(_typecheckingstub__c81dac29c3c973efb9773118c7b6e4c4053ddf2f1bf6f2b06ef3207ac9b56c97)
2457
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
2458
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
2459
+ props = PrivateLambdaApiGatewayProps(
2460
+ lambda_function=lambda_function,
2461
+ vpc=vpc,
2462
+ create_vpc_endpoint=create_vpc_endpoint,
2463
+ deploy_options=deploy_options,
2464
+ description=description,
2465
+ lambda_integration_options=lambda_integration_options,
2466
+ policy=policy,
2467
+ rest_api_name=rest_api_name,
2468
+ vpc_endpoint_subnet_selection=vpc_endpoint_subnet_selection,
2469
+ )
2470
+
2471
+ jsii.create(self.__class__, self, [scope, id, props])
2472
+
2473
+ @builtins.property
2474
+ @jsii.member(jsii_name="api")
2475
+ def api(self) -> _aws_cdk_aws_apigateway_ceddda9d.RestApi:
2476
+ '''
2477
+ :stability: experimental
2478
+ '''
2479
+ return typing.cast(_aws_cdk_aws_apigateway_ceddda9d.RestApi, jsii.get(self, "api"))
2480
+
2481
+ @builtins.property
2482
+ @jsii.member(jsii_name="vpcEndpoint")
2483
+ def vpc_endpoint(
2484
+ self,
2485
+ ) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InterfaceVpcEndpoint]:
2486
+ '''
2487
+ :stability: experimental
2488
+ '''
2489
+ return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InterfaceVpcEndpoint], jsii.get(self, "vpcEndpoint"))
2490
+
2491
+
2492
+ @jsii.data_type(
2493
+ jsii_type="eoapi-cdk.PrivateLambdaApiGatewayProps",
2494
+ jsii_struct_bases=[],
2495
+ name_mapping={
2496
+ "lambda_function": "lambdaFunction",
2497
+ "vpc": "vpc",
2498
+ "create_vpc_endpoint": "createVpcEndpoint",
2499
+ "deploy_options": "deployOptions",
2500
+ "description": "description",
2501
+ "lambda_integration_options": "lambdaIntegrationOptions",
2502
+ "policy": "policy",
2503
+ "rest_api_name": "restApiName",
2504
+ "vpc_endpoint_subnet_selection": "vpcEndpointSubnetSelection",
2505
+ },
2506
+ )
2507
+ class PrivateLambdaApiGatewayProps:
2508
+ def __init__(
2509
+ self,
2510
+ *,
2511
+ lambda_function: _aws_cdk_aws_lambda_ceddda9d.IFunction,
2512
+ vpc: _aws_cdk_aws_ec2_ceddda9d.IVpc,
2513
+ create_vpc_endpoint: typing.Optional[builtins.bool] = None,
2514
+ deploy_options: typing.Optional[typing.Union[_aws_cdk_aws_apigateway_ceddda9d.StageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
2515
+ description: typing.Optional[builtins.str] = None,
2516
+ lambda_integration_options: typing.Optional[typing.Union[_aws_cdk_aws_apigateway_ceddda9d.LambdaIntegrationOptions, typing.Dict[builtins.str, typing.Any]]] = None,
2517
+ policy: typing.Optional[_aws_cdk_aws_iam_ceddda9d.PolicyDocument] = None,
2518
+ rest_api_name: typing.Optional[builtins.str] = None,
2519
+ vpc_endpoint_subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
2520
+ ) -> None:
2521
+ '''
2522
+ :param lambda_function: (experimental) Lambda function to integrate with the API Gateway.
2523
+ :param vpc: (experimental) VPC to create the API Gateway in.
2524
+ :param create_vpc_endpoint: (experimental) Whether to create a VPC endpoint for the API Gateway. Default: - true
2525
+ :param deploy_options: (experimental) Deploy options for the API Gateway.
2526
+ :param description: (experimental) Description for the API Gateway. Default: - "Private REST API Gateway"
2527
+ :param lambda_integration_options: (experimental) Lambda integration options for the API Gateway.
2528
+ :param policy: (experimental) Policy for the API Gateway. Default: - Policy that allows any principal with the same VPC to invoke the API.
2529
+ :param rest_api_name: (experimental) Name for the API Gateway. Default: - ``${scope.node.id}-private-api``
2530
+ :param vpc_endpoint_subnet_selection: (experimental) The subnets in which to create a VPC endpoint network interface. At most one per availability zone.
2531
+
2532
+ :stability: experimental
2533
+ '''
2534
+ if isinstance(deploy_options, dict):
2535
+ deploy_options = _aws_cdk_aws_apigateway_ceddda9d.StageOptions(**deploy_options)
2536
+ if isinstance(lambda_integration_options, dict):
2537
+ lambda_integration_options = _aws_cdk_aws_apigateway_ceddda9d.LambdaIntegrationOptions(**lambda_integration_options)
2538
+ if isinstance(vpc_endpoint_subnet_selection, dict):
2539
+ vpc_endpoint_subnet_selection = _aws_cdk_aws_ec2_ceddda9d.SubnetSelection(**vpc_endpoint_subnet_selection)
2540
+ if __debug__:
2541
+ type_hints = typing.get_type_hints(_typecheckingstub__3f910247136d5b124a91ec9a7ae8532dac2e97f270d95b250ab3a690f374ac91)
2542
+ check_type(argname="argument lambda_function", value=lambda_function, expected_type=type_hints["lambda_function"])
2543
+ check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
2544
+ check_type(argname="argument create_vpc_endpoint", value=create_vpc_endpoint, expected_type=type_hints["create_vpc_endpoint"])
2545
+ check_type(argname="argument deploy_options", value=deploy_options, expected_type=type_hints["deploy_options"])
2546
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
2547
+ check_type(argname="argument lambda_integration_options", value=lambda_integration_options, expected_type=type_hints["lambda_integration_options"])
2548
+ check_type(argname="argument policy", value=policy, expected_type=type_hints["policy"])
2549
+ check_type(argname="argument rest_api_name", value=rest_api_name, expected_type=type_hints["rest_api_name"])
2550
+ check_type(argname="argument vpc_endpoint_subnet_selection", value=vpc_endpoint_subnet_selection, expected_type=type_hints["vpc_endpoint_subnet_selection"])
2551
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2552
+ "lambda_function": lambda_function,
2553
+ "vpc": vpc,
2554
+ }
2555
+ if create_vpc_endpoint is not None:
2556
+ self._values["create_vpc_endpoint"] = create_vpc_endpoint
2557
+ if deploy_options is not None:
2558
+ self._values["deploy_options"] = deploy_options
2559
+ if description is not None:
2560
+ self._values["description"] = description
2561
+ if lambda_integration_options is not None:
2562
+ self._values["lambda_integration_options"] = lambda_integration_options
2563
+ if policy is not None:
2564
+ self._values["policy"] = policy
2565
+ if rest_api_name is not None:
2566
+ self._values["rest_api_name"] = rest_api_name
2567
+ if vpc_endpoint_subnet_selection is not None:
2568
+ self._values["vpc_endpoint_subnet_selection"] = vpc_endpoint_subnet_selection
2569
+
2570
+ @builtins.property
2571
+ def lambda_function(self) -> _aws_cdk_aws_lambda_ceddda9d.IFunction:
2572
+ '''(experimental) Lambda function to integrate with the API Gateway.
2573
+
2574
+ :stability: experimental
2575
+ '''
2576
+ result = self._values.get("lambda_function")
2577
+ assert result is not None, "Required property 'lambda_function' is missing"
2578
+ return typing.cast(_aws_cdk_aws_lambda_ceddda9d.IFunction, result)
2579
+
2580
+ @builtins.property
2581
+ def vpc(self) -> _aws_cdk_aws_ec2_ceddda9d.IVpc:
2582
+ '''(experimental) VPC to create the API Gateway in.
2583
+
2584
+ :stability: experimental
2585
+ '''
2586
+ result = self._values.get("vpc")
2587
+ assert result is not None, "Required property 'vpc' is missing"
2588
+ return typing.cast(_aws_cdk_aws_ec2_ceddda9d.IVpc, result)
2589
+
2590
+ @builtins.property
2591
+ def create_vpc_endpoint(self) -> typing.Optional[builtins.bool]:
2592
+ '''(experimental) Whether to create a VPC endpoint for the API Gateway.
2593
+
2594
+ :default: - true
2595
+
2596
+ :stability: experimental
2597
+ '''
2598
+ result = self._values.get("create_vpc_endpoint")
2599
+ return typing.cast(typing.Optional[builtins.bool], result)
2600
+
2601
+ @builtins.property
2602
+ def deploy_options(
2603
+ self,
2604
+ ) -> typing.Optional[_aws_cdk_aws_apigateway_ceddda9d.StageOptions]:
2605
+ '''(experimental) Deploy options for the API Gateway.
2606
+
2607
+ :stability: experimental
2608
+ '''
2609
+ result = self._values.get("deploy_options")
2610
+ return typing.cast(typing.Optional[_aws_cdk_aws_apigateway_ceddda9d.StageOptions], result)
2611
+
2612
+ @builtins.property
2613
+ def description(self) -> typing.Optional[builtins.str]:
2614
+ '''(experimental) Description for the API Gateway.
2615
+
2616
+ :default: - "Private REST API Gateway"
2617
+
2618
+ :stability: experimental
2619
+ '''
2620
+ result = self._values.get("description")
2621
+ return typing.cast(typing.Optional[builtins.str], result)
2622
+
2623
+ @builtins.property
2624
+ def lambda_integration_options(
2625
+ self,
2626
+ ) -> typing.Optional[_aws_cdk_aws_apigateway_ceddda9d.LambdaIntegrationOptions]:
2627
+ '''(experimental) Lambda integration options for the API Gateway.
2628
+
2629
+ :stability: experimental
2630
+ '''
2631
+ result = self._values.get("lambda_integration_options")
2632
+ return typing.cast(typing.Optional[_aws_cdk_aws_apigateway_ceddda9d.LambdaIntegrationOptions], result)
2633
+
2634
+ @builtins.property
2635
+ def policy(self) -> typing.Optional[_aws_cdk_aws_iam_ceddda9d.PolicyDocument]:
2636
+ '''(experimental) Policy for the API Gateway.
2637
+
2638
+ :default: - Policy that allows any principal with the same VPC to invoke the API.
2639
+
2640
+ :stability: experimental
2641
+ '''
2642
+ result = self._values.get("policy")
2643
+ return typing.cast(typing.Optional[_aws_cdk_aws_iam_ceddda9d.PolicyDocument], result)
2644
+
2645
+ @builtins.property
2646
+ def rest_api_name(self) -> typing.Optional[builtins.str]:
2647
+ '''(experimental) Name for the API Gateway.
2648
+
2649
+ :default: - ``${scope.node.id}-private-api``
2650
+
2651
+ :stability: experimental
2652
+ '''
2653
+ result = self._values.get("rest_api_name")
2654
+ return typing.cast(typing.Optional[builtins.str], result)
2655
+
2656
+ @builtins.property
2657
+ def vpc_endpoint_subnet_selection(
2658
+ self,
2659
+ ) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection]:
2660
+ '''(experimental) The subnets in which to create a VPC endpoint network interface.
2661
+
2662
+ At most one per availability zone.
2663
+
2664
+ :stability: experimental
2665
+ '''
2666
+ result = self._values.get("vpc_endpoint_subnet_selection")
2667
+ return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection], result)
2668
+
2669
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2670
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2671
+
2672
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2673
+ return not (rhs == self)
2674
+
2675
+ def __repr__(self) -> str:
2676
+ return "PrivateLambdaApiGatewayProps(%s)" % ", ".join(
2677
+ k + "=" + repr(v) for k, v in self._values.items()
2678
+ )
2679
+
2680
+
2681
+ class StacAuthProxyLambda(
2682
+ _constructs_77d1e7e8.Construct,
2683
+ metaclass=jsii.JSIIMeta,
2684
+ jsii_type="eoapi-cdk.StacAuthProxyLambda",
2685
+ ):
2686
+ '''
2687
+ :stability: experimental
2688
+ '''
2689
+
2690
+ def __init__(
2691
+ self,
2692
+ scope: _constructs_77d1e7e8.Construct,
2693
+ id: builtins.str,
2694
+ *,
2695
+ domain_name: typing.Optional[_aws_cdk_aws_apigatewayv2_ceddda9d.IDomainName] = None,
2696
+ oidc_discovery_url: builtins.str,
2697
+ upstream_url: builtins.str,
2698
+ api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
2699
+ lambda_function_options: typing.Any = None,
2700
+ stac_api_client_id: typing.Optional[builtins.str] = None,
2701
+ subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
2702
+ vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
2703
+ ) -> None:
2704
+ '''
2705
+ :param scope: -
2706
+ :param id: -
2707
+ :param domain_name: (experimental) Domain Name for the STAC API. If defined, will create the domain name and integrate it with the STAC API. Default: - undefined
2708
+ :param oidc_discovery_url: (experimental) URL to OIDC Discovery Endpoint.
2709
+ :param upstream_url: (experimental) URL to upstream STAC API.
2710
+ :param api_env: (experimental) Customized environment variables to send to stac-auth-proxy runtime. https://github.com/developmentseed/stac-auth-proxy/?tab=readme-ov-file#configuration
2711
+ :param lambda_function_options: (experimental) Can be used to override the default lambda function properties. Default: - defined in the construct.
2712
+ :param stac_api_client_id: (experimental) OAuth Client ID for Swagger UI.
2713
+ :param subnet_selection: (experimental) Subnet into which the lambda should be deployed.
2714
+ :param vpc: (experimental) VPC into which the lambda should be deployed.
2715
+
2716
+ :stability: experimental
2717
+ '''
2718
+ if __debug__:
2719
+ type_hints = typing.get_type_hints(_typecheckingstub__bd1dddec4423b8f583fdf8b5d598d633e7c8acef087f1678380c78a4bb1dfb28)
2720
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
2721
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
2722
+ props = StacAuthProxyLambdaProps(
2723
+ domain_name=domain_name,
2724
+ oidc_discovery_url=oidc_discovery_url,
2725
+ upstream_url=upstream_url,
2726
+ api_env=api_env,
2727
+ lambda_function_options=lambda_function_options,
2728
+ stac_api_client_id=stac_api_client_id,
2729
+ subnet_selection=subnet_selection,
2730
+ vpc=vpc,
2731
+ )
2732
+
2733
+ jsii.create(self.__class__, self, [scope, id, props])
2734
+
2735
+ @builtins.property
2736
+ @jsii.member(jsii_name="lambdaFunction")
2737
+ def lambda_function(self) -> _aws_cdk_aws_lambda_ceddda9d.Function:
2738
+ '''(experimental) Lambda function for the STAC API.
2739
+
2740
+ :stability: experimental
2741
+ '''
2742
+ return typing.cast(_aws_cdk_aws_lambda_ceddda9d.Function, jsii.get(self, "lambdaFunction"))
2743
+
2744
+ @builtins.property
2745
+ @jsii.member(jsii_name="url")
2746
+ def url(self) -> builtins.str:
2747
+ '''(experimental) URL for the STAC API.
2748
+
2749
+ :stability: experimental
2750
+ '''
2751
+ return typing.cast(builtins.str, jsii.get(self, "url"))
2752
+
2753
+
2754
+ class StacAuthProxyLambdaRuntime(
2755
+ _constructs_77d1e7e8.Construct,
2756
+ metaclass=jsii.JSIIMeta,
2757
+ jsii_type="eoapi-cdk.StacAuthProxyLambdaRuntime",
2758
+ ):
2759
+ '''
2760
+ :stability: experimental
2761
+ '''
2762
+
2763
+ def __init__(
2764
+ self,
2765
+ scope: _constructs_77d1e7e8.Construct,
2766
+ id: builtins.str,
2767
+ *,
2768
+ oidc_discovery_url: builtins.str,
2769
+ upstream_url: builtins.str,
2770
+ api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
2771
+ lambda_function_options: typing.Any = None,
2772
+ stac_api_client_id: typing.Optional[builtins.str] = None,
2773
+ subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
2774
+ vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
2775
+ ) -> None:
2776
+ '''
2777
+ :param scope: -
2778
+ :param id: -
2779
+ :param oidc_discovery_url: (experimental) URL to OIDC Discovery Endpoint.
2780
+ :param upstream_url: (experimental) URL to upstream STAC API.
2781
+ :param api_env: (experimental) Customized environment variables to send to stac-auth-proxy runtime. https://github.com/developmentseed/stac-auth-proxy/?tab=readme-ov-file#configuration
2782
+ :param lambda_function_options: (experimental) Can be used to override the default lambda function properties. Default: - defined in the construct.
2783
+ :param stac_api_client_id: (experimental) OAuth Client ID for Swagger UI.
2784
+ :param subnet_selection: (experimental) Subnet into which the lambda should be deployed.
2785
+ :param vpc: (experimental) VPC into which the lambda should be deployed.
2786
+
2787
+ :stability: experimental
2788
+ '''
2789
+ if __debug__:
2790
+ type_hints = typing.get_type_hints(_typecheckingstub__6bda80f926b17209feb3773434d016492d09a1e88b6e329d615da4560d810aa6)
2791
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
2792
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
2793
+ props = StacAuthProxyLambdaRuntimeProps(
2794
+ oidc_discovery_url=oidc_discovery_url,
2795
+ upstream_url=upstream_url,
2796
+ api_env=api_env,
2797
+ lambda_function_options=lambda_function_options,
2798
+ stac_api_client_id=stac_api_client_id,
2799
+ subnet_selection=subnet_selection,
2800
+ vpc=vpc,
2801
+ )
2802
+
2803
+ jsii.create(self.__class__, self, [scope, id, props])
2804
+
2805
+ @builtins.property
2806
+ @jsii.member(jsii_name="lambdaFunction")
2807
+ def lambda_function(self) -> _aws_cdk_aws_lambda_ceddda9d.Function:
2808
+ '''
2809
+ :stability: experimental
2810
+ '''
2811
+ return typing.cast(_aws_cdk_aws_lambda_ceddda9d.Function, jsii.get(self, "lambdaFunction"))
2812
+
2813
+
2814
+ @jsii.data_type(
2815
+ jsii_type="eoapi-cdk.StacAuthProxyLambdaRuntimeProps",
2816
+ jsii_struct_bases=[],
2817
+ name_mapping={
2818
+ "oidc_discovery_url": "oidcDiscoveryUrl",
2819
+ "upstream_url": "upstreamUrl",
2820
+ "api_env": "apiEnv",
2821
+ "lambda_function_options": "lambdaFunctionOptions",
2822
+ "stac_api_client_id": "stacApiClientId",
2823
+ "subnet_selection": "subnetSelection",
2824
+ "vpc": "vpc",
2825
+ },
2826
+ )
2827
+ class StacAuthProxyLambdaRuntimeProps:
2828
+ def __init__(
2829
+ self,
2830
+ *,
2831
+ oidc_discovery_url: builtins.str,
2832
+ upstream_url: builtins.str,
2833
+ api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
2834
+ lambda_function_options: typing.Any = None,
2835
+ stac_api_client_id: typing.Optional[builtins.str] = None,
2836
+ subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
2837
+ vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
2838
+ ) -> None:
2839
+ '''
2840
+ :param oidc_discovery_url: (experimental) URL to OIDC Discovery Endpoint.
2841
+ :param upstream_url: (experimental) URL to upstream STAC API.
2842
+ :param api_env: (experimental) Customized environment variables to send to stac-auth-proxy runtime. https://github.com/developmentseed/stac-auth-proxy/?tab=readme-ov-file#configuration
2843
+ :param lambda_function_options: (experimental) Can be used to override the default lambda function properties. Default: - defined in the construct.
2844
+ :param stac_api_client_id: (experimental) OAuth Client ID for Swagger UI.
2845
+ :param subnet_selection: (experimental) Subnet into which the lambda should be deployed.
2846
+ :param vpc: (experimental) VPC into which the lambda should be deployed.
2847
+
2848
+ :stability: experimental
2849
+ '''
2850
+ if isinstance(subnet_selection, dict):
2851
+ subnet_selection = _aws_cdk_aws_ec2_ceddda9d.SubnetSelection(**subnet_selection)
2852
+ if __debug__:
2853
+ type_hints = typing.get_type_hints(_typecheckingstub__dd210eea04923531ff1b80f494262e840c9cefbb8d84dfaa2f0c9a5591affc1f)
2854
+ check_type(argname="argument oidc_discovery_url", value=oidc_discovery_url, expected_type=type_hints["oidc_discovery_url"])
2855
+ check_type(argname="argument upstream_url", value=upstream_url, expected_type=type_hints["upstream_url"])
2856
+ check_type(argname="argument api_env", value=api_env, expected_type=type_hints["api_env"])
2857
+ check_type(argname="argument lambda_function_options", value=lambda_function_options, expected_type=type_hints["lambda_function_options"])
2858
+ check_type(argname="argument stac_api_client_id", value=stac_api_client_id, expected_type=type_hints["stac_api_client_id"])
2859
+ check_type(argname="argument subnet_selection", value=subnet_selection, expected_type=type_hints["subnet_selection"])
2860
+ check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
2861
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2862
+ "oidc_discovery_url": oidc_discovery_url,
2863
+ "upstream_url": upstream_url,
2864
+ }
2865
+ if api_env is not None:
2866
+ self._values["api_env"] = api_env
2867
+ if lambda_function_options is not None:
2868
+ self._values["lambda_function_options"] = lambda_function_options
2869
+ if stac_api_client_id is not None:
2870
+ self._values["stac_api_client_id"] = stac_api_client_id
2871
+ if subnet_selection is not None:
2872
+ self._values["subnet_selection"] = subnet_selection
2873
+ if vpc is not None:
2874
+ self._values["vpc"] = vpc
2875
+
2876
+ @builtins.property
2877
+ def oidc_discovery_url(self) -> builtins.str:
2878
+ '''(experimental) URL to OIDC Discovery Endpoint.
2879
+
2880
+ :stability: experimental
2881
+ '''
2882
+ result = self._values.get("oidc_discovery_url")
2883
+ assert result is not None, "Required property 'oidc_discovery_url' is missing"
2884
+ return typing.cast(builtins.str, result)
2218
2885
 
2219
2886
  @builtins.property
2220
- def pgbouncer_instance_props(self) -> typing.Any:
2221
- '''(experimental) Properties for the pgbouncer ec2 instance.
2222
-
2223
- :default: - defined in the construct
2887
+ def upstream_url(self) -> builtins.str:
2888
+ '''(experimental) URL to upstream STAC API.
2224
2889
 
2225
2890
  :stability: experimental
2226
2891
  '''
2227
- result = self._values.get("pgbouncer_instance_props")
2228
- return typing.cast(typing.Any, result)
2892
+ result = self._values.get("upstream_url")
2893
+ assert result is not None, "Required property 'upstream_url' is missing"
2894
+ return typing.cast(builtins.str, result)
2229
2895
 
2230
2896
  @builtins.property
2231
- def pgstac_db_name(self) -> typing.Optional[builtins.str]:
2232
- '''(experimental) Name of database that is to be created and onto which pgSTAC will be installed.
2897
+ def api_env(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
2898
+ '''(experimental) Customized environment variables to send to stac-auth-proxy runtime.
2233
2899
 
2234
- :default: pgstac
2900
+ https://github.com/developmentseed/stac-auth-proxy/?tab=readme-ov-file#configuration
2235
2901
 
2236
2902
  :stability: experimental
2237
2903
  '''
2238
- result = self._values.get("pgstac_db_name")
2239
- return typing.cast(typing.Optional[builtins.str], result)
2904
+ result = self._values.get("api_env")
2905
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
2240
2906
 
2241
2907
  @builtins.property
2242
- def pgstac_username(self) -> typing.Optional[builtins.str]:
2243
- '''(experimental) Name of user that will be generated for connecting to the pgSTAC database.
2908
+ def lambda_function_options(self) -> typing.Any:
2909
+ '''(experimental) Can be used to override the default lambda function properties.
2244
2910
 
2245
- :default: pgstac_user
2911
+ :default: - defined in the construct.
2246
2912
 
2247
2913
  :stability: experimental
2248
2914
  '''
2249
- result = self._values.get("pgstac_username")
2250
- return typing.cast(typing.Optional[builtins.str], result)
2915
+ result = self._values.get("lambda_function_options")
2916
+ return typing.cast(typing.Any, result)
2251
2917
 
2252
2918
  @builtins.property
2253
- def pgstac_version(self) -> typing.Optional[builtins.str]:
2254
- '''(experimental) Version of pgstac to install on the database.
2255
-
2256
- :default: 0.8.5
2919
+ def stac_api_client_id(self) -> typing.Optional[builtins.str]:
2920
+ '''(experimental) OAuth Client ID for Swagger UI.
2257
2921
 
2258
2922
  :stability: experimental
2259
2923
  '''
2260
- result = self._values.get("pgstac_version")
2924
+ result = self._values.get("stac_api_client_id")
2261
2925
  return typing.cast(typing.Optional[builtins.str], result)
2262
2926
 
2263
2927
  @builtins.property
2264
- def secrets_prefix(self) -> typing.Optional[builtins.str]:
2265
- '''(experimental) Prefix to assign to the generated ``secrets_manager.Secret``.
2928
+ def subnet_selection(
2929
+ self,
2930
+ ) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection]:
2931
+ '''(experimental) Subnet into which the lambda should be deployed.
2266
2932
 
2267
- :default: pgstac
2933
+ :stability: experimental
2934
+ '''
2935
+ result = self._values.get("subnet_selection")
2936
+ return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection], result)
2937
+
2938
+ @builtins.property
2939
+ def vpc(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc]:
2940
+ '''(experimental) VPC into which the lambda should be deployed.
2268
2941
 
2269
2942
  :stability: experimental
2270
2943
  '''
2271
- result = self._values.get("secrets_prefix")
2272
- return typing.cast(typing.Optional[builtins.str], result)
2944
+ result = self._values.get("vpc")
2945
+ return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc], result)
2273
2946
 
2274
2947
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
2275
2948
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -2278,7 +2951,7 @@ class PgStacDatabaseProps(_aws_cdk_aws_rds_ceddda9d.DatabaseInstanceProps):
2278
2951
  return not (rhs == self)
2279
2952
 
2280
2953
  def __repr__(self) -> str:
2281
- return "PgStacDatabaseProps(%s)" % ", ".join(
2954
+ return "StacAuthProxyLambdaRuntimeProps(%s)" % ", ".join(
2282
2955
  k + "=" + repr(v) for k, v in self._values.items()
2283
2956
  )
2284
2957
 
@@ -4751,6 +5424,172 @@ class PgStacApiLambdaProps(PgStacApiLambdaRuntimeProps):
4751
5424
  )
4752
5425
 
4753
5426
 
5427
+ @jsii.data_type(
5428
+ jsii_type="eoapi-cdk.StacAuthProxyLambdaProps",
5429
+ jsii_struct_bases=[StacAuthProxyLambdaRuntimeProps],
5430
+ name_mapping={
5431
+ "oidc_discovery_url": "oidcDiscoveryUrl",
5432
+ "upstream_url": "upstreamUrl",
5433
+ "api_env": "apiEnv",
5434
+ "lambda_function_options": "lambdaFunctionOptions",
5435
+ "stac_api_client_id": "stacApiClientId",
5436
+ "subnet_selection": "subnetSelection",
5437
+ "vpc": "vpc",
5438
+ "domain_name": "domainName",
5439
+ },
5440
+ )
5441
+ class StacAuthProxyLambdaProps(StacAuthProxyLambdaRuntimeProps):
5442
+ def __init__(
5443
+ self,
5444
+ *,
5445
+ oidc_discovery_url: builtins.str,
5446
+ upstream_url: builtins.str,
5447
+ api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
5448
+ lambda_function_options: typing.Any = None,
5449
+ stac_api_client_id: typing.Optional[builtins.str] = None,
5450
+ subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
5451
+ vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
5452
+ domain_name: typing.Optional[_aws_cdk_aws_apigatewayv2_ceddda9d.IDomainName] = None,
5453
+ ) -> None:
5454
+ '''
5455
+ :param oidc_discovery_url: (experimental) URL to OIDC Discovery Endpoint.
5456
+ :param upstream_url: (experimental) URL to upstream STAC API.
5457
+ :param api_env: (experimental) Customized environment variables to send to stac-auth-proxy runtime. https://github.com/developmentseed/stac-auth-proxy/?tab=readme-ov-file#configuration
5458
+ :param lambda_function_options: (experimental) Can be used to override the default lambda function properties. Default: - defined in the construct.
5459
+ :param stac_api_client_id: (experimental) OAuth Client ID for Swagger UI.
5460
+ :param subnet_selection: (experimental) Subnet into which the lambda should be deployed.
5461
+ :param vpc: (experimental) VPC into which the lambda should be deployed.
5462
+ :param domain_name: (experimental) Domain Name for the STAC API. If defined, will create the domain name and integrate it with the STAC API. Default: - undefined
5463
+
5464
+ :stability: experimental
5465
+ '''
5466
+ if isinstance(subnet_selection, dict):
5467
+ subnet_selection = _aws_cdk_aws_ec2_ceddda9d.SubnetSelection(**subnet_selection)
5468
+ if __debug__:
5469
+ type_hints = typing.get_type_hints(_typecheckingstub__9fd2ec357d8c989a8323cba0e0bf34b40426b2ab7d55ea7a54c8391579e17951)
5470
+ check_type(argname="argument oidc_discovery_url", value=oidc_discovery_url, expected_type=type_hints["oidc_discovery_url"])
5471
+ check_type(argname="argument upstream_url", value=upstream_url, expected_type=type_hints["upstream_url"])
5472
+ check_type(argname="argument api_env", value=api_env, expected_type=type_hints["api_env"])
5473
+ check_type(argname="argument lambda_function_options", value=lambda_function_options, expected_type=type_hints["lambda_function_options"])
5474
+ check_type(argname="argument stac_api_client_id", value=stac_api_client_id, expected_type=type_hints["stac_api_client_id"])
5475
+ check_type(argname="argument subnet_selection", value=subnet_selection, expected_type=type_hints["subnet_selection"])
5476
+ check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
5477
+ check_type(argname="argument domain_name", value=domain_name, expected_type=type_hints["domain_name"])
5478
+ self._values: typing.Dict[builtins.str, typing.Any] = {
5479
+ "oidc_discovery_url": oidc_discovery_url,
5480
+ "upstream_url": upstream_url,
5481
+ }
5482
+ if api_env is not None:
5483
+ self._values["api_env"] = api_env
5484
+ if lambda_function_options is not None:
5485
+ self._values["lambda_function_options"] = lambda_function_options
5486
+ if stac_api_client_id is not None:
5487
+ self._values["stac_api_client_id"] = stac_api_client_id
5488
+ if subnet_selection is not None:
5489
+ self._values["subnet_selection"] = subnet_selection
5490
+ if vpc is not None:
5491
+ self._values["vpc"] = vpc
5492
+ if domain_name is not None:
5493
+ self._values["domain_name"] = domain_name
5494
+
5495
+ @builtins.property
5496
+ def oidc_discovery_url(self) -> builtins.str:
5497
+ '''(experimental) URL to OIDC Discovery Endpoint.
5498
+
5499
+ :stability: experimental
5500
+ '''
5501
+ result = self._values.get("oidc_discovery_url")
5502
+ assert result is not None, "Required property 'oidc_discovery_url' is missing"
5503
+ return typing.cast(builtins.str, result)
5504
+
5505
+ @builtins.property
5506
+ def upstream_url(self) -> builtins.str:
5507
+ '''(experimental) URL to upstream STAC API.
5508
+
5509
+ :stability: experimental
5510
+ '''
5511
+ result = self._values.get("upstream_url")
5512
+ assert result is not None, "Required property 'upstream_url' is missing"
5513
+ return typing.cast(builtins.str, result)
5514
+
5515
+ @builtins.property
5516
+ def api_env(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
5517
+ '''(experimental) Customized environment variables to send to stac-auth-proxy runtime.
5518
+
5519
+ https://github.com/developmentseed/stac-auth-proxy/?tab=readme-ov-file#configuration
5520
+
5521
+ :stability: experimental
5522
+ '''
5523
+ result = self._values.get("api_env")
5524
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
5525
+
5526
+ @builtins.property
5527
+ def lambda_function_options(self) -> typing.Any:
5528
+ '''(experimental) Can be used to override the default lambda function properties.
5529
+
5530
+ :default: - defined in the construct.
5531
+
5532
+ :stability: experimental
5533
+ '''
5534
+ result = self._values.get("lambda_function_options")
5535
+ return typing.cast(typing.Any, result)
5536
+
5537
+ @builtins.property
5538
+ def stac_api_client_id(self) -> typing.Optional[builtins.str]:
5539
+ '''(experimental) OAuth Client ID for Swagger UI.
5540
+
5541
+ :stability: experimental
5542
+ '''
5543
+ result = self._values.get("stac_api_client_id")
5544
+ return typing.cast(typing.Optional[builtins.str], result)
5545
+
5546
+ @builtins.property
5547
+ def subnet_selection(
5548
+ self,
5549
+ ) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection]:
5550
+ '''(experimental) Subnet into which the lambda should be deployed.
5551
+
5552
+ :stability: experimental
5553
+ '''
5554
+ result = self._values.get("subnet_selection")
5555
+ return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection], result)
5556
+
5557
+ @builtins.property
5558
+ def vpc(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc]:
5559
+ '''(experimental) VPC into which the lambda should be deployed.
5560
+
5561
+ :stability: experimental
5562
+ '''
5563
+ result = self._values.get("vpc")
5564
+ return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc], result)
5565
+
5566
+ @builtins.property
5567
+ def domain_name(
5568
+ self,
5569
+ ) -> typing.Optional[_aws_cdk_aws_apigatewayv2_ceddda9d.IDomainName]:
5570
+ '''(experimental) Domain Name for the STAC API.
5571
+
5572
+ If defined, will create the domain name and integrate it with the STAC API.
5573
+
5574
+ :default: - undefined
5575
+
5576
+ :stability: experimental
5577
+ '''
5578
+ result = self._values.get("domain_name")
5579
+ return typing.cast(typing.Optional[_aws_cdk_aws_apigatewayv2_ceddda9d.IDomainName], result)
5580
+
5581
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5582
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5583
+
5584
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5585
+ return not (rhs == self)
5586
+
5587
+ def __repr__(self) -> str:
5588
+ return "StacAuthProxyLambdaProps(%s)" % ", ".join(
5589
+ k + "=" + repr(v) for k, v in self._values.items()
5590
+ )
5591
+
5592
+
4754
5593
  class StacItemLoader(
4755
5594
  StacLoader,
4756
5595
  metaclass=jsii.JSIIMeta,
@@ -5450,12 +6289,20 @@ __all__ = [
5450
6289
  "BastionHost",
5451
6290
  "BastionHostProps",
5452
6291
  "DatabaseParameters",
6292
+ "LambdaApiGateway",
6293
+ "LambdaApiGatewayProps",
5453
6294
  "PgStacApiLambda",
5454
6295
  "PgStacApiLambdaProps",
5455
6296
  "PgStacApiLambdaRuntime",
5456
6297
  "PgStacApiLambdaRuntimeProps",
5457
6298
  "PgStacDatabase",
5458
6299
  "PgStacDatabaseProps",
6300
+ "PrivateLambdaApiGateway",
6301
+ "PrivateLambdaApiGatewayProps",
6302
+ "StacAuthProxyLambda",
6303
+ "StacAuthProxyLambdaProps",
6304
+ "StacAuthProxyLambdaRuntime",
6305
+ "StacAuthProxyLambdaRuntimeProps",
5459
6306
  "StacBrowser",
5460
6307
  "StacBrowserProps",
5461
6308
  "StacIngestor",
@@ -5525,6 +6372,26 @@ def _typecheckingstub__eea09864cfb7ef653ba6117478229014e8f7a29d8b3c241aa363b884a
5525
6372
  """Type checking stubs"""
5526
6373
  pass
5527
6374
 
6375
+ def _typecheckingstub__6acf89577f1516b39461b2eda5a444dd27116780e59eb5b01d76b51eddb39aea(
6376
+ scope: _constructs_77d1e7e8.Construct,
6377
+ id: builtins.str,
6378
+ *,
6379
+ lambda_function: _aws_cdk_aws_lambda_ceddda9d.Function,
6380
+ api_name: typing.Optional[builtins.str] = None,
6381
+ domain_name: typing.Optional[_aws_cdk_aws_apigatewayv2_ceddda9d.IDomainName] = None,
6382
+ ) -> None:
6383
+ """Type checking stubs"""
6384
+ pass
6385
+
6386
+ def _typecheckingstub__636370de798041d3155ed89acdee82e6c954340f4042f30c625f1531cdc7c955(
6387
+ *,
6388
+ lambda_function: _aws_cdk_aws_lambda_ceddda9d.Function,
6389
+ api_name: typing.Optional[builtins.str] = None,
6390
+ domain_name: typing.Optional[_aws_cdk_aws_apigatewayv2_ceddda9d.IDomainName] = None,
6391
+ ) -> None:
6392
+ """Type checking stubs"""
6393
+ pass
6394
+
5528
6395
  def _typecheckingstub__001e0940684741a8dcd75ad791003ac3ff1c57fce9c2ee18d768c590ee1c200b(
5529
6396
  scope: _constructs_77d1e7e8.Construct,
5530
6397
  id: builtins.str,
@@ -5733,6 +6600,82 @@ def _typecheckingstub__258b1c29ccb1e46320eabd0ab87e2a36a78f09de16f1610cc09d0c29f
5733
6600
  """Type checking stubs"""
5734
6601
  pass
5735
6602
 
6603
+ def _typecheckingstub__c81dac29c3c973efb9773118c7b6e4c4053ddf2f1bf6f2b06ef3207ac9b56c97(
6604
+ scope: _constructs_77d1e7e8.Construct,
6605
+ id: builtins.str,
6606
+ *,
6607
+ lambda_function: _aws_cdk_aws_lambda_ceddda9d.IFunction,
6608
+ vpc: _aws_cdk_aws_ec2_ceddda9d.IVpc,
6609
+ create_vpc_endpoint: typing.Optional[builtins.bool] = None,
6610
+ deploy_options: typing.Optional[typing.Union[_aws_cdk_aws_apigateway_ceddda9d.StageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
6611
+ description: typing.Optional[builtins.str] = None,
6612
+ lambda_integration_options: typing.Optional[typing.Union[_aws_cdk_aws_apigateway_ceddda9d.LambdaIntegrationOptions, typing.Dict[builtins.str, typing.Any]]] = None,
6613
+ policy: typing.Optional[_aws_cdk_aws_iam_ceddda9d.PolicyDocument] = None,
6614
+ rest_api_name: typing.Optional[builtins.str] = None,
6615
+ vpc_endpoint_subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
6616
+ ) -> None:
6617
+ """Type checking stubs"""
6618
+ pass
6619
+
6620
+ def _typecheckingstub__3f910247136d5b124a91ec9a7ae8532dac2e97f270d95b250ab3a690f374ac91(
6621
+ *,
6622
+ lambda_function: _aws_cdk_aws_lambda_ceddda9d.IFunction,
6623
+ vpc: _aws_cdk_aws_ec2_ceddda9d.IVpc,
6624
+ create_vpc_endpoint: typing.Optional[builtins.bool] = None,
6625
+ deploy_options: typing.Optional[typing.Union[_aws_cdk_aws_apigateway_ceddda9d.StageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
6626
+ description: typing.Optional[builtins.str] = None,
6627
+ lambda_integration_options: typing.Optional[typing.Union[_aws_cdk_aws_apigateway_ceddda9d.LambdaIntegrationOptions, typing.Dict[builtins.str, typing.Any]]] = None,
6628
+ policy: typing.Optional[_aws_cdk_aws_iam_ceddda9d.PolicyDocument] = None,
6629
+ rest_api_name: typing.Optional[builtins.str] = None,
6630
+ vpc_endpoint_subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
6631
+ ) -> None:
6632
+ """Type checking stubs"""
6633
+ pass
6634
+
6635
+ def _typecheckingstub__bd1dddec4423b8f583fdf8b5d598d633e7c8acef087f1678380c78a4bb1dfb28(
6636
+ scope: _constructs_77d1e7e8.Construct,
6637
+ id: builtins.str,
6638
+ *,
6639
+ domain_name: typing.Optional[_aws_cdk_aws_apigatewayv2_ceddda9d.IDomainName] = None,
6640
+ oidc_discovery_url: builtins.str,
6641
+ upstream_url: builtins.str,
6642
+ api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
6643
+ lambda_function_options: typing.Any = None,
6644
+ stac_api_client_id: typing.Optional[builtins.str] = None,
6645
+ subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
6646
+ vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
6647
+ ) -> None:
6648
+ """Type checking stubs"""
6649
+ pass
6650
+
6651
+ def _typecheckingstub__6bda80f926b17209feb3773434d016492d09a1e88b6e329d615da4560d810aa6(
6652
+ scope: _constructs_77d1e7e8.Construct,
6653
+ id: builtins.str,
6654
+ *,
6655
+ oidc_discovery_url: builtins.str,
6656
+ upstream_url: builtins.str,
6657
+ api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
6658
+ lambda_function_options: typing.Any = None,
6659
+ stac_api_client_id: typing.Optional[builtins.str] = None,
6660
+ subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
6661
+ vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
6662
+ ) -> None:
6663
+ """Type checking stubs"""
6664
+ pass
6665
+
6666
+ def _typecheckingstub__dd210eea04923531ff1b80f494262e840c9cefbb8d84dfaa2f0c9a5591affc1f(
6667
+ *,
6668
+ oidc_discovery_url: builtins.str,
6669
+ upstream_url: builtins.str,
6670
+ api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
6671
+ lambda_function_options: typing.Any = None,
6672
+ stac_api_client_id: typing.Optional[builtins.str] = None,
6673
+ subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
6674
+ vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
6675
+ ) -> None:
6676
+ """Type checking stubs"""
6677
+ pass
6678
+
5736
6679
  def _typecheckingstub__3b97f434cf7e0303d3917f39a4cfe4c59ceea2191b4d779028baa0e95339797a(
5737
6680
  scope: _constructs_77d1e7e8.Construct,
5738
6681
  id: builtins.str,
@@ -6011,6 +6954,20 @@ def _typecheckingstub__aac048adccce72d79219bafd7e28ffb071969e8f3fa9b9b9048c3ff33
6011
6954
  """Type checking stubs"""
6012
6955
  pass
6013
6956
 
6957
+ def _typecheckingstub__9fd2ec357d8c989a8323cba0e0bf34b40426b2ab7d55ea7a54c8391579e17951(
6958
+ *,
6959
+ oidc_discovery_url: builtins.str,
6960
+ upstream_url: builtins.str,
6961
+ api_env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
6962
+ lambda_function_options: typing.Any = None,
6963
+ stac_api_client_id: typing.Optional[builtins.str] = None,
6964
+ subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
6965
+ vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
6966
+ domain_name: typing.Optional[_aws_cdk_aws_apigatewayv2_ceddda9d.IDomainName] = None,
6967
+ ) -> None:
6968
+ """Type checking stubs"""
6969
+ pass
6970
+
6014
6971
  def _typecheckingstub__3993e1684b5582edef005457882c4cfe3c53062e1f47dc584d35a9cfa71c31e0(
6015
6972
  scope: _constructs_77d1e7e8.Construct,
6016
6973
  id: builtins.str,
@@ -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", "9.1.0", __name__[0:-6], "eoapi-cdk@9.1.0.jsii.tgz"
35
+ "eoapi-cdk", "9.2.0", __name__[0:-6], "eoapi-cdk@9.2.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: 9.1.0
3
+ Version: 9.2.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>
@@ -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@9.1.0.jsii.tgz
14
+ src/eoapi_cdk/_jsii/eoapi-cdk@9.2.0.jsii.tgz
File without changes
File without changes
File without changes
File without changes
File without changes