The table below lists the operations HCP supports and indicates which protocols you can use to perform those operations. Some operations relate to specific types of metadata.
| Operation | REST | WebDAV | CIFS | NFS |
|---|---|---|---|---|
| Write data from files or memory to a namespace to create an object | ✓ | ✓ | ✓ | ✓ |
| Transmit data to and from HCP in gzip-compressed format | ✓ | |||
| Check for object existence | ✓ | ✓ | ||
| View the content of an object | ✓ | ✓ | ✓ | ✓ |
| Copy an object | ✓ | ✓ | ✓ | ✓ |
| Store new versions of existing objects | ✓ | |||
| Append to existing objects | ✓ | ✓ | ||
| Delete an object that’s not under retention | ✓ | ✓ | ✓ | ✓ |
| Delete an object that’s under retention if the namespace configuration allows it | ✓ | |||
| View object metadata | ✓ | ✓ | ✓ | ✓ |
| View a metafile | ✓ | ✓ | ✓ | |
| Override default index, retention, and shred settings when storing an object | ✓ | |||
| Change the retention setting for an object | ✓ | ✓ | ✓ | ✓ |
| Hold or release an object | ✓ | ✓ | ||
| Enable shredding for an object | ✓ | ✓ | ✓ | ✓ |
| Change the index setting for an object | ✓ | ✓ | ✓ | ✓ |
| Change object ownership (not related to POSIX UID) | ✓ | |||
| Change the POSIX UID and GID for an object | ✓ | ✓ | ||
| Change the POSIX permission settings for an object | ✓ | ✓ | ||
| Change the POSIX atime or mtime value for an object | ✓ | ✓ | ||
| Store, replace, or delete an annotation for an object | ✓ | |||
| Store, replace, or delete the default annotation for an object | ✓ | ✓ | ||
| Store or retrieve object data and an annotation in a single operation | ✓ | |||
| Store or retrieve object data and the default annotation in a single operation | ✓ | |||
| Check for annotation existence | ✓ | |||
| Check for existence of the default annotation | ✓ | ✓ | ||
| List annotations | ✓ | |||
| Read an annotation | ✓ | |||
| Read the default annotation | ✓ | ✓ | ✓ | ✓ |
| Store, replace, or delete an ACL for an object | ✓ | |||
| Check for ACL existence | ✓ | ✓ | ||
| Read ACLs | ✓ | ✓ | ✓ | ✓ |
| Create an empty directory in a namespace | ✓ | ✓ | ✓ | ✓ |
| View the namespace directory structure, not including metadirectories | ✓ | ✓ | ✓ | ✓ |
| View the namespace directory structure, including both directories and metadirectories | ✓ | ✓ | ✓ | |
| Rename an empty directory (unless atime synchronization is enabled) | ✓ | ✓ | ✓ | |
| Delete an empty directory | ✓ | ✓ | ✓ | ✓ |
| Create a symbolic link | ✓ | ✓ | ✓ | ✓ |
| Read through a symbolic link to an object | ✓ | ✓ | ✓ | ✓ |
| Delete a symbolic link | ✓ | ✓ | ✓ | ✓ |
| List the namespaces accessible to you | ✓ | |||
| List namespace statistics | ✓ | |||
| List namespace permissions for the user | ✓ | |||
| List the retention classes available in the namespace | ✓ |
These considerations apply to symbolic links:
- If you use CIFS to create a symbolic link, you can read through the link only with CIFS. You cannot use CIFS to read through a symbolic link created with NFS.
- REST API and WebDAV support for reading through symbolic links is limited to retrieving object data. Other REST API and WebDAV operations on symbolic links may produce unexpected results.
Tip: You can use the HCP Search Console to delete, purge, hold, release, change ownership, or modify ACLs on multiple objects with a single operation.