class ISCSIGlobalModel(sa.Model): __tablename__ = 'services_iscsitargetglobalconfiguration' id = sa.Column(sa.Integer(), primary_key=True) iscsi_basename = sa.Column(sa.String(120)) iscsi_isns_servers = sa.Column(sa.Text()) iscsi_pool_avail_threshold = sa.Column(sa.Integer(), nullable=True) iscsi_alua = sa.Column(sa.Boolean(), default=False)
class SystemDatasetModel(sa.Model): __tablename__ = 'system_systemdataset' id = sa.Column(sa.Integer(), primary_key=True) sys_pool = sa.Column(sa.String(1024)) sys_syslog_usedataset = sa.Column(sa.Boolean(), default=False) sys_uuid = sa.Column(sa.String(32)) sys_uuid_b = sa.Column(sa.String(32), nullable=True)
class NFSShareModel(sa.Model): __tablename__ = 'sharing_nfs_share' id = sa.Column(sa.Integer(), primary_key=True) nfs_paths = sa.Column(sa.JSON(type=list)) nfs_comment = sa.Column(sa.String(120)) nfs_network = sa.Column(sa.Text()) nfs_hosts = sa.Column(sa.Text()) nfs_alldirs = sa.Column(sa.Boolean(), default=False) nfs_ro = sa.Column(sa.Boolean(), default=False) nfs_quiet = sa.Column(sa.Boolean(), default=False) nfs_maproot_user = sa.Column(sa.String(120), nullable=True, default='') nfs_maproot_group = sa.Column(sa.String(120), nullable=True, default='') nfs_mapall_user = sa.Column(sa.String(120), nullable=True, default='') nfs_mapall_group = sa.Column(sa.String(120), nullable=True, default='') nfs_security = sa.Column(sa.MultiSelectField()) nfs_enabled = sa.Column(sa.Boolean(), default=True)
class KMIPModel(sa.Model): __tablename__ = 'system_kmip' id = sa.Column(sa.Integer(), primary_key=True) server = sa.Column(sa.String(128), default=None, nullable=True) ssl_version = sa.Column(sa.String(128), default='PROTOCOL_TLSv1_2') port = sa.Column(sa.SmallInteger(), default=5696) certificate_id = sa.Column(sa.ForeignKey('system_certificate.id'), index=True, nullable=True) certificate_authority_id = sa.Column( sa.ForeignKey('system_certificateauthority.id'), index=True, nullable=True) manage_sed_disks = sa.Column(sa.Boolean(), default=False) manage_zfs_keys = sa.Column(sa.Boolean(), default=False) enabled = sa.Column(sa.Boolean(), default=False)
class ACLTempateModel(sa.Model): __tablename__ = 'filesystem_acltemplate' id = sa.Column(sa.Integer(), primary_key=True) acltemplate_name = sa.Column(sa.String(120), unique=True) acltemplate_acltype = sa.Column(sa.String(255)) acltemplate_acl = sa.Column(sa.JSON(type=list)) acltemplate_builtin = sa.Column(sa.Boolean())
class CatalogModel(sa.Model): __tablename__ = 'services_catalog' label = sa.Column(sa.String(255), nullable=False, unique=True, primary_key=True) repository = sa.Column(sa.Text(), nullable=False) branch = sa.Column(sa.String(255), nullable=False) builtin = sa.Column(sa.Boolean(), nullable=False, default=False) preferred_trains = sa.Column(sa.JSON(type=list))
class SNMPModel(sa.Model): __tablename__ = 'services_snmp' id = sa.Column(sa.Integer(), primary_key=True) snmp_location = sa.Column(sa.String(255)) snmp_contact = sa.Column(sa.String(120)) snmp_traps = sa.Column(sa.Boolean(), default=False) snmp_v3 = sa.Column(sa.Boolean(), default=False) snmp_community = sa.Column(sa.String(120), default='public') snmp_v3_username = sa.Column(sa.String(20)) snmp_v3_authtype = sa.Column(sa.String(3), default='SHA') snmp_v3_password = sa.Column(sa.String(50)) snmp_v3_privproto = sa.Column(sa.String(3), nullable=True) snmp_v3_privpassphrase = sa.Column(sa.String(100), nullable=True) snmp_options = sa.Column(sa.Text()) snmp_loglevel = sa.Column(sa.Integer(), default=3) snmp_zilstat = sa.Column(sa.Boolean(), default=False)
class TruenasCustomerInformationModel(sa.Model): __tablename__ = 'truenas_customerinformation' id = sa.Column(sa.Integer(), primary_key=True) data = sa.Column(sa.Text()) updated_at = sa.Column(sa.DateTime()) sent_at = sa.Column(sa.DateTime(), nullable=True) form_dismissed = sa.Column(sa.Boolean())
class VMModel(sa.Model): __tablename__ = 'vm_vm' id = sa.Column(sa.Integer(), primary_key=True) name = sa.Column(sa.String(150)) description = sa.Column(sa.String(250)) vcpus = sa.Column(sa.Integer(), default=1) memory = sa.Column(sa.Integer()) autostart = sa.Column(sa.Boolean(), default=False) time = sa.Column(sa.String(5), default='LOCAL') grubconfig = sa.Column(sa.Text(), nullable=True) bootloader = sa.Column(sa.String(50), default='UEFI') cores = sa.Column(sa.Integer(), default=1) threads = sa.Column(sa.Integer(), default=1) shutdown_timeout = sa.Column(sa.Integer(), default=90) cpu_mode = sa.Column(sa.Text()) cpu_model = sa.Column(sa.Text(), nullable=True) hide_from_msr = sa.Column(sa.Boolean(), default=False)
class TunableModel(sa.Model): __tablename__ = 'system_tunable' id = sa.Column(sa.Integer(), primary_key=True) tun_value = sa.Column(sa.String(512)) tun_type = sa.Column(sa.String(20), default='loader') tun_comment = sa.Column(sa.String(100)) tun_enabled = sa.Column(sa.Boolean(), default=True) tun_var = sa.Column(sa.String(128))
class AlertServiceModel(sa.Model): __tablename__ = 'system_alertservice' id = sa.Column(sa.Integer(), primary_key=True) name = sa.Column(sa.String(120)) type = sa.Column(sa.String(20)) attributes = sa.Column(sa.JSON()) enabled = sa.Column(sa.Boolean()) level = sa.Column(sa.String(20))
class PeriodicSnapshotTaskModel(sa.Model): __tablename__ = 'storage_task' id = sa.Column(sa.Integer(), primary_key=True) task_dataset = sa.Column(sa.String(150)) task_recursive = sa.Column(sa.Boolean(), default=False) task_lifetime_value = sa.Column(sa.Integer(), default=2) task_lifetime_unit = sa.Column(sa.String(120), default='WEEK') task_begin = sa.Column(sa.Time(), default=time(hour=9)) task_end = sa.Column(sa.Time(), default=time(hour=18)) task_enabled = sa.Column(sa.Boolean(), default=True) task_exclude = sa.Column(sa.JSON(type=list)) task_naming_schema = sa.Column(sa.String(150), default='auto-%Y-%m-%d_%H-%M') task_minute = sa.Column(sa.String(100), default="00") task_hour = sa.Column(sa.String(100), default="*") task_daymonth = sa.Column(sa.String(100), default="*") task_month = sa.Column(sa.String(100), default='*') task_dayweek = sa.Column(sa.String(100), default="*") task_allow_empty = sa.Column(sa.Boolean(), default=True)
class TwoFactorAuthModel(sa.Model): __tablename__ = 'system_twofactorauthentication' id = sa.Column(sa.Integer(), primary_key=True) otp_digits = sa.Column(sa.Integer(), default=6) secret = sa.Column(sa.EncryptedText(), nullable=True, default=None) window = sa.Column(sa.Integer(), default=0) interval = sa.Column(sa.Integer(), default=30) services = sa.Column(sa.JSON(), default={}) enabled = sa.Column(sa.Boolean(), default=False)
class TFTPModel(sa.Model): __tablename__ = 'services_tftp' id = sa.Column(sa.Integer(), primary_key=True) tftp_directory = sa.Column(sa.String(255)) tftp_newfiles = sa.Column(sa.Boolean(), default=False) tftp_port = sa.Column(sa.Integer(), default=21) tftp_username = sa.Column(sa.String(120), default="nobody") tftp_umask = sa.Column(sa.String(120), default='022') tftp_options = sa.Column(sa.String(120)) tftp_host = sa.Column(sa.String(120), default="0.0.0.0")
class UserModel(sa.Model): __tablename__ = 'account_bsdusers' id = sa.Column(sa.Integer(), primary_key=True) bsdusr_uid = sa.Column(sa.Integer()) bsdusr_username = sa.Column(sa.String(16), default='User &') bsdusr_unixhash = sa.Column(sa.String(128), default='*') bsdusr_smbhash = sa.Column(sa.String(128), default='*') bsdusr_home = sa.Column(sa.String(255), default="/nonexistent") bsdusr_shell = sa.Column(sa.String(120), default='/bin/csh') bsdusr_full_name = sa.Column(sa.String(120)) bsdusr_builtin = sa.Column(sa.Boolean(), default=False) bsdusr_password_disabled = sa.Column(sa.Boolean(), default=False) bsdusr_locked = sa.Column(sa.Boolean(), default=False) bsdusr_sudo = sa.Column(sa.Boolean(), default=False) bsdusr_microsoft_account = sa.Column(sa.Boolean()) bsdusr_group_id = sa.Column(sa.ForeignKey('account_bsdgroups.id'), index=True) bsdusr_attributes = sa.Column(sa.JSON()) bsdusr_email = sa.Column(sa.String(254), nullable=True)
class InitShutdownScriptModel(sa.Model): __tablename__ = 'tasks_initshutdown' id = sa.Column(sa.Integer(), primary_key=True) ini_type = sa.Column(sa.String(15), default='command') ini_command = sa.Column(sa.String(300)) ini_script = sa.Column(sa.String(255), nullable=True) ini_when = sa.Column(sa.String(15)) ini_enabled = sa.Column(sa.Boolean(), default=True) ini_timeout = sa.Column(sa.Integer(), default=10) ini_comment = sa.Column(sa.String(255)) ini_script_text = sa.Column(sa.Text())
class LDAPModel(sa.Model): __tablename__ = 'directoryservice_ldap' id = sa.Column(sa.Integer(), primary_key=True) ldap_hostname = sa.Column(sa.String(120)) ldap_basedn = sa.Column(sa.String(120)) ldap_binddn = sa.Column(sa.String(256)) ldap_bindpw = sa.Column(sa.String(120)) ldap_anonbind = sa.Column(sa.Boolean()) ldap_ssl = sa.Column(sa.String(120)) ldap_timeout = sa.Column(sa.Integer()) ldap_dns_timeout = sa.Column(sa.Integer()) ldap_has_samba_schema = sa.Column(sa.Boolean()) ldap_auxiliary_parameters = sa.Column(sa.Text()) ldap_schema = sa.Column(sa.String(120)) ldap_enable = sa.Column(sa.Boolean()) ldap_certificate_id = sa.Column(sa.ForeignKey('system_certificate.id'), index=True, nullable=True) ldap_kerberos_realm_id = sa.Column(sa.ForeignKey('directoryservice_kerberosrealm.id'), index=True, nullable=True) ldap_kerberos_principal = sa.Column(sa.String(255)) ldap_validate_certificates = sa.Column(sa.Boolean(), default=True) ldap_disable_freenas_cache = sa.Column(sa.Boolean())
class CertificateAuthorityModel(sa.Model): __tablename__ = 'system_certificateauthority' id = sa.Column(sa.Integer(), primary_key=True) cert_type = sa.Column(sa.Integer()) cert_name = sa.Column(sa.String(120), unique=True) cert_certificate = sa.Column(sa.Text(), nullable=True) cert_privatekey = sa.Column(sa.EncryptedText(), nullable=True) cert_CSR = sa.Column(sa.Text(), nullable=True) cert_revoked_date = sa.Column(sa.DateTime(), nullable=True) cert_signedby_id = sa.Column(sa.ForeignKey('system_certificateauthority.id'), index=True, nullable=True) cert_add_to_trusted_store = sa.Column(sa.Boolean(), default=False, nullable=False)
class AFPModel(sa.Model): __tablename__ = 'services_afp' id = sa.Column(sa.Integer(), primary_key=True) afp_srv_guest = sa.Column(sa.Boolean(), default=False) afp_srv_guest_user = sa.Column(sa.String(120), default="nobody") afp_srv_bindip = sa.Column(sa.MultiSelectField(), default=[]) afp_srv_connections_limit = sa.Column(sa.Integer(), default=50) afp_srv_dbpath = sa.Column(sa.String(255), nullable=True) afp_srv_global_aux = sa.Column(sa.Text()) afp_srv_map_acls = sa.Column(sa.String(120)) afp_srv_chmod_request = sa.Column(sa.String(120))
class S3Model(sa.Model): __tablename__ = 'services_s3' id = sa.Column(sa.Integer(), primary_key=True) s3_bindip = sa.Column(sa.String(128)) s3_bindport = sa.Column(sa.SmallInteger(), default=9000) s3_access_key = sa.Column(sa.String(128), default='') s3_secret_key = sa.Column(sa.EncryptedText(), default='') s3_mode = sa.Column(sa.String(120), default="local") s3_disks = sa.Column(sa.String(255), default='') s3_certificate_id = sa.Column(sa.ForeignKey('system_certificate.id'), index=True, nullable=True) s3_browser = sa.Column(sa.Boolean(), default=True)
class MailModel(sa.Model): __tablename__ = 'system_email' id = sa.Column(sa.Integer(), primary_key=True) em_fromemail = sa.Column(sa.String(120), default='') em_outgoingserver = sa.Column(sa.String(120)) em_port = sa.Column(sa.Integer(), default=25) em_security = sa.Column(sa.String(120), default="plain") em_smtp = sa.Column(sa.Boolean()) em_user = sa.Column(sa.String(120), nullable=True) em_pass = sa.Column(sa.String(120), nullable=True) em_fromname = sa.Column(sa.String(120), default='')
class SharingAFPModel(sa.Model): __tablename__ = 'sharing_afp_share' id = sa.Column(sa.Integer(), primary_key=True) afp_path = sa.Column(sa.String(255)) afp_name = sa.Column(sa.String(120)) afp_comment = sa.Column(sa.String(120)) afp_allow = sa.Column(sa.String(120)) afp_deny = sa.Column(sa.String(120)) afp_ro = sa.Column(sa.String(120)) afp_rw = sa.Column(sa.String(120)) afp_timemachine = sa.Column(sa.Boolean(), default=False) afp_nodev = sa.Column(sa.Boolean(), default=False) afp_nostat = sa.Column(sa.Boolean(), default=False) afp_upriv = sa.Column(sa.Boolean(), default=True) afp_fperm = sa.Column(sa.String(3), default="644") afp_dperm = sa.Column(sa.String(3), default="755") afp_umask = sa.Column(sa.String(3), default="000") afp_hostsallow = sa.Column(sa.String(120)) afp_hostsdeny = sa.Column(sa.String(120)) afp_auxparams = sa.Column(sa.Text()) afp_timemachine_quota = sa.Column(sa.Integer(), default=0) afp_home = sa.Column(sa.Boolean(), default=False) afp_enabled = sa.Column(sa.Boolean(), default=True) afp_vuid = sa.Column(sa.String(36))
class SystemGeneralModel(sa.Model): __tablename__ = 'system_settings' id = sa.Column(sa.Integer(), primary_key=True) stg_guiaddress = sa.Column(sa.JSON(type=list), default=['0.0.0.0']) stg_guiv6address = sa.Column(sa.JSON(type=list), default=['::']) stg_guiallowlist = sa.Column(sa.JSON(type=list), default=[]) stg_guiport = sa.Column(sa.Integer(), default=80) stg_guihttpsport = sa.Column(sa.Integer(), default=443) stg_guihttpsredirect = sa.Column(sa.Boolean(), default=False) stg_guihttpsprotocols = sa.Column(sa.JSON(type=list), default=['TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3']) stg_guix_frame_options = sa.Column(sa.String(120), default='SAMEORIGIN') stg_guiconsolemsg = sa.Column(sa.Boolean(), default=True) stg_language = sa.Column(sa.String(120), default='en') stg_kbdmap = sa.Column(sa.String(120), default='us') stg_birthday = sa.Column(sa.DateTime(), nullable=True) stg_timezone = sa.Column(sa.String(120), default='America/Los_Angeles') stg_wizardshown = sa.Column(sa.Boolean(), default=False) stg_pwenc_check = sa.Column(sa.String(100)) stg_guicertificate_id = sa.Column(sa.ForeignKey('system_certificate.id'), index=True, nullable=True) stg_crash_reporting = sa.Column(sa.Boolean(), nullable=True) stg_usage_collection = sa.Column(sa.Boolean(), nullable=True)
class SmartTestModel(sa.Model): __tablename__ = 'tasks_smarttest' id = sa.Column(sa.Integer(), primary_key=True) smarttest_type = sa.Column(sa.String(2)) smarttest_desc = sa.Column(sa.String(120)) smarttest_hour = sa.Column(sa.String(100), default='*') smarttest_daymonth = sa.Column(sa.String(100), default='*') smarttest_month = sa.Column(sa.String(100), default='*') smarttest_dayweek = sa.Column(sa.String(100), default='*') smarttest_all_disks = sa.Column(sa.Boolean(), default=False) smarttest_disks = sa.relationship('DiskModel', secondary=lambda: SmartTestDiskModel.__table__)
class SupportModel(sa.Model): __tablename__ = 'system_support' id = sa.Column(sa.Integer(), primary_key=True) enabled = sa.Column(sa.Boolean(), nullable=True, default=True) name = sa.Column(sa.String(200)) title = sa.Column(sa.String(200)) email = sa.Column(sa.String(200)) phone = sa.Column(sa.String(200)) secondary_name = sa.Column(sa.String(200)) secondary_title = sa.Column(sa.String(200)) secondary_email = sa.Column(sa.String(200)) secondary_phone = sa.Column(sa.String(200))
class TrueCommandModel(sa.Model): __tablename__ = 'system_truecommand' id = sa.Column(sa.Integer(), primary_key=True) api_key = sa.Column(sa.EncryptedText(), default=None, nullable=True) api_key_state = sa.Column(sa.String(128), default='DISABLED', nullable=True) wg_public_key = sa.Column(sa.String(255), default=None, nullable=True) wg_private_key = sa.Column(sa.EncryptedText(), default=None, nullable=True) wg_address = sa.Column(sa.String(255), default=None, nullable=True) tc_public_key = sa.Column(sa.String(255), default=None, nullable=True) endpoint = sa.Column(sa.String(255), default=None, nullable=True) remote_address = sa.Column(sa.String(255), default=None, nullable=True) enabled = sa.Column(sa.Boolean(), default=False)
class AlertModel(sa.Model): __tablename__ = 'system_alert' id = sa.Column(sa.Integer(), primary_key=True) node = sa.Column(sa.String(100)) source = sa.Column(sa.Text()) key = sa.Column(sa.Text()) datetime = sa.Column(sa.DateTime()) last_occurrence = sa.Column(sa.DateTime()) text = sa.Column(sa.Text()) args = sa.Column(sa.JSON(type=None)) dismissed = sa.Column(sa.Boolean()) uuid = sa.Column(sa.Text()) klass = sa.Column(sa.Text())
class SMBModel(sa.Model): __tablename__ = 'services_cifs' id = sa.Column(sa.Integer(), primary_key=True) cifs_srv_netbiosname = sa.Column(sa.String(120)) cifs_srv_netbiosname_b = sa.Column(sa.String(120), nullable=True) cifs_srv_netbiosalias = sa.Column(sa.String(120), nullable=True) cifs_srv_workgroup = sa.Column(sa.String(120)) cifs_srv_description = sa.Column(sa.String(120)) cifs_srv_unixcharset = sa.Column(sa.String(120), default="UTF-8") cifs_srv_loglevel = sa.Column(sa.String(120), default="0") cifs_srv_syslog = sa.Column(sa.Boolean(), default=False) cifs_srv_aapl_extensions = sa.Column(sa.Boolean(), default=False) cifs_srv_localmaster = sa.Column(sa.Boolean(), default=False) cifs_srv_guest = sa.Column(sa.String(120), default="nobody") cifs_srv_filemask = sa.Column(sa.String(120)) cifs_srv_dirmask = sa.Column(sa.String(120)) cifs_srv_smb_options = sa.Column(sa.Text()) cifs_srv_bindip = sa.Column(sa.MultiSelectField(), nullable=True) cifs_SID = sa.Column(sa.String(120), nullable=True) cifs_srv_ntlmv1_auth = sa.Column(sa.Boolean(), default=False) cifs_srv_enable_smb1 = sa.Column(sa.Boolean(), default=False) cifs_srv_admin_group = sa.Column(sa.String(120), nullable=True, default="")
class UPSModel(sa.Model): __tablename__ = 'services_ups' id = sa.Column(sa.Integer(), primary_key=True) ups_mode = sa.Column(sa.String(6), default='master') ups_identifier = sa.Column(sa.String(120), default='ups') ups_remotehost = sa.Column(sa.String(50)) ups_remoteport = sa.Column(sa.Integer(), default=3493) ups_driver = sa.Column(sa.String(120)) ups_port = sa.Column(sa.String(120)) ups_options = sa.Column(sa.Text()) ups_optionsupsd = sa.Column(sa.Text()) ups_description = sa.Column(sa.String(120)) ups_shutdown = sa.Column(sa.String(120), default='batt') ups_shutdowntimer = sa.Column(sa.Integer(), default=30) ups_monuser = sa.Column(sa.String(50), default='upsmon') ups_monpwd = sa.Column(sa.EncryptedText(), default='fixmepass') ups_extrausers = sa.Column(sa.Text()) ups_rmonitor = sa.Column(sa.Boolean(), default=False) ups_powerdown = sa.Column(sa.Boolean(), default=True) ups_nocommwarntime = sa.Column(sa.Integer(), nullable=True) ups_hostsync = sa.Column(sa.Integer(), default=15) ups_shutdowncmd = sa.Column(sa.String(255), nullable=True)
class KubernetesModel(sa.Model): __tablename__ = 'services_kubernetes' id = sa.Column(sa.Integer(), primary_key=True) pool = sa.Column(sa.String(255), default=None, nullable=True) cluster_cidr = sa.Column(sa.String(128), default='') service_cidr = sa.Column(sa.String(128), default='') cluster_dns_ip = sa.Column(sa.String(128), default='') route_v4_interface = sa.Column(sa.String(128), nullable=True) route_v4_gateway = sa.Column(sa.String(128), nullable=True) route_v6_interface = sa.Column(sa.String(128), nullable=True) route_v6_gateway = sa.Column(sa.String(128), nullable=True) node_ip = sa.Column(sa.String(128), default='0.0.0.0') cni_config = sa.Column(sa.JSON(type=dict), default={}) configure_gpus = sa.Column(sa.Boolean(), default=True, nullable=False)