1 <?xml version="1.0"?>
   2 <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
   3 <!--
   4  Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
   5 
   6  CDDL HEADER START
   7 
   8  The contents of this file are subject to the terms of the
   9  Common Development and Distribution License (the "License").
  10  You may not use this file except in compliance with the License.
  11 
  12  You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  13  or http://www.opensolaris.org/os/licensing.
  14  See the License for the specific language governing permissions
  15  and limitations under the License.
  16 
  17  When distributing Covered Code, include this CDDL HEADER in each
  18  file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  19  If applicable, add the following below this CDDL HEADER, with the
  20  fields enclosed by brackets "[]" replaced with your own identifying
  21  information: Portions Copyright [yyyy] [name of copyright owner]
  22 
  23  CDDL HEADER END
  24 
  25         NOTE:  This service manifest is not editable; its contents will
  26         be overwritten by package or patch operations, including
  27         operating system upgrade.  Make customizations in a different
  28         file.
  29 -->
  30 
  31 <service_bundle type='manifest' name='SUNWcsr:restarter'>
  32 
  33 <service
  34         name='system/svc/restarter'
  35         type='restarter'
  36         version='1'>
  37 
  38         <!--
  39             svc.startd manages itself.  However, this manifest allows
  40             us to set non-persistent properties before filesystems
  41             have been mounted r/w.
  42         -->
  43 
  44         <create_default_instance enabled='true' />
  45 
  46         <single_instance/>
  47 
  48         <!--
  49             The restarter is actually started by init, so these methods are
  50             ignored.  However, they are required by definition and are
  51             included here to avoid spurious validation errors.
  52         -->
  53         <exec_method
  54                 type='method'
  55                 name='start'
  56                 exec=':true'
  57                 timeout_seconds='0' />
  58 
  59         <exec_method
  60                 type='method'
  61                 name='stop'
  62                 exec=':true'
  63                 timeout_seconds='0' />
  64 
  65         <stability value='Unstable' />
  66 
  67         <template>
  68                 <common_name>
  69                         <loctext xml:lang='C'>
  70 master restarter
  71                         </loctext>
  72                 </common_name>
  73                 <documentation>
  74                         <manpage title='svc.startd' section='1M'
  75                             manpath='/usr/share/man' />
  76                         <manpage title='smf_method' section='5'
  77                             manpath='/usr/share/man' />
  78                         <manpage title='smf' section='5'
  79                             manpath='/usr/share/man' />
  80                 </documentation>
  81 
  82                 <!--
  83                     Much of the restarter pg is populated by librestart, but
  84                     because svc.startd augments the property group, we choose
  85                     to define the entire property group as restarter-specific
  86                     rather than define it globally and miss some of the
  87                     properties.  Templates does not currently provide a way
  88                     to have multiple entities 'own' and describe a property
  89                     group.
  90                 -->
  91                 <pg_pattern name='restarter' type='framework'
  92                     target='delegate' required='false'>
  93                         <description>
  94                                 <loctext xml:lang='C'>
  95 Communicate restarter-set status of the service.
  96                                 </loctext>
  97                         </description>
  98                         <prop_pattern name='alt_logfile' type='astring'
  99                             required='false'>
 100                                 <description>
 101                                         <loctext xml:lang='C'>
 102 The logfile for restarter actions on this service and any direct output from its methods which occurred before the /var filesystem was available.
 103                                         </loctext>
 104                                 </description>
 105                                 <visibility value='readonly'/>
 106                                 <cardinality min='1' max='1'/>
 107                         </prop_pattern>
 108                         <prop_pattern name='logfile' type='astring'
 109                             required='false'>
 110                                 <description>
 111                                         <loctext xml:lang='C'>
 112 The logfile for restarter actions on this service and any direct output from its methods.
 113                                         </loctext>
 114                                 </description>
 115                                 <visibility value='readonly'/>
 116                                 <cardinality min='1' max='1'/>
 117                         </prop_pattern>
 118                         <prop_pattern name='contract' type='count'
 119                             required='false'>
 120                                 <description>
 121                                         <loctext xml:lang='C'>
 122 Primary process contract for a 'contract' or 'child' service.
 123                                         </loctext>
 124                                 </description>
 125                                 <visibility value='readonly'/>
 126                                 <cardinality min='1' max='1'/>
 127                         </prop_pattern>
 128                         <prop_pattern name='start_pid' type='count'
 129                             required='false'>
 130                                 <description>
 131                                         <loctext xml:lang='C'>
 132 PID last launched as the start method for this service.
 133                                         </loctext>
 134                                 </description>
 135                                 <visibility value='readonly'/>
 136                                 <cardinality min='1' max='1'/>
 137                         </prop_pattern>
 138                         <prop_pattern name='start_method_timestamp' type='time'
 139                             required='false'>
 140                                 <description>
 141                                         <loctext xml:lang='C'>
 142 Time the start method was last run.
 143                                         </loctext>
 144                                 </description>
 145                                 <visibility value='readonly'/>
 146                                 <cardinality min='1' max='1'/>
 147                         </prop_pattern>
 148                         <prop_pattern name='auxiliary_state' type='astring'
 149                             required='false'>
 150                                 <description>
 151                                         <loctext xml:lang='C'>
 152 Restarter-set auxiliary information about the current state.
 153                                         </loctext>
 154                                 </description>
 155                                 <visibility value='readonly'/>
 156                                 <cardinality min='1' max='1'/>
 157                         </prop_pattern>
 158                         <prop_pattern name='auxiliary_fmri' type='astring'
 159                             required='false'>
 160                                 <description>
 161                                         <loctext xml:lang='C'>
 162 Auxiliary fmri information for service state diagnosis.
 163                                         </loctext>
 164                                 </description>
 165                                 <visibility value='hidden' />
 166                         </prop_pattern>
 167                         <prop_pattern name='state_timestamp' type='time'
 168                             required='false'>
 169                                 <description>
 170                                         <loctext xml:lang='C'>
 171 Time the current state was reached.
 172                                         </loctext>
 173                                 </description>
 174                                 <visibility value='readonly'/>
 175                                 <cardinality min='1' max='1'/>
 176                         </prop_pattern>
 177                         <prop_pattern name='state' type='astring'
 178                             required='false'>
 179                                 <description>
 180                                         <loctext xml:lang='C'>
 181 The current state of this service instance.
 182                                         </loctext>
 183                                 </description>
 184                                 <visibility value='readonly'/>
 185                                 <cardinality min='1' max='1'/>
 186                                 <constraints>
 187                                         <value name="online">
 188                                                 <description>
 189                                                         <loctext xml:lang='C'>
 190 The instance is online and running.
 191                                                         </loctext>
 192                                                 </description>
 193                                         </value>
 194                                         <value name="offline">
 195                                                 <description>
 196                                                         <loctext xml:lang='C'>
 197 The instance is enabled, but not yet running or available to run.  The most common reason for service instances to be in this state is because one or more of their dependencies are not satisfied.
 198                                                         </loctext>
 199                                                 </description>
 200                                         </value>
 201                                         <value name="uninitialized">
 202                                                 <description>
 203                                                         <loctext xml:lang='C'>
 204 The initial state for all instances before svc.startd has had a chance to evaluate on them.  Instances are in this state when their restarter has not yet started.
 205                                                         </loctext>
 206                                                 </description>
 207                                         </value>
 208                                         <value name="degraded">
 209                                                 <description>
 210                                                         <loctext xml:lang='C'>
 211 The instance is enabled and running or available to run. The instance, however, is functioning at a limited capacity in comparison to normal operation.
 212                                                         </loctext>
 213                                                 </description>
 214                                         </value>
 215                                         <value name="disabled">
 216                                                 <description>
 217                                                         <loctext xml:lang='C'>
 218 The instance is disabled.
 219                                                         </loctext>
 220                                                 </description>
 221                                         </value>
 222                                         <value name="maintenance">
 223                                                 <description>
 224                                                         <loctext xml:lang='C'>
 225 The instance is enabled, but not able to run.  Administrative action is required to restore the instance to offline and subsequent states.
 226                                                         </loctext>
 227                                                 </description>
 228                                         </value>
 229                                 </constraints>
 230                         </prop_pattern>
 231                         <prop_pattern name='next_state' type='astring'
 232                             required='false'>
 233                                 <description>
 234                                         <loctext xml:lang='C'>
 235 The next expected state of this instance.
 236                                         </loctext>
 237                                 </description>
 238                                 <visibility value='readonly'/>
 239                                 <cardinality min='1' max='1'/>
 240                                 <constraints>
 241                                         <value name="online">
 242                                                 <description>
 243                                                         <loctext xml:lang='C'>
 244 The instance is being started, and will soon be online and running.  This transition may fail and the instance may end up in offiline or maintenance instead.
 245                                                         </loctext>
 246                                                 </description>
 247                                         </value>
 248                                         <value name="offline">
 249                                                 <description>
 250                                                         <loctext xml:lang='C'>
 251 The instance has been temporarily stopped.  Most instances will leave this state once their dependencies are satisfied.
 252                                                         </loctext>
 253                                                 </description>
 254                                         </value>
 255                                         <value name="degraded">
 256                                                 <description>
 257                                                         <loctext xml:lang='C'>
 258 The instance will be enabled and availble to run, although in a limited capacity.
 259                                                         </loctext>
 260                                                 </description>
 261                                         </value>
 262                                         <value name="disabled">
 263                                                 <description>
 264                                                         <loctext xml:lang='C'>
 265 The instance will be disabled.
 266                                                         </loctext>
 267                                                 </description>
 268                                         </value>
 269                                         <value name="maintenance">
 270                                                 <description>
 271                                                         <loctext xml:lang='C'>
 272 The instance will be in maintenance, and administrative action will be required to restore the instance to offline and subsequent states.
 273                                                         </loctext>
 274                                                 </description>
 275                                         </value>
 276                                         <value name="none">
 277                                                 <description>
 278                                                         <loctext xml:lang='C'>
 279 The instance is not currently transitioning between states.
 280                                                         </loctext>
 281                                                 </description>
 282                                         </value>
 283                                 </constraints>
 284                         </prop_pattern>
 285                 </pg_pattern>
 286 
 287                 <pg_pattern name='options' type='application'
 288                     target='this' required='false'>
 289                         <description>
 290                                 <loctext xml:lang='C'>
 291 Specify options for the svc.startd restarter.
 292                                 </loctext>
 293                         </description>
 294 
 295                         <prop_pattern name='boot_messages' type='astring'
 296                             required='false'>
 297                                 <description>
 298                                         <loctext xml:lang='C'>
 299 Define verbosity of messages to print to the console during boot.
 300                                         </loctext>
 301                                 </description>
 302                                 <cardinality min='1' max='1'/>
 303                                 <constraints>
 304                                 <value name='quiet'>
 305                                         <description>
 306                                                 <loctext xml:lang='C'>
 307 Issue console messages only on service failures.
 308                                                 </loctext>
 309                                         </description>
 310                                 </value>
 311                                 <value name='verbose'>
 312                                         <description>
 313                                                 <loctext xml:lang='C'>
 314 Print a message per service started to indicate success or failure.
 315                                                 </loctext>
 316                                         </description>
 317                                 </value>
 318                                 </constraints>
 319                                 <choices>
 320                                         <include_values type='constraints'/>
 321                                 </choices>
 322                         </prop_pattern>
 323 
 324                         <prop_pattern name='logging' type='astring'
 325                             required='false'>
 326                                 <description>
 327                                         <loctext xml:lang='C'>
 328 Control the level of global service logging for svc.startd.
 329                                         </loctext>
 330                                 </description>
 331                                 <cardinality min='1' max='1'/>
 332                                 <constraints>
 333                                 <value name='quiet'>
 334                                         <description>
 335                                                 <loctext xml:lang='C'>
 336 Send error messages requiring administrative intervention to console, syslog, and svc.startd's global logfile.
 337                                                 </loctext>
 338                                         </description>
 339                                 </value>
 340                                 <value name='verbose'>
 341                                         <description>
 342                                                 <loctext xml:lang='C'>
 343 Sends a message per service started to the console, error messages requiring administrative intervention to console, syslog, and svc.startd's global logfile, and information about errors which do not require intervention to the logfile.
 344                                                 </loctext>
 345                                         </description>
 346                                 </value>
 347                                 <value name='debug'>
 348                                         <description>
 349                                                 <loctext xml:lang='C'>
 350 Send debug messages to svc.startd's global logfile, error messages requiring administrative intervention to the console, syslog, and the logfile, and a message per service started to the console.
 351                                                 </loctext>
 352                                         </description>
 353                                 </value>
 354                                 </constraints>
 355                                 <choices>
 356                                         <include_values type='constraints'/>
 357                                 </choices>
 358                         </prop_pattern>
 359 
 360                         <prop_pattern name='milestone' type='astring'
 361                             required='false'>
 362                                 <description>
 363                                         <loctext xml:lang='C'>
 364 An FRMI which defines the milestone used as the default boot level.
 365                                         </loctext>
 366                                 </description>
 367                                 <cardinality min='1' max='1'/>
 368                                 <constraints>
 369                                 <value
 370                                     name='svc:/milestone/single-user:default'>
 371                                 </value>
 372                                 <value
 373                                     name='svc:/milestone/multi-user:default'>
 374                                 </value>
 375                                 <value name=
 376                                     'svc:/milestone/multi-user-server:default'>
 377                                 </value>
 378                                 <value name='all'>
 379                                         <description>
 380                                                 <loctext xml:lang='C'>
 381 Start all enabled services.
 382                                                 </loctext>
 383                                         </description>
 384                                 </value>
 385                                 <value name='none'>
 386                                         <description>
 387                                                 <loctext xml:lang='C'>
 388 Start no services.
 389                                                 </loctext>
 390                                         </description>
 391                                 </value>
 392                                 </constraints>
 393                         </prop_pattern>
 394                         <prop_pattern name='info_event_all' type='boolean'
 395                             required='false'>
 396                                 <description>
 397                                         <loctext xml:lang='C'>
 398 Override notification parameters and raise Information Events on all state transitions
 399                                         </loctext>
 400                                 </description>
 401                                 <visibility value='hidden' />
 402                         </prop_pattern>
 403                 </pg_pattern>
 404 
 405                 <pg_pattern name='system' type='framework'
 406                     target='this' required='false'>
 407                         <prop_pattern name='reconfigure' type='boolean'
 408                             required='false'>
 409                                 <description>
 410                                         <loctext xml:lang='C'>
 411 Indicates that a reconfiguration reboot has been requested.
 412                                         </loctext>
 413                                 </description>
 414                                 <visibility value='readonly'/>
 415                                 <cardinality min='1' max='1'/>
 416                         </prop_pattern>
 417                 </pg_pattern>
 418 
 419                 <pg_pattern name='startd' type='framework'
 420                     target='delegate' required='false'>
 421                         <description>
 422                                 <loctext xml:lang='C'>
 423 Information about how a service instance is managed by svc.startd, which is supplied by the service author, sometimes modified by the administrator.
 424                                 </loctext>
 425                         </description>
 426 
 427                         <prop_pattern name='duration' type='astring'
 428                             required='false'>
 429                                 <description>
 430                                         <loctext xml:lang='C'>
 431 Defines the service's model.
 432                                         </loctext>
 433                                 </description>
 434                                 <cardinality min='1' max='1'/>
 435                                 <constraints>
 436                                 <value name='contract'>
 437                                         <description>
 438                                                 <loctext xml:lang='C'>
 439 A standard system daemon, which runs forever to provide a service.  It is not considered online until the start method process exits, though child processes are monitored for errors.
 440                                                 </loctext>
 441                                         </description>
 442                                 </value>
 443                                 <value name='transient'>
 444                                         <description>
 445                                                 <loctext xml:lang='C'>
 446 The service is online as soon as its start method returns -- child processes are not monitored.
 447                                                 </loctext>
 448                                         </description>
 449                                 </value>
 450                                 <value name='child'>
 451                                         <description>
 452                                                 <loctext xml:lang='C'>
 453 A service which runs for the lifetime of the child process, and is restarted when that process exits.
 454                                                 </loctext>
 455                                         </description>
 456                                 </value>
 457                                 </constraints>
 458                                 <choices>
 459                                         <include_values type='constraints'/>
 460                                 </choices>
 461                         </prop_pattern>
 462                         <prop_pattern name='ignore_error' type='astring'
 463                             required='false'>
 464                                 <description>
 465                                         <loctext xml:lang='C'>
 466 A list of events which should not be considered service errors by svc.startd.
 467                                         </loctext>
 468                                 </description>
 469                                 <cardinality min='1' max='1'/>
 470                                 <!--
 471                                     We won't recommend this as a choice since
 472                                     it's only here to work around the fact
 473                                     that startd defines this as a single
 474                                     value rather than a value list *and*
 475                                     templates doesn't currently take care
 476                                     of assembling separately defined
 477                                     values with the defined internal separator.
 478                                 -->
 479                                 <values>
 480                                 <value name='signal,core'>
 481                                         <description>
 482                                                 <loctext xml:lang='C'>
 483 svc.startd should ignore coredumps and signals sent from outside the service.
 484                                                 </loctext>
 485                                         </description>
 486                                 </value>
 487                                 </values>
 488                                 <choices>
 489                                 <value name='core'>
 490                                         <description>
 491                                                 <loctext xml:lang='C'>
 492 svc.startd should ignore coredumps from subprocesses.
 493                                                 </loctext>
 494                                         </description>
 495                                 </value>
 496                                 <value name='signal'>
 497                                         <description>
 498                                                 <loctext xml:lang='C'>
 499 svc.startd should ignore signals sent from outside the service.
 500                                                 </loctext>
 501                                         </description>
 502                                 </value>
 503                                 <value name='core,signal'>
 504                                         <description>
 505                                                 <loctext xml:lang='C'>
 506 svc.startd should ignore coredumps and signals sent from outside the service.
 507                                                 </loctext>
 508                                         </description>
 509                                 </value>
 510                                 </choices>
 511                         </prop_pattern>
 512                         <prop_pattern name='need_session' type='boolean'
 513                             required='false'>
 514                                 <description>
 515                                         <loctext xml:lang='C'>
 516 The instance should be launched in its own session per setpgrp(2).
 517                                         </loctext>
 518                                 </description>
 519                                 <cardinality min='1' max='1'/>
 520                         </prop_pattern>
 521                         <prop_pattern name='utmpx_prefix' type='astring'
 522                             required='false'>
 523                                 <description>
 524                                         <loctext xml:lang='C'>
 525 The instance requires that svc.startd create a valid utmpx entry prior to start method execution.
 526                                         </loctext>
 527                                 </description>
 528                                 <cardinality min='1' max='1'/>
 529                         </prop_pattern>
 530                 </pg_pattern>
 531 
 532                 <pg_pattern name='start' type='method' target='delegate'
 533                     required='true'>
 534                         <description>
 535                                 <loctext xml:lang='C'>
 536 The start method defines how svc.startd should start the instance.
 537                                 </loctext>
 538                         </description>
 539                         <prop_pattern name='exec' type='astring'
 540                             required='true'>
 541                                 <common_name>
 542                                         <loctext xml:lang='C'>
 543 method executable
 544                                         </loctext>
 545                                 </common_name>
 546                                 <description>
 547                                         <loctext xml:lang='C'>
 548 The method executable may be a script, program, or keyword.
 549                                         </loctext>
 550                                 </description>
 551                                 <cardinality min='1' max='1'/>
 552                                 <values>
 553                                         <value name=':true'>
 554                                                 <description>
 555                                                         <loctext xml:lang='C'>
 556 Always returns SMF_EXIT_OK. This token should be used when the start method is unnecessary for the particular service implementation.
 557                                                         </loctext>
 558                                                 </description>
 559                                         </value>
 560                                         <value name=':kill [-signal]'>
 561                                                 <description>
 562                                                         <loctext xml:lang='C'>
 563 Sends the specified signal, which is SIGTERM by default, to all processes in the primary instance contract. Always returns SMF_EXIT_OK. This token should be used to replace common pkill invocations.
 564 
 565                                                         </loctext>
 566                                                 </description>
 567                                         </value>
 568                                 </values>
 569                                 <choices>
 570                                         <include_values type='values'/>
 571                                 </choices>
 572                         </prop_pattern>
 573 
 574                         <prop_pattern name='type' type='astring'
 575                             required='true'>
 576                                 <description>
 577                                         <loctext xml:lang='C'>
 578 A method may only be of type method.
 579                                         </loctext>
 580                                 </description>
 581                                 <cardinality min='1' max='1'/>
 582                                 <constraints>
 583                                         <value name="method"/>
 584                                 </constraints>
 585                         </prop_pattern>
 586 
 587                         <prop_pattern name='timeout_seconds' type='count'
 588                             required='true'>
 589                                 <description>
 590                                         <loctext xml:lang='C'>
 591 Number of seconds before the method is considered unresponsive.  After the method timeout expires, the method will be killed.
 592                                         </loctext>
 593                                 </description>
 594                                 <cardinality min='1' max='1'/>
 595                                 <values>
 596                                         <value name="0">
 597                                                 <common_name>
 598                                                         <loctext xml:lang='C'>
 599 infinite
 600                                                         </loctext>
 601                                                 </common_name>
 602                                                 <description>
 603                                                         <loctext xml:lang='C'>
 604 This method will never time out.
 605                                                         </loctext>
 606                                                 </description>
 607                                         </value>
 608                                         <value name="-1">
 609                                                 <common_name>
 610                                                         <loctext xml:lang='C'>
 611 infinite (legacy)
 612                                                         </loctext>
 613                                                 </common_name>
 614                                                 <description>
 615                                                         <loctext xml:lang='C'>
 616 This method will never time out.  0 is the preferred value.
 617                                                         </loctext>
 618                                                 </description>
 619                                         </value>
 620                                 </values>
 621                         </prop_pattern>
 622 
 623                         <!-- method_context direct properties -->
 624                         <prop_pattern name='working_directory' type='astring'
 625                             required='false'>
 626                                 <description>
 627                                         <loctext xml:lang='C'>
 628 The working directory to launch the method from.  ":default" can be used as a token to indicate the home directory of the user specified by the credential or profile.
 629                                         </loctext>
 630                                 </description>
 631                                 <cardinality min='1' max='1'/>
 632                         </prop_pattern>
 633                         <prop_pattern name='project' type='astring'
 634                             required='false'>
 635                                 <description>
 636                                         <loctext xml:lang='C'>
 637 The project ID in numeric or text form.  :default can be used as a token to indicate a project identified by getdefaultproj(3PROJECT) for the user whose uid is used to launch the method.
 638                                         </loctext>
 639                                 </description>
 640                                 <cardinality min='1' max='1'/>
 641                         </prop_pattern>
 642                         <prop_pattern name='resource_pool' type='astring'
 643                             required='false'>
 644                                 <common_name>
 645                                         <loctext xml:lang='C'>
 646 method context resource pool
 647                                         </loctext>
 648                                 </common_name>
 649                                 <description>
 650                                         <loctext xml:lang='C'>
 651 The resource pool name on which to launch the method.  :default can be used
 652 as a token to indicate the pool specified in the project(4) entry given in
 653 the project attribute.
 654                                         </loctext>
 655                                 </description>
 656                                 <cardinality min='1' max='1'/>
 657                         </prop_pattern>
 658 
 659                         <!-- method_credential properties -->
 660                         <prop_pattern name='user' type='astring'
 661                             required='false'>
 662                                 <common_name>
 663                                         <loctext xml:lang='C'>
 664 method credential user
 665                                         </loctext>
 666                                 </common_name>
 667                                 <description>
 668                                         <loctext xml:lang='C'>
 669 The user ID in numeric or text form.
 670                                         </loctext>
 671                                 </description>
 672                                 <cardinality min='1' max='1'/>
 673                         </prop_pattern>
 674                         <prop_pattern name='group' type='astring'
 675                             required='false'>
 676                                 <common_name>
 677                                         <loctext xml:lang='C'>
 678 method credential group
 679                                         </loctext>
 680                                 </common_name>
 681                                 <description>
 682                                         <loctext xml:lang='C'>
 683 The group ID in numeric or text form.
 684                                         </loctext>
 685                                 </description>
 686                                 <cardinality min='1' max='1'/>
 687                         </prop_pattern>
 688                         <prop_pattern name='supp_groups' type='astring'
 689                             required='false'>
 690                                 <common_name>
 691                                         <loctext xml:lang='C'>
 692 method credential supplemental groups
 693                                         </loctext>
 694                                 </common_name>
 695                                 <description>
 696                                         <loctext xml:lang='C'>
 697 An optional string that specifies the supplemental group memberships by ID,
 698 in numeric or text form.
 699                                         </loctext>
 700                                 </description>
 701                                 <cardinality min='1' max='1'/>
 702                                 <internal_separators>,</internal_separators>
 703                         </prop_pattern>
 704                         <prop_pattern name='privileges' type='astring'
 705                             required='false'>
 706                                 <common_name>
 707                                         <loctext xml:lang='C'>
 708 method credential privileges
 709                                         </loctext>
 710                                 </common_name>
 711                                 <description>
 712                                         <loctext xml:lang='C'>
 713 An optional string specifying the privilege set as defined in privileges(5).
 714                                         </loctext>
 715                                 </description>
 716                                 <cardinality min='1' max='1'/>
 717                                 <internal_separators>,</internal_separators>
 718                         </prop_pattern>
 719                         <prop_pattern name='limit_privileges' type='astring'
 720                             required='false'>
 721                                 <common_name>
 722                                         <loctext xml:lang='C'>
 723 method credential limit privilege set
 724                                         </loctext>
 725                                 </common_name>
 726                                 <description>
 727                                         <loctext xml:lang='C'>
 728 An optional string specifying the limit privilege set as defined in
 729 privileges(5).
 730                                         </loctext>
 731                                 </description>
 732                                 <cardinality min='1' max='1'/>
 733                                 <internal_separators>,</internal_separators>
 734                         </prop_pattern>
 735 
 736                         <!-- method_profile properties -->
 737                         <prop_pattern name='use_profile' type='boolean'
 738                             required='false'>
 739                                 <description>
 740                                         <loctext xml:lang='C'>
 741 A boolean that specifies whether the profile should be used instead of the
 742 user, group, privileges, and limit_privileges properties.
 743                                         </loctext>
 744                                 </description>
 745                                 <cardinality min='1' max='1'/>
 746                         </prop_pattern>
 747                         <prop_pattern name='profile' type='astring'
 748                             required='false'>
 749                                 <common_name>
 750                                         <loctext xml:lang='C'>
 751 method profile RBAC profile specification 
 752                                         </loctext>
 753                                 </common_name>
 754                                 <description>
 755                                         <loctext xml:lang='C'>
 756 The name of an RBAC (role-based access control) profile which, along with the
 757 method executable, identifies an entry in exec_attr(4).
 758                                         </loctext>
 759                                 </description>
 760                                 <cardinality min='1' max='1'/>
 761                         </prop_pattern>
 762 
 763                         <!-- method_environment properties -->
 764                         <prop_pattern name='environment' type='astring'
 765                             required='false'>
 766                                 <common_name>
 767                                         <loctext xml:lang='C'>
 768 method environment variables
 769                                         </loctext>
 770                                 </common_name>
 771                                 <description>
 772                                         <loctext xml:lang='C'>
 773 Environment variables to insert into the environment of the method, in the
 774 form of a number of NAME=value strings.
 775                                         </loctext>
 776                                 </description>
 777                         </prop_pattern>
 778                 </pg_pattern>
 779 
 780                 <pg_pattern name='stop' type='method' target='delegate'
 781                     required='true'>
 782                         <description>
 783                                 <loctext xml:lang='C'>
 784 The stop method defines how svc.startd should stop the instance.
 785                                 </loctext>
 786                         </description>
 787                         <prop_pattern name='exec' type='astring'
 788                             required='true'>
 789                                 <common_name>
 790                                         <loctext xml:lang='C'>
 791 method executable
 792                                         </loctext>
 793                                 </common_name>
 794                                 <description>
 795                                         <loctext xml:lang='C'>
 796 The method executable may be a script, program, or keyword.
 797                                         </loctext>
 798                                 </description>
 799                                 <cardinality min='1' max='1'/>
 800                                 <values>
 801                                         <value name=':true'>
 802                                                 <description>
 803                                                         <loctext xml:lang='C'>
 804 Always returns SMF_EXIT_OK. This token should be used when the stop method is unnecessary for the particular service implementation.
 805                                                         </loctext>
 806                                                 </description>
 807                                         </value>
 808                                         <value name=':kill [-signal]'>
 809                                                 <description>
 810                                                         <loctext xml:lang='C'>
 811 Sends the specified signal, which is SIGTERM by default, to all processes in the primary instance contract. Always returns SMF_EXIT_OK. This token should be used to replace common pkill invocations.
 812                                                         </loctext>
 813                                                 </description>
 814                                         </value>
 815                                 </values>
 816                                 <choices>
 817                                         <include_values type='values'/>
 818                                 </choices>
 819                         </prop_pattern>
 820 
 821                         <prop_pattern name='type' type='astring'
 822                             required='true'>
 823                                 <description>
 824                                         <loctext xml:lang='C'>
 825 A method may only be of type method.
 826                                         </loctext>
 827                                 </description>
 828                                 <cardinality min='1' max='1'/>
 829                                 <constraints>
 830                                         <value name="method"/>
 831                                 </constraints>
 832                         </prop_pattern>
 833 
 834                         <prop_pattern name='timeout_seconds' type='count'
 835                             required='true'>
 836                                 <description>
 837                                         <loctext xml:lang='C'>
 838 Number of seconds before the method is considered unresponsive.  After the method timeout expires, the method will be killed.
 839                                         </loctext>
 840                                 </description>
 841                                 <cardinality min='1' max='1'/>
 842                                 <values>
 843                                         <value name="0">
 844                                                 <common_name>
 845                                                         <loctext xml:lang='C'>
 846 infinite
 847                                                         </loctext>
 848                                                 </common_name>
 849                                                 <description>
 850                                                         <loctext xml:lang='C'>
 851 This method will never time out.
 852                                                         </loctext>
 853                                                 </description>
 854                                         </value>
 855                                         <value name="-1">
 856                                                 <common_name>
 857                                                         <loctext xml:lang='C'>
 858 infinite (legacy)
 859                                                         </loctext>
 860                                                 </common_name>
 861                                                 <description>
 862                                                         <loctext xml:lang='C'>
 863 This method will never time out.  0 is the preferred value.
 864                                                         </loctext>
 865                                                 </description>
 866                                         </value>
 867                                 </values>
 868                         </prop_pattern>
 869 
 870                         <!-- method_context direct properties -->
 871                         <prop_pattern name='working_directory' type='astring'
 872                             required='false'>
 873                                 <description>
 874                                         <loctext xml:lang='C'>
 875 The working directory to launch the method from.  ":default" can be used as a token to indicate the home directory of the user specified by the credential or profile.
 876                                         </loctext>
 877                                 </description>
 878                                 <cardinality min='1' max='1'/>
 879                         </prop_pattern>
 880                         <prop_pattern name='project' type='astring'
 881                             required='false'>
 882                                 <description>
 883                                         <loctext xml:lang='C'>
 884 The project ID in numeric or text form.  :default can be used as a token to indicate a project identified by getdefaultproj(3PROJECT) for the user whose uid is used to launch the method.
 885                                         </loctext>
 886                                 </description>
 887                                 <cardinality min='1' max='1'/>
 888                         </prop_pattern>
 889                         <prop_pattern name='resource_pool' type='astring'
 890                             required='false'>
 891                                 <common_name>
 892                                         <loctext xml:lang='C'>
 893 method context resource pool
 894                                         </loctext>
 895                                 </common_name>
 896                                 <description>
 897                                         <loctext xml:lang='C'>
 898 The resource pool name on which to launch the method.  :default can be used
 899 as a token to indicate the pool specified in the project(4) entry given in
 900 the project attribute.
 901                                         </loctext>
 902                                 </description>
 903                                 <cardinality min='1' max='1'/>
 904                         </prop_pattern>
 905 
 906                         <!-- method_credential properties -->
 907                         <prop_pattern name='user' type='astring'
 908                             required='false'>
 909                                 <common_name>
 910                                         <loctext xml:lang='C'>
 911 method credential user
 912                                         </loctext>
 913                                 </common_name>
 914                                 <description>
 915                                         <loctext xml:lang='C'>
 916 The user ID in numeric or text form.
 917                                         </loctext>
 918                                 </description>
 919                                 <cardinality min='1' max='1'/>
 920                         </prop_pattern>
 921                         <prop_pattern name='group' type='astring'
 922                             required='false'>
 923                                 <common_name>
 924                                         <loctext xml:lang='C'>
 925 method credential group
 926                                         </loctext>
 927                                 </common_name>
 928                                 <description>
 929                                         <loctext xml:lang='C'>
 930 The group ID in numeric or text form.
 931                                         </loctext>
 932                                 </description>
 933                                 <cardinality min='1' max='1'/>
 934                         </prop_pattern>
 935                         <prop_pattern name='supp_groups' type='astring'
 936                             required='false'>
 937                                 <common_name>
 938                                         <loctext xml:lang='C'>
 939 method credential supplemental groups
 940                                         </loctext>
 941                                 </common_name>
 942                                 <description>
 943                                         <loctext xml:lang='C'>
 944 An optional string that specifies the supplemental group memberships by ID,
 945 in numeric or text form.
 946                                         </loctext>
 947                                 </description>
 948                                 <cardinality min='1' max='1'/>
 949                                 <internal_separators>,</internal_separators>
 950                         </prop_pattern>
 951                         <prop_pattern name='privileges' type='astring'
 952                             required='false'>
 953                                 <common_name>
 954                                         <loctext xml:lang='C'>
 955 method credential privileges
 956                                         </loctext>
 957                                 </common_name>
 958                                 <description>
 959                                         <loctext xml:lang='C'>
 960 An optional string specifying the privilege set as defined in privileges(5).
 961                                         </loctext>
 962                                 </description>
 963                                 <cardinality min='1' max='1'/>
 964                                 <internal_separators>,</internal_separators>
 965                         </prop_pattern>
 966                         <prop_pattern name='limit_privileges' type='astring'
 967                             required='false'>
 968                                 <common_name>
 969                                         <loctext xml:lang='C'>
 970 method credential limit privilege set
 971                                         </loctext>
 972                                 </common_name>
 973                                 <description>
 974                                         <loctext xml:lang='C'>
 975 An optional string specifying the limit privilege set as defined in
 976 privileges(5).
 977                                         </loctext>
 978                                 </description>
 979                                 <cardinality min='1' max='1'/>
 980                                 <internal_separators>,</internal_separators>
 981                         </prop_pattern>
 982 
 983                         <!-- method_profile properties -->
 984                         <prop_pattern name='use_profile' type='boolean'
 985                             required='false'>
 986                                 <description>
 987                                         <loctext xml:lang='C'>
 988 A boolean that specifies whether the profile should be used instead of the
 989 user, group, privileges, and limit_privileges properties.
 990                                         </loctext>
 991                                 </description>
 992                                 <cardinality min='1' max='1'/>
 993                         </prop_pattern>
 994                         <prop_pattern name='profile' type='astring'
 995                             required='false'>
 996                                 <common_name>
 997                                         <loctext xml:lang='C'>
 998 method profile RBAC profile specification 
 999                                         </loctext>
