lambda-api-decorators-cdk 0.4.6__py3-none-any.whl → 0.4.7__py3-none-any.whl

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.
@@ -0,0 +1,23 @@
1
+ {
2
+ "schema_version": "1.0",
3
+ "distribution": "lambda-api-decorators-cdk",
4
+ "import_package": "lambda_api_decorators_cdk",
5
+ "exports": ["ApiType", "SourceLayout", "LambdaApi", "LambdaApiConfig", "ResourceBuilder"],
6
+ "functions": [],
7
+ "decorators": [],
8
+ "classes": [
9
+ {"name": "ApiType", "signature": "ApiType", "methods": [], "members": [{"name": "REST", "value": "rest"}, {"name": "HTTP", "value": "http"}]},
10
+ {"name": "SourceLayout", "signature": "SourceLayout", "methods": [], "members": [{"name": "ROOT", "value": "root"}, {"name": "SERVICE", "value": "service"}]},
11
+ {"name": "LambdaApi", "signature": "LambdaApi(scope: Construct, construct_id: str, *, lambda_path: str, source_layout: SourceLayout = SourceLayout.ROOT, layers_path: Optional[str] = None, api = None, api_type: Optional[ApiType] = None, config: Optional[LambdaApiConfig] = None)", "methods": [{"name": "api", "kind": "property", "returns": {"type": "IRestApi | HttpApi"}}, {"name": "api_type", "kind": "property", "returns": {"type": "ApiType"}}]},
12
+ {"name": "LambdaApiConfig", "signature": "LambdaApiConfig(*, runtime=None, timeout=None, memory_size=None, vpc=None, vpc_subnets=None, role=None, layers=None, security_groups=None, environment=None, dynamodb_tables=None, s3_buckets=None, authorizers=None, default_authorizer=None, default_runtime=None, default_role=None, common_environment=None, role_registry=None, environment_registry=None, layer_registry=None, security_group_registry=None, vpc_registry=None, dynamodb_table_registry=None, s3_bucket_registry=None, authorizer_registry=None)", "methods": [
13
+ {"name": "set_default_runtime", "signature": "set_default_runtime(runtime: Optional[Runtime]) -> None"}, {"name": "set_default_timeout", "signature": "set_default_timeout(timeout: Optional[Duration]) -> None"}, {"name": "set_default_memory_size", "signature": "set_default_memory_size(memory_size: Optional[int]) -> None"}, {"name": "set_default_vpc", "signature": "set_default_vpc(vpc: Optional[IVpc], vpc_subnets: Optional[SubnetSelection] = None) -> None"}, {"name": "set_default_role", "signature": "set_default_role(role: Optional[IRole]) -> None"},
14
+ {"name": "add_common_layer", "signature": "add_common_layer(layer: ILayerVersion) -> None"}, {"name": "add_common_security_group", "signature": "add_common_security_group(security_group: ISecurityGroup) -> None"}, {"name": "add_custom_runtime", "signature": "add_custom_runtime(key: str, runtime: Runtime) -> None"}, {"name": "add_custom_role", "signature": "add_custom_role(key: str, role: IRole) -> None"}, {"name": "add_custom_layer", "signature": "add_custom_layer(key: str, layer: ILayerVersion) -> None"}, {"name": "add_custom_environment", "signature": "add_custom_environment(key: str, value: str) -> None"}, {"name": "add_custom_security_group", "signature": "add_custom_security_group(key: str, security_group: ISecurityGroup) -> None"}, {"name": "add_custom_vpc", "signature": "add_custom_vpc(key: str, vpc: IVpc, vpc_subnets: Optional[SubnetSelection] = None) -> None"},
15
+ {"name": "add_dynamodb_table", "signature": "add_dynamodb_table(key: str, table: ITable) -> None"}, {"name": "add_s3_bucket", "signature": "add_s3_bucket(key: str, bucket: IBucket) -> None"}, {"name": "add_authorizer", "signature": "add_authorizer(key: str, authorizer: object) -> None"}, {"name": "register_role", "signature": "register_role(key: str, role: IRole) -> None"}, {"name": "register_environment", "signature": "register_environment(key: str, value: Mapping[str, str]) -> None"}, {"name": "register_layer", "signature": "register_layer(key: str, layer: ILayerVersion) -> None"}, {"name": "register_security_group", "signature": "register_security_group(key: str, security_group: ISecurityGroup) -> None"}, {"name": "register_vpc", "signature": "register_vpc(key: str, vpc: IVpc, vpc_subnets: Optional[SubnetSelection] = None) -> None"}, {"name": "register_dynamodb_table", "signature": "register_dynamodb_table(key: str, table: ITable) -> None"}, {"name": "register_s3_bucket", "signature": "register_s3_bucket(key: str, bucket: IBucket) -> None"}, {"name": "register_authorizer", "signature": "register_authorizer(key: str, authorizer: object) -> None"}, {"name": "set_default_authorizer", "signature": "set_default_authorizer(key: Optional[str]) -> None"}
16
+ ]},
17
+ {"name": "ResourceBuilder", "signature": "ResourceBuilder(default_runtime=None, default_timeout=None, default_memory_size=None, default_vpc=None, default_role=None, common_layers=None, common_security_groups=None, common_environments=None, custom_runtimes=None, custom_roles=None, custom_layers=None, custom_environments=None, custom_security_groups=None, custom_vpcs=None, dynamodb_tables=None, s3_buckets=None, authorizers=None, default_authorizer=None)", "methods": [
18
+ {"name": "set_default_runtime"}, {"name": "set_default_timeout"}, {"name": "set_default_memory_size"}, {"name": "set_default_vpc"}, {"name": "set_default_role"}, {"name": "add_common_layer"}, {"name": "add_common_security_group"}, {"name": "add_custom_vpc"}, {"name": "add_custom_environment"}, {"name": "add_custom_runtime"}, {"name": "add_custom_role"}, {"name": "add_custom_layer"}, {"name": "add_custom_security_group"}, {"name": "get_default_runtime"}, {"name": "get_default_timeout"}, {"name": "get_default_memory_size"}, {"name": "get_default_vpc"}, {"name": "get_default_role"}, {"name": "get_common_layers"}, {"name": "get_common_layer"}, {"name": "get_common_security_groups"}, {"name": "get_common_security_group"}, {"name": "get_common_environments"}, {"name": "get_common_environment"}, {"name": "get_custom_layer"}, {"name": "get_custom_roles"}, {"name": "get_custom_role"}, {"name": "get_custom_security_group"}, {"name": "get_custom_environment"}, {"name": "get_custom_runtime"}, {"name": "get_custom_vpc"}, {"name": "build"}, {"name": "build_http"}, {"name": "get_options"}, {"name": "build_from_graph"}, {"name": "build_http_from_graph"}
19
+ ]}
20
+ ],
21
+ "exceptions": [],
22
+ "behavior_ref": "behavior.md"
23
+ }
@@ -0,0 +1,15 @@
1
+ # CDK behavior
2
+
3
+ ## Construction and precedence
4
+
5
+ `LambdaApi` selects REST by default, infers the API family from a supplied concrete REST or HTTP API, and rejects a conflicting explicit `api_type`. Configuration must be complete before construction; `LambdaApiConfig` creates an isolated `ResourceBuilder` snapshot and does not deep-copy CDK constructs.
6
+
7
+ Explicit configuration wins over convention. Runtime, role, environment, layer, VPC, security group, table, bucket, and authorizer registries resolve named decorator values. A registry is a lookup mechanism, not an authorization grant.
8
+
9
+ ## Routes and authorization
10
+
11
+ The runtime contract permits one HTTP route per callable. CDK discovers those declarations and builds the matching REST or HTTP resources. `public` suppresses the effective authorizer for that callable; otherwise a callable override, the configured default authorizer, or no authorizer is resolved according to the current builder behavior.
12
+
13
+ ## Grants
14
+
15
+ `grant_dynamodb` and `grant_s3` resolve either a registered logical resource or a physical resource name. `read` applies read access and `write` applies cumulative write access as implemented by the builder. Generic `permission` statements are applied separately. Missing registry entries, invalid authorizers, conflicting defaults, and unsupported API/resource combinations produce errors or CDK diagnostics rather than silently changing the runtime metadata.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lambda-api-decorators-cdk
3
- Version: 0.4.6
3
+ Version: 0.4.7
4
4
  Summary: AWS CDK integration for Lambda API Decorators. Generate AWS Lambda and API Gateway infrastructure from decorated Python handlers.
