Anvil — secure-by-default cloud infrastructure components
Project description
Anvil — Python SDK
Secure-by-default cloud infrastructure components for Pulumi.
Anvil wraps raw cloud resources with opinionated, security-hardened defaults so you ship infrastructure that's secure from day one — without the boilerplate.
Install
pip install anvil-cloud
Quick start
import pulumi
import pulumi_anvil as anvil
# Create an S3 bucket with encryption, versioning, and public access
# blocked by default — no 30-line config required.
bucket = anvil.aws.Bucket("my-data",
data_classification="sensitive",
lifecycle=90,
)
pulumi.export("bucket_name", bucket.bucket_name)
# Deploy a Lambda function into a VPC
fn = anvil.aws.Lambda("my-api",
name="api-handler",
vpc="vpc-abc123",
)
# GCP Cloud Storage with uniform bucket-level access
gcs = anvil.gcp.StorageBucket("analytics",
data_classification="internal",
location="US",
)
What you get
| Component | Cloud | Secure defaults |
|---|---|---|
anvil.aws.Bucket |
AWS S3 | Encryption, versioning (sensitive), public access block, lifecycle |
anvil.aws.Lambda |
AWS Lambda | VPC placement, least-privilege role |
anvil.gcp.StorageBucket |
GCP Cloud Storage | Uniform bucket-level access, encryption |
anvil.gcp.Function |
GCP Cloud Functions v2 | Secure defaults |
Overrides
Every component accepts a transform argument to override or extend the underlying resource configuration when the defaults don't fit:
bucket = anvil.aws.Bucket("custom",
data_classification="public",
transform=anvil.aws.BucketTransformArgs(
overrides=anvil.aws.BucketOverrides(
force_destroy=True,
tags={"env": "dev"},
),
),
)
Requirements
- Python >= 3.8
- Pulumi >= 3.0.0
- The
pulumi-resource-anvilprovider binary (installed viaanvilCLI or manually)
Links
License
Apache-2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file anvil_cloud-0.0.3.tar.gz.
File metadata
- Download URL: anvil_cloud-0.0.3.tar.gz
- Upload date:
- Size: 32.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
31d537ff4175d546b9d446e0bcfa5b8c4db9da948304506c642382a07fc00cf8
|
|
| MD5 |
7be2381bfd48007764afcf5595301c09
|
|
| BLAKE2b-256 |
17f7245adbb9b212790a5c2d6aaf35f36e5414e26b087047868241525eb32575
|
File details
Details for the file anvil_cloud-0.0.3-py3-none-any.whl.
File metadata
- Download URL: anvil_cloud-0.0.3-py3-none-any.whl
- Upload date:
- Size: 37.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bfa6c8d1733600dee7eb5ffc2c44bab662830d5ffafc63762125e6cd24674fc3
|
|
| MD5 |
cdd47980fc6386413a426cda8b4c8892
|
|
| BLAKE2b-256 |
ca09a7012de5a6070febff373a825616e72d7813e90464c14df8d0c4b609182f
|