This command creates a view, which exposes a resource location to data clients. A view can expose a path to various different protocols, some in combination with each other, such as NFSv3 and SMB. Protocols include SMB, NFS versions 3 and 4 (including 4.1 and 4,2), S3 object storage, which enables clients to use the view as an S3 bucket, tabular, where the view is exposed to third-party database query engines, block storage where the view allocates a path as a block storage subsystem, and Kafka, which exposes VAST Database tables as topics to publish and consume events.
Usage
view create --path PATH
--protocols PROTOCOLS
--policy-id ID
[--tenant-id TENANT_ID]
[--alias ALIAS]
[--bucket BUCKET]
[--bucket-owner-type USER|ROLE]
[--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]
[--enable-user-impersonation|--disable-user-impersonation]
[--user-impersonation-identifier-type ID_TYPE]
[--user-impersonation-identifier ID]
[--user-impersonation-username NAME]
[--name NAME]
[--set-is-default-subsystem]
[--enable-indestructible-object]
[--indestructible-object-duration RETENTION_PERIOD]
[--smb-encryption-state AVAILABLE|DESIRED|REQUIRED]
[--kafka-vip-pools POOL_ID]
[--kafka-first-join-group-timeout-sec SECONDS]
[--kafka-rejoin-group-timeout-sec SECONDS]
[--enable-kafka-unencrypted-conn|--disable-kafka-unencrypted-conn]
[--kafka-unencrypted-auth-mechanism SASL_PLAIN|NONE]
[--enable-kafka-encrypted-conn|--disable-kafka-encrypted-conn]
[--kafka-encrypted-auth-mechanism SASL_PLAIN|NONE]
[--require-kafka-authorization|--cancel-kafka-authorization]
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 the protocol(s) to which the view is exposed. 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 whether the bucket owner is a user ( |
| 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: |
| For views of a tenant that has SMB encryption enabled, you can optionally configure the view with SMB encryption protection that is equal to or stronger than that of the tenant:
|
Block Storage Configuration Options
Use the following options with the --protocol BLOCK to configure a Block storage subsystem:
| A name for the subsystem. |
| Sets the view to be the default subsystem view from which to provision block volumes. |
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:
| 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 impersonator user ID or name. The ID or name must be of the type specified on the This option is required if |
| The impersonator username. If |
Event Publishing Options
The following options let you configure a view for VAST Event Broker:
| Specifies a virtual IP pool to be used to access event topics exposed by the view.
The pool must belong to the same VAST tenant as the Kafka-enabled view. If the view is associated with a view policy that includes virtual IP pools, the pool specified as the Kafka pool must be one of the view policy pools. |
| Specifies the amount of time to wait for more consumers to join a new group before performing the first rebalance. Valid values are 1-3600. The default value is 60 seconds. |
| Specifies the maximum allowed session timeout for registered consumers. Valid values are 1-3600. The default value is 60 seconds. |
| Enables authentication of clients that use non-TLS connections to access a Kafka-enabled view. When specifying this option, also include |
| Disables authentication of clients that use non-TLS connections to access a Kafka-enabled view. |
| Specify |
| Enables authentication of clients that use TLS connections to access a Kafka-enabled view. This option requires a Kafka TLS certificate to be provided for the VAST cluster. When specifying this option, also include |
| Disables authentication of clients that use TLS connections to access a Kafka-enabled view. |
| Specify |
| Enables authorization for clients connecting to a Kafka-enabled view. |
| Disables authorization for clients connecting to a Kafka-enabled view. |
Indestructible Object Mode Options
Note
These options are not supported by default. To use these options, first enable indestructible object mode on the cluster. For complete feature information, see Indestructible Object Mode.
| Enables indestructible object mode on the view. See also |
| Sets the number of days for which objects in the bucket should be protected by indestructible object mode. Specify Default: 8 Supported range: 1-400
|
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