Skip to main content

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-anvil provider binary (installed via anvil CLI or manually)

Links

License

Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

anvil_cloud-0.0.3.tar.gz (32.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

anvil_cloud-0.0.3-py3-none-any.whl (37.5 kB view details)

Uploaded Python 3

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

Hashes for anvil_cloud-0.0.3.tar.gz
Algorithm Hash digest
SHA256 31d537ff4175d546b9d446e0bcfa5b8c4db9da948304506c642382a07fc00cf8
MD5 7be2381bfd48007764afcf5595301c09
BLAKE2b-256 17f7245adbb9b212790a5c2d6aaf35f36e5414e26b087047868241525eb32575

See more details on using hashes here.

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

Hashes for anvil_cloud-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 bfa6c8d1733600dee7eb5ffc2c44bab662830d5ffafc63762125e6cd24674fc3
MD5 cdd47980fc6386413a426cda8b4c8892
BLAKE2b-256 ca09a7012de5a6070febff373a825616e72d7813e90464c14df8d0c4b609182f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page