class InstalledDesktopsFacts(Model): """ The model includes fact about installe """ topic = SystemFactsTopic gnome_installed = fields.Boolean(default=False) kde_installed = fields.Boolean(default=False)
class IpaInfo(Model): topic = SystemFactsTopic has_client_package = fields.Boolean() is_client_configured = fields.Boolean() has_server_package = fields.Boolean() is_server_configured = fields.Boolean()
class SELinuxFacts(Model): topic = SystemFactsTopic runtime_mode = fields.Nullable( fields.StringEnum(['enforcing', 'permissive'])) static_mode = fields.StringEnum(['enforcing', 'permissive', 'disabled']) enabled = fields.Boolean() policy = fields.StringEnum(['targeted', 'minimum', 'mls']) mls_enabled = fields.Boolean()
class SELinux(Model): topic = SystemInfoTopic # FIXME: fixme properly regarding the issue: # # https://github.com/oamg/leapp-repository/issues/20 runtime_mode = fields.Nullable( fields.StringEnum(['enforcing', 'permissive'])) static_mode = fields.StringEnum(['enforcing', 'permissive', 'disabled']) enabled = fields.Boolean() policy = fields.String() mls_enabled = fields.Boolean()
class XFSPresence(Model): """ A generic message reporting mountpoints with XFS using ftype = 0 """ topic = SystemInfoTopic present = fields.Boolean(default=False) """ XFS is used on at least one mountpoint """ without_ftype = fields.Boolean(default=False) """ At least one mountpoint is using XFS with ftype=0 """ mountpoints_without_ftype = fields.List(fields.String(), default=[]) """ List of mountpoints that have ftype=0 """
class OpenSshConfig(Model): """ OpenSSH server configuration. This model contains the first effective configuration option specified in the configuration file or a list of all the options specified in all the conditional blocks used throughout the file. """ topic = SystemInfoTopic permit_root_login = fields.List(fields.Model(OpenSshPermitRootLogin)) """ All PermitRootLogin directives. """ use_privilege_separation = fields.Nullable(fields.StringEnum(['sandbox', 'yes', 'no'])) """ Value of the UsePrivilegeSeparation directive, if present. Removed in RHEL 8. """ protocol = fields.Nullable(fields.String()) """ Value of the Protocols directive, if present. Removed in RHEL 8. """ ciphers = fields.Nullable(fields.String()) """ Value of the Ciphers directive, if present. Ciphers separated by comma. """ macs = fields.Nullable(fields.String()) """ Value of the MACs directive, if present. """ modified = fields.Boolean(default=False) """ True if the configuration file was modified. """ deprecated_directives = fields.List(fields.String()) """ Configuration directives that were deprecated in the new version of openssh. """
class HybridImage(Model): """ Model used for instructing Leapp to convert "grubenv" symlink into a regular file in case of hybrid (BIOS/EFI) images using BIOS on Azure. """ topic = SystemFactsTopic detected = fields.Boolean(default=False)
class VsftpdConfig(Model): """ Model representing some aspects of a vsftpd configuration file. The attributes representing the state of configuration options are nullable, so that they can represent the real state of the option in the file: if an option is set to "YES" in the configuration file, the corresponding attribute is set to True; if the option is set to NO, the attribute is set to False; if the option is not present in the config file at all, the attribute is set to None. """ topic = SystemInfoTopic path = fields.String() """Path to the vsftpd configuration file""" strict_ssl_read_eof = fields.Nullable(fields.Boolean()) """Represents the state of the strict_ssl_read_eof option in the config file""" tcp_wrappers = fields.Nullable(fields.Boolean()) """Represents the state of the tcp_wrappers option in the config file"""
class RepositoryData(Model): topic = SystemInfoTopic name = fields.String() baseurl = fields.Nullable(fields.String()) metalink = fields.Nullable(fields.String()) mirrorlist = fields.Nullable(fields.String()) enabled = fields.Boolean(default=True) additional_fields = fields.Nullable(fields.String())
class SSSDConfig8to9(Model): """ SSSD configuration that is related to the upgrade process. """ topic = SystemInfoTopic enable_files_domain_set = fields.Boolean() """ True if [sssd]/enable_files_domain is explicitly set. """ explicit_files_domain = fields.Boolean() """ True if a domain with id_provider=files exist. """ pam_cert_auth = fields.Boolean() """
class AllFieldTypesModel(Model): topic = ModelTestTopic float_field = fields.Float(default=3.14, required=True) number_int_field = fields.Number(default=1.2, required=True) number_float_field = fields.Number(default=2, required=True) integer_field = fields.Integer(default=1, required=True) str_field = fields.String(default='string', required=True) unicode_field = fields.String(default=u'Unicode string', required=True) date_field = fields.DateTime(default=datetime.utcnow(), required=True) bool_field = fields.Boolean(default=True, required=True)
class AuthselectDecision(Model): """ Confirmation of changes suggested in Authselect model. If confirmed is True, the changes will be applied on RHEL-8 machine. """ topic = SystemInfoTopic confirmed = fields.Boolean(default=False) """
class SpamassassinFacts(Model): topic = SystemInfoTopic spamc_ssl_argument = fields.Nullable(fields.String()) """ SSL version specified by the --ssl option in the spamc config file, or None if no value is given. """ spamd_ssl_version = fields.Nullable(fields.String()) """ SSL version specified by the --ssl-version in the spamassassin sysconfig file, or None if no value is given. """ service_overriden = fields.Boolean() """
class RHSMInfo(Model): """ Subscription-manager details required for the inplace upgrade. """ topic = RHSMTopic release = fields.Nullable(fields.String()) """ Release the subscription-manager is set to. """ attached_skus = fields.List(fields.String(), default=[]) """ SKUs the current system is attached to. """ available_repos = fields.List(fields.String(), default=[]) """ Repositories that are available to the current system through the subscription-manager. """ enabled_repos = fields.List(fields.String(), default=[]) """ Repositories that are enabled on the current system through the subscription-manager. """ existing_product_certificates = fields.List(fields.String(), default=[]) """ Product certificates that are currently installed on the system. """ sca_detected = fields.Boolean(default=False) """ Info about whether SCA manifest was used or not. """
class OpenSshConfig(Model): """ OpenSSH server configuration. This model contains the first effective configuration option specified in the configuration file or a list of all the options specified in all the conditional blocks used throughout the file. """ topic = SystemInfoTopic permit_root_login = fields.List(fields.Model(OpenSshPermitRootLogin)) use_privilege_separation = fields.Nullable(fields.StringEnum(['sandbox', 'yes', 'no'])) protocol = fields.Nullable(fields.String()) ciphers = fields.Nullable(fields.String()) macs = fields.Nullable(fields.String()) modified = fields.Nullable(fields.Boolean())
class FirewalldGlobalConfig(Model): """ The model contains firewalld global configuration. The configuration is usually located at /etc/firewalld/firewalld.conf. """ topic = SystemInfoTopic # Defaults for RHEL-9. # defaultzone = fields.String(default='public') cleanuponexit = fields.Boolean(default=True) cleanupmodulesonexit = fields.Boolean(default=False) lockdown = fields.Boolean(default=False) ipv6_rpfilter = fields.Boolean(default=True) individualcalls = fields.Boolean(default=False) logdenied = fields.String(default='off') firewallbackend = fields.String(default='nftables') flushallonreload = fields.Boolean(default=True) rfc3964_ipv4 = fields.Boolean(default=True) # These have been removed in RHEL-9. # allowzonedrifting = fields.Boolean(default=False)
class Authselect(Model): """ Suggested changes that will convert the system to authselect. This model describes the authselect call that can be used to convert existing configuration into a equivalent or similar configuration that is generated by authselect. """ topic = SystemFactsTopic profile = fields.Nullable(fields.String(default=None)) """ Suggested authselect profile name. """ features = fields.List(fields.String()) """ Suggested authselect profile features. """ confirm = fields.Boolean(default=True) """
class CupsChangedFeatures(Model): topic = SystemInfoTopic interface = fields.Boolean(default=False) """ True if interface scripts are used, False otherwise """ digest = fields.Boolean(default=False) """ True if Digest/BasicDigest directive values are used, False otherwise """ include = fields.Boolean(default=False) """ True if Include directive is used, False otherwise """ certkey = fields.Boolean(default=False) """ True if ServerKey/ServerCertificate directives are used, False otherwise """ env = fields.Boolean(default=False) """ True if PassEnv/SetEnv directives are used, False otherwise """ printcap = fields.Boolean(default=False) """ True if PrintcapFormat directive is used, False otherwise """ include_files = fields.List(fields.String(), default=['/etc/cups/cupsd.conf']) """
class SelinuxRelabelDecision(Model): topic = SystemInfoTopic set_relabel = fields.Boolean()
class AcmeStorageInfo(Model): topic = SystemFactsTopic has_kernel_module = fields.Boolean() has_device = fields.Boolean()
class SwitchToBLS(Model): topic = SystemInfoTopic answer = fields.Boolean(default=False, required=True)
class SCTPConfig(Model): topic = SCTPConfigTopic wanted = fields.Boolean(default=False)
class XFSPresence(Model): topic = SystemInfoTopic present = fields.Boolean(default=False) without_ftype = fields.Boolean(default=False)
class FirewallStatus(Model): topic = SystemFactsTopic enabled = fields.Boolean() active = fields.Boolean()
class SelinuxPermissiveDecision(Model): topic = SystemInfoTopic set_permissive = fields.Boolean()
class MultipathConfig(Model): """Model representing information about a multipath configuration file""" topic = SystemInfoTopic pathname = fields.String() """Config file path name""" default_path_checker = fields.Nullable(fields.String()) config_dir = fields.Nullable(fields.String()) """Values of path_checker and config_dir in the defaults section. None if not set""" default_retain_hwhandler = fields.Nullable(fields.Boolean()) default_detect_prio = fields.Nullable(fields.Boolean()) default_detect_checker = fields.Nullable(fields.Boolean()) reassign_maps = fields.Nullable(fields.Boolean()) """True if retain_attached_hw_handler, detect_prio, detect_path_checker, or reassign_maps is set to "yes" in the defaults section. False if set to "no". None if not set.""" hw_str_match_exists = fields.Boolean(default=False) ignore_new_boot_devs_exists = fields.Boolean(default=False) new_bindings_in_boot_exists = fields.Boolean(default=False) unpriv_sgio_exists = fields.Boolean(default=False) detect_path_checker_exists = fields.Boolean(default=False) overrides_hwhandler_exists = fields.Boolean(default=False) overrides_pg_timeout_exists = fields.Boolean(default=False) queue_if_no_path_exists = fields.Boolean(default=False) all_devs_section_exists = fields.Boolean(default=False) """True if hw_str_match, ignore_new_boot_devs, new_bindings_in_boot, detect_path_checker, or unpriv_sgio is set in any section, if queue_if_no_path is included in the features line in any section or if hardware_handler or pg_timeout is set in the overrides section. False otherwise""" all_devs_options = fields.List(fields.Model(MultipathConfigOption), default=[]) """options in an all_devs device configuration section to be converted to
class CustomTargetRepository(TargetRepositoryBase): name = fields.String() baseurl = fields.String() enabled = fields.Boolean(default=True)
class BrlttyMigrationDecision(Model): topic = SystemInfoTopic migrate_file = fields.String() migrate_bt = fields.Boolean() migrate_espeak = fields.Boolean()