zfs share
Overview
This type allows you to manage a share on a ZFS appliance.
Here is an example on how to use this:
zfs_share { 'default:all/project_1/share_1':
ensure => 'present',
aclinherit => 'restricted',
checksum => 'fletcher4',
compression => 'off',
mountpoint => '/export/share_1',
quota => '0.0',
quota_snap => 'true',
recordsize => '131072.0',
reservation => '0.0',
reservation_snap => 'true',
root_group => 'other',
root_permissions => '700',
root_user => 'nobody',
sharenfs => 'on',
sharesmb => 'off',
snapdir => 'hidden',
}
Attributes
Attribute Name | Short Description |
---|---|
aclinherit | Specifies the ACL inheritance behavior. |
appliance | The name of the appliance to connect to. |
atime | Specifies weather you want to update access time on read. |
casesensitivity | Specify if the share or project uses case sensitive names. |
checksum | Specifies the ACL inheritance behavior. |
compression | Specifies the type of compression of off. |
ensure | The basic property that the resource should be in. |
maxblocksize | Specifies the maximum blocksize for the project and/or the share. |
mountpoint | Specifies the mount point . |
name | The full name of the project |
nodestroy | Specifies if the contants of the share is deleted when the share is deleted. |
pool_name | The storage pool name of the project. |
project_name | The project name of the project or share. |
provider | resource. |
quota | Specifies the quota on the disk or share. |
quota_snap | Specifies the quota snap behaviour of the project or share. |
readonly | Specifies if the project is readonly or not. |
recordsize | Specifies the record size of the project or share. |
reservation | Specifies the reservation size for the project or share. |
reservation_snap | Specifies the reservation snap behaviour of the project or share. |
root_group | Specifies the root group for a file. |
root_permissions | Specifies the root permissions for a file. |
root_user | Specifies the root user for a file. |
share_name | The name of the share. |
sharedav | Specifies if the project or share must be shared with the DAV protocol. |
shareftp | Specifies if the project or share must be shared with the FTP protocol. |
sharenfs | Specifies if the project or share must be shared with the NFS protocol. |
sharesftp | Specifies if the project or share must be shared with the FTP protocol. |
sharesmb | Specifies if the project or share must be shared with the SMB protocol. |
sharetftp | Specifies if the project or share must be shared with the TFTP protocol. |
snapdir | Specifies the snapdit behaviour of the project or share. |
aclinherit
Specifies the ACL inheritance behavior.
zfs_...{
...
aclinhert => 'restricted'
...
}
At the moment it accepts the following values:
- discard’
- noallow’
- restricted’
- passthrough
- passthrough-x
appliance
The name of the appliance to connect to.
This is the first part of the title and is seperated from the rest with a double colon.
zfs_...{appliance:...
...
}
atime
Specifies weather you want to update access time on read.
zfs_…{ … atime => true … }
Valid values are true
, false
. Back to overview of zfs_share
casesensitivity
Specify if the share or project uses case sensitive names.
zfs_...{
...
casesensitivity => 'true'
...
}
This paramater is only used during creation.
checksum
Specifies the ACL inheritance behavior.
zfs_...{
...
checksum => 'fletcher2'
...
}
At the moment it accepts the following values:
- fletcher2
- fletcher4
- sha256
compression
Specifies the type of compression of off.
zfs_...{
...
compression => 'lzjb'
...
}
At the moment it accepts the following values:
- off
- lzjb
- gzip-2
- gzip
- gzip-9
ensure
The basic property that the resource should be in.
Valid values are present
, absent
. Back to overview of zfs_share
maxblocksize
Specifies the maximum blocksize for the project and/or the share.
zfs_…{ … maxblocksize => ‘restricted’ … }
Valid values are absent
. Values can match /^\-?\d*\.?\d*$/
. Back to overview of zfs_share
mountpoint
Specifies the mount point .
zfs_…{ … mountpoint => ‘/export/my_share’ … }
name
The full name of the project
nodestroy
Specifies if the contants of the share is deleted when the share is deleted.
zfs_share { … … nodestroy => true … }
Valid values are true
, false
. Back to overview of zfs_share
pool_name
The storage pool name of the project.
This is the second part of the title.
zfs_...{appliance:pool/....:
...
}
project_name
The project name of the project or share.
This is the third part of the title.
zfs_...{appliance:pool/project....:
...
}
provider
The specific backend to use for this zfs_share
resource. You will seldom need to specify this — Puppet will usually discover the appropriate provider for your platform.Available providers are:
- simple
- Manage a share on a ZFS appliance
quota
Specifies the quota on the disk or share.
zfs_…{ … quota => ‘1G’ … }
quota_snap
Specifies the quota snap behaviour of the project or share.
zfs_…{ … quota_snap => ‘true’ … }
Valid values are true
, false
. Back to overview of zfs_share
readonly
Specifies if the project is readonly or not.
zfs_…{ … readonly => true … }
Valid values are true
, false
. Back to overview of zfs_share
recordsize
Specifies the record size of the project or share.
zfs_…{ … recordsize => ‘1000’ … }
Valid values are absent
. Values can match /^\-?\d*\.?\d*$/
. Back to overview of zfs_share
reservation
Specifies the reservation size for the project or share.
zfs_…{ … reservation => ‘100’ … }
Valid values are absent
. Values can match /^\-?\d*\.?\d*$/
. Back to overview of zfs_share
reservation_snap
Specifies the reservation snap behaviour of the project or share.
zfs_…{ … reservation_snap => ‘true’ … }
Valid values are true
, false
. Back to overview of zfs_share
root_group
Specifies the root group for a file.
zfs_…{ … root_group => ‘unknown’ … }
root_permissions
Specifies the root permissions for a file.
zfs_…{ … root_permissions => ‘0700’ … }
root_user
Specifies the root user for a file.
zfs_…{ … root_user => ‘unknown’ … }
share_name
The name of the share.
That is the 4th part of the title
zfs_...{appliance:pool/project/share:
...
}
sharedav
Specifies if the project or share must be shared with the DAV protocol.
zfs_…{ … sharedav => ‘on’ … }
shareftp
Specifies if the project or share must be shared with the FTP protocol.
zfs_…{ … shareftp => ‘on’ … }
sharenfs
Specifies if the project or share must be shared with the NFS protocol.
You can set it to:
- On (nfs share mode rw, no exceptions)
- Off (nfs share mode none, no exceptions)
- ro (nfs share mode ro, no exceptions)
-
An String detailled describing the share mode with possibility for e.g. network level exceptions etc., e.g.: sec=sys,ro,nosuid,nosub,rw=@2.3.4.5/32:@1.2.3.4/32,root=@2.3.4.5/32:@1.2.3.4/32:@6.7.8.9/32
zfs_…{ … sharenfs => ‘on’ … }
sharesftp
Specifies if the project or share must be shared with the FTP protocol.
zfs_…{ … sharesftp => ‘on’ … }
sharesmb
Specifies if the project or share must be shared with the SMB protocol.
zfs_…{ … sharesmb => ‘on’ … }
sharetftp
Specifies if the project or share must be shared with the TFTP protocol.
zfs_…{ … sharetftp => ‘on’ … }
snapdir
Specifies the snapdit behaviour of the project or share.
zfs_…{ … snapdir => ‘true’ … }