This command creates a view, which is a resource location exposed to data clients. A view can be exposed to NFSv3, NFSv4.1 or SMB clients or to both NFSv3 and SMB clients or to both NFSv3 and NFSv4 clients. Also, a tabular data view can be exposed to third-party database query engines.
Usage
view create --path PATH
--protocols PROTOCOLS
--policy-id ID
[--tenant-id TENANT_ID]
[--alias ALIAS]
[--bucket BUCKET]
[--bucket-owner BUCKET_OWNER]
[--bucket-creators BUCKET_CREATORS]
[--bucket-creators-groups BUCKET_CREATORS_GROUPS]
[--create-dir [--inherit-parent-acl]]
[--enable-global-sync]
[--enable-live-monitoring]
[--enable-s3-unverified-lookup]
[--qos-policy-id QOS_POLICY_ID]
[--share SHARE]
[--s3-versioning]
[--locking]
[--default-retention-period DEFAULT_RETENTION_PERIOD]
[--s3-locks-retention-mode NONE|GOVERNANCE|COMPLIANCE]
[--allow-s3-anonymous-access]|[--block-s3-anonymous-access]
[--enable-acls|--disable-acls]
[--abe-protocols SMB]
[--abe-max-depth LEVEL]
[--files-retention-mode NONE|GOVERNANCE|COMPLIANCE]
[--max-retention-period MAX_RETENTION_PERIOD]
[--min-retention-period MIN_RETENTION_PERIOD]
[--auto-commit AUTO_COMMIT]
[--abac-tags TAGS]
[--bucket-logging-destination-id DESTINATION_BUCKET_ID]
[--bucket-logging-prefix PREFIX]
[--bucket-logging-key-format SIMPLE_PREFIX|PARTITIONED_PREFIX_EVENT_TIME|PARTITIONED_PREFIX_DELIVERY_TIME]
[--disable-bucket-logging]
[--user-impersonation-identifier-type ID_TYPE]
[--user-impersonation-identifier ID]
[--user-impersonation-username NAME]
Required Parameters
| Specifies a path to a file system directory to be exposed to clients. It can be a directory that was already created by a client inside an exposed parent directory, or it can be a new directory, in which case you must specify the --create_dir option to create the directory. Example: If you are going to use the path to create an S3 bucket, ensure that none of the subdirectories under the path has a replication protected path defined on it.
|
| Specifies which view policy to apply. Specify |
| Specifies which protocol(s) the view will be exposed to. Specify PROTOCOLS as a string value for a single protocol or a comma separated list of strings to enable multiple protocols. Valid string values are:
Examples:
|
Options
| Specifies a non-default tenant to associate with the view. |
| For NFSv3 exports, specifies an alternative shorter name for the path that can be used alternatively when mounting. Optional and relevant only if the view is exposed to NFS. An alias must begin with a forward slash ("/") and must consist of only ASCII characters. An NFS export alias must be unique within the tenant. |
| Specifies the name of an S3 bucket. Required if A bucket name must be unique across all tenants of the cluster. For more guidelines on bucket naming, see Overview of VAST Cluster S3 Implementation. |
| Specifies a user to be the bucket owner. Required if |
| Relevant if Specify
|
| Relevant if Specify
|
| Creates a directory at the specified path. Include this option of the directory does not already exist.
|
| This option can only be used together with the If specified, the newly created directory will inherit the ACL of the parent directory. If not specified, and also in case the parent directory does not have an inherited ACL, the newly created directory will be assigned an ACL granting POSIX 777 permissions. |
| Supports seamless failover between replication peers by syncing file handles between the view and remote views on the replicated path on replication peers. This enables NFSv3 client users to retain the same mount point to the view in the event of a failover of the view path to a replication peer. Enabling this option may cause overhead and should only be enabled when the use case is relevant. For more information about seamless replication, see Preparing for Seamless Replication Failover (NFSv3). |
| Enables live monitoring on the view. Live monitoring can be enabled for up to ten views at one time and can also be enabled any time after view creation using view modify. Analytics data for views is polled every 5 minutes by default and every 10 seconds with live monitoring. |
| Associates a QoS policy with the view. Specify the QoS policy by its ID. To list QoS policy definitions, use qospolicy list. |
| Specifies the SMB share name. Required if the view is exposed to SMB. The name cannot include the following characters: /\:|<>*?" An SMB share name must be unique within the tenant. |
| Enables object versioning on the bucket if |
| Enables object locking on the view bucket, if |
| Sets a default retention mode for objects in the bucket. Possible values:
|
| If the view has S3 Bucket or S3 Endpoint enabled, include this option to allow anonymous S3 access to the view's S3 bucket. If allowed, anonymous requests are granted access provided that the object ACL grants access to the All Users group (in S3 Native security flavor) or the permission mode bits on the requested file and directory path grant access permission to "others" (in NFS security flavor). For views with SMB security flavor, anonymous requests are not granted access. |
| Blocks anonymous S3 access to the view's S3 bucket, if applicable. This is the default setting. |
| When this option is specified, the user which uploads the object, becomes the object owner. Access is authorized based on ACLs and identity or bucket policies. For more information about the ACLs enabled mode, see S3 Object Ownership. |
| When this option is specified, the bucket owner has full control over any object in the bucket. Access to objects is controlled based on identity and bucket policies. ACLs are not used. For more information about the ACLs disabled mode, see S3 Object Ownership. |
| Enables Access-Based Enumeration (ABE) for the view, if By default, ABE is disabled. |
| Sets the maximum directory level (depth) at which ABE is enabled. By default, ABE depth is unlimited. Specify |
| Sets the retention mode for files saved in the view, if locking (--locking ) is enabled. Possible values:
|
| Sets the default retention period for files that are locked in the view to Files that are locked manually (by setting the atime for the file to a future time) do not use the default retention period. The value Set it as an integer value, including units (m - minutes, h - hours, d - days, y - years). Example: 5d (5 days). |
| Sets the maximum retention period for files that are locked in the view to It must be larger than the min-retention-period. Set it as an integer value, including units (m - minutes, h - hours, d - days, y - years). Example: 2m (2 months). |
| Sets the minimum retention period for files that are locked in the view to It must be less than the max-retention-period. Set it as an integer value, including units (m - minutes, h - hours, d - days, y - years). Example: 3d (3 days). |
| Sets the auto-commit time to If set, then Set it as an integer value, including units (m - minutes, h - hours, d - days, y - years). Example: 5m (5 minutes). |
| If you are going to use Attribute-Based Access Control (ABAC), enter a comma-separated list of ABAC tags. Up to 20 ABAC tags can be defined per view. ABAC tags are case-sensitive and can include alphanumeric characters, a hyphen (-), a colon (:), a plus sign (+), and an underline (_). For example: |
S3 Bucket Logging Options
The following options let you configure S3 Bucket Logging for an S3 Bucket view:
| Enables S3 bucket logging for the bucket and determines the destination bucket which will be used to store the logs.
|
| Optionally, specify a prefix that will be prepended to each key of a log object uploaded to the destination bucket. This prefix can be used to categorize log objects; for example, if you use the same destination bucket for multiple source buckets. The prefix can be up to 128 characters and must follow S3 object naming rules. |
| Specify the format for the log object keys:
In the formats:
|
| Disables S3 bucket logging configured for the bucket. |
User Impersonation Options
The following options let you configure user impersonation for a view:
Notice
User impersonation is available starting with VAST Cluster 5.2.0-SP10.
| Enables user impersonation. |
| Disables user impersonation. |
| The type of a user identifier that you are going to specify on the Valid values for
This option is required if |
| The impersonating user ID. The ID must be of the type specified on the This option is required if |
| The impersonating user's username. If |
Example
This example creates a view of the pre-existing /dev directory, with an NFS export, using the default view policy.
vcli: admin> view create --path /dev --protocols NFS
This example creates a multiprotocol view of a directory at the /home/users/devteam path using a non default view policy.
vcli: admin> view create --path /home/users/devteam --protocols NFS,SMB --alias /devteam --share devteamusers --policy-id 2 --create-dir