5
5
  Author: Mateo Marcos, Emanuel Arguinarena, Lucas Picchi
6
6
  License: MIT License
@@ -5,8 +5,10 @@ lambda_api_decorators_cdk/lambda_api.py,sha256=wqiwe10-XOuPG8kxn2YGcpk4IHag1WG6m
5
5
  lambda_api_decorators_cdk/lambda_api_config.py,sha256=QtN6CL4ecep0sKtrS0onI09pMVHn9JHK0WaJVHYxzZY,13552
6
6
  lambda_api_decorators_cdk/resource_builder.py,sha256=G0Cs9x_pytUiL01iPo1_661G1SSzuuBamxPbS8Vn8b4,47774
7
7
  lambda_api_decorators_cdk/source_layout.py,sha256=rvw2D0UTOyhHmiCg_NTuxFf2wvsFCBugnwNKd3NLWLo,167
8
- lambda_api_decorators_cdk-0.4.6.dist-info/licenses/LICENSE,sha256=kABKIBEzZQqtNkBsAA9tA_Ume6OKdVUnChslMCL2Baw,1081
9
- lambda_api_decorators_cdk-0.4.6.dist-info/METADATA,sha256=hoHMOo1sklGO8scfWjJsRqTvsN64NUNNWtRM5XQiAoc,13257
10
- lambda_api_decorators_cdk-0.4.6.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
11
- lambda_api_decorators_cdk-0.4.6.dist-info/top_level.txt,sha256=1goCGc19BssxULn6ejZNLDYP0sQHEyqCMhivbGjxDCE,26
12
- lambda_api_decorators_cdk-0.4.6.dist-info/RECORD,,
8
+ lambda_api_decorators_cdk/_agent/api-contract.json,sha256=3WkrnfbD7sIP84ziGUAMZyFgzl4RCrV405UOYDkkL70,6035
9
+ lambda_api_decorators_cdk/_agent/behavior.md,sha256=FZwPtimjfysxdYbDclirdRA6z-_3X09TGGkw492yVMU,1434
10
+ lambda_api_decorators_cdk-0.4.7.dist-info/licenses/LICENSE,sha256=kABKIBEzZQqtNkBsAA9tA_Ume6OKdVUnChslMCL2Baw,1081
11
+ lambda_api_decorators_cdk-0.4.7.dist-info/METADATA,sha256=9u18uhce7pZYIQqJVwjRb_TKqlM2asWDEnmJALz3Uf4,13257
12
+ lambda_api_decorators_cdk-0.4.7.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
13
+ lambda_api_decorators_cdk-0.4.7.dist-info/top_level.txt,sha256=1goCGc19BssxULn6ejZNLDYP0sQHEyqCMhivbGjxDCE,26
14
+ lambda_api_decorators_cdk-0.4.7.dist-info/RECORD,,