Solaris Zones Lifecycle API

Zone lifecycle state transitions

Documentation

📖
Documentation
https://docs.oracle.com/cd/E88353_01/html/E37839/zones.html
📖
Documentation
https://docs.oracle.com/cd/E88353_01/html/E37839/zonecfg-1m.html
📖
Documentation
https://docs.oracle.com/cd/E37838_01/html/E61040/
📖
Documentation
https://docs.oracle.com/cd/E88353_01/html/E37839/zoneadm-1m.html
📖
Documentation
https://docs.oracle.com/cd/E37838_01/html/E61038/gqhar.html
📖
Documentation
https://docs.oracle.com/cd/E88353_01/html/E37839/zonestat-1.html
📖
Documentation
https://docs.oracle.com/cd/E37838_01/html/E61043/gklfb.html
📖
Documentation
https://docs.oracle.com/en/operating-systems/solaris/oracle-solaris/11.4/rad-client/rest-api-reference.html
📖
Documentation
https://docs.oracle.com/cd/E37838_01/html/E68270/gpzpd.html
📖
Documentation
https://docs.oracle.com/cd/E37838_01/html/E68270/gpzpv.html
📖
Documentation
https://docs.oracle.com/cd/E88353_01/html/E76189/zonemgr-1-3rad.html
📖
Documentation
https://docs.oracle.com/cd/E37838_01/html/E61043/
📖
Documentation
https://docs.oracle.com/cd/E37838_01/html/E61043/gklfn.html
📖
Documentation
https://docs.oracle.com/cd/E23824_01/html/821-1499/gloag.html
📖
Documentation
https://docs.oracle.com/en/operating-systems/solaris/oracle-solaris/11.4/kernel-zones/oracle-solaris-kernel-zones.html
📖
Documentation
https://docs.oracle.com/cd/E37838_01/html/E61041/gnzfn.html
📖
Documentation
https://docs.oracle.com/cd/E37838_01/html/E56520/index.html
📖
Documentation
https://docs.oracle.com/cd/E37838_01/html/E56520/sstoreintro.html
📖
Documentation
https://docs.oracle.com/cd/E37838_01/html/E56520/ssids.html
📖
Documentation
https://docs.oracle.com/cd/E37838_01/html/E60984/gmrlo.html
📖
Documentation
https://docs.oracle.com/cd/E37838_01/html/E60984/gmwen.html
📖
Documentation
https://docs.oracle.com/cd/E37838_01/html/E61039/gpoiu.html

Specifications

OpenAPI Specification

solaris-zones-lifecycle-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Solaris Zones Oracle Solaris Kernel Zones Archive Creation Lifecycle API
  description: REST API for creating and managing Oracle Solaris Kernel Zones via the RAD zonemgr module. Kernel Zones (brand solaris-kz) are non-global zones with their own kernel, providing greater independence and enhanced security isolation compared to native zones. They support live migration, independent patching, and hardware-assisted virtualization.
  version: '1.6'
  contact:
    name: Oracle Solaris Support
    url: https://www.oracle.com/solaris/support/
    email: solaris-support@oracle.com
  license:
    name: Oracle Technology Network License
    url: https://www.oracle.com/legal/terms.html
servers:
- url: https://{host}:{port}/api/com.oracle.solaris.rad.zonemgr/1.6
  description: Oracle Solaris RAD REST endpoint
  variables:
    host:
      default: localhost
      description: Solaris host running RAD
    port:
      default: '6788'
      description: RAD REST API port
security:
- cookieAuth: []
tags:
- name: Lifecycle
  description: Zone lifecycle state transitions
