A Static Site Whose Bucket Is Readable and Whose File List Is Not
An OSS bucket serving a static website. The ACL stays private and a bucket policy publishes the objects, because a public-read ACL also lets anyone list every file you ever put there. The website endpoint is plain HTTP on an Alibaba domain and no certificate can go on it, so serves_https is an output and it says false.
Verification
Static-verifiedPassed: validated and lint-clean (provider-schema-validated for AWS/Azure/GCP; Terraform-language lint elsewhere).
Conformance
- Static validation (fmt · validate · tflint)
- Security scan clean (Checkov)
- Plan tests (mocked: validation rules · outputs)
Provenance
- SHA-256 checksum
- Signature (pending)
Functional
- Live test pending (no cloud run yet)
Last verified 2026-09-15 · how we verify
Use it from the registry
terraform · opentofumodule "static_site" {
source = "www.iac-bazaar.com/iac-bazaar/alicloud-static-site/alicloud"
version = "1.0.0"
}Needs a registry token from /account/tokens. The module itself is free; the account is what identifies you. Full setup: registry docs.
Cite it in your README
badge · attributionPaste this beside the module in the repository that uses it. The badge is rendered from this artifact's verification record, so it reads static-verified because the record says so, and the link lands on this page.
[](https://www.iac-bazaar.com/catalog/alicloud-static-site?utm_source=syndication&utm_medium=readme&utm_campaign=artifact)
Terraform module 1.0.0, static-verified on IaC Bazaar: [A Static Site Whose Bucket Is Readable and Whose File List Is Not](https://www.iac-bazaar.com/catalog/alicloud-static-site?utm_source=syndication&utm_medium=readme&utm_campaign=artifact)
```hcl
module "static_site" {
source = "www.iac-bazaar.com/iac-bazaar/alicloud-static-site/alicloud"
version = "1.0.0"
}
```Preview:
Inputs & outputs
Create a free account to read this module's contract
The declared contract - every input name, type, default and description, plus every output - is shown to signed-in accounts, not to anonymous visitors.
A free account sees the contract of every module in the catalogue. There is no subscription and nothing to buy - the modules are free to download, and they run under Vizier.
Documentation
alicloud-static-site
A static website served from object storage on Alibaba Cloud OSS. Works with Terraform and OpenTofu
(>= 1.6), alicloud provider >= 1.0, < 2.0.
The website endpoint is plain HTTP on an Alibaba domain and no certificate can be put on it. Your own domain over HTTPS means a CDN in front; serves_https says so out loud and cdn_origin is what you point it at.
The bucket ACL stays private and a policy publishes the objects. A public-read ACL on OSS also permits listing, which publishes the name of every file you ever uploaded. The generated policy allows oss:GetObject and nothing else.
The bucket ignores changes to its own policy field, because alicloud_oss_bucket and alicloud_oss_bucket_policy both own it and a plan that has both otherwise never settles. That is the provider's own instruction and it is rarely followed.
support_sub_dir is off in OSS by default, which makes /docs/ a 404 on output that every static site generator produces. On here.
There is no customer-master-key knob, on purpose. Reading a KMS-encrypted object needs kms:Decrypt and an anonymous reader holds no permissions, so a CMK here would not protect bytes that are published deliberately - it would stop the site being readable. The bucket is encrypted with the Alibaba-managed key, which the reader never sees.
Everything in the bucket is public, not only the files you think of as the site, so accept_public_content has to be set before the module will build it.
Verification
Static validation runs tofu fmt, init, validate, tflint and checkov.
This module has not yet had a live test, so it is published as statically
validated with its live test pending and does not carry the live-tested mark.
Usage code & full reference need an account
The complete copy-paste usage, the full input/output reference, and operational notes are free with an account - shown here and bundled in the download. Sign in and this section fills in.
- Usage
Related modules
alicloud-fc-function
A Function Compute 3.0 function running as the RAM role you name, with internet access off (on by name), in your VPC when a vpc_config is given, logging every invocation to a Log Service project and logstore (none by name), with code fetched from an OSS object you uploaded. Memory, CPU, disk, timeout and instance concurrency are inputs.
alicloud-sae-application
A Serverless App Engine namespace and application with auto_config false, which makes the VPC, vSwitch and security group required rather than letting SAE create three resources that live in your account and nobody's Terraform. Two replicas so a deploy is not an outage, min_ready_instances set so a rollout is actually rolling, and typed liveness and readiness probes.
cloudflare-pages-project
Every branch pushed gets a public preview URL by default, the half-finished pricing page included; an environment variable is readable in the dashboard unless stored as a secret; and the production branch is whatever the repository's default was. Previews limited to the branches you list (every branch by name), each variable marked secret or plain, bindings per environment, and custom domains.
gcp-static-site
A Cloud Storage bucket serving a static website. Google's own guide notes that objectViewer lets anyone list the bucket, so this module grants legacyObjectReader: read a named file, list nothing. It says plainly that Cloud Storage does not serve your domain over HTTPS, requires you to accept that everything in it is public, and keeps trimmed previous versions as the rollback.
tencent-static-site
A COS bucket serving a static website. The public-read ACL that makes the objects readable also lets anyone list the bucket, and file_list_is_public says so; pass a bucket policy to publish the objects alone. redirect_all_requests_to on COS is a protocol rather than a hostname, which is why it is not exposed here.
huawei-static-site
An OBS bucket serving a static website, published by an OBS-format bucket policy rather than a public-read ACL, so the file list stays private. Encryption is off on purpose: every byte is published deliberately, and an anonymous reader holds no permission on your key, so a key of your own hides nothing and stops the site working.