Out Plane
bucket

bucket update

Make a bucket public or private.

writesrepeatable--dry-run

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

ArgumentTypeDescription
BUCKETstringThe bucket's name or id, not its bucketName. Required.

Flags

FlagTypeDescription
--publicboolLet anyone with a file's link read it. Not with --private.
--privateboolLet only requests signed with an access key read it. Not with --public.

The global flags apply as well.

Output

FieldTypeDescription
idstring
namestringWhat the platform calls it, unique in the team.
bucketNamestringThe name S3 clients use. It carries a suffix, so it differs from name.
publicboolThe 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.
endpointstringThe S3 endpoint. Clients need virtual-hosted addressing; path-style requests fail.
regionstringThe region clients sign with, always auto.
urlstringThe 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.
createdAtstring | nullRFC 3339, UTC.
changedboolTrue 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 --private

Serve a bucket's files by link

outplane bucket update uploads --public

Check 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:

ExitKindMeaning
2usageInvalid arguments, unknown flag, or client-side validation failure.
3authNot authenticated, token revoked or expired, or forbidden for this team.
5not_foundThe named resource does not exist, or is not visible to this credential.
6conflictThe resource already exists, or a concurrent change won.
7quotaPlan limit reached or payment required. Not a rate limit; retrying will not help.
8upstreamThe 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.

On this page