ACC SHELL
<?xml version="1.0" encoding="UTF-8"?>
<grammar ns="http://www.suse.com/1.0/yast2ns" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:config="http://www.suse.com/1.0/configns" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<define name="BOOLEAN">
<a:documentation>Defined data-types</a:documentation>
<attribute name="config:type">
<value>boolean</value>
</attribute>
<choice>
<value>true</value>
<value>false</value>
</choice>
</define>
<define name="INTEGER">
<attribute name="config:type">
<value>integer</value>
</attribute>
<data type="integer"/>
</define>
<define name="SYMBOL">
<attribute name="config:type">
<value>symbol</value>
</attribute>
<text/>
</define>
<define name="LIST">
<attribute name="config:type">
<value>list</value>
</attribute>
</define>
<define name="ANY">
<choice>
<ref name="BOOLEAN"/>
<ref name="INTEGER"/>
<ref name="SYMBOL"/>
<ref name="LIST"/>
<text/>
</choice>
</define>
<define name="YES_NO">
<choice>
<value>yes</value>
<value>no</value>
</choice>
</define>
<!-- types -->
<define name="textdomain">
<element name="textdomain">
<text/>
</element>
</define>
<!-- globals -->
<define name="globals_elements">
<choice>
<ref name="incomplete_translation_treshold"/>
<ref name="additional_kernel_parameters"/>
<ref name="ui_mode"/>
<ref name="base_product_license_directory"/>
<ref name="enable_autologin"/>
<ref name="enable_firewall"/>
<ref name="firewall_enable_ssh"/>
<ref name="firewall_enable_ssh"/>
<ref name="write_hostname_to_hosts"/>
<ref name="run_init_scripts_in_parallel"/>
<ref name="inform_about_suboptimal_distribution"/>
<ref name="skip_language_dialog"/>
<ref name="enable_clone"/>
<ref name="enable_register_hwdata"/>
<ref name="enable_register_optional"/>
<ref name="display_register_forcereg"/>
<ref name="disable_register_w3m"/>
<ref name="register_monthly"/>
<ref name="manual_online_update"/>
<ref name="root_password_as_first_user"/>
<ref name="root_password_ca_check"/>
<ref name="show_online_repositories"/>
<ref name="online_repositories_default"/>
<ref name="show_addons"/>
<ref name="addons_default"/>
<ref name="enable_autoconfiguration"/>
<ref name="autoconfiguration_default"/>
<ref name="kexec_reboot"/>
<ref name="rle_offer_rulevel_4"/>
<ref name="default_ntp_setup"/>
<ref name="save_instsys_content"/>
<ref name="copy_to_system"/>
<ref name="autoconfiguration_enabled_modules"/>
<ref name="automatic_configuration"/>
<ref name="displaymanager_shutdown"/>
<ref name="enable_kdump"/>
<ref name="polkit_default_privs"/>
<ref name="debug_workflow"/>
<ref name="subworkflows"/>
<ref name="default_subworkflow"/>
<ref name="language"/>
<ref name="timezone"/>
<ref name="enable_autologin"/>
<ref name="runlevel"/>
<ref name="require_registration"/>
<ref name="services_proposal"/>
<ref name="ac_redraw_and_ignore"/>
<ref name="debug_deploying"/>
</choice>
</define>
<define name="additional_kernel_parameters">
<a:documentation>Default kernel parameters proposed by bootloader</a:documentation>
<element name="additional_kernel_parameters">
<text/>
</element>
</define>
<define name="incomplete_translation_treshold">
<a:documentation>How much per cent is the minimum coverage of translations to consider
it being 'complete'. Less are reported if user tries to switch to such
language during installation / upgrade.</a:documentation>
<element name="incomplete_translation_treshold">
<text/>
</element>
</define>
<define name="base_product_license_directory">
<a:documentation>Directory where the base-product (e.g., SLES) license files are stored</a:documentation>
<element name="base_product_license_directory">
<text/>
</element>
</define>
<define name="ui_mode">
<a:documentation>Defines an UI mode used in some modules to differentiate between
'simple' and 'expert' (obsolete).</a:documentation>
<element name="ui_mode">
<choice>
<value>expert</value>
<value>simple</value>
</choice>
</element>
</define>
<define name="displaymanager_shutdown">
<a:documentation>Writes DISPLAYMANAGER_SHUTDOWN to /etc/sysconfig/displaymanager
if set</a:documentation>
<element name="displaymanager_shutdown">
<text/>
</element>
</define>
<define name="polkit_default_privs">
<a:documentation>Writes POLKIT_DEFAULT_PRIVS to /etc/sysconfig/security
if set</a:documentation>
<element name="polkit_default_privs">
<text/>
</element>
</define>
<define name="default_subworkflow">
<a:documentation>Defines the default subworkflow name (smaller subworkflow
created from another workflow).
Used by Wagon.</a:documentation>
<element name="default_subworkflow">
<text/>
</element>
</define>
<define name="language">
<a:documentation>Default language</a:documentation>
<element name="language">
<text/>
</element>
</define>
<define name="timezone">
<a:documentation>Default timezone</a:documentation>
<element name="timezone">
<text/>
</element>
</define>
<define name="runlevel">
<a:documentation>Default runlevel</a:documentation>
<element name="runlevel">
<text/>
</element>
</define>
<define name="debug_workflow">
<a:documentation>Debugging feature, makes workflow manaher to write
more detailed log entries</a:documentation>
<element name="debug_workflow">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="enable_autologin">
<a:documentation>Default value for autologin</a:documentation>
<element name="enable_autologin">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="enable_firewall">
<a:documentation>Default value for firewall</a:documentation>
<element name="enable_firewall">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="firewall_enable_ssh">
<a:documentation>Default value for SSHD in firewall (open port)</a:documentation>
<element name="firewall_enable_ssh">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="write_hostname_to_hosts">
<a:documentation>Default value whether to write a system hostname to /etc/hosts</a:documentation>
<element name="write_hostname_to_hosts">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="run_init_scripts_in_parallel">
<a:documentation>Defines whether startup scripts should run in a parallel mode.
This speeds the starting up but it is worse for debugging.</a:documentation>
<element name="run_init_scripts_in_parallel">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="inform_about_suboptimal_distribution">
<element name="inform_about_suboptimal_distribution">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="skip_language_dialog">
<element name="skip_language_dialog">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="enable_clone">
<a:documentation>Defines whether an AytoYaST cloning feature should be enabled</a:documentation>
<element name="enable_clone">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="enable_register_hwdata">
<a:documentation>Default value for 'send hardware data' with registration</a:documentation>
<element name="enable_register_hwdata">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="enable_register_optional">
<a:documentation>Default value for 'send optional system data' with registration</a:documentation>
<element name="enable_register_optional">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="display_register_forcereg">
<element name="display_register_forcereg">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="disable_register_w3m">
<element name="disable_register_w3m">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="register_monthly">
<element name="register_monthly">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="manual_online_update">
<element name="manual_online_update">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="root_password_as_first_user">
<element name="root_password_as_first_user">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="root_password_ca_check">
<element name="root_password_ca_check">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="show_online_repositories">
<element name="show_online_repositories">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="online_repositories_default">
<element name="online_repositories_default">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="show_addons">
<element name="show_addons">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="addons_default">
<element name="addons_default">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="enable_autoconfiguration">
<element name="enable_autoconfiguration">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="autoconfiguration_default">
<element name="autoconfiguration_default">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="kexec_reboot">
<a:documentation>Defines whether kexec is the preferred mode instead of rebooting
between the first and the second stage of installation</a:documentation>
<element name="kexec_reboot">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="rle_offer_rulevel_4">
<a:documentation>Defines whether a special runlevel 4 should be offered</a:documentation>
<element name="rle_offer_rulevel_4">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="default_ntp_setup">
<element name="default_ntp_setup">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="enable_kdump">
<a:documentation>Defines whether kdump is enabled by default</a:documentation>
<element name="enable_kdump">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="require_registration">
<element name="require_registration">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="save_instsys_content">
<a:documentation>Defines which pieces of installation system should be copied to
the installed system before rebooting to second stage.</a:documentation>
<element name="save_instsys_content">
<ref name="LIST"/>
<oneOrMore>
<element name="save_instsys_item">
<interleave>
<element name="system_directory">
<a:documentation>Where to copy the installation-system file or directory
Absolut path is required.</a:documentation>
<text/>
</element>
<element name="instsys_directory">
<a:documentation>Which file or directory to copy to installed system
Absolut path is required.</a:documentation>
<text/>
</element>
</interleave>
</element>
</oneOrMore>
</element>
</define>
<define name="copy_to_system">
<element name="copy_to_system">
<ref name="LIST"/>
<oneOrMore>
<element name="copy_to_system_item">
<interleave>
<element name="copy_to_dir">
<text/>
</element>
<oneOrMore>
<element name="mandatory_files">
<ref name="LIST"/>
<oneOrMore>
<element name="file_item">
<text/>
</element>
</oneOrMore>
</element>
</oneOrMore>
<zeroOrMore>
<element name="optional_files">
<ref name="LIST"/>
<oneOrMore>
<element name="file_item">
<text/>
</element>
</oneOrMore>
</element>
</zeroOrMore>
</interleave>
</element>
</oneOrMore>
</element>
</define>
<define name="autoconfiguration_enabled_modules">
<element name="autoconfiguration_enabled_modules">
<ref name="LIST"/>
<oneOrMore>
<element name="module">
<text/>
</element>
</oneOrMore>
</element>
</define>
<define name="automatic_configuration">
<a:documentation>Describes the automatic configuration called in the second stage.
Proposed values are written to the system without asking user.</a:documentation>
<element name="automatic_configuration">
<ref name="LIST"/>
<oneOrMore>
<element name="ac_step">
<a:documentation>One configuration step</a:documentation>
<interleave>
<element name="unique_id">
<a:documentation>Unique ID of the automatic configuration step</a:documentation>
<text/>
</element>
<optional>
<element name="text_id">
<a:documentation>ID used in texts</a:documentation>
<text/>
</element>
</optional>
<optional>
<element name="icon">
<a:documentation>Name of the icon file (without suffix)</a:documentation>
<text/>
</element>
</optional>
<optional>
<element name="type">
<a:documentation>Type of a configuration step.
Scripts are called directly.
Proposals are all at first called with 'MakeProposal' and then 'Write' parameters.</a:documentation>
<choice>
<value>scripts</value>
<value>proposals</value>
</choice>
</element>
</optional>
<optional>
<element name="ac_items">
<ref name="LIST"/>
<oneOrMore>
<element name="ac_item">
<text/>
</element>
</oneOrMore>
</element>
</optional>
</interleave>
</element>
</oneOrMore>
</element>
</define>
<define name="services_proposal">
<element name="services_proposal">
<ref name="LIST"/>
<oneOrMore>
<element name="service">
<interleave>
<optional>
<element name="label_id">
<text/>
</element>
</optional>
<element name="service_names">
<text/>
</element>
<optional>
<element name="firewall_plugins">
<text/>
</element>
</optional>
<optional>
<element name="enabled_by_default">
<ref name="BOOLEAN"/>
</element>
</optional>
<optional>
<element name="packages">
<text/>
</element>
</optional>
</interleave>
</element>
</oneOrMore>
</element>
</define>
<define name="subworkflows">
<element name="subworkflows">
<ref name="LIST"/>
<oneOrMore>
<element name="subworkflow">
<interleave>
<element name="name">
<text/>
</element>
<optional>
<element name="modules">
<ref name="LIST"/>
<oneOrMore>
<element name="module">
<text/>
</element>
</oneOrMore>
</element>
</optional>
<optional>
<element name="proposals">
<ref name="LIST"/>
<oneOrMore>
<element name="proposal">
<text/>
</element>
</oneOrMore>
</element>
</optional>
</interleave>
</element>
</oneOrMore>
</element>
</define>
<define name="globals">
<a:documentation>Global variables</a:documentation>
<element name="globals">
<zeroOrMore>
<ref name="globals_elements"/>
</zeroOrMore>
</element>
</define>
<!-- globals -->
<!-- software -->
<define name="software_elements">
<choice>
<ref name="delete_old_packages"/>
<ref name="delete_old_packages_reverse_list"/>
<ref name="silently_downgrade_packages"/>
<ref name="silently_downgrade_packages_reverse_list"/>
<ref name="only_update_selected"/>
<ref name="only_update_selected_reverse_list"/>
<ref name="products_supported_for_upgrade"/>
<ref name="selection_type"/>
<ref name="system_scenarios"/>
<ref name="default_system_scenario"/>
<ref name="supported_desktops"/>
<ref name="default_desktop"/>
<ref name="display_support_status"/>
<ref name="online_repos_preselected"/>
<ref name="external_sources_link"/>
<ref name="dropped_packages"/>
<ref name="extra_urls"/>
<ref name="base_selection"/>
<ref name="packages_affecting_pkg_manager"/>
<ref name="software_base"/>
<ref name="software_addons"/>
<ref name="software_packages"/>
<ref name="kernel_packages"/>
<ref name="packages_transmogrify"/>
</choice>
</define>
<define name="delete_old_packages">
<a:documentation>Whether it is allowed to delete a package during upgrade</a:documentation>
<element name="delete_old_packages">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="selection_type">
<element name="selection_type">
<ref name="SYMBOL"/>
</element>
</define>
<define name="default_system_scenario">
<a:documentation>System scenario selected by default.
Used in inst_scenarios client.</a:documentation>
<element name="default_system_scenario">
<text/>
</element>
</define>
<define name="default_desktop">
<a:documentation>Desktop selected by default</a:documentation>
<element name="default_desktop">
<text/>
</element>
</define>
<define name="display_support_status">
<element name="display_support_status">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="silently_downgrade_packages">
<element name="silently_downgrade_packages">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="only_update_selected">
<element name="only_update_selected">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="online_repos_preselected">
<element name="online_repos_preselected">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="external_sources_link">
<element name="external_sources_link">
<text/>
</element>
</define>
<define name="dropped_packages">
<a:documentation>Packages that should be removed by the upgrade.
Comma and/or space-separated list of packages</a:documentation>
<element name="dropped_packages">
<text/>
</element>
</define>
<define name="base_selection">
<element name="base_selection">
<text/>
</element>
</define>
<define name="software_base">
<element name="base">
<text/>
</element>
</define>
<define name="packages_transmogrify">
<a:documentation>a client that is called to modifiy the list of selected kernel packages</a:documentation>
<element name="packages_transmogrify">
<text/>
</element>
</define>
<define name="software_addons">
<element name="addons">
<ref name="LIST"/>
<oneOrMore>
<element name="addon">
<text/>
</element>
</oneOrMore>
</element>
</define>
<define name="software_packages">
<element name="packages">
<ref name="LIST"/>
<oneOrMore>
<element name="package">
<text/>
</element>
</oneOrMore>
</element>
</define>
<define name="kernel_packages">
<element name="kernel_packages">
<ref name="LIST"/>
<oneOrMore>
<element name="package">
<text/>
</element>
</oneOrMore>
</element>
</define>
<define name="delete_old_packages_reverse_list">
<element name="delete_old_packages_reverse_list">
<ref name="LIST"/>
<oneOrMore>
<element name="regexp_item">
<text/>
</element>
</oneOrMore>
</element>
</define>
<define name="system_scenarios">
<a:documentation>Scenarios supported by inst_scenarios client</a:documentation>
<element name="system_scenarios">
<ref name="LIST"/>
<oneOrMore>
<element name="system_scenario">
<a:documentation>One scenario item</a:documentation>
<interleave>
<element name="id">
<a:documentation>Unique id that points to texts</a:documentation>
<text/>
</element>
<element name="patterns">
<a:documentation>Space or tab-separated list of patterns required by a particular scenario</a:documentation>
<text/>
</element>
<element name="icon">
<a:documentation>Name of an icon file (without suffix)</a:documentation>
<text/>
</element>
</interleave>
</element>
</oneOrMore>
</element>
</define>
<define name="supported_desktops">
<element name="supported_desktops">
<ref name="LIST"/>
<oneOrMore>
<element name="one_supported_desktop">
<interleave>
<element name="name">
<text/>
</element>
<element name="desktop">
<text/>
</element>
<optional>
<element name="label_id">
<text/>
</element>
</optional>
<element name="logon">
<text/>
</element>
<element name="cursor">
<text/>
</element>
<element name="packages">
<text/>
</element>
<optional>
<element name="order">
<ref name="INTEGER"/>
</element>
</optional>
<element name="patterns">
<text/>
</element>
<optional>
<element name="icon">
<text/>
</element>
</optional>
<optional>
<element name="description_id">
<text/>
</element>
</optional>
</interleave>
</element>
</oneOrMore>
</element>
</define>
<define name="only_update_selected_reverse_list">
<element name="only_update_selected_reverse_list">
<ref name="LIST"/>
<oneOrMore>
<element name="regexp_item">
<text/>
</element>
</oneOrMore>
</element>
</define>
<define name="products_supported_for_upgrade">
<a:documentation>List of products supported to be upgraded by this product</a:documentation>
<element name="products_supported_for_upgrade">
<ref name="LIST"/>
<oneOrMore>
<element name="regexp_item">
<a:documentation>One regular expression to match a product to upgrade</a:documentation>
<text/>
</element>
</oneOrMore>
</element>
</define>
<define name="silently_downgrade_packages_reverse_list">
<element name="silently_downgrade_packages_reverse_list">
<ref name="LIST"/>
<oneOrMore>
<element name="regexp_item">
<text/>
</element>
</oneOrMore>
</element>
</define>
<define name="extra_urls">
<element name="extra_urls">
<ref name="LIST"/>
<oneOrMore>
<element name="extra_url">
<interleave>
<element name="baseurl">
<text/>
</element>
<optional>
<element name="name">
<text/>
</element>
</optional>
<optional>
<element name="alias">
<text/>
</element>
</optional>
<optional>
<element name="prod_dir">
<text/>
</element>
</optional>
<optional>
<element name="enabled">
<ref name="BOOLEAN"/>
</element>
</optional>
<optional>
<element name="autorefresh">
<ref name="BOOLEAN"/>
</element>
</optional>
<optional>
<element name="priority">
<ref name="INTEGER"/>
</element>
</optional>
</interleave>
</element>
</oneOrMore>
</element>
</define>
<define name="packages_affecting_pkg_manager">
<element name="packages_affecting_pkg_manager">
<ref name="LIST"/>
<oneOrMore>
<element name="package">
<text/>
</element>
</oneOrMore>
</element>
</define>
<define name="software">
<a:documentation>Software / Package-manager related variables</a:documentation>
<element name="software">
<zeroOrMore>
<ref name="software_elements"/>
</zeroOrMore>
</element>
</define>
<!-- software -->
<!-- partitioning -->
<define name="partitioning_elements">
<choice>
<ref name="evms_config"/>
<ref name="try_separate_home"/>
<ref name="limit_try_home"/>
<ref name="root_space_percent"/>
<ref name="root_base_size"/>
<ref name="root_max_size"/>
<ref name="proposal_lvm"/>
<ref name="proposal_evms"/>
<ref name="vm_desired_size"/>
<ref name="vm_home_max_size"/>
<ref name="boot_evms"/>
<ref name="use_separate_multipath_module"/>
<ref name="prefer_remove"/>
<ref name="vm_keep_unpartitioned_region"/>
<ref name="remove_special_partitions"/>
<ref name="partitions"/>
</choice>
</define>
<define name="evms_config">
<element name="evms_config">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="try_separate_home">
<element name="try_separate_home">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="limit_try_home">
<element name="limit_try_home">
<text/>
</element>
</define>
<define name="root_space_percent">
<element name="root_space_percent">
<text/>
</element>
</define>
<define name="root_base_size">
<element name="root_base_size">
<text/>
</element>
</define>
<define name="root_max_size">
<element name="root_max_size">
<text/>
</element>
</define>
<define name="proposal_lvm">
<element name="proposal_lvm">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="proposal_evms">
<element name="proposal_evms">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="vm_desired_size">
<element name="vm_desired_size">
<text/>
</element>
</define>
<define name="vm_home_max_size">
<element name="vm_home_max_size">
<text/>
</element>
</define>
<define name="boot_evms">
<element name="boot_evms">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="prefer_remove">
<element name="prefer_remove">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="remove_special_partitions">
<element name="remove_special_partitions">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="vm_keep_unpartitioned_region">
<element name="vm_keep_unpartitioned_region">
<ref name="BOOLEAN"/>
</element>
</define>
<!-- used by HASI Add-On -->
<define name="use_separate_multipath_module">
<element name="use_separate_multipath_module">
<ref name="BOOLEAN"/>
</element>
</define>
<!-- these have to be defined by Storage -->
<define name="partitions">
<element name="partitions">
<ref name="LIST"/>
<zeroOrMore>
<element name="listentry">
<zeroOrMore>
<element>
<anyName/>
<ref name="ANY"/>
</element>
</zeroOrMore>
</element>
</zeroOrMore>
<zeroOrMore>
<element name="partition">
<zeroOrMore>
<element>
<anyName/>
<ref name="ANY"/>
</element>
</zeroOrMore>
</element>
</zeroOrMore>
</element>
</define>
<define name="partitioning">
<a:documentation>Partitioning-related variables</a:documentation>
<element name="partitioning">
<zeroOrMore>
<ref name="partitioning_elements"/>
</zeroOrMore>
</element>
</define>
<!-- partitioning -->
<!-- network -->
<define name="network_elements">
<choice>
<ref name="force_static_ip"/>
<ref name="network_manager"/>
<ref name="startmode"/>
</choice>
</define>
<define name="force_static_ip">
<element name="force_static_ip">
<ref name="BOOLEAN"/>
</element>
</define>
<define name="network_manager">
<element name="network_manager">
<text/>
</element>
</define>
<define name="startmode">
<element name="startmode">
<text/>
</element>
</define>
<define name="network">
<a:documentation>Network configuration-related variables</a:documentation>
<element name="network">
<zeroOrMore>
<ref name="network_elements"/>
</zeroOrMore>
</element>
</define>
<!-- network -->
<!-- clone_modules -->
<define name="clone_modules">
<a:documentation>List of modules used by AutoYaST for cloning the configuration</a:documentation>
<element name="clone_modules">
<ref name="LIST"/>
<oneOrMore>
<element name="clone_module">
<text/>
</element>
</oneOrMore>
</element>
</define>
<!-- clone_modules -->
<!-- texts -->
<define name="texts">
<a:documentation>Control-file texts marked for translation</a:documentation>
<element name="texts">
<oneOrMore>
<element>
<anyName/>
<element name="label">
<text/>
</element>
</element>
</oneOrMore>
</element>
</define>
<!-- texts -->
<!-- proposals -->
<define name="proposal_module">
<a:documentation>There are two types of element 'proposal_modules'
1.) proposal_modules with attributes 'name' and 'presentation_order'
2.) proposal_modules with inexplicit 'name'</a:documentation>
<a:documentation>Proposal module with 'name' and 'presentation_order'</a:documentation>
<element name="proposal_module">
<interleave>
<optional>
<element name="name">
<a:documentation>Proposal name</a:documentation>
<text/>
</element>
</optional>
<optional>
<element name="presentation_order">
<a:documentation>Presentation order in the current proposal (integer).
Lower numbers first.</a:documentation>
<text/>
</element>
</optional>
<optional>
<text>
<a:documentation>Inexplicit proposal name if not explicitely defined by 'name' and 'presentation_order'</a:documentation>
</text>
</optional>
</interleave>
</element>
</define>
<define name="proposal">
<a:documentation>Proposal defines one configuration step with one or more proposal_modules
inside. Proposal modules usually depend on each other so the order does
matter. If you want to list proposal modules in a different order, use
'presentation' order attribute.</a:documentation>
<element name="proposal">
<interleave>
<element name="unique_id">
<a:documentation>Unique ID of the proposal</a:documentation>
<text/>
</element>
<optional>
<element name="label">
<a:documentation/>
<text/>
</element>
</optional>
<optional>
<element name="archs">
<a:documentation>Defines for which architectures is this proposal used.
Comma-separated list of architectures as seen in
/usr/share/YaST2/modules/Arch.ycp
Valid for all architectures if not explicitely defined.
See Arch::arch_short</a:documentation>
<text/>
</element>
</optional>
<optional>
<element name="mode">
<a:documentation>Defines for which mode is this proposal used.
Comma-separated list of modes as seen in
/usr/share/YaST2/modules/Mode.ycp
Valid for all modes if not explicitely defined.</a:documentation>
<text/>
</element>
</optional>
<element name="stage">
<a:documentation>Defines for which stage is this proposal used.
Comma-separated list of stages as seen in
/usr/share/YaST2/modules/Stage.ycp
Valid for all stages if not explicitely defined.</a:documentation>
<text/>
</element>
<optional>
<element name="name">
<a:documentation>Proposal name used later to define which proposal to use</a:documentation>
<text/>
</element>
</optional>
<optional>
<element name="type">
<text/>
</element>
</optional>
<optional>
<element name="enable_skip">
<a:documentation>Defines whether a proposal can be skipped</a:documentation>
<ref name="YES_NO"/>
</element>
</optional>
<optional>
<element name="proposal_modules">
<a:documentation>List of modules in proposal</a:documentation>
<ref name="LIST"/>
<oneOrMore>
<ref name="proposal_module"/>
</oneOrMore>
</element>
</optional>
<optional>
<element name="proposal_tabs">
<a:documentation>Defines how/whether tabs are used in proposal, e.g.,
Simple tab vs. Expert tab.
If tabs are used, do not define 'proposal_modules' directly
in 'proposal'</a:documentation>
<ref name="LIST"/>
<oneOrMore>
<element name="proposal_tab">
<a:documentation>Defines one tab in a proposal</a:documentation>
<interleave>
<element name="label">
<a:documentation>Label on the tab</a:documentation>
<text/>
</element>
<element name="proposal_modules">
<a:documentation>List of proposal modules</a:documentation>
<ref name="LIST"/>
<oneOrMore>
<ref name="proposal_module"/>
</oneOrMore>
</element>
</interleave>
</element>
</oneOrMore>
</element>
</optional>
</interleave>
</element>
</define>
<!-- List of all proposals in control file -->
<define name="proposals">
<element name="proposals">
<ref name="LIST"/>
<oneOrMore>
<ref name="proposal"/>
</oneOrMore>
</element>
</define>
<!-- proposals -->
<!-- workflows -->
<!-- Describes one step in a workflow -->
<define name="module">
<element name="module">
<interleave>
<optional>
<element name="name">
<a:documentation>Name of a step.
Used as an identification for updating, removing etc. of steps.
If 'execute' is not used, 'name' also defines name of a YCP script
called by YaST. In installation or upgrade, all script have to match
inst_(.*) regexp.</a:documentation>
<text/>
</element>
</optional>
<optional>
<element name="execute">
<a:documentation>Defines exact name of a YCP script (without .ycp suffix)</a:documentation>
<text/>
</element>
</optional>
<optional>
<element name="label">
<a:documentation>Defines a configuration step shown in workflow with steps.
If empty, a label defined in closes step before is used.</a:documentation>
<text/>
</element>
</optional>
<optional>
<element name="heading">
<a:documentation>Defines a heading step. Heading usually does not have any client
to run and defines only the major step in workflow.</a:documentation>
<text/>
</element>
</optional>
<optional>
<element name="archs">
<a:documentation>Defines for which architectures is this module used.
Comma-separated list of architectures as seen in
/usr/share/YaST2/modules/Arch.ycp
Valid for all architectures if not explicitely defined.
See Arch::arch_short</a:documentation>
<text/>
</element>
</optional>
<optional>
<element name="proposal">
<a:documentation>Defines which proposal to call in this step.
Proposal 'name' is used.</a:documentation>
<text/>
</element>
</optional>
<optional>
<element name="enable_back">
<a:documentation>Defines whether the [Back] button is enabled by default in this step.</a:documentation>
<ref name="YES_NO"/>
</element>
</optional>
<optional>
<element name="enable_next">
<a:documentation>Defines whether the [Next] button is enabled by default in this step.</a:documentation>
<ref name="YES_NO"/>
</element>
</optional>
<optional>
<element name="arguments">
<a:documentation>Additional module arguments</a:documentation>
<choice>
<optional>
<element name="first_run">
<ref name="YES_NO"/>
</element>
</optional>
<zeroOrMore>
<element>
<anyName/>
<text/>
</element>
</zeroOrMore>
<!-- used in autoyast -->
<text/>
</choice>
</element>
</optional>
<optional>
<element name="retranslate">
<a:documentation>Should YaST retranslate the whole screen after this client is called?
Default is 'true'.</a:documentation>
<ref name="BOOLEAN"/>
</element>
</optional>
<optional>
<element name="update">
<ref name="BOOLEAN"/>
</element>
</optional>
<optional>
<element name="enabled">
<a:documentation>Defines whether a module is enabled by default.
Default value is 'true'</a:documentation>
<ref name="BOOLEAN"/>
</element>
</optional>
<optional>
<element name="prescript">
<a:documentation>Script body called before the described step</a:documentation>
<interleave>
<element name="interpreter">
<a:documentation>@example
shell</a:documentation>
<text/>
</element>
<element name="source">
<a:documentation>@example
<![CDATA[#!/bin/sh
echo test > /tmp/test
]]></a:documentation>
<text/>
</element>
</interleave>
</element>
</optional>
<optional>
<element name="postscript">
<a:documentation>Script body called after the described step</a:documentation>
<interleave>
<element name="interpreter">
<text/>
</element>
<element name="source">
<text/>
</element>
</interleave>
</element>
</optional>
</interleave>
</element>
</define>
<define name="workflow_defaults">
<a:documentation>Defines the default workflow settings</a:documentation>
<element name="defaults">
<interleave>
<optional>
<element name="archs">
<a:documentation>For which architectures is this default valid</a:documentation>
<text/>
</element>
</optional>
<optional>
<element name="arguments">
<a:documentation>Special patemeters used by AutoYaST</a:documentation>
<text/>
</element>
</optional>
<optional>
<element name="enable_back">
<a:documentation>Is [Back] button enabled by default?
If not set, default values is 'yes'.</a:documentation>
<ref name="YES_NO"/>
</element>
</optional>
<optional>
<element name="enable_next">
<a:documentation>Is [Next] button enabled by default?
If not set, default values is 'yes'.</a:documentation>
<ref name="YES_NO"/>
</element>
</optional>
</interleave>
</element>
</define>
<define name="workflow">
<a:documentation>Workflow, defines for instance, 'second stage installation'</a:documentation>
<element name="workflow">
<interleave>
<optional>
<ref name="workflow_defaults"/>
</optional>
<optional>
<element name="label">
<a:documentation>Superstep name visible in UI</a:documentation>
<text/>
</element>
</optional>
<element name="mode">
<a:documentation>Defines for which mode is this proposal used.
Comma-separated list of modes as seen in
/usr/share/YaST2/modules/Mode.ycp
Valid for all modes if not explicitely defined.</a:documentation>
<text/>
</element>
<element name="stage">
<a:documentation>Defines for which stage is this workflow used.
Comma-separated list of stages as seen in
/usr/share/YaST2/modules/Stage.ycp
Valid for all stages if not explicitely defined.</a:documentation>
<text/>
</element>
<element name="modules">
<a:documentation>List of modules in workflow</a:documentation>
<ref name="LIST"/>
<oneOrMore>
<ref name="module"/>
</oneOrMore>
</element>
</interleave>
</element>
</define>
<!-- List of all defined workflows -->
<define name="workflows">
<element name="workflows">
<ref name="LIST"/>
<oneOrMore>
<ref name="workflow"/>
</oneOrMore>
</element>
</define>
<!-- workflows -->
<!-- inst_finish_stages -->
<define name="inst_finish_stages">
<element name="inst_finish_stages">
<ref name="LIST"/>
<oneOrMore>
<element name="inst_finish_stage">
<interleave>
<element name="label">
<text/>
</element>
<element name="steps">
<ref name="LIST"/>
<oneOrMore>
<element name="step">
<text/>
</element>
</oneOrMore>
</element>
</interleave>
</element>
</oneOrMore>
</element>
</define>
<!-- inst_finish_stages -->
<!-- update -->
<define name="update_workflow">
<element name="workflow">
<interleave>
<optional>
<ref name="workflow_defaults"/>
</optional>
<optional>
<element name="label">
<text/>
</element>
</optional>
<element name="stage">
<text/>
</element>
<element name="mode">
<text/>
</element>
<optional>
<element name="insert_modules">
<ref name="LIST"/>
<oneOrMore>
<element name="insert_module">
<interleave>
<element name="before">
<text/>
</element>
<element name="modules">
<ref name="LIST"/>
<oneOrMore>
<ref name="module"/>
</oneOrMore>
</element>
</interleave>
</element>
</oneOrMore>
</element>
</optional>
<optional>
<element name="append_modules">
<ref name="LIST"/>
<oneOrMore>
<ref name="module"/>
</oneOrMore>
</element>
</optional>
<optional>
<element name="remove_modules">
<ref name="LIST"/>
<oneOrMore>
<element name="remove_module">
<text/>
</element>
</oneOrMore>
</element>
</optional>
<optional>
<element name="replace_modules">
<ref name="LIST"/>
<oneOrMore>
<element name="replace_module">
<interleave>
<element name="replace">
<text/>
</element>
<element name="modules">
<ref name="LIST"/>
<oneOrMore>
<ref name="module"/>
</oneOrMore>
</element>
</interleave>
</element>
</oneOrMore>
</element>
</optional>
</interleave>
</element>
</define>
<define name="update_proposal">
<element name="proposal">
<interleave>
<element name="stage">
<text/>
</element>
<element name="mode">
<text/>
</element>
<optional>
<element name="label">
<text/>
</element>
</optional>
<element name="name">
<text/>
</element>
<optional>
<element name="enable_skip">
<ref name="YES_NO"/>
</element>
</optional>
<optional>
<element name="append_modules">
<ref name="LIST"/>
<oneOrMore>
<element name="append_module">
<text/>
</element>
</oneOrMore>
</element>
</optional>
<optional>
<element name="remove_modules">
<ref name="LIST"/>
<oneOrMore>
<element name="remove_module">
<text/>
</element>
</oneOrMore>
</element>
</optional>
<optional>
<element name="replace_modules">
<ref name="LIST"/>
<element name="replace_module">
<interleave>
<element name="replace">
<text/>
</element>
<element name="new_modules">
<ref name="LIST"/>
<oneOrMore>
<element name="new_module">
<text/>
</element>
</oneOrMore>
</element>
</interleave>
</element>
</element>
</optional>
</interleave>
</element>
</define>
<define name="update">
<element name="update">
<interleave>
<optional>
<element name="proposals">
<ref name="LIST"/>
<oneOrMore>
<ref name="update_proposal"/>
</oneOrMore>
</element>
</optional>
<optional>
<element name="workflows">
<ref name="LIST"/>
<oneOrMore>
<ref name="update_workflow"/>
</oneOrMore>
</element>
</optional>
<optional>
<element name="inst_finish">
<interleave>
<optional>
<element name="before_chroot">
<ref name="LIST"/>
<oneOrMore>
<element name="module">
<text/>
</element>
</oneOrMore>
</element>
</optional>
<optional>
<element name="after_chroot">
<ref name="LIST"/>
<oneOrMore>
<element name="module">
<text/>
</element>
</oneOrMore>
</element>
</optional>
<optional>
<element name="before_umount">
<ref name="LIST"/>
<oneOrMore>
<element name="module">
<text/>
</element>
</oneOrMore>
</element>
</optional>
</interleave>
</element>
</optional>
</interleave>
</element>
</define>
<!-- update -->
<define name="productDefines_elements">
<choice>
<ref name="textdomain"/>
<ref name="globals"/>
<ref name="software"/>
<ref name="partitioning"/>
<ref name="network"/>
<ref name="proposals"/>
<ref name="workflows"/>
<ref name="clone_modules"/>
<ref name="texts"/>
<ref name="inst_finish_stages"/>
<ref name="update"/>
</choice>
</define>
<start>
<element name="productDefines">
<zeroOrMore>
<ref name="productDefines_elements"/>
</zeroOrMore>
</element>
</start>
<define name="ac_redraw_and_ignore">
<element name="ac_redraw_and_ignore">
<ref name="LIST"/>
<oneOrMore>
<element name="ac_item">
<text/>
</element>
</oneOrMore>
</element>
</define>
<define name="debug_deploying">
<element name="debug_deploying">
<ref name="BOOLEAN"/>
</element>
</define>
</grammar>
ACC SHELL 2018