paths:
  /Zone/{zoneName}/_rad_method/boot:
    put:
      operationId: bootZone
      summary: Solaris Zones Boot a Zone
      description: Boot an installed or ready zone, transitioning it to the running state. Equivalent to zoneadm boot.
      tags:
      - Lifecycle
      parameters:
      - $ref: '#/components/parameters/zoneName'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                options:
                  type: array
                  items:
                    type: string
                  description: Optional boot arguments
            examples:
              BootzoneRequestExample:
                summary: Default bootZone request
                x-microcks-default: true
                value:
                  options:
                  - example_value
      responses:
        '200':
          description: Zone boot initiated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneResult'
              examples:
                Bootzone200Example:
                  summary: Default bootZone 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload:
                      code: NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/_rad_method/halt:
    put:
      operationId: haltZone
      summary: Solaris Zones Halt a Zone Immediately
      description: Immediately halt a running zone without running shutdown scripts. The zone transitions to the installed state. Equivalent to zoneadm halt.
      tags:
      - Lifecycle
      parameters:
      - $ref: '#/components/parameters/zoneName'
      responses:
        '200':
          description: Zone halted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneResult'
              examples:
                Haltzone200Example:
                  summary: Default haltZone 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload:
                      code: NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/_rad_method/shutdown:
    put:
      operationId: shutdownZone
      summary: Solaris Zones Gracefully Shut Down a Zone
      description: Gracefully shut down a running zone by executing shutdown scripts and cleanly stopping services. Equivalent to zoneadm shutdown.
      tags:
      - Lifecycle
      parameters:
      - $ref: '#/components/parameters/zoneName'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                options:
                  type: array
                  items:
                    type: string
                  description: Optional shutdown arguments (e.g., -r for reboot)
            examples:
              ShutdownzoneRequestExample:
                summary: Default shutdownZone request
                x-microcks-default: true
                value:
                  options:
                  - example_value
      responses:
        '200':
          description: Zone shutdown initiated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneResult'
              examples:
                Shutdownzone200Example:
                  summary: Default shutdownZone 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload:
                      code: NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/_rad_method/reboot:
    put:
      operationId: rebootZone
      summary: Solaris Zones Reboot a Zone
      description: Reboot a running zone. The zone is halted and then booted again. Equivalent to zoneadm reboot.
      tags:
      - Lifecycle
      parameters:
      - $ref: '#/components/parameters/zoneName'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                options:
                  type: array
                  items:
                    type: string
                  description: Optional reboot arguments
            examples:
              RebootzoneRequestExample:
                summary: Default rebootZone request
                x-microcks-default: true
                value:
                  options:
                  - example_value
      responses:
        '200':
          description: Zone reboot initiated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneResult'
              examples:
                Rebootzone200Example:
                  summary: Default rebootZone 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload:
                      code: NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/_rad_method/ready:
    put:
      operationId: readyZone
      summary: Solaris Zones Prepare Zone for Running
      description: Transition the zone to the ready state where virtual platform and networking are set up but the zone is not yet booted. Equivalent to zoneadm ready.
      tags:
      - Lifecycle
      parameters:
      - $ref: '#/components/parameters/zoneName'
      responses:
        '200':
          description: Zone transitioned to ready state
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneResult'
              examples:
                Readyzone200Example:
                  summary: Default readyZone 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload:
                      code: NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/_rad_method/suspend:
    put:
      operationId: suspendZone
      summary: Solaris Zones Suspend a Zone
      description: Suspend a running zone, saving its state to persistent storage for later resumption. The zone can be resumed by booting it.
      tags:
      - Lifecycle
      parameters:
      - $ref: '#/components/parameters/zoneName'
      responses:
        '200':
          description: Zone suspended
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneResult'
              examples:
                Suspendzone200Example:
                  summary: Default suspendZone 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload:
                      code: NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/_rad_method/mark:
    put:
      operationId: markZone
      summary: Solaris Zones Mark Zone to a Specified State
      description: Forcefully mark a zone to a specific state when normal state transitions are not possible. Used for recovery. Equivalent to zoneadm mark.
      tags:
      - Lifecycle
      parameters:
      - $ref: '#/components/parameters/zoneName'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - state
              properties:
                state:
                  type: string
                  enum:
                  - configured
                  - installed
                  - incomplete
                  description: Target state to mark the zone
            examples:
              MarkzoneRequestExample:
                summary: Default markZone request
                x-microcks-default: true
                value:
                  state: configured
      responses:
        '200':
          description: Zone marked to specified state
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneResult'
              examples:
                Markzone200Example:
                  summary: Default markZone 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload:
                      code: NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/_rad_method/savecore:
    put:
      operationId: savecoreZone
      summary: Solaris Zones Save Zone Core Dump
      description: Save a kernel crash dump from a zone. Equivalent to zoneadm savecore.
      tags:
      - Lifecycle
      parameters:
      - $ref: '#/components/parameters/zoneName'
      responses:
        '200':
          description: Core dump saved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneResult'
              examples:
                Savecorezone200Example:
                  summary: Default savecoreZone 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload:
                      code: NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    RadError:
      type: object
      properties:
        status:
          type: string
          example: failure
        payload:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
          example: example_value
    ZoneResult:
      type: object
      properties:
        status:
          type: string
          example: example_value
        payload:
          type: object
          properties:
            code:
              type: string
              enum:
              - NONE
              - FRAMEWORK_ERROR
              - SNAPSHOT_ERROR
              - COMMAND_ERROR
              - RESOURCE_ALREADY_EXISTS
              - RESOURCE_NOT_FOUND
              - RESOURCE_TOO_MANY
              - RESOURCE_UNKNOWN
              - ALREADY_EDITING
              - INCOMPLETE_NO_CONFIG
              - PROPERTY_UNKNOWN
              - NOT_EDITING
              - SYSTEM_ERROR
              - INVALID_ARGUMENT
              - INVALID_ZONE_STATE
            message:
              type: string
            stdout:
              type: string
            stderr:
              type: string
          example: example_value
  responses:
    NotFound:
      description: Zone not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RadError'
    Unauthorized:
      description: Authentication required or session expired
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RadError'
  parameters:
    zoneName:
      name: zoneName
      in: path
      required: true
      description: Name of the zone
      schema:
        type: string
  securitySchemes:
    cookieAuth:
      type: apiKey
      in: cookie
      name: _rad_session
      description: RAD session cookie obtained via authentication
externalDocs:
  description: Oracle Solaris Kernel Zones Documentation
  url: https://docs.oracle.com/en/operating-systems/solaris/oracle-solaris/11.4/kernel-zones/oracle-solaris-kernel-zones.html