Overview

This type allows you to manage a project on a ZFS appliance.

Here is an example on how to use this:

zfs_project { 'default:all/project_1':
  ensure              => 'present',
  aclinherit          => 'restricted',
  aclmode             => 'discard',
  checksum            => 'fletcher4',
  compression         => 'off',
  default_group       => 'other',
  default_permissions => '705',
  default_user        => 'nobody',
  mountpoint          => '/export/project_1',
  quota               => '0.0',
  recordsize          => '131072.0',
  reservation         => '0.0',
  sharenfs            => 'on',
  sharesmb            => 'on',
  snapdir             => 'hidden',
}

Attributes

Attribute Name Short Description
aclinherit Specifies the ACL inheritance behavior.
aclmode Specifies the ACL mode.
appliance The name of the appliance to connect to.
atime Specifies weather you want to update access time on read.
checksum Specifies the ACL inheritance behavior.
compression Specifies the type of compression of off.
default_group Specifies the default group id for a file.
default_permissions Specifies the default permissions for a file.
default_sparse Specifies the ACL inheritance behavior.
default_user Specifies the default user for a file.
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.
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.
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.
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

Back to overview of zfs_project

aclmode

Specifies the ACL mode.

zfs_...{
  ...
  aclmode => 'discard'
  ...
}

At the moment it accepts the following values:

  • discard
  • mask
  • passthrough

Back to overview of zfs_project

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:...
  ...
}

Back to overview of zfs_project

atime

Specifies weather you want to update access time on read.

zfs_…{ … atime => true … }

Valid values are true, false. Back to overview of zfs_project

checksum

Specifies the ACL inheritance behavior.

zfs_...{
  ...
  checksum => 'fletcher2'
  ...
}

At the moment it accepts the following values:

  • fletcher2
  • fletcher4
  • sha256

Back to overview of zfs_project

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

Back to overview of zfs_project

default_group

Specifies the default group id for a file.

zfs_…{ … default_group => ‘unknown’ … }

Back to overview of zfs_project

default_permissions

Specifies the default permissions for a file.

zfs_…{ … default_permissions => ‘0700’ … }

Back to overview of zfs_project

default_sparse

Specifies the ACL inheritance behavior.

zfs_…{ … default_sparse => true … }

Valid values are true, false. Back to overview of zfs_project

default_user

 Specifies the default user for a file.

zfs_…{ … default_user => ‘unknown’ … }

Back to overview of zfs_project

ensure

The basic property that the resource should be in.

Valid values are present, absent. Back to overview of zfs_project

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_project

mountpoint

Specifies the mount point .

zfs_…{ … mountpoint => ‘/export/my_share’ … }

Back to overview of zfs_project

name

The full name of the project.

Back to overview of zfs_project

pool_name

The storage pool name of the project.

This is the second part of the title.

zfs_...{appliance:pool/....:
  ...
}

Back to overview of zfs_project

project_name

The project name of the project or share.

This is the third part of the title.

zfs_...{appliance:pool/project....:
  ...
}

Back to overview of zfs_project

provider

The specific backend to use for this zfs_project resource. You will seldom need to specify this — Puppet will usually discover the appropriate provider for your platform.Available providers are:

simple
Manage a project on a ZFS appliance

Back to overview of zfs_project

quota

Specifies the quota on the disk or share.

zfs_…{ … quota => ‘1G’ … }

Back to overview of zfs_project

readonly

Specifies if the project is readonly or not.

zfs_…{ … readonly => true … }

Valid values are true, false. Back to overview of zfs_project

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_project

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_project

sharedav

Specifies if the project or share must be shared with the DAV protocol.

zfs_…{ … sharedav => ‘on’ … }

Back to overview of zfs_project

shareftp

Specifies if the project or share must be shared with the FTP protocol.

zfs_…{ … shareftp => ‘on’ … }

Back to overview of zfs_project

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’ … }

Back to overview of zfs_project

sharesftp

Specifies if the project or share must be shared with the FTP protocol.

zfs_…{ … sharesftp => ‘on’ … }

Back to overview of zfs_project

sharesmb

Specifies if the project or share must be shared with the SMB protocol.

zfs_…{ … sharesmb => ‘on’ … }

Back to overview of zfs_project

sharetftp

Specifies if the project or share must be shared with the TFTP protocol.

zfs_…{ … sharetftp => ‘on’ … }

Back to overview of zfs_project

snapdir

 Specifies the snapdit behaviour of the project or share.

zfs_…{ … snapdir => ‘true’ … }

Back to overview of zfs_project