1 <?xml version='1.0' encoding='UTF-8' ?>
   2 
   3 <!--
   4  CDDL HEADER START
   5 
   6  The contents of this file are subject to the terms of the
   7  Common Development and Distribution License (the "License").
   8  You may not use this file except in compliance with the License.
   9 
  10  You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  11  or http://www.opensolaris.org/os/licensing.
  12  See the License for the specific language governing permissions
  13  and limitations under the License.
  14 
  15  When distributing Covered Code, include this CDDL HEADER in each
  16  file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  17  If applicable, add the following below this CDDL HEADER, with the
  18  fields enclosed by brackets "[]" replaced with your own identifying
  19  information: Portions Copyright [yyyy] [name of copyright owner]
  20 
  21  CDDL HEADER END
  22 
  23  Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
  24  Copyright (c) 2011, Joyent Inc. All rights reserved.
  25 
  26 -->
  27 
  28 <!--Element Definitions-->
  29 
  30 <!ELEMENT fsoption   EMPTY>
  31 <!ATTLIST fsoption   name            CDATA #REQUIRED>
  32 
  33 <!ELEMENT filesystem (fsoption)* >
  34 
  35 <!ATTLIST filesystem special         CDATA #REQUIRED
  36                         raw             CDATA ""
  37                         directory       CDATA #REQUIRED
  38                         type            CDATA #REQUIRED>
  39 
  40 <!--
  41  The "inherited-pkg-dir" element may no longer be specified in a
  42  configuration, however we retain the definition to aid with migration
  43  of existing configurations.
  44 -->
  45 
  46 <!ELEMENT inherited-pkg-dir  EMPTY>
  47 
  48 <!ATTLIST inherited-pkg-dir  directory       CDATA #REQUIRED>
  49 
  50 <!ELEMENT net-attr   EMPTY>
  51 <!ATTLIST net-attr   name            CDATA #REQUIRED
  52                         value           CDATA #REQUIRED>
  53 
  54 <!ELEMENT network    (net-attr)*>
  55 
  56 <!ATTLIST network    address         CDATA ""
  57                         allowed-address CDATA ""
  58                         defrouter       CDATA ""
  59                         global-nic      CDATA ""
  60                         mac-addr        CDATA ""
  61                         physical        CDATA #REQUIRED
  62                         vlan-id         CDATA "">
  63 
  64 <!ELEMENT device     (net-attr)*>
  65 
  66 <!ATTLIST device     match           CDATA #REQUIRED>
  67 
  68 <!--
  69         Historically, the deleted-device element denoted a used-to-be
  70         device element.  This was used to keep track of device elements
  71         deleted or modified by the user, and to cleanse /dev of such
  72         entries at next zone boot.
  73 
  74         With the ability to now configure devices dynamically, this
  75         requirement no longer exists, but this element MUST remain in
  76         perpetuity, since it is possible that an upgraded zone could
  77         carry a deleted-device element, and would therefore fail XML
  78         validation if removed
  79 -->
  80 <!ELEMENT deleted-device     EMPTY>
  81 
  82 <!ATTLIST deleted-device     match           CDATA #REQUIRED>
  83 
  84 <!ELEMENT rctl-value EMPTY>
  85 
  86 <!ATTLIST rctl-value priv            CDATA #REQUIRED
  87                         limit           CDATA #REQUIRED
  88                         action          CDATA #REQUIRED>
  89 
  90 <!ELEMENT rctl               (rctl-value)*>
  91 
  92 <!ATTLIST rctl               name            CDATA #REQUIRED>
  93 
  94 <!ELEMENT attr               EMPTY>
  95 
  96 <!ATTLIST attr               name            CDATA #REQUIRED
  97                         type            (boolean | int | string | uint)
  98                                         #REQUIRED
  99                         value           CDATA #REQUIRED>
 100 
 101 <!ELEMENT dataset    EMPTY>
 102 
 103 <!ATTLIST dataset    name            CDATA #REQUIRED>
 104 
 105 <!ELEMENT package    EMPTY>
 106 
 107 <!ATTLIST package    name            CDATA #REQUIRED
 108                         version         CDATA #REQUIRED>
 109 
 110 <!ELEMENT obsoletes  EMPTY>
 111 <!ATTLIST obsoletes  id              CDATA #REQUIRED>
 112 
 113 <!ELEMENT incompatible       EMPTY>
 114 <!ATTLIST incompatible       id              CDATA #REQUIRED>
 115 
 116 <!ELEMENT patch      (obsoletes | incompatible)* >
 117 
 118 <!ATTLIST patch              id              CDATA #REQUIRED>
 119 
 120 <!ELEMENT dev-perm   EMPTY>
 121 
 122 <!ATTLIST dev-perm   name            CDATA #REQUIRED
 123                         uid             CDATA #REQUIRED
 124                         gid             CDATA #REQUIRED
 125                         mode            CDATA #REQUIRED
 126                         acl             CDATA #REQUIRED>
 127 
 128 <!--
 129         The tmp_pool element is separate from the pset element so that
 130         we can track the importance value at the pool level, where it
 131         belongs, instead of at the pset level.  Once we have msets this
 132         will be important since tmp psets and tmp msets will share a common
 133         pool-level importance.
 134 -->
 135 <!ELEMENT tmp_pool   EMPTY>
 136 
 137 <!ATTLIST tmp_pool   importance      CDATA #REQUIRED>
 138 
 139 <!ELEMENT pset               EMPTY>
 140 
 141 <!ATTLIST pset               ncpu_min        CDATA #REQUIRED
 142                         ncpu_max        CDATA #REQUIRED>
 143 
 144 <!ELEMENT mcap               EMPTY>
 145 
 146 <!ATTLIST mcap               physcap         CDATA #REQUIRED>
 147 
 148 <!ELEMENT admin      EMPTY>
 149 
 150 <!ATTLIST admin      user            CDATA #REQUIRED
 151                         auths           CDATA #REQUIRED>
 152 
 153 <!ELEMENT zone               (filesystem | inherited-pkg-dir | network | device |
 154                         deleted-device | rctl | attr | dataset | package |
 155                         patch | dev-perm | tmp_pool | pset |
 156                         mcap | admin)*>
 157 
 158 <!ATTLIST zone               name            CDATA #REQUIRED
 159                         zonepath        CDATA #REQUIRED
 160                         autoboot        (true | false) #REQUIRED
 161                         ip-type         CDATA ""
 162                         hostid          CDATA ""
 163                         pool            CDATA ""
 164                         limitpriv       CDATA ""
 165                         bootargs        CDATA ""
 166                         brand           CDATA ""
 167                         debugid         CDATA ""
 168                         scheduling-class        CDATA ""
 169                         fs-allowed      CDATA ""
 170                         version         NMTOKEN #FIXED '1'>