1000                                 </common_name>
1001                                 <description>
1002                                         <loctext xml:lang='C'>
1003 The name of an RBAC (role-based access control) profile which, along with the
1004 method executable, identifies an entry in exec_attr(4).
1005                                         </loctext>
1006                                 </description>
1007                                 <cardinality min='1' max='1'/>
1008                         </prop_pattern>
1009 
1010                         <!-- method_environment properties -->
1011                         <prop_pattern name='environment' type='astring'
1012                             required='false'>
1013                                 <common_name>
1014                                         <loctext xml:lang='C'>
1015 method environment variables
1016                                         </loctext>
1017                                 </common_name>
1018                                 <description>
1019                                         <loctext xml:lang='C'>
1020 Environment variables to insert into the environment of the method, in the
1021 form of a number of NAME=value strings.
1022                                         </loctext>
1023                                 </description>
1024                         </prop_pattern>
1025                 </pg_pattern>
1026 
1027                 <pg_pattern name='refresh' type='method' target='delegate'
1028                     required='false'>
1029                         <description>
1030                                 <loctext xml:lang='C'>
1031 The refresh method defines how svc.startd should upload new configuration to the service without interrupting its operation.
1032                                 </loctext>
1033                         </description>
1034                         <prop_pattern name='exec' type='astring'
1035                             required='true'>
1036                                 <common_name>
1037                                         <loctext xml:lang='C'>
1038 method executable
1039                                         </loctext>
1040                                 </common_name>
1041                                 <description>
1042                                         <loctext xml:lang='C'>
1043 The method executable may be a script, program, or keyword.
1044                                         </loctext>
1045                                 </description>
1046                                 <cardinality min='1' max='1'/>
1047                                 <values>
1048                                         <value name=':true'>
1049                                                 <description>
1050                                                         <loctext xml:lang='C'>
1051 Always returns SMF_EXIT_OK.
1052                                                         </loctext>
1053                                                 </description>
1054                                         </value>
1055                                         <value name=':kill [-signal]'>
1056                                                 <description>
1057                                                         <loctext xml:lang='C'>
1058 Sends the specified signal, which is SIGTERM by default, to all processes in the primary instance contract. Always returns SMF_EXIT_OK. This token should be used to replace common kill -HUP invocations.
1059                                                         </loctext>
1060                                                 </description>
1061                                         </value>
1062                                 </values>
1063                                 <choices>
1064                                         <include_values type='values'/>
1065                                 </choices>
1066                         </prop_pattern>
1067 
1068                         <prop_pattern name='type' type='astring'
1069                             required='true'>
1070                                 <description>
1071                                         <loctext xml:lang='C'>
1072 A method may only be of type method.
1073                                         </loctext>
1074                                 </description>
1075                                 <cardinality min='1' max='1'/>
1076                                 <constraints>
1077                                         <value name="method"/>
1078                                 </constraints>
1079                         </prop_pattern>
1080 
1081                         <prop_pattern name='timeout_seconds' type='count'
1082                             required='true'>
1083                                 <description>
1084                                         <loctext xml:lang='C'>
1085 Number of seconds before the method is considered unresponsive.  After the method timeout expires, the method will be killed.
1086                                         </loctext>
1087                                 </description>
1088                                 <cardinality min='1' max='1'/>
1089                                 <values>
1090                                         <value name="0">
1091                                                 <common_name>
1092                                                         <loctext xml:lang='C'>
1093 infinite
1094                                                         </loctext>
1095                                                 </common_name>
1096                                                 <description>
1097                                                         <loctext xml:lang='C'>
1098 This method will never time out.
1099                                                         </loctext>
1100                                                 </description>
1101                                         </value>
1102                                         <value name="-1">
1103                                                 <common_name>
1104                                                         <loctext xml:lang='C'>
1105 infinite (legacy)
1106                                                         </loctext>
1107                                                 </common_name>
1108                                                 <description>
1109                                                         <loctext xml:lang='C'>
1110 This method will never time out.  0 is the preferred value.
1111                                                         </loctext>
1112                                                 </description>
1113                                         </value>
1114                                 </values>
1115                         </prop_pattern>
1116 
1117                         <!-- method_context direct properties -->
1118                         <prop_pattern name='working_directory' type='astring'
1119                             required='false'>
1120                                 <description>
1121                                         <loctext xml:lang='C'>
1122 The working directory to launch the method from.  ":default" can be used as a token to indicate the home directory of the user specified by the credential or profile.
1123                                         </loctext>
1124                                 </description>
1125                                 <cardinality min='1' max='1'/>
1126                         </prop_pattern>
1127                         <prop_pattern name='project' type='astring'
1128                             required='false'>
1129                                 <description>
1130                                         <loctext xml:lang='C'>
1131 The project ID in numeric or text form.  :default can be used as a token to indicate a project identified by getdefaultproj(3PROJECT) for the user whose uid is used to launch the method.
1132                                         </loctext>
1133                                 </description>
1134                                 <cardinality min='1' max='1'/>
1135                         </prop_pattern>
1136                         <prop_pattern name='resource_pool' type='astring'
1137                             required='false'>
1138                                 <common_name>
1139                                         <loctext xml:lang='C'>
1140 method context resource pool
1141                                         </loctext>
1142                                 </common_name>
1143                                 <description>
1144                                         <loctext xml:lang='C'>
1145 The resource pool name on which to launch the method.  :default can be used
1146 as a token to indicate the pool specified in the project(4) entry given in
1147 the project attribute.
1148                                         </loctext>
1149                                 </description>
1150                                 <cardinality min='1' max='1'/>
1151                         </prop_pattern>
1152 
1153                         <!-- method_credential properties -->
1154                         <prop_pattern name='user' type='astring'
1155                             required='false'>
1156                                 <common_name>
1157                                         <loctext xml:lang='C'>
1158 method credential user
1159                                         </loctext>
1160                                 </common_name>
1161                                 <description>
1162                                         <loctext xml:lang='C'>
1163 The user ID in numeric or text form.
1164                                         </loctext>
1165                                 </description>
1166                                 <cardinality min='1' max='1'/>
1167                         </prop_pattern>
1168                         <prop_pattern name='group' type='astring'
1169                             required='false'>
1170                                 <common_name>
1171                                         <loctext xml:lang='C'>
1172 method credential group
1173                                         </loctext>
1174                                 </common_name>
1175                                 <description>
1176                                         <loctext xml:lang='C'>
1177 The group ID in numeric or text form.
1178                                         </loctext>
1179                                 </description>
1180                                 <cardinality min='1' max='1'/>
1181                         </prop_pattern>
1182                         <prop_pattern name='supp_groups' type='astring'
1183                             required='false'>
1184                                 <common_name>
1185                                         <loctext xml:lang='C'>
1186 method credential supplemental groups
1187                                         </loctext>
1188                                 </common_name>
1189                                 <description>
1190                                         <loctext xml:lang='C'>
1191 An optional string that specifies the supplemental group memberships by ID,
1192 in numeric or text form.
1193                                         </loctext>
1194                                 </description>
1195                                 <cardinality min='1' max='1'/>
1196                                 <internal_separators>,</internal_separators>
1197                         </prop_pattern>
1198                         <prop_pattern name='privileges' type='astring'
1199                             required='false'>
1200                                 <common_name>
1201                                         <loctext xml:lang='C'>
1202 method credential privileges
1203                                         </loctext>
1204                                 </common_name>
1205                                 <description>
1206                                         <loctext xml:lang='C'>
1207 An optional string specifying the privilege set as defined in privileges(5).
1208                                         </loctext>
1209                                 </description>
1210                                 <cardinality min='1' max='1'/>
1211                                 <internal_separators>,</internal_separators>
1212                         </prop_pattern>
1213                         <prop_pattern name='limit_privileges' type='astring'
1214                             required='false'>
1215                                 <common_name>
1216                                         <loctext xml:lang='C'>
1217 method credential limit privilege set
1218                                         </loctext>
1219                                 </common_name>
1220                                 <description>
1221                                         <loctext xml:lang='C'>
1222 An optional string specifying the limit privilege set as defined in
1223 privileges(5).
1224                                         </loctext>
1225                                 </description>
1226                                 <cardinality min='1' max='1'/>
1227                                 <internal_separators>,</internal_separators>
1228                         </prop_pattern>
1229 
1230                         <!-- method_profile properties -->
1231                         <prop_pattern name='use_profile' type='boolean'
1232                             required='false'>
1233                                 <description>
1234                                         <loctext xml:lang='C'>
1235 A boolean that specifies whether the profile should be used instead of the
1236 user, group, privileges, and limit_privileges properties.
1237                                         </loctext>
1238                                 </description>
1239                                 <cardinality min='1' max='1'/>
1240                         </prop_pattern>
1241                         <prop_pattern name='profile' type='astring'
1242                             required='false'>
1243                                 <common_name>
1244                                         <loctext xml:lang='C'>
1245 method profile RBAC profile specification 
1246                                         </loctext>
1247                                 </common_name>
1248                                 <description>
1249                                         <loctext xml:lang='C'>
1250 The name of an RBAC (role-based access control) profile which, along with the
1251 method executable, identifies an entry in exec_attr(4).
1252                                         </loctext>
1253                                 </description>
1254                                 <cardinality min='1' max='1'/>
1255                         </prop_pattern>
1256 
1257                         <!-- method_environment properties -->
1258                         <prop_pattern name='environment' type='astring'
1259                             required='false'>
1260                                 <common_name>
1261                                         <loctext xml:lang='C'>
1262 method environment variables
1263                                         </loctext>
1264                                 </common_name>
1265                                 <description>
1266                                         <loctext xml:lang='C'>
1267 Environment variables to insert into the environment of the method, in the
1268 form of a number of NAME=value strings.
1269                                         </loctext>
1270                                 </description>
1271                         </prop_pattern>
1272                 </pg_pattern>
1273 
1274         </template>
1275 </service>
1276 
1277 </service_bundle>