Skip to main content

apx-aws-lambda

AWS Lambda for Action Platform: the aws/lambda deploy target (SAM) with its overlay, read-only tools and commands. apx- is the prefix every Action Platform extension carries.

action-platform plugin install aws-lambda
action-platform cloud set aws/lambda        # overlay files come from this plugin
action-platform deploy --dry-run            # preflight: sam validate, credentials
action-platform deploy                      # sam build + sam deploy --config-env <stage>
action-platform diagnose
Overlay template.yaml, samconfig.toml, lambda_handler.py, Makefile, requirements/ (IAM), .github/workflows/deploy.yml
Deploy sam build + sam deploy --config-env <stage> (dev → default, prod → prod)
Rollback CloudFormation rollback-stack — previous stack state
Diagnose stack status and the HTTP API url
Destroy sam delete

[deploy] in platform.toml:

[deploy]
target = "aws/lambda"
region = "us-east-1"          # optional; samconfig.toml / AWS_REGION otherwise

Credentials without keys

Set role_arn and nothing else: the target assumes that role with a short-lived OIDC token the platform signs (sts assume-role-with-web-identity). No access key on the platform, on your machine or in the repository; what the app may do is the role's policy.

[deploy]
target = "aws/lambda"
role_arn = "arn:aws:iam::123456789012:role/shop-deploy"

Once per AWS account, register the platform as an identity provider — its discovery document is https://<platform>/.well-known/openid-configuration:

aws iam create-open-id-connect-provider --url https://platform.example.com --client-id-list sts.amazonaws.com

Then a role per app (or per project) whose trust policy names the platform and the app; requirements/policy.json from the overlay is its permission policy:

{
  "Version": "2012-10-17",
  "Statement": [{
    "Effect": "Allow",
    "Principal": { "Federated": "arn:aws:iam::123456789012:oidc-provider/platform.example.com" },
    "Action": "sts:AssumeRoleWithWebIdentity",
    "Condition": {
      "StringEquals": { "platform.example.com:aud": "sts.amazonaws.com" },
      "StringLike": { "platform.example.com:sub": "org:acme:project:shop:app:orders" }
    }
  }]
}

sub is org:<org>:project:<project>:app:<app> for a deploy the platform runs; org:<org> plus an actor claim for action-platform deploy from a logged-in machine (StringLike with org:acme:* covers both). Without role_arn the AWS CLI's own chain applies: aws sso login, a profile, an instance role — still no key in a file when you use SSO.

Tools (action-platform mcp): aws_lambda_stacks, aws_lambda_functions. Commands: action-platform aws-lambda stacks|functions. Deploying itself goes through the core's deploy / rollback / diagnose, which drive the target.

Needs: AWS CLI v2 (aws), SAM CLI (sam), AWS_REGION (or region under [deploy]), and either role_arn (OIDC, no keys) or the AWS CLI's own credentials. Talks to *.amazonaws.com only.

Development

pip install -e ".[dev]"
pytest

The tests fake aws and sam; nothing reaches AWS.

Release files for apx-aws-lambda 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for apx-aws-lambda 0.2.0
File Size Uploaded
apx_aws_lambda-0.2.0.tar.gz 20.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for apx-aws-lambda 0.2.0
File Interpreter ABI Platform
apx_aws_lambda-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 42.2 kB

Release files / apx_aws_lambda-0.2.0.tar.gz

Download URL apx_aws_lambda-0.2.0.tar.gz
Size 20.1 kB
Tags Source
SHA-256 checksum
How to use checksums
5d5c94dbc46c3b6143ba0c55c8f645d905751019851f88f842ff6b69c060c2b5
BLAKE2b-256 checksum
How to use checksums
027630e730cf5f8ce15197fad3e4e762bcf805782e789ae70fb7ff2f04c443b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release files / apx_aws_lambda-0.2.0-py3-none-any.whl

Download URL apx_aws_lambda-0.2.0-py3-none-any.whl
Size 22.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b8259bd717f7eade7b4b02a59ceb0f54a78b115191395eff67cb25dc52675300
BLAKE2b-256 checksum
How to use checksums
a0fbe42081127b6d81b8c75c1e4f45cacf69abb920db1d209581c1db2ec3090f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release history Release notifications | RSS feed

1.0.0

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.11

2 release files

0.3.10

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page