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