class SharingSMBModel(sa.Model): __tablename__ = 'sharing_cifs_share' id = sa.Column(sa.Integer(), primary_key=True) cifs_purpose = sa.Column(sa.String(120)) cifs_path = sa.Column(sa.String(255), nullable=True) cifs_path_suffix = sa.Column(sa.String(255), nullable=True) cifs_home = sa.Column(sa.Boolean(), default=False) cifs_name = sa.Column(sa.String(120)) cifs_comment = sa.Column(sa.String(120)) cifs_ro = sa.Column(sa.Boolean(), default=False) cifs_browsable = sa.Column(sa.Boolean(), default=True) cifs_recyclebin = sa.Column(sa.Boolean(), default=False) cifs_guestok = sa.Column(sa.Boolean(), default=False) cifs_hostsallow = sa.Column(sa.Text()) cifs_hostsdeny = sa.Column(sa.Text()) cifs_auxsmbconf = sa.Column(sa.Text()) cifs_aapl_name_mangling = sa.Column(sa.Boolean()) cifs_abe = sa.Column(sa.Boolean()) cifs_acl = sa.Column(sa.Boolean()) cifs_durablehandle = sa.Column(sa.Boolean()) cifs_streams = sa.Column(sa.Boolean()) cifs_timemachine = sa.Column(sa.Boolean(), default=False) cifs_vuid = sa.Column(sa.String(36)) cifs_shadowcopy = sa.Column(sa.Boolean()) cifs_fsrvp = sa.Column(sa.Boolean()) cifs_enabled = sa.Column(sa.Boolean(), default=True) cifs_share_acl = sa.Column(sa.Text())
class ReplicationModel(sa.Model): __tablename__ = 'storage_replication' id = sa.Column(sa.Integer(), primary_key=True) repl_target_dataset = sa.Column(sa.String(120)) repl_recursive = sa.Column(sa.Boolean(), default=False) repl_compression = sa.Column(sa.String(120), nullable=True, default="LZ4") repl_speed_limit = sa.Column(sa.Integer(), nullable=True, default=None) repl_schedule_begin = sa.Column(sa.Time(), nullable=True, default=time(hour=0)) repl_schedule_end = sa.Column(sa.Time(), nullable=True, default=time(hour=23, minute=45)) repl_enabled = sa.Column(sa.Boolean(), default=True) repl_direction = sa.Column(sa.String(120), default="PUSH") repl_transport = sa.Column(sa.String(120), default="SSH") repl_ssh_credentials_id = sa.Column(sa.ForeignKey('system_keychaincredential.id'), index=True, nullable=True) repl_netcat_active_side = sa.Column(sa.String(120), nullable=True, default=None) repl_netcat_active_side_port_min = sa.Column(sa.Integer(), nullable=True) repl_netcat_active_side_port_max = sa.Column(sa.Integer(), nullable=True) repl_source_datasets = sa.Column(sa.JSON(type=list)) repl_exclude = sa.Column(sa.JSON(type=list)) repl_naming_schema = sa.Column(sa.JSON(type=list)) repl_auto = sa.Column(sa.Boolean(), default=True) repl_schedule_minute = sa.Column(sa.String(100), nullable=True, default="00") repl_schedule_hour = sa.Column(sa.String(100), nullable=True, default="*") repl_schedule_daymonth = sa.Column(sa.String(100), nullable=True, default="*") repl_schedule_month = sa.Column(sa.String(100), nullable=True, default='*') repl_schedule_dayweek = sa.Column(sa.String(100), nullable=True, default="*") repl_only_matching_schedule = sa.Column(sa.Boolean()) repl_readonly = sa.Column(sa.String(120)) repl_allow_from_scratch = sa.Column(sa.Boolean()) repl_hold_pending_snapshots = sa.Column(sa.Boolean()) repl_retention_policy = sa.Column(sa.String(120), default="NONE") repl_lifetime_unit = sa.Column(sa.String(120), nullable=True, default='WEEK') repl_lifetime_value = sa.Column(sa.Integer(), nullable=True, default=2) repl_large_block = sa.Column(sa.Boolean(), default=True) repl_embed = sa.Column(sa.Boolean(), default=False) repl_compressed = sa.Column(sa.Boolean(), default=True) repl_retries = sa.Column(sa.Integer(), default=5) repl_restrict_schedule_minute = sa.Column(sa.String(100), nullable=True, default="00") repl_restrict_schedule_hour = sa.Column(sa.String(100), nullable=True, default="*") repl_restrict_schedule_daymonth = sa.Column(sa.String(100), nullable=True, default="*") repl_restrict_schedule_month = sa.Column(sa.String(100), nullable=True, default='*') repl_restrict_schedule_dayweek = sa.Column(sa.String(100), nullable=True, default="*") repl_restrict_schedule_begin = sa.Column(sa.Time(), nullable=True, default=time(hour=0)) repl_restrict_schedule_end = sa.Column(sa.Time(), nullable=True, default=time(hour=23, minute=45)) repl_netcat_active_side_listen_address = sa.Column(sa.String(120), nullable=True, default=None) repl_netcat_passive_side_connect_address = sa.Column(sa.String(120), nullable=True, default=None) repl_logging_level = sa.Column(sa.String(120), nullable=True, default=None) repl_name = sa.Column(sa.String(120)) repl_state = sa.Column(sa.Text(), default="{}") repl_properties = sa.Column(sa.Boolean(), default=True) repl_properties_exclude = sa.Column(sa.JSON(type=list)) repl_properties_override = sa.Column(sa.JSON()) repl_replicate = sa.Column(sa.Boolean()) repl_encryption = sa.Column(sa.Boolean()) repl_encryption_key = sa.Column(sa.EncryptedText(), nullable=True) repl_encryption_key_format = sa.Column(sa.String(120), nullable=True) repl_encryption_key_location = sa.Column(sa.Text(), nullable=True) repl_periodic_snapshot_tasks = sa.relationship('PeriodicSnapshotTaskModel', secondary=lambda: ReplicationPeriodicSnapshotTaskModel.__table__)
class SSHModel(sa.Model): __tablename__ = 'services_ssh' id = sa.Column(sa.Integer(), primary_key=True) ssh_bindiface = sa.Column(sa.MultiSelectField(), default=[]) ssh_tcpport = sa.Column(sa.Integer(), default=22) ssh_rootlogin = sa.Column(sa.Boolean(), default=False) ssh_passwordauth = sa.Column(sa.Boolean(), default=False) ssh_kerberosauth = sa.Column(sa.Boolean(), default=False) ssh_tcpfwd = sa.Column(sa.Boolean(), default=False) ssh_compression = sa.Column(sa.Boolean(), default=False) ssh_privatekey = sa.Column(sa.EncryptedText()) ssh_sftp_log_level = sa.Column(sa.String(20)) ssh_sftp_log_facility = sa.Column(sa.String(20)) ssh_host_dsa_key = sa.Column(sa.EncryptedText(), nullable=True) ssh_host_dsa_key_pub = sa.Column(sa.Text(), nullable=True) ssh_host_dsa_key_cert_pub = sa.Column(sa.Text(), nullable=True) ssh_host_ecdsa_key = sa.Column(sa.EncryptedText(), nullable=True) ssh_host_ecdsa_key_pub = sa.Column(sa.Text(), nullable=True) ssh_host_ecdsa_key_cert_pub = sa.Column(sa.Text(), nullable=True) ssh_host_ed25519_key = sa.Column(sa.EncryptedText(), nullable=True) ssh_host_ed25519_key_pub = sa.Column(sa.Text(), nullable=True) ssh_host_ed25519_key_cert_pub = sa.Column(sa.Text(), nullable=True) ssh_host_key = sa.Column(sa.EncryptedText(), nullable=True) ssh_host_key_pub = sa.Column(sa.Text(), nullable=True) ssh_host_rsa_key = sa.Column(sa.EncryptedText(), nullable=True) ssh_host_rsa_key_pub = sa.Column(sa.Text(), nullable=True) ssh_host_rsa_key_cert_pub = sa.Column(sa.Text(), nullable=True) ssh_weak_ciphers = sa.Column(sa.JSON(type=list)) ssh_options = sa.Column(sa.Text())
class NetworkConfigurationModel(sa.Model): __tablename__ = 'network_globalconfiguration' id = sa.Column(sa.Integer(), primary_key=True) gc_hostname = sa.Column(sa.String(120), default='nas') gc_hostname_b = sa.Column(sa.String(120), nullable=True) gc_domain = sa.Column(sa.String(120), default='local') gc_ipv4gateway = sa.Column(sa.String(42), default='') gc_ipv6gateway = sa.Column(sa.String(45), default='') gc_nameserver1 = sa.Column(sa.String(45), default='') gc_nameserver2 = sa.Column(sa.String(45), default='') gc_nameserver3 = sa.Column(sa.String(45), default='') gc_httpproxy = sa.Column(sa.String(255)) gc_netwait_enabled = sa.Column(sa.Boolean(), default=False) gc_netwait_ip = sa.Column(sa.String(300)) gc_hosts = sa.Column(sa.Text(), default='') gc_domains = sa.Column(sa.Text(), default='') gc_service_announcement = sa.Column(sa.JSON(type=dict), default={ 'mdns': True, 'wsdd': True, "netbios": False }) gc_hostname_virtual = sa.Column(sa.String(120), nullable=True) gc_activity = sa.Column(sa.JSON(type=dict))
class CloudSyncModel(sa.Model): __tablename__ = 'tasks_cloudsync' id = sa.Column(sa.Integer(), primary_key=True) description = sa.Column(sa.String(150)) direction = sa.Column(sa.String(10), default='PUSH') path = sa.Column(sa.String(255)) attributes = sa.Column(sa.JSON()) minute = sa.Column(sa.String(100), default="00") hour = sa.Column(sa.String(100), default="*") daymonth = sa.Column(sa.String(100), default="*") month = sa.Column(sa.String(100), default='*') dayweek = sa.Column(sa.String(100), default="*") enabled = sa.Column(sa.Boolean(), default=True) credential_id = sa.Column(sa.ForeignKey('system_cloudcredentials.id'), index=True) transfer_mode = sa.Column(sa.String(20), default='sync') encryption = sa.Column(sa.Boolean()) filename_encryption = sa.Column(sa.Boolean(), default=True) encryption_password = sa.Column(sa.EncryptedText()) encryption_salt = sa.Column(sa.EncryptedText()) args = sa.Column(sa.Text()) post_script = sa.Column(sa.Text()) pre_script = sa.Column(sa.Text()) snapshot = sa.Column(sa.Boolean()) bwlimit = sa.Column(sa.JSON(type=list)) exclude = sa.Column(sa.JSON(type=list)) transfers = sa.Column(sa.Integer(), nullable=True) follow_symlinks = sa.Column(sa.Boolean())
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.String(30), default="fixmepass") ups_extrausers = sa.Column(sa.Text()) ups_rmonitor = sa.Column(sa.Boolean(), default=False) ups_emailnotify = sa.Column(sa.Boolean(), default=False) ups_toemail = sa.Column(sa.String(120)) ups_subject = sa.Column(sa.String(120), default='UPS report generated by %h') 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 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()) min_memory = sa.Column(sa.Integer(), nullable=True) autostart = sa.Column(sa.Boolean(), default=False) time = sa.Column(sa.String(5), default='LOCAL') bootloader = sa.Column(sa.String(50), default='UEFI') cores = sa.Column(sa.Integer(), default=1) threads = sa.Column(sa.Integer(), default=1) hyperv_enlightenments = sa.Column(sa.Boolean(), default=False) shutdown_timeout = sa.Column(sa.Integer(), default=90) cpu_mode = sa.Column(sa.Text()) cpu_model = sa.Column(sa.Text(), nullable=True) cpuset = sa.Column(sa.Text(), default=None, nullable=True) nodeset = sa.Column(sa.Text(), default=None, nullable=True) pin_vcpus = sa.Column(sa.Boolean(), default=False) hide_from_msr = sa.Column(sa.Boolean(), default=False) ensure_display_device = sa.Column(sa.Boolean(), default=True) arch_type = sa.Column(sa.String(255), default=None, nullable=True) machine_type = sa.Column(sa.String(255), default=None, nullable=True) uuid = sa.Column(sa.String(255))
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 RsyncModModel(sa.Model): __tablename__ = 'services_rsyncmod' id = sa.Column(sa.Integer(), primary_key=True) rsyncmod_name = sa.Column(sa.String(120)) rsyncmod_comment = sa.Column(sa.String(120)) rsyncmod_path = sa.Column(sa.String(255)) rsyncmod_mode = sa.Column(sa.String(120), default="rw") rsyncmod_maxconn = sa.Column(sa.Integer(), default=0) rsyncmod_user = sa.Column(sa.String(120), default="nobody") rsyncmod_group = sa.Column(sa.String(120), default="nobody") rsyncmod_hostsallow = sa.Column(sa.Text()) rsyncmod_hostsdeny = sa.Column(sa.Text()) rsyncmod_auxiliary = sa.Column(sa.Text())
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 FTPModel(sa.Model): __tablename__ = 'services_ftp' id = sa.Column(sa.Integer(), primary_key=True) ftp_port = sa.Column(sa.Integer(), default=21) ftp_clients = sa.Column(sa.Integer(), default=32) ftp_ipconnections = sa.Column(sa.Integer(), default=0) ftp_loginattempt = sa.Column(sa.Integer(), default=3) ftp_timeout = sa.Column(sa.Integer(), default=120) ftp_timeout_notransfer = sa.Column(sa.Integer(), default=300) ftp_rootlogin = sa.Column(sa.Boolean(), default=False) ftp_onlyanonymous = sa.Column(sa.Boolean(), default=False) ftp_anonpath = sa.Column(sa.String(255), nullable=True, default=False) ftp_onlylocal = sa.Column(sa.Boolean(), default=False) ftp_banner = sa.Column(sa.Text()) ftp_filemask = sa.Column(sa.String(3), default="077") ftp_dirmask = sa.Column(sa.String(3), default="077") ftp_fxp = sa.Column(sa.Boolean(), default=False) ftp_resume = sa.Column(sa.Boolean(), default=False) ftp_defaultroot = sa.Column(sa.Boolean(), default=False) ftp_ident = sa.Column(sa.Boolean(), default=False) ftp_reversedns = sa.Column(sa.Boolean(), default=False) ftp_masqaddress = sa.Column(sa.String(120)) ftp_passiveportsmin = sa.Column(sa.Integer(), default=0) ftp_passiveportsmax = sa.Column(sa.Integer(), default=0) ftp_localuserbw = sa.Column(sa.Integer(), default=0) ftp_localuserdlbw = sa.Column(sa.Integer(), default=0) ftp_anonuserbw = sa.Column(sa.Integer(), default=0) ftp_anonuserdlbw = sa.Column(sa.Integer(), default=0) ftp_tls = sa.Column(sa.Boolean(), default=False) ftp_tls_policy = sa.Column(sa.String(120), default="on") ftp_tls_opt_allow_client_renegotiations = sa.Column(sa.Boolean(), default=False) ftp_tls_opt_allow_dot_login = sa.Column(sa.Boolean(), default=False) ftp_tls_opt_allow_per_user = sa.Column(sa.Boolean(), default=False) ftp_tls_opt_common_name_required = sa.Column(sa.Boolean(), default=False) ftp_tls_opt_enable_diags = sa.Column(sa.Boolean(), default=False) ftp_tls_opt_export_cert_data = sa.Column(sa.Boolean(), default=False) ftp_tls_opt_no_cert_request = sa.Column(sa.Boolean(), default=False) ftp_tls_opt_no_empty_fragments = sa.Column(sa.Boolean(), default=False) ftp_tls_opt_no_session_reuse_required = sa.Column(sa.Boolean(), default=False) ftp_tls_opt_stdenvvars = sa.Column(sa.Boolean(), default=False) ftp_tls_opt_dns_name_required = sa.Column(sa.Boolean(), default=False) ftp_tls_opt_ip_address_required = sa.Column(sa.Boolean(), default=False) ftp_ssltls_certificate_id = sa.Column( sa.ForeignKey('system_certificate.id'), index=True, nullable=True) ftp_options = 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()) 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="") cifs_srv_next_rid = sa.Column(sa.Integer(), nullable=False) cifs_srv_secrets = sa.Column(sa.EncryptedText(), nullable=True)
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)
class OpenVPNClientModel(sa.Model): __tablename__ = 'services_openvpnclient' id = sa.Column(sa.Integer(), primary_key=True) port = sa.Column(sa.Integer(), default=1194) protocol = sa.Column(sa.String(4), default='UDP') device_type = sa.Column(sa.String(4), default='TUN') nobind = sa.Column(sa.Boolean(), default=True) authentication_algorithm = sa.Column(sa.String(32), nullable=True) tls_crypt_auth = sa.Column(sa.Text(), nullable=True) cipher = sa.Column(sa.String(32), nullable=True) compression = sa.Column(sa.String(32), nullable=True) additional_parameters = sa.Column(sa.Text()) client_certificate_id = sa.Column(sa.ForeignKey('system_certificate.id'), index=True, nullable=True) root_ca_id = sa.Column(sa.ForeignKey('system_certificateauthority.id'), index=True, nullable=True) remote = sa.Column(sa.String(120))
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.EncryptedText()) 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 RsyncTaskModel(sa.Model): __tablename__ = 'tasks_rsync' id = sa.Column(sa.Integer(), primary_key=True) rsync_path = sa.Column(sa.String(255)) rsync_remotehost = sa.Column(sa.String(120)) rsync_remotemodule = sa.Column(sa.String(120)) rsync_desc = sa.Column(sa.String(120)) rsync_minute = sa.Column(sa.String(100), default="00") rsync_hour = sa.Column(sa.String(100), default="*") rsync_daymonth = sa.Column(sa.String(100), default="*") rsync_month = sa.Column(sa.String(100), default='*') rsync_dayweek = sa.Column(sa.String(100), default="*") rsync_user = sa.Column(sa.String(60)) rsync_recursive = sa.Column(sa.Boolean(), default=True) rsync_times = sa.Column(sa.Boolean(), default=True) rsync_compress = sa.Column(sa.Boolean(), default=True) rsync_archive = sa.Column(sa.Boolean(), default=False) rsync_delete = sa.Column(sa.Boolean(), default=False) rsync_quiet = sa.Column(sa.Boolean(), default=False) rsync_preserveperm = sa.Column(sa.Boolean(), default=False) rsync_preserveattr = sa.Column(sa.Boolean(), default=False) rsync_extra = sa.Column(sa.Text()) rsync_enabled = sa.Column(sa.Boolean(), default=True) rsync_mode = sa.Column(sa.String(20), default='module') rsync_remotepath = sa.Column(sa.String(255)) rsync_direction = sa.Column(sa.String(10), default='PUSH') rsync_remoteport = sa.Column(sa.SmallInteger(), default=22) rsync_delayupdates = sa.Column(sa.Boolean(), default=True)
class iSCSIHostModel(sa.Model): __tablename__ = "services_iscsihost" id = sa.Column(sa.Integer(), primary_key=True) ip = sa.Column(sa.String(45), unique=True) description = sa.Column(sa.Text()) added_automatically = sa.Column(sa.Boolean())
class APIKeyModel(sa.Model): __tablename__ = "account_api_key" id = sa.Column(sa.Integer(), primary_key=True) name = sa.Column(sa.String(200)) key = sa.Column(sa.Text()) created_at = sa.Column(sa.DateTime())
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 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)
class ACMERegistrationBodyModel(sa.Model): __tablename__ = 'system_acmeregistrationbody' id = sa.Column(sa.Integer(), primary_key=True) contact = sa.Column(sa.String(254)) status = sa.Column(sa.String(10)) key = sa.Column(sa.Text()) acme_id = sa.Column(sa.ForeignKey('system_acmeregistration.id'), index=True)
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 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 AlertModel(sa.Model): __tablename__ = 'system_alert' __table_args__ = ( sa.Index('system_alert_node_f77e0d77_uniq', 'node', 'klass', 'key', unique=True), ) 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()) dismissed = sa.Column(sa.Boolean()) uuid = sa.Column(sa.Text()) klass = sa.Column(sa.Text())
class OpenVPNServerModel(sa.Model): __tablename__ = 'services_openvpnserver' id = sa.Column(sa.Integer(), primary_key=True) port = sa.Column(sa.Integer(), default=1194) protocol = sa.Column(sa.String(4), default='UDP') device_type = sa.Column(sa.String(4), default='TUN') authentication_algorithm = sa.Column(sa.String(32), nullable=True) tls_crypt_auth = sa.Column(sa.Text(), nullable=True) cipher = sa.Column(sa.String(32), nullable=True) compression = sa.Column(sa.String(32), nullable=True) additional_parameters = sa.Column(sa.Text()) server_certificate_id = sa.Column(sa.ForeignKey('system_certificate.id'), index=True, nullable=True) root_ca_id = sa.Column(sa.ForeignKey('system_certificateauthority.id'), index=True, nullable=True) server = sa.Column(sa.String(45)) topology = sa.Column(sa.String(16), nullable=True) netmask = sa.Column(sa.Integer(), default=24)
class CertificateModel(sa.Model): __tablename__ = 'system_certificate' 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_signedby_id = sa.Column( sa.ForeignKey('system_certificateauthority.id'), index=True, nullable=True) cert_acme_uri = sa.Column(sa.String(200), nullable=True) cert_domains_authenticators = sa.Column(sa.JSON(encrypted=True), nullable=True) cert_renew_days = sa.Column(sa.Integer(), nullable=True, default=10) cert_acme_id = sa.Column(sa.ForeignKey('system_acmeregistration.id'), index=True, nullable=True) cert_revoked_date = sa.Column(sa.DateTime(), nullable=True)
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 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 CronJobModel(sa.Model): __tablename__ = 'tasks_cronjob' id = sa.Column(sa.Integer(), primary_key=True) cron_minute = sa.Column(sa.String(100), default="00") cron_hour = sa.Column(sa.String(100), default="*") cron_daymonth = sa.Column(sa.String(100), default="*") cron_month = sa.Column(sa.String(100), default='*') cron_dayweek = sa.Column(sa.String(100), default="*") cron_user = sa.Column(sa.String(60)) cron_command = sa.Column(sa.Text()) cron_description = sa.Column(sa.String(200)) cron_enabled = sa.Column(sa.Boolean(), default=True) cron_stdout = sa.Column(sa.Boolean(), default=True) cron_stderr = sa.Column(sa.Boolean(), default=False)