bucket update
Make a bucket public or private.
Public means anyone with a file's link can read it, and listing stays off. Private means only requests signed with an access key can read files.
Changes can take a few minutes to apply. Until then, some requests can see the old setting, and the same file can answer differently from one request to the next. A connection that is already open can keep the old behaviour for longer. If a file is sensitive, keep the bucket private from the start.
Only the setting changes, and nothing deploys. The console offers the same choice as Visibility in the bucket's Settings.
Usage
outplane bucket update <BUCKET> [flags]Arguments
| Argument | Type | Description |
|---|---|---|
BUCKET | string | The bucket's name or id, not its bucketName. Required. |
Flags
| Flag | Type | Description |
|---|---|---|
--public | bool | Let anyone with a file's link read it. Not with --private. |
--private | bool | Let only requests signed with an access key read it. Not with --public. |
The global flags apply as well.
Output
| Field | Type | Description |
|---|---|---|
id | string | |
name | string | What the platform calls it, unique in the team. |
bucketName | string | The name S3 clients use. It carries a suffix, so it differs from name. |
public | bool | The setting last accepted: whether anyone with a file's link can read it. A change takes minutes to reach every request. Listing stays off either way. |
endpoint | string | The S3 endpoint. Clients need virtual-hosted addressing; path-style requests fail. |
region | string | The region clients sign with, always auto. |
url | string | The bucket's own address. It serves a file without a signature only when the bucket is public, and after a change to private it can keep doing so for some minutes. |
createdAt | string | null | RFC 3339, UTC. |
changed | bool | True when the request was accepted, which is not the same as having taken effect. |
Examples
Stop serving a bucket's files by link
outplane bucket update uploads --privateServe a bucket's files by link
outplane bucket update uploads --publicCheck the change without making it
outplane bucket update uploads --public --dry-run --json{
"changed": false,
"name": "uploads",
"public": true
}What to Know
- Going public makes every existing file readable by its link. Listing stays off.
- --public has no confirmation and no gate under an agent harness. It is for when the user asked for a public bucket.
- The change takes minutes to reach every request, and some requests see the old setting until then. A connection already open can keep the old behaviour longer.
- changed true means the request was accepted, not that it has taken effect.
- The same value sends nothing and exits 0 with changed false. public is the setting last accepted, so a change made minutes before can still be reaching some requests.
- No flag, or a flag set to false with nothing else, exits 2 with usage.no_change. Both flags together exit 2 with usage.conflicting_flags.
- Going public needs an active subscription and can exit 7. Going private never does.
Errors
Beyond 0 for success, this command exits with:
| Exit | Kind | Meaning |
|---|---|---|
2 | usage | Invalid arguments, unknown flag, or client-side validation failure. |
3 | auth | Not authenticated, token revoked or expired, or forbidden for this team. |
5 | not_found | The named resource does not exist, or is not visible to this credential. |
6 | conflict | The resource already exists, or a concurrent change won. |
7 | quota | Plan limit reached or payment required. Not a rate limit; retrying will not help. |
8 | upstream | The Out Plane API returned a server error. |
The code on the error object is one of usage.no_change, usage.conflicting_flags, bucket.not_found, bucket.subscription_inactive, usage.missing_argument, usage.empty_argument, context.no_team. Branch on that, or on the exit status. The message is prose and changes.