# exo storage setacl
### Description

This command sets bucket/objects ACL.
It can be used in 2 (mutually exclusive) forms:

    * With a "canned" ACL:

        exo storage setacl sos://my-bucket public-read

    * With explicit Access Control Policy (ACP) grantees:

        exo storage setacl sos://my-bucket \
            --full-control alice@example.net \
            --read bob@example.net

Supported canned ACLs:

    * For buckets: private, public-read, public-read-write, authenticated-read
    * For objects: private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control

In ACP mode, it is possible to use the following special values to reference
pre-defined groups:

    * ALL_USERS (as in "public-read" canned ACL)
    * AUTHENTICATED_USERS (as in "authenticated-read" canned ACL)

For more information on ACL, please refer to the Exoscale Storage
documentation:
https://community.exoscale.com/documentation/storage/acl/

If you want to target objects under a "directory" prefix, suffix the path
argument with "/":

    exo storage setacl sos://my-bucket/ --full-control alice@example.net
    exo storage setacl -r sos://my-bucket/public/ public-read

Supported output template annotations:

	* When showing a bucket: .Name, .Zone, .ACL, .CORS, .ObjectOwnership
	* When showing an object: .Path, .Bucket, .LastModified, .Size, .ACL, .Metadata, .Headers, .URL, .ReplicationStatus

```
exo storage setacl sos://BUCKET/[OBJECT|PREFIX/] [CANNED-ACL] [flags]
```

### Options

| Option | Description |
|---------|------------|
|`--full-control` | ACP Full Control grantee |
|`--help, -h` | help for setacl |
|`--read` | ACL Read grantee |
|`--read-acp` | ACP Read ACP grantee |
|`--recursive, -r` | set ACL recursively (with object prefix only) |
|`--write` | ACP Write grantee |
|`--write-acp` | ACP Write ACP grantee |


### Options inherited from parent commands

| Option | Description |
|---------|------------|
|`--config, -C` | Specify an alternate config file [env EXOSCALE_CONFIG] |
|`--output-format, -O` | Output format (table\|json\|text), see &#34;exo output --help&#34; for more information |
|`--output-template` | Template to use if output format is &#34;text&#34; |
|`--quiet, -Q` | Quiet mode (disable non-essential command output) |
|`--timeout` | Per-zone timeout for list operations; -1s disables timeout [env EXOSCALE_TIMEOUT] |
|`--use-account, -A` | Account to use in config file [env EXOSCALE_ACCOUNT] |


### Related Commands

* [storage]({{< ref "../storage">}})	 - Object Storage management


