# # Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. # # mappings.conf file - data file used by the AI Manifest Editor CLI # # The data in this file consists of a list of python dictionaries, where # each dictionary is a verson of the data mappings (identified by key, # 'version'). # # Each dictionary in the mappings list has the following format: # { # 'version': 'x.y', # 'obj': { # 'objpath': obj_xpath, # 'proplist': [ # {prop1: {'value_xpath': prop1_xpath}}, # {prop2: {'value_xpath': prop2_xpath}}, ... # ], # 'subobjlist': [ # {obj: {'objpath': obj_xpath, # 'proplist': [ # {prop1: {'value_xpath': prop1_xpath}}, # {prop2: {'value_xpath': prop2_xpath}}, # {prop3: {'value_xpath': prop3_xpath}}, ... # ], # }, # }, # {obj: {'objpath': obj_xpath, # 'proplist': [ # {prop1: {'value_xpath': prop1_xpath}} # ], # }, # }, ... # ], # } # # Each object (or level), including the top level object or 'root', has keys # 'objpath' and 'proplist'. Optionally, a level may have a 'subobjlist' key, # to denote subobjects (or sublevels) for that object. Each subobject is # itself an object, with 'objpath', 'proplist', and optional 'subobjlist'. For # instance, the subobjlist for a 'pool' object contains subobject dictionaries # for 'vdev', 'filesystem', and 'volume'. The order of the subobject dictionary # entries in 'subobjlist' controls the order that subobjects are listed by the # 'info' subcommand. Similarly, each object's 'proplist' contains property # dictionaries describing that object's properties and their order controls # the order that properties are listed by the 'info' subcommand. By convention, # property names presented to the user use dashes, rather than underscores # (e.g., "auto-reboot", not "auto_reboot"). [ { 'version': '1.0', 'root': { 'objpath': '/auto_install/ai_instance', 'constraints': { 'matching_values': [ { 'type': 'require_atleast_one_match', 'proppath': '/root/disk/in-zpool', 'matchpaths': ['/root/pool/name'] }, { 'type': 'require_atleast_one_match', 'proppath': '/root/disk/partition/in-zpool', 'matchpaths': ['/root/pool/name'] }, { 'type': 'require_atleast_one_match', 'proppath': '/root/disk/partition/slice/in-zpool', 'matchpaths': ['/root/pool/name'] }, { 'type': 'require_atleast_one_match', 'proppath': '/root/disk/gpt-partition/in-zpool', 'matchpaths': ['/root/pool/name'] }, { 'type': 'require_atleast_one_match', 'proppath': '/root/disk/slice/in-zpool', 'matchpaths': ['/root/pool/name'] }, { 'type': 'require_atleast_one_match', 'proppath': '/root/disk/in-vdev', 'matchpaths': ['/root/pool/vdev/name'] }, { 'type': 'require_atleast_one_match', 'proppath': '/root/disk/partition/in-vdev', 'matchpaths': ['/root/pool/vdev/name'] }, { 'type': 'require_atleast_one_match', 'proppath': '/root/disk/partition/slice/in-vdev', 'matchpaths': ['/root/pool/vdev/name'] }, { 'type': 'require_atleast_one_match', 'proppath': '/root/disk/gpt-partition/in-vdev', 'matchpaths': ['/root/pool/vdev/name'] }, { 'type': 'require_atleast_one_match', 'proppath': '/root/disk/slice/in-vdev', 'matchpaths': ['/root/pool/vdev/name'] }, ], }, 'proplist': [ {'http-proxy': {'value_xpath': '/auto_install/ai_instance@http_proxy'}}, {'auto-reboot': {'value_xpath': '/auto_install/ai_instance@auto_reboot'}}, {'create-swap': { # display value as inverse of attribute value 'value_types': ['inverse'], 'value_xpath': '/auto_install/ai_instance/target/logical@noswap', }, }, {'create-dump': { # display value as inverse of attribute value 'value_types': ['inverse'], 'value_xpath': '/auto_install/ai_instance/target/logical@nodump', }, }, ], 'subobjlist': [ # software, disk, pool, boot-mods, configuration {'software': { 'objpath': '/auto_install/ai_instance/software', 'mapbyvalue': { 'mbvpath': '/auto_install/ai_instance/software@type', 'mbvprop': 'type', 'mbvdefval': 'IPS', 'mbvlist': [ {'IPS': { 'mbvprop': 'type', 'proplist': [ {'type': {'value_xpath': '/auto_install/ai_instance/software@type'}}, {'name': {'value_xpath': '/auto_install/ai_instance/software@name'}}, ], 'subobjlist': [ # facet, publisher, pkg-list {'facet': { 'objpath': '/auto_install/ai_instance/software/destination/image/facet', 'display': {'display_type': 'namevalue', 'display_name': 'name', 'display_value': 'value'}, 'proplist': [ {'name': {'value_xpath': '/auto_install/ai_instance/software/destination/image/facet'}}, {'value': {'value_xpath': '/auto_install/ai_instance/software/destination/image/facet@set'}}, ], }, }, {'publisher': { 'objpath': '/auto_install/ai_instance/software/source/publisher', 'proplist': [ {'name': {'value_xpath': '/auto_install/ai_instance/software/source/publisher@name'}}, {'key': {'value_xpath': '/auto_install/ai_instance/software/source/publisher/credentials/key@src'}}, {'cert': {'value_xpath': '/auto_install/ai_instance/software/source/publisher/credentials/cert@src'}}, {'ca-cert': {'value_xpath': '/auto_install/ai_instance/software/source/publisher/credentials/ca_cert@src'}}, {'origin': {'value_xpath': '/auto_install/ai_instance/software/source/publisher/origin@name', 'multiple': True, }}, {'mirror': {'value_xpath': '/auto_install/ai_instance/software/source/publisher/mirror@name', 'multiple': True}}, {'cmd-options': {'value_xpath': '/auto_install/ai_instance/software/source/publisher/cmd_options', 'multiple': True}}, ], }, }, {'pkg-list': { 'objpath': '/auto_install/ai_instance/software/software_data', 'proplist': [ {'action': {'value_xpath': '/auto_install/ai_instance/software/software_data@action'}}, {'name': {'value_xpath': '/auto_install/ai_instance/software/software_data/name', 'multiple': True}}, {'reject': {'value_xpath': '/auto_install/ai_instance/software/software_data/reject', 'multiple': True}}, ], }, }, ], }, }, {'ARCHIVE': { 'mbvprop': 'type', 'proplist': [ {'type': {'value_xpath': '/auto_install/ai_instance/software@type'}}, {'name': {'value_xpath': '/auto_install/ai_instance/software@name'}}, {'uri': # assume just one uri per archive, so not multiple {'value_xpath': '/auto_install/ai_instance/software/source/file@uri'}}, {'key': {'value_xpath': '/auto_install/ai_instance/software/source/file/credentials/key@src'}}, {'cert': {'value_xpath': '/auto_install/ai_instance/software/source/file/credentials/cert@src'}}, {'ca-cert': {'value_xpath': '/auto_install/ai_instance/software/source/file/credentials/ca_cert@src'}}, {'http-auth-token': {'value_xpath': '/auto_install/ai_instance/software/source/file/credentials/http_auth_token'}}, {'archive-name': {'value_xpath': '/auto_install/ai_instance/software/software_data/name'}} ], }, }, {'P5I': { 'mbvprop': 'type', 'proplist': [ {'type': {'value_xpath': '/auto_install/ai_instance/software@type'}}, {'name': {'value_xpath': '/auto_install/ai_instance/software@name'}}, ], 'subobjlist': [ {'publisher': { 'objpath': '/auto_install/ai_instance/software/source/publisher', 'proplist': [ {'p5i-file': {'value_xpath': '/auto_install/ai_instance/software/source/publisher/origin@name'}}, ], }, }, ], }, }, {'SVR4': { 'mbvprop': 'type', 'proplist': [ {'type': {'value_xpath': '/auto_install/ai_instance/software@type'}}, {'name': {'value_xpath': '/auto_install/ai_instance/software@name'}}, ], 'subobjlist': [ {'publisher': { 'objpath': '/auto_install/ai_instance/software/source/publisher', 'proplist': [ {'name': {'value_xpath': '/auto_install/ai_instance/software/source/publisher@name'}}, {'origin': {'value_xpath': '/auto_install/ai_instance/software/source/publisher/origin@name'}}, ], }, }, {'pkg-list': { 'objpath': '/auto_install/ai_instance/software/software_data', 'proplist': [ {'action': {'value_xpath': '/auto_install/ai_instance/software/software_data@action'}}, {'name': {'value_xpath': '/auto_install/ai_instance/software/software_data/name', 'multiple': True}}, ], }, }, ], }, }, {'CPIO': { 'mbvprop': 'type', 'proplist': [ {'type': {'value_xpath': '/auto_install/ai_instance/software@type'}}, {'name': {'value_xpath': '/auto_install/ai_instance/software@name'}}, {'dir': {'value_xpath': '/auto_install/ai_instance/software/source/dir@path'}} ], 'subobjlist': [ {'name-list': { 'objpath': '/auto_install/ai_instance/software/software_data', 'proplist': [ {'action': {'value_xpath': '/auto_install/ai_instance/software/software_data@action'}}, {'name': {'value_xpath': '/auto_install/ai_instance/software/software_data/name', 'multiple': True}}, ], }, }, ], }, }, ], }, }, }, {'disk': { 'constraints': { 'xor': ['keyword', 'disk-selection-props', 'name'], 'dependencies': [ { # if in-vdev is set, it can't be set in specified paths 'type': 'require_none_set', 'prop': 'in-vdev', 'deppaths': [ '/root/disk/partition/in-vdev', '/root/disk/partition/slice/in-vdev', '/root/disk/gpt-partition/in-vdev', '/root/disk/slice/in-vdev', ], }, { # if in-zpool is set, it can't be set in specified paths 'type': 'require_none_set', 'prop': 'in-zpool', 'deppaths': [ '/root/disk/partition/in-zpool', '/root/disk/partition/slice/in-zpool', '/root/disk/gpt-partition/in-zpool', '/root/disk/slice/in-zpool', ], }, ], }, 'objpath': '/auto_install/ai_instance/target/disk', 'set_on_add': [{'prop_xpath': '/auto_install/ai_instance/target/disk@whole_disk', 'value': 'true'}], 'set_on_end': [{ # set whole_disk=false when (gpt-)partitions/slices are set, set to true otherwise 'setpath': '/auto_install/ai_instance/target/disk@whole_disk', 'settings': {'value_if_any_set': 'false', 'value_if_none_set': 'true'}, 'pathlist': ['/auto_install/ai_instance/target/disk/partition', '/auto_install/ai_instance/target/disk/gpt_partition', '/auto_install/ai_instance/target/disk/slice'] }], 'proplist': [ {'in-zpool': {'value_xpath': '/auto_install/ai_instance/target/disk@in_zpool'}}, {'in-vdev': {'value_xpath': '/auto_install/ai_instance/target/disk@in_vdev'}}, ], 'subobjlist': [ # name, disk-selection-props, keyword, iscsi, partition, gpt-partition, slice {'name': { 'objpath': '/auto_install/ai_instance/target/disk/disk_name', 'proplist': [ {'name': {'value_xpath': '/auto_install/ai_instance/target/disk/disk_name@name'}}, {'name-type': {'value_xpath': '/auto_install/ai_instance/target/disk/disk_name@name_type'}}, ], }, }, {'disk-selection-props': { 'objpath': '/auto_install/ai_instance/target/disk/disk_prop', 'proplist': [ {'type': {'value_xpath': '/auto_install/ai_instance/target/disk/disk_prop@dev_type'}}, {'vendor': {'value_xpath': '/auto_install/ai_instance/target/disk/disk_prop@dev_vendor'}}, {'chassis': {'value_xpath': '/auto_install/ai_instance/target/disk/disk_prop@dev_chassis'}}, {'size': {'value_xpath': '/auto_install/ai_instance/target/disk/disk_prop@dev_size', 'value_types': ['size']}}, ], }, }, {'keyword': { 'objpath': '/auto_install/ai_instance/target/disk/disk_keyword', 'proplist': [ {'key': {'value_xpath': '/auto_install/ai_instance/target/disk/disk_keyword@key'}}, ], }, }, {'iscsi': { 'objpath': '/auto_install/ai_instance/target/disk/iscsi', 'proplist': [ {'source': {'value_xpath': '/auto_install/ai_instance/target/disk/iscsi@source'}}, {'target-name': {'value_xpath': '/auto_install/ai_instance/target/disk/iscsi@target_name'}}, {'target-lun': {'value_xpath': '/auto_install/ai_instance/target/disk/iscsi@target_lun'}}, {'target-port': {'value_xpath': '/auto_install/ai_instance/target/disk/iscsi@target_port'}}, {'target-ip': {'value_xpath': '/auto_install/ai_instance/target/disk/iscsi@target_ip'}}, {'initiator-name': {'value_xpath': '/auto_install/ai_instance/target/disk/iscsi@initiator_name'}}, {'chap-name': {'value_xpath': '/auto_install/ai_instance/target/disk/iscsi@chap_name'}}, {'chap-password': {'value_xpath': '/auto_install/ai_instance/target/disk/iscsi@chap_password'}}, ], }, }, {'gpt-partition': { 'objpath': '/auto_install/ai_instance/target/disk/gpt_partition', 'proplist': [ {'name': {'value_xpath': '/auto_install/ai_instance/target/disk/gpt_partition@name', 'value_types': ['integer: [0-7]']}}, {'action': {'value_xpath': '/auto_install/ai_instance/target/disk/gpt_partition@action'}}, {'force': {'value_xpath': '/auto_install/ai_instance/target/disk/gpt_partition@force'}}, {'in-zpool': {'value_xpath': '/auto_install/ai_instance/target/disk/gpt_partition@in_zpool'}}, {'in-vdev': {'value_xpath': '/auto_install/ai_instance/target/disk/gpt_partition@in_vdev'}}, {'part-type': {'value_xpath': '/auto_install/ai_instance/target/disk/gpt_partition@part_type'}}, {'size': {'value_xpath': '/auto_install/ai_instance/target/disk/gpt_partition/size@val', 'value_types': ['size']}}, {'start-sector': {'value_xpath': '/auto_install/ai_instance/target/disk/gpt_partition/size@start_sector', 'value_types': ['integer'], 'constraints': { 'condition': { # size must be set for start-sector to be set 'conditionsource': '/root/disk/gpt-partition/size', 'conditionvalue': None, }, }, }}, ], }, }, {'partition': { 'objpath': '/auto_install/ai_instance/target/disk/partition', 'constraints': { 'dependencies': [ { # if in-vdev is set, it can't be set in specified paths 'type': 'require_none_set', 'prop': 'in-vdev', 'deppaths': ['/root/disk/partition/slice/in-vdev'], }, { # if in-zpool is set, it can't be set in specified paths 'type': 'require_none_set', 'prop': 'in-zpool', 'deppaths': ['/root/disk/partition/slice/in-zpool'], }, ], }, 'proplist': [ {'name': {'value_xpath': '/auto_install/ai_instance/target/disk/partition@name', 'value_types': ['integer: [1-32]']}}, {'action': {'value_xpath': '/auto_install/ai_instance/target/disk/partition@action'}}, {'in-zpool': {'value_xpath': '/auto_install/ai_instance/target/disk/partition@in_zpool'}}, {'in-vdev': {'value_xpath': '/auto_install/ai_instance/target/disk/partition@in_vdev'}}, {'part-type': {'value_xpath': '/auto_install/ai_instance/target/disk/partition@part_type'}}, {'size': {'value_xpath': '/auto_install/ai_instance/target/disk/partition/size@val', 'value_types': ['size']}}, {'start-sector': {'value_xpath': '/auto_install/ai_instance/target/disk/partition/size@start_sector', 'value_types': ['integer'], 'constraints': { 'condition': { # size must be set for start-sector to be set 'conditionsource': '/root/disk/partition/size', 'conditionvalue': None, }, }, }}, ], 'subobjlist': [ {'slice': { 'objpath': '/auto_install/ai_instance/target/disk/partition/slice', 'proplist': [ {'name': {'value_xpath': '/auto_install/ai_instance/target/disk/partition/slice@name', 'value_types': ['integer: [0-7]']}}, {'action': {'value_xpath': '/auto_install/ai_instance/target/disk/partition/slice@action'}}, {'force': {'value_xpath': '/auto_install/ai_instance/target/disk/partition/slice@force'}}, {'in-zpool': {'value_xpath': '/auto_install/ai_instance/target/disk/partition/slice@in_zpool', 'constraints': { 'condition': { # is-swap must be false for in-zpool to be set 'conditionsource': '/root/disk/partition/slice/is-swap', 'conditionvalue': 'false', }, }, }}, {'in-vdev': {'value_xpath': '/auto_install/ai_instance/target/disk/partition/slice@in_vdev', 'constraints': { 'condition': { # is-swap must be false for in-vdev to be set 'conditionsource': '/root/disk/partition/slice/is-swap', 'conditionvalue': 'false', }, }, }}, {'is-swap': {'value_xpath': '/auto_install/ai_instance/target/disk/partition/slice@is_swap'}}, {'size': {'value_xpath': '/auto_install/ai_instance/target/disk/partition/slice/size@val', 'value_types': ['size']}}, {'start-sector': {'value_xpath': '/auto_install/ai_instance/target/disk/partition/slice/size@start_sector', 'value_types': ['integer'], 'constraints': { 'condition': { # size must be set for start-sector to be set 'conditionsource': '/root/disk/partition/slice/size', 'conditionvalue': None, }, }, }}, ], }, }, ], }, }, {'slice': { 'objpath': '/auto_install/ai_instance/target/disk/slice', 'proplist': [ {'name': {'value_xpath': '/auto_install/ai_instance/target/disk/slice@name', 'value_types': ['integer: [0-7]']}}, {'action': {'value_xpath': '/auto_install/ai_instance/target/disk/slice@action'}}, {'force': {'value_xpath': '/auto_install/ai_instance/target/disk/slice@force'}}, {'in-zpool': {'value_xpath': '/auto_install/ai_instance/target/disk/slice@in_zpool', # is-swap must be false for in-zpool to be set 'constraints': { 'condition': { 'conditionsource': '/root/disk/slice/is-swap', 'conditionvalue': 'false', }, }, }}, {'in-vdev': {'value_xpath': '/auto_install/ai_instance/target/disk/slice@in_vdev', # is-swap must be false for in-vdev to be set 'constraints': { 'condition': { 'conditionsource': '/root/disk/slice/is-swap', 'conditionvalue': 'false', }, }, }}, {'is-swap': {'value_xpath': '/auto_install/ai_instance/target/disk/slice@is_swap'}}, {'size': {'value_xpath': '/auto_install/ai_instance/target/disk/slice/size@val', 'value_types': ['size']}}, {'start-sector': {'value_xpath': '/auto_install/ai_instance/target/disk/slice/size@start_sector', 'value_types': ['integer'], 'constraints': { 'condition': { # size must be set for start-sector to be set 'conditionsource': '/root/disk/slice/size', 'conditionvalue': None, }, }, }}, ], }, }, ], }, }, {'pool': { 'objpath': '/auto_install/ai_instance/target/logical/zpool', 'proplist': [ {'action': {'value_xpath': '/auto_install/ai_instance/target/logical/zpool@action', }}, {'name': {'value_xpath': '/auto_install/ai_instance/target/logical/zpool@name'}}, {'is-root': {'value_xpath': '/auto_install/ai_instance/target/logical/zpool@is_root', # is-boot of pool must be false for is-root to be true 'constraints': { 'condition': { 'conditionsource': '/root/pool/is-boot', 'conditionvalue': {'false': 'true'}, }, }, }}, {'is-boot': {'value_xpath': '/auto_install/ai_instance/target/logical/zpool@is_boot', # is-root of pool must be false for is-boot to be true 'constraints': { 'condition': { 'conditionsource': '/root/pool/is-root', 'conditionvalue': {'false': 'true'}, }, }, }}, {'mountpoint': {'value_xpath': '/auto_install/ai_instance/target/logical/zpool@mountpoint', 'value_types': ['absolute_path']}}, ], 'subobjlist': [ # pool-options, dataset-option, be, vdev, filesystem, volume {'pool-option': { 'objpath': '/auto_install/ai_instance/target/logical/zpool/pool_options/option', 'display': {'display_type': 'namevalue', 'display_name': 'name', 'display_value': 'value'}, 'proplist': [ {'name': {'value_xpath': '/auto_install/ai_instance/target/logical/zpool/pool_options/option@name', }}, {'value': {'value_xpath': '/auto_install/ai_instance/target/logical/zpool/pool_options/option@value'}}, ], }, }, {'dataset-option': { 'objpath': '/auto_install/ai_instance/target/logical/zpool/dataset_options/option', 'display': {'display_type': 'namevalue', 'display_name': 'name', 'display_value': 'value'}, 'proplist': [ {'name': {'value_xpath': '/auto_install/ai_instance/target/logical/zpool/dataset_options/option@name', }}, {'value': {'value_xpath': '/auto_install/ai_instance/target/logical/zpool/dataset_options/option@value'}}, ], }, }, {'be': { 'objpath': '/auto_install/ai_instance/target/logical/zpool/be', 'proplist': [ {'name': {'value_xpath': '/auto_install/ai_instance/target/logical/zpool/be@name'}}, ], 'subobjlist': [ {'be-option': { 'objpath': '/auto_install/ai_instance/target/logical/zpool/be/options/option', 'display': {'display_type': 'namevalue', 'display_name': 'name', 'display_value': 'value'}, 'proplist': [ {'name': {'value_xpath': '/auto_install/ai_instance/target/logical/zpool/be/options/option@name', }}, {'value': {'value_xpath': '/auto_install/ai_instance/target/logical/zpool/be/options/option@value'}}, ], }, }, ], }, }, {'vdev': { 'objpath': '/auto_install/ai_instance/target/logical/zpool/vdev', 'proplist': [ {'name': {'value_xpath': '/auto_install/ai_instance/target/logical/zpool/vdev@name'}}, {'redundancy': {'value_xpath': '/auto_install/ai_instance/target/logical/zpool/vdev@redundancy'}}, ], }, }, {'filesystem': { 'objpath': '/auto_install/ai_instance/target/logical/zpool/filesystem', 'proplist': [ {'name': {'value_xpath': '/auto_install/ai_instance/target/logical/zpool/filesystem@name'}}, {'action': {'value_xpath': '/auto_install/ai_instance/target/logical/zpool/filesystem@action'}}, {'in-be': {'value_xpath': '/auto_install/ai_instance/target/logical/zpool/filesystem@in_be', # is-root of pool must be true for in-be to be true 'constraints': { 'condition': { 'conditionsource': '/root/pool/is-root', 'conditionvalue': {'true': 'true'}, }, }, }}, {'mountpoint': {'value_xpath': '/auto_install/ai_instance/target/logical/zpool/filesystem@mountpoint', 'value_types': ['absolute_path']}}, ], 'subobjlist': [ {'option': { 'objpath': '/auto_install/ai_instance/target/logical/zpool/filesystem/options/option', 'display': {'display_type': 'namevalue', 'display_name': 'name', 'display_value': 'value'}, 'proplist': [ {'name': {'value_xpath': '/auto_install/ai_instance/target/logical/zpool/filesystem/options/option@name', }}, {'value': {'value_xpath': '/auto_install/ai_instance/target/logical/zpool/filesystem/options/option@value'}}, ], }, }, ], }, }, {'volume': { 'objpath': '/auto_install/ai_instance/target/logical/zpool/zvol', 'proplist': [ {'action': {'value_xpath': '/auto_install/ai_instance/target/logical/zpool/zvol@action'}}, {'name': {'value_xpath': '/auto_install/ai_instance/target/logical/zpool/zvol@name'}}, {'use': {'value_xpath': '/auto_install/ai_instance/target/logical/zpool/zvol@use'}}, {'size': {'value_xpath': '/auto_install/ai_instance/target/logical/zpool/zvol/size@val', 'value_types': ['size']}}, ], 'subobjlist': [ {'option': { 'objpath': '/auto_install/ai_instance/target/logical/zpool/zvol/options/option', 'display': {'display_type': 'namevalue', 'display_name': 'name', 'display_value': 'value'}, 'proplist': [ {'name': {'value_xpath': '/auto_install/ai_instance/target/logical/zpool/zvol/options/option@name', }}, {'value': {'value_xpath': '/auto_install/ai_instance/target/logical/zpool/zvol/options/option@value'}}, ], }, }, ], }, }, ], }, }, {'boot-mods': { 'objpath': '/auto_install/ai_instance/boot_mods', 'proplist': [ {'title': {'value_xpath': '/auto_install/ai_instance/boot_mods@title'}}, {'timeout': {'value_xpath': '/auto_install/ai_instance/boot_mods@timeout', 'value_types': ['integer']}}, ], 'subobjlist': [ {'boot-entry': { 'objpath': '/auto_install/ai_instance/boot_mods/boot_entry', 'proplist': [ {'default-entry': {'value_xpath': '/auto_install/ai_instance/boot_mods/boot_entry@default_entry'}}, {'insert-at': {'value_xpath': '/auto_install/ai_instance/boot_mods/boot_entry@insert_at'}}, {'title-suffix': {'value_xpath': '/auto_install/ai_instance/boot_mods/boot_entry/title_suffix'}}, {'kernel-args': {'value_xpath': '/auto_install/ai_instance/boot_mods/boot_entry/kernel_args'}}, ], }, }, {'bootadm': { 'objpath': '/auto_install/ai_instance/boot_mods/bootadm', 'proplist': [ {'cmd': {'value_xpath': '/auto_install/ai_instance/boot_mods/bootadm/cmd', 'multiple': True, }}, ], }, }, ], }, }, {'configuration': { 'objpath': '/auto_install/ai_instance/configuration', 'proplist': [ {'name': {'value_xpath': '/auto_install/ai_instance/configuration@name'}}, {'type': {'value_xpath': '/auto_install/ai_instance/configuration@type', 'value_types': ['unsupported: [network, sysconf, user]'], }}, {'source': {'value_xpath': '/auto_install/ai_instance/configuration@source'}}, {'archive': {'value_xpath': '/auto_install/ai_instance/configuration@archive'}}, ], }, }, ], }, }, ]