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