Manage S3 buckets using the CLI
This page describes how to manage S3 buckets using the CLI.
Using the CLI, you can:
Create a bucket
Command: weka s3 bucket create
Use the following command line to create an S3 bucket:
weka s3 bucket create <name> [--policy policy] [--policy-json policy-json] [--hard-quota hard-quota] [--fs-name fs-name] [--fs-id fs-id] [--existing-path existing-path]
Parameters
Name | Type | Value | Limitations | Mandatory | Default |
| String | The name for the S3 bucket to add. | Refer to the Bucket Naming Limitations section. | Yes | |
| String | The name of a pre-defined bucket policy for anonymous access. | One of: | No |
|
| String | A path to a custom policy JSON file for anonymous access. | A JSON file representing an S3 bucket policy. | No | |
| Number | Hard quota for the S3 bucket. | Can only be set on a new bucket without existing data (cannot be set when using | No | |
| String | Filesystem name to create the bucket within. | An existing filesystem name | No. When specified, use only | The default filesystem specified when creating the S3 cluster. |
| Number | Filesystem ID to create the bucket within. | An existing filesystem ID | No. When specified, use only | The default filesystem specified when creating the S3 cluster |
| String | Existing directory path (relative to the filesystem root) to expose a bucket from. | An existing path within the filesystem | No |
List buckets
Command: weka s3 bucket list
Use this command to list existing buckets.
Set a bucket quota
Command: weka s3 bucket quota set
Use the following command line to set an S3 bucket quota:
weka s3 bucket quota set <bucket-name> <hard-quota>
Parameters
Name | Type | Value | Limitations | Mandatory | Default |
| String | The name of an existing S3 bucket. | Yes | ||
| Number | Hard quota for the S3 bucket. | Can only be initially set on an empty bucket. Calling this command on a bucket that already has a quota will change the quota limitation. | Yes |
Unset a bucket quota
Command: weka s3 bucket quota unset <bucket-name>
Use this command to unset an existing bucket quota.
Note: If the bucket point to a directory shared with other protocols, changing the quota affects all protocols (changes the associated directory quota).
Delete a bucket
Command: weka s3 bucket destroy
Use this command to delete an existing bucket.
Note: You can only delete a bucket if it is empty (all its objects are deleted).
Manage bucket policies
It is possible to set bucket policies for anonymous access. You can choose a pre-defined policy or add a customized policy.
Set a pre-defined bucket policy
A bucket is automatically created without any anonymous access permissions. You can use one of the pre-defined policies: download
, upload
, or public
.
Example: For a bucket named mybucket
, the following are the pre-defined policy values:
Command: weka s3 bucket policy set
Use the following command line to set a pre-defined bucket policy:
weka s3 bucket policy set <bucket-name> <bucket-policy>
Parameters
Name | Type | Value | Limitations | Mandatory | Default |
| String | The name of an existing S3 bucket. | Yes | ||
| String | The name of a pre-defined bucket policy for anonymous access. | One of: | Yes |
Set a custom bucket policy
To create a custom policy, you can use AWS Policy Generator and select S3 Bucket Policy
type. With a custom policy, it is possible to limit anonymous access only to specific prefixes.
For example, to set a custom policy for mybucket
to allow read-only access for objects with a public/
prefix, the custom policy, as generated with the calculator, is:
Command: weka s3 bucket policy set-custom
Use the following command line to set a custom bucket policy:
weka s3 bucket policy set-custom <policy-file> <bucket-name>
Parameters
Name | Type | Value | Limitations | Mandatory | Default |
| String | A path to a custom policy JSON file for anonymous access. | A JSON file representing an S3 bucket policy. Wildcards (e.g., | Yes | |
| String | The name of an existing S3 bucket. | Yes |
View a bucket policy
Command: weka s3 bucket policy get / weka s3 bucket policy get-json
Use the following command line to view an S3 bucket policy name/JSON:
weka s3 bucket policy get <bucket-name> / weka s3 bucket policy get-json <bucket-name>
Parameters
Name | Type | Value | Limitations | Mandatory | Default |
| String | The name of an existing S3 bucket. | Yes |
Unset a bucket policy
Command: weka s3 bucket policy unset
Use the following command line to unset an S3 bucket policy:
weka s3 bucket policy unset <bucket-name>
Parameters
Name | Type | Value | Limitations | Mandatory | Default |
| String | The name of an existing S3 bucket. | Yes |
Last updated