Table Of Contents
- JSON-RPC 2.0 over WebSocket API
- Changelog
- API Methods
- acme.dns.authenticator
- alert
- alertclasses
- alertservice
- api_key
- app
- app.available_space
- app.categories
- app.certificate_choices
- app.config
- app.container_console_choices
- app.container_ids
- app.convert_to_custom
- app.create
- app.delete
- app.get_instance
- app.gpu_choices
- app.ip_choices
- app.outdated_docker_images
- app.pull_images
- app.query
- app.redeploy
- app.rollback
- app.rollback_versions
- app.similar
- app.start
- app.stop
- app.update
- app.upgrade
- app.upgrade_bulk
- app.upgrade_summary
- app.used_host_ips
- app.used_ports
- app.image
- app.ix_volume
- app.registry
- audit
- auth
- auth.twofactor
- boot
- boot.environment
- catalog
- certificate
- cloud_backup
- cloudsync
- cloudsync.credentials
- config
- container
- container.device
- container.image
- core
- cronjob
- device
- directoryservices
- disk
- dns
- docker
- docker.network
- enclosure.label
- enclosure2
- failover
- failover.disabled
- failover.reboot
- fc
- fc.fc_host
- fcport
- filesystem
- filesystem.acltemplate
- ftp
- group
- hardware.virtualization
- idmap
- initshutdownscript
- interface
- interface.available_fec_modes
- interface.bridge_members_choices
- interface.cancel_rollback
- interface.checkin
- interface.checkin_waiting
- interface.choices
- interface.commit
- interface.create
- interface.delete
- interface.get_instance
- interface.has_pending_changes
- interface.ip_in_use
- interface.lacpdu_rate_choices
- interface.lag_ports_choices
- interface.network_config_to_be_removed
- interface.query
- interface.rollback
- interface.save_network_config
- interface.services_restarted_on_sync
- interface.update
- interface.vlan_parent_interface_choices
- interface.websocket_interface
- interface.websocket_local_ip
- interface.xmit_hash_policy_choices
- ipmi
- ipmi.chassis
- ipmi.lan
- ipmi.sel
- iscsi.auth
- iscsi.extent
- iscsi.global
- iscsi.initiator
- iscsi.portal
- iscsi.target
- iscsi.targetextent
- jbof
- kerberos
- kerberos.keytab
- kerberos.realm
- keychaincredential
- keychaincredential.create
- keychaincredential.delete
- keychaincredential.generate_ssh_key_pair
- keychaincredential.get_instance
- keychaincredential.query
- keychaincredential.remote_ssh_host_key_scan
- keychaincredential.remote_ssh_semiautomatic_setup
- keychaincredential.setup_ssh_connection
- keychaincredential.update
- keychaincredential.used_by
- kmip
- lxc
- network.configuration
- network.general
- nfs
- nvmet.global
- nvmet.host
- nvmet.host_subsys
- nvmet.namespace
- nvmet.port
- nvmet.port_subsys
- nvmet.subsys
- pool
- pool.attach
- pool.attachments
- pool.create
- pool.ddt_prefetch
- pool.ddt_prune
- pool.detach
- pool.expand
- pool.export
- pool.filesystem_choices
- pool.get_disks
- pool.get_instance
- pool.import_find
- pool.import_pool
- pool.is_upgraded
- pool.offline
- pool.online
- pool.prefetch
- pool.processes
- pool.query
- pool.reimport
- pool.remove
- pool.replace
- pool.scrub
- pool.update
- pool.upgrade
- pool.validate_name
- pool.dataset
- pool.dataset.attachments
- pool.dataset.change_key
- pool.dataset.checksum_choices
- pool.dataset.compression_choices
- pool.dataset.create
- pool.dataset.delete
- pool.dataset.details
- pool.dataset.encryption_summary
- pool.dataset.export_key
- pool.dataset.export_keys
- pool.dataset.export_keys_for_replication
- pool.dataset.get_instance
- pool.dataset.get_quota
- pool.dataset.inherit_parent_encryption_properties
- pool.dataset.lock
- pool.dataset.processes
- pool.dataset.promote
- pool.dataset.query
- pool.dataset.recommended_zvol_blocksize
- pool.dataset.recordsize_choices
- pool.dataset.rename
- pool.dataset.set_quota
- pool.dataset.snapshot_count
- pool.dataset.unlock
- pool.dataset.update
- pool.resilver
- pool.scrub
- pool.snapshot
- pool.snapshottask
- pool.snapshottask.create
- pool.snapshottask.delete
- pool.snapshottask.delete_will_change_retention_for
- pool.snapshottask.get_instance
- pool.snapshottask.max_count
- pool.snapshottask.max_total_count
- pool.snapshottask.query
- pool.snapshottask.run
- pool.snapshottask.update
- pool.snapshottask.update_will_change_retention_for
- privilege
- rdma
- replication
- replication.count_eligible_manual_snapshots
- replication.create
- replication.create_dataset
- replication.delete
- replication.get_instance
- replication.list_datasets
- replication.list_naming_schemas
- replication.query
- replication.restore
- replication.run
- replication.run_onetime
- replication.target_unmatched_snapshots
- replication.update
- replication.config
- reporting
- reporting.exporters
- route
- rsynctask
- s3
- s3.accesskey
- service
- sharing.nfs
- sharing.s3
- sharing.smb
- sharing.webshare
- smb
- snmp
- ssh
- staticroute
- support
- system
- system.advanced
- system.advanced.config
- system.advanced.get_gpu_pci_choices
- system.advanced.login_banner
- system.advanced.nvidia_present
- system.advanced.sed_global_password
- system.advanced.sed_global_password_is_set
- system.advanced.serial_port_choices
- system.advanced.syslog_certificate_authority_choices
- system.advanced.syslog_certificate_choices
- system.advanced.update
- system.advanced.update_gpu_pci_ids
- system.general
- system.general.checkin
- system.general.checkin_waiting
- system.general.config
- system.general.country_choices
- system.general.kbdmap_choices
- system.general.local_url
- system.general.timezone_choices
- system.general.ui_address_choices
- system.general.ui_certificate_choices
- system.general.ui_httpsprotocols_choices
- system.general.ui_restart
- system.general.ui_v6address_choices
- system.general.update
- system.global
- system.ntpserver
- system.reboot
- system.security
- system.security.info
- systemdataset
- tn_connect
- truecommand
- truenas
- truenas.entitlements
- truenas.license
- tunable
- update
- ups
- user
- vm
- vm.bootloader_options
- vm.bootloader_ovmf_choices
- vm.clone
- vm.cpu_model_choices
- vm.create
- vm.delete
- vm.flags
- vm.get_available_memory
- vm.get_console
- vm.get_display_devices
- vm.get_display_web_uri
- vm.get_instance
- vm.get_memory_usage
- vm.get_vm_memory_info
- vm.get_vmemory_in_use
- vm.guest_architecture_and_machine_choices
- vm.log_file_download
- vm.log_file_path
- vm.maximum_supported_vcpus
- vm.port_wizard
- vm.poweroff
- vm.query
- vm.random_mac
- vm.resolution_choices
- vm.restart
- vm.resume
- vm.start
- vm.status
- vm.stop
- vm.supports_virtualization
- vm.suspend
- vm.update
- vm.virtualization_details
- vm.device
- vm.device.bind_choices
- vm.device.convert
- vm.device.create
- vm.device.delete
- vm.device.disk_choices
- vm.device.get_instance
- vm.device.iommu_enabled
- vm.device.iotype_choices
- vm.device.nic_attach_choices
- vm.device.passthrough_device
- vm.device.passthrough_device_choices
- vm.device.query
- vm.device.update
- vm.device.usb_controller_choices
- vm.device.usb_passthrough_choices
- vm.device.usb_passthrough_device
- vm.device.virtual_size
- vmware
- webshare
- webui.crypto
- webui.enclosure
- webui.main.dashboard
- zfs.resource
- zfs.resource.snapshot
- zfs.tier
- zpool
- zpool.scrub
- API Events
- acme.dns.authenticator
- alert
- alertservice
- api_key
- app
- auth
- boot.environment
- certificate
- cloud_backup
- cloudsync
- cloudsync.credentials
- container
- container.device
- core
- cronjob
- directoryservices
- disk
- docker
- docker.network
- failover
- failover.disabled
- failover.reboot
- fc.fc_host
- fcport
- filesystem
- filesystem.acltemplate
- group
- initshutdownscript
- interface
- iscsi.auth
- iscsi.extent
- iscsi.initiator
- iscsi.portal
- iscsi.target
- iscsi.targetextent
- jbof
- kerberos.keytab
- kerberos.realm
- keychaincredential
- nvmet.host
- nvmet.host_subsys
- nvmet.namespace
- nvmet.port
- nvmet.port_subsys
- nvmet.subsys
- pool
- pool.dataset
- pool.scrub
- pool.snapshot
- pool.snapshottask
- privilege
- replication
- reporting
- reporting.exporters
- rsynctask
- s3.accesskey
- service
- sharing.nfs
- sharing.s3
- sharing.smb
- sharing.webshare
- staticroute
- system
- system.ntpserver
- system.reboot
- tn_connect
- truecommand
- tunable
- update
- user
- vm
- vm.device
- vmware
- zfs.tier
- zpool
- Jobs
- Query Methods
- Role-Based Access Control
Previous topic
Next topic
sharing.s3.query¶
Sent on sharing.s3 changes.
SharingS3AddedEvent
Type: objectNo Additional Properties
Id
Type: integerSharingS3Entry
Type: objectNo Additional Properties
Id
Type: integerUnique identifier for the bucket.
Name
Type: stringBucket name, following the S3 rules. Three to 63 characters of lowercase letters, digits, dots and hyphens, starting and ending with a letter or digit, no adjacent dots, and never an IPv4 address.
Must match regular expression:^[a-z0-9][a-z0-9.-]*[a-z0-9]$
Must be at least 3 characters long
Must be at most 63 characters long
Dataset
Type: stringThe ZFS dataset the bucket is. Created by sharing.s3.create and owned by it. Objects live in the s3data directory under its mount point, which the S3 service creates on its next start, owned by owner. Under the S3 and MULTIPROTOCOL permissions models every object is written under the account that put it, so a grantee other than the owner can write only where that directory's permissions allow; set an ACL on it as for any share, or choose S3_BUCKET_OWNER_ENFORCED.
Must be at least 1 characters long
Enabled
Type: boolean Default: trueWhether the bucket is served. Toggling restarts the S3 service.
Owner
Type: stringAccount that owns the bucket and bypasses its grants, owns the s3data directory when the S3 service creates it, and owns every object under the S3_BUCKET_OWNER_ENFORCED permissions model. Given by name, held by uid: the name is resolved when set and again whenever the bucket is read, so a renamed account reads as its new name, a reused name never inherits the bucket, and an account that no longer exists reads as its uid. Changing the owner later moves the grants, not the directory.
Must be at least 1 characters long
Owner Uid
Type: integerThe uid that owns the bucket.
Grants
Type: array of object Default: []Who may access the bucket and how, beyond its owner.
No Additional ItemsEach item of this array must be:
S3GrantEntry
Type: objectNo Additional Properties
Principal Type
Type: enum (of string)Who the grant applies to. A user, a group, or everyone with a valid access key.
Must be one of:
- "USER"
- "GROUP"
- "EVERYONE"
Access
Type: enum (of string)What the grant allows. READONLY, WRITEONLY and READWRITE allow the matching operations. DENY refuses every operation for the principal and outranks the bucket owner.
Must be one of:
- "READONLY"
- "WRITEONLY"
- "READWRITE"
- "DENY"
Name
Type: stringName of the user or group the grant applies to, resolved for display. Empty for EVERYONE.
Permissions Model
Type: enum (of string) Default: "S3"Whose account the S3 service touches the dataset under. S3 when only the S3 service writes it: the grants alone decide a read, and every object is written under the account that put it. MULTIPROTOCOL when other protocols share the tree: a read is also subject to the file permissions those protocols set. S3_BUCKET_OWNER_ENFORCED when only the S3 service writes it and every object is to be owner's: every read and write runs as the owner, so the grants are the whole of the bucket's access control and a grantee needs no permissions on the s3data directory. A request is still authorized and audited as the account that made it.
Must be one of:
- "S3"
- "MULTIPROTOCOL"
- "S3_BUCKET_OWNER_ENFORCED"
Versioning
Type: enum (of string) Default: "OFF"Bucket versioning state.
Must be one of:
- "OFF"
- "ENABLED"
- "SUSPENDED"
Snapshot Versions
Type: array of string Default: []Patterns over the names of the bucket dataset's ZFS snapshots, * and ? the only metacharacters, each matched against a whole name. Every snapshot a pattern selects serves each object's state frozen in it as a read-only version: listed by ListObjectVersions and read by its version id. Empty serves none. Requires versioning to be ENABLED or SUSPENDED.
Each item of this array must be:
Must be at least 1 characters long
Snapshot Versions Max
Type: integer Default: 64How many of the newest selected snapshots one ListObjectVersions listing consults. Bounds the listing alone: a selected snapshot beyond it still serves by its version id.
Value must be greater or equal to 1 and lesser or equal to 4294967295
Multipart Etag
Type: enum (of string) Default: "COMPOSITE"What the ETag of an object assembled from a multipart upload is. COMPOSITE is the S3 construction: each part's ETag is the MD5 of its bytes and the object's is the MD5 of those digests with the part count appended, which costs an MD5 pass over every part. MINTED skips that pass for a part whose upload carried no Content-MD5 and gives the object an opaque token instead. Choose it only where nothing writing the bucket reads its ETags, such as a backup target that declares its own checksums: a client that recomputes the composite to verify or resume an upload sees a value it cannot match.
Must be one of:
- "COMPOSITE"
- "MINTED"
Object Lock
Type: boolean Default: falseWhether object lock is enabled. Requires versioning to be ENABLED and a permissions model other than MULTIPROTOCOL: a locked bucket is the S3 service's alone.
Audit
Default: nullActions audited on this bucket, ALL, or an empty list to audit nothing. null inherits the service's default_audit. Requires an Enterprise license.
No Additional Items
Each item of this array must be:
Must be one of:
- "GetObject"
- "PutObject"
- "DeleteObject"
- "GetObjectTagging"
- "PutObjectTagging"
- "DeleteObjectTagging"
- "ListBucket"
- "GetBucketLocation"
- "ListBucketMultipartUploads"
- "ListMultipartUploadParts"
- "AbortMultipartUpload"
- "PutObjectRetention"
- "PutObjectLegalHold"
- "ListAllMyBuckets"
Specific value:
"ALL"
SharingS3ChangedEvent
Type: objectNo Additional Properties
Id
Type: integerSharingS3Entry
Type: objectNo Additional Properties
Id
Type: integerUnique identifier for the bucket.
Name
Type: stringBucket name, following the S3 rules. Three to 63 characters of lowercase letters, digits, dots and hyphens, starting and ending with a letter or digit, no adjacent dots, and never an IPv4 address.
Must match regular expression:^[a-z0-9][a-z0-9.-]*[a-z0-9]$
Must be at least 3 characters long
Must be at most 63 characters long
Dataset
Type: stringThe ZFS dataset the bucket is. Created by sharing.s3.create and owned by it. Objects live in the s3data directory under its mount point, which the S3 service creates on its next start, owned by owner. Under the S3 and MULTIPROTOCOL permissions models every object is written under the account that put it, so a grantee other than the owner can write only where that directory's permissions allow; set an ACL on it as for any share, or choose S3_BUCKET_OWNER_ENFORCED.
Must be at least 1 characters long
Enabled
Type: boolean Default: trueWhether the bucket is served. Toggling restarts the S3 service.
Owner
Type: stringAccount that owns the bucket and bypasses its grants, owns the s3data directory when the S3 service creates it, and owns every object under the S3_BUCKET_OWNER_ENFORCED permissions model. Given by name, held by uid: the name is resolved when set and again whenever the bucket is read, so a renamed account reads as its new name, a reused name never inherits the bucket, and an account that no longer exists reads as its uid. Changing the owner later moves the grants, not the directory.
Must be at least 1 characters long
Owner Uid
Type: integerThe uid that owns the bucket.
Grants
Type: array of object Default: []Who may access the bucket and how, beyond its owner.
No Additional ItemsEach item of this array must be:
S3GrantEntry
Type: objectNo Additional Properties
Principal Type
Type: enum (of string)Who the grant applies to. A user, a group, or everyone with a valid access key.
Must be one of:
- "USER"
- "GROUP"
- "EVERYONE"
Access
Type: enum (of string)What the grant allows. READONLY, WRITEONLY and READWRITE allow the matching operations. DENY refuses every operation for the principal and outranks the bucket owner.
Must be one of:
- "READONLY"
- "WRITEONLY"
- "READWRITE"
- "DENY"
Name
Type: stringName of the user or group the grant applies to, resolved for display. Empty for EVERYONE.
Permissions Model
Type: enum (of string) Default: "S3"Whose account the S3 service touches the dataset under. S3 when only the S3 service writes it: the grants alone decide a read, and every object is written under the account that put it. MULTIPROTOCOL when other protocols share the tree: a read is also subject to the file permissions those protocols set. S3_BUCKET_OWNER_ENFORCED when only the S3 service writes it and every object is to be owner's: every read and write runs as the owner, so the grants are the whole of the bucket's access control and a grantee needs no permissions on the s3data directory. A request is still authorized and audited as the account that made it.
Must be one of:
- "S3"
- "MULTIPROTOCOL"
- "S3_BUCKET_OWNER_ENFORCED"
Versioning
Type: enum (of string) Default: "OFF"Bucket versioning state.
Must be one of:
- "OFF"
- "ENABLED"
- "SUSPENDED"
Snapshot Versions
Type: array of string Default: []Patterns over the names of the bucket dataset's ZFS snapshots, * and ? the only metacharacters, each matched against a whole name. Every snapshot a pattern selects serves each object's state frozen in it as a read-only version: listed by ListObjectVersions and read by its version id. Empty serves none. Requires versioning to be ENABLED or SUSPENDED.
Each item of this array must be:
Must be at least 1 characters long
Snapshot Versions Max
Type: integer Default: 64How many of the newest selected snapshots one ListObjectVersions listing consults. Bounds the listing alone: a selected snapshot beyond it still serves by its version id.
Value must be greater or equal to 1 and lesser or equal to 4294967295
Multipart Etag
Type: enum (of string) Default: "COMPOSITE"What the ETag of an object assembled from a multipart upload is. COMPOSITE is the S3 construction: each part's ETag is the MD5 of its bytes and the object's is the MD5 of those digests with the part count appended, which costs an MD5 pass over every part. MINTED skips that pass for a part whose upload carried no Content-MD5 and gives the object an opaque token instead. Choose it only where nothing writing the bucket reads its ETags, such as a backup target that declares its own checksums: a client that recomputes the composite to verify or resume an upload sees a value it cannot match.
Must be one of:
- "COMPOSITE"
- "MINTED"
Object Lock
Type: boolean Default: falseWhether object lock is enabled. Requires versioning to be ENABLED and a permissions model other than MULTIPROTOCOL: a locked bucket is the S3 service's alone.
Audit
Default: nullActions audited on this bucket, ALL, or an empty list to audit nothing. null inherits the service's default_audit. Requires an Enterprise license.
No Additional Items
Each item of this array must be:
Must be one of:
- "GetObject"
- "PutObject"
- "DeleteObject"
- "GetObjectTagging"
- "PutObjectTagging"
- "DeleteObjectTagging"
- "ListBucket"
- "GetBucketLocation"
- "ListBucketMultipartUploads"
- "ListMultipartUploadParts"
- "AbortMultipartUpload"
- "PutObjectRetention"
- "PutObjectLegalHold"
- "ListAllMyBuckets"
Specific value:
"ALL"
SharingS3RemovedEvent
Type: objectNo Additional Properties
Id
Type: integerRequired roles: SHARING_S3_READ