RAD Zone Management REST API

Remote Administration Daemon REST API for programmatic zone management via the com.oracle.solaris.rad.zonemgr module, supporting zone creation, configuration, migration, and lifecycle operations over HTTP/JSON.

OpenAPI Specification

solaris-rad-zonemgr-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Solaris Zones Oracle Solaris RAD Zone Management REST API
  description: >-
    REST API for the Oracle Solaris Remote Administration Daemon (RAD)
    com.oracle.solaris.rad.zonemgr module. Provides programmatic access to
    Solaris Zones lifecycle management including creation, configuration,
    migration, monitoring, and administrative operations over HTTP/JSON.
  version: '1.6'
  contact:
    name: Oracle Solaris Support
    url: https://www.oracle.com/solaris/support/
    email: [email protected]
  termsOfService: https://www.oracle.com/legal/terms.html
  license:
    name: Oracle Technology Network License
    url: https://www.oracle.com/downloads/licenses/standard-license.html
externalDocs:
  description: RAD Client User's Guide - REST API Reference
  url: https://docs.oracle.com/en/operating-systems/solaris/oracle-solaris/11.4/rad-client/rest-api-reference.html
servers:
- url: https://{radserver}/api/com.oracle.solaris.rad.zonemgr/1.6
  description: Oracle Solaris RAD Server
  variables:
    radserver:
      default: radserver.example.com
      description: Hostname or IP of the Solaris RAD server
tags:
- name: Zone Info
  description: Read-only zone information and status queries
- name: Zone Manager
  description: System-wide zone management operations including creation, deletion, and evacuation
- name: Zone Migration
  description: Live and cold zone migration operations between Solaris hosts
- name: Zones
  description: Individual zone operations including configuration, lifecycle, and resource management
security:
- cookieAuth: []
paths:
  /:
    get:
      operationId: listZoneInterfaces
      summary: Solaris Zones List All Zone Management Interfaces
      description: >-
        Returns a list of all available zone management interfaces including
        ZoneManager, Zone instances, ZoneInfo, and migration connections.
        Use the _rad_detail query parameter to get full property details.
      tags:
      - Zone Manager
      parameters:
      - $ref: '#/components/parameters/radDetail'
      responses:
        '200':
          description: List of zone management interfaces returned successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                    - success
                  payload:
                    type: array
                    items:
                      $ref: '#/components/schemas/RadInterface'
              examples:
                Listzoneinterfaces200Example:
                  summary: Default listZoneInterfaces 200 response
                  x-microcks-default: true
                  value:
                    status: success
                    payload:
                    - href: example_value
                      type: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'

      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ZoneManager:
    get:
      operationId: getZoneManager
      summary: Solaris Zones Get the Zonemanager Singleton
      description: >-
        Returns the ZoneManager interface which provides system-wide zone
        management capabilities including zone creation, deletion, and
        evacuation state information.
      tags:
      - Zone Manager
      parameters:
      - $ref: '#/components/parameters/radDetail'
      responses:
        '200':
          description: ZoneManager details returned successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                    - success
                  payload:
                    $ref: '#/components/schemas/ZoneManagerDetail'
              examples:
                Getzonemanager200Example:
                  summary: Default getZoneManager 200 response
                  x-microcks-default: true
                  value:
                    status: success
                    payload:
                      evacuationState: none
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'

      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ZoneManager/create:
    put:
      operationId: createZone
      summary: Solaris Zones Create a New Zone
      description: >-
        Creates a new Solaris zone with the specified name, zone path, and
        optional template. The zone is created in the configured state and
        must be installed and booted separately.
      tags:
      - Zone Manager
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - payload
              properties:
                payload:
                  type: object
                  required:
                  - name
                  - path
                  properties:
                    name:
                      type: string
                      description: Name of the zone to create
                      examples:
                      - testzone1
                    path:
                      type: string
                      description: File system path for the zone root
                      examples:
                      - /system/zones/testzone1
                    template:
                      type: string
                      description: Optional zone template name to use
                      examples:
                      - SYSdefault
            examples:
              CreatezoneRequestExample:
                summary: Default createZone request
                x-microcks-default: true
                value:
                  payload:
                    name: Example Title
                    path: example_value
                    template: example_value
      responses:
        '200':
          description: Zone created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResultResponse'
              examples:
                Createzone200Example:
                  summary: Default createZone 200 response
                  x-microcks-default: true
                  value:
                    status: success
                    payload:
                      code: ZEC_NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'

      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ZoneManager/delete:
    put:
      operationId: deleteZone
      summary: Solaris Zones Delete a Zone
      description: >-
        Permanently deletes a zone from the system. The zone must be in the
        configured state before it can be deleted.
      tags:
      - Zone Manager
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - payload
              properties:
                payload:
                  type: object
                  required:
                  - name
                  properties:
                    name:
                      type: string
                      description: Name of the zone to delete
            examples:
              DeletezoneRequestExample:
                summary: Default deleteZone request
                x-microcks-default: true
                value:
                  payload:
                    name: Example Title
      responses:
        '200':
          description: Zone deleted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResultResponse'
              examples:
                Deletezone200Example:
                  summary: Default deleteZone 200 response
                  x-microcks-default: true
                  value:
                    status: success
                    payload:
                      code: ZEC_NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'

      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ZoneManager/importConfig:
    put:
      operationId: importZoneConfig
      summary: Solaris Zones Import Zone Configuration
      description: >-
        Import a zone configuration from zonecfg(8) format text, creating
        a new zone with the specified configuration.
      tags:
      - Zone Manager
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - payload
              properties:
                payload:
                  type: object
                  required:
                  - name
                  - config
                  properties:
                    name:
                      type: string
                      description: Name for the new zone
                    config:
                      type: string
                      description: Zone configuration in zonecfg export format
            examples:
              ImportzoneconfigRequestExample:
                summary: Default importZoneConfig request
                x-microcks-default: true
                value:
                  payload:
                    name: Example Title
                    config: example_value
      responses:
        '200':
          description: Zone configuration imported successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResultResponse'
              examples:
                Importzoneconfig200Example:
                  summary: Default importZoneConfig 200 response
                  x-microcks-default: true
                  value:
                    status: success
                    payload:
                      code: ZEC_NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'

      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ZoneManager/initEvacuate:
    put:
      operationId: initEvacuate
      summary: Solaris Zones Initialize Zone Evacuation
      description: >-
        Initialize an evacuation session to migrate all eligible zones from
        this host to a remote system. Added in version 1.4 of the zonemgr module.
      tags:
      - Zone Migration
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - payload
              properties:
                payload:
                  type: object
                  required:
                  - remoteHost
                  properties:
                    remoteHost:
                      type: string
                      description: Target host for zone evacuation
                    password:
                      type: string
                      description: Authentication credential for the remote host
            examples:
              InitevacuateRequestExample:
                summary: Default initEvacuate request
                x-microcks-default: true
                value:
                  payload:
                    remoteHost: example_value
                    password: example_value
      responses:
        '200':
          description: Evacuation initialized successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResultResponse'
              examples:
                Initevacuate200Example:
                  summary: Default initEvacuate 200 response
                  x-microcks-default: true
                  value:
                    status: success
                    payload:
                      code: ZEC_NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'

      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ZoneManager/evacuate:
    put:
      operationId: evacuate
      summary: Solaris Zones Perform Zone Evacuation
      description: >-
        Execute the evacuation of all eligible zones to the previously
        configured remote host. Must be preceded by initEvacuate.
      tags:
      - Zone Migration
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                payload:
                  type: object
            examples:
              EvacuateRequestExample:
                summary: Default evacuate request
                x-microcks-default: true
                value:
                  payload: example_value
      responses:
        '200':
          description: Evacuation completed
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                    - success
                  payload:
                    $ref: '#/components/schemas/EvacuationResult'
              examples:
                Evacuate200Example:
                  summary: Default evacuate 200 response
                  x-microcks-default: true
                  value:
                    status: success
                    payload:
                      status: success
                      returning: true
                      migrationResults: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'

      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ZoneManager/cancelEvacuate:
    put:
      operationId: cancelEvacuate
      summary: Solaris Zones Cancel Zone Evacuation
      description: >-
        Cancel an in-progress evacuation operation. Zones that have already
        been migrated will remain on the remote host.
      tags:
      - Zone Migration
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                payload:
                  type: object
            examples:
              CancelevacuateRequestExample:
                summary: Default cancelEvacuate request
                x-microcks-default: true
                value:
                  payload: example_value
      responses:
        '200':
          description: Evacuation cancelled successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResultResponse'
              examples:
                Cancelevacuate200Example:
                  summary: Default cancelEvacuate 200 response
                  x-microcks-default: true
                  value:
                    status: success
                    payload:
                      code: ZEC_NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'

      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}:
    get:
      operationId: getZone
      summary: Solaris Zones Get Zone Details
      description: >-
        Returns detailed information about a specific zone including its
        current state, brand, UUID, auxiliary states, and configuration.
      tags:
      - Zones
      parameters:
      - $ref: '#/components/parameters/zoneName'
      - $ref: '#/components/parameters/radDetail'
      responses:
        '200':
          description: Zone details returned successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                    - success
                  payload:
                    $ref: '#/components/schemas/ZoneDetail'
              examples:
                Getzone200Example:
                  summary: Default getZone 200 response
                  x-microcks-default: true
                  value:
                    status: success
                    payload:
                      name: Example Title
                      id: abc123
                      uuid: '500123'
                      state: configured
                      brand: solaris
                      auxstate:
                      - example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Zone not found
        '500':
          $ref: '#/components/responses/InternalError'

      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/boot:
    put:
      operationId: bootZone
      summary: Solaris Zones Boot a Zone
      description: >-
        Boot the specified zone. The zone must be in the installed state.
        After booting, the zone transitions to the running state.
      tags:
      - Zones
      parameters:
      - $ref: '#/components/parameters/zoneName'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                payload:
                  type: object
                  properties:
                    options:
                      type: array
                      items:
                        type: string
                      description: Optional boot arguments
            examples:
              BootzoneRequestExample:
                summary: Default bootZone request
                x-microcks-default: true
                value:
                  payload:
                    options:
                    - example_value
      responses:
        '200':
          description: Zone boot initiated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResultResponse'
              examples:
                Bootzone200Example:
                  summary: Default bootZone 200 response
                  x-microcks-default: true
                  value:
                    status: success
                    payload:
                      code: ZEC_NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Zone not found
        '500':
          $ref: '#/components/responses/InternalError'

      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/shutdown:
    put:
      operationId: shutdownZone
      summary: Solaris Zones Shutdown a Zone
      description: >-
        Gracefully shut down the specified zone by running the shutdown
        scripts within the zone before halting it.
      tags:
      - Zones
      parameters:
      - $ref: '#/components/parameters/zoneName'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                payload:
                  type: object
                  properties:
                    options:
                      type: array
                      items:
                        type: string
                      description: Optional shutdown arguments
            examples:
              ShutdownzoneRequestExample:
                summary: Default shutdownZone request
                x-microcks-default: true
                value:
                  payload:
                    options:
                    - example_value
      responses:
        '200':
          description: Zone shutdown initiated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResultResponse'
              examples:
                Shutdownzone200Example:
                  summary: Default shutdownZone 200 response
                  x-microcks-default: true
                  value:
                    status: success
                    payload:
                      code: ZEC_NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Zone not found
        '500':
          $ref: '#/components/responses/InternalError'

      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/halt:
    put:
      operationId: haltZone
      summary: Solaris Zones Halt a Zone
      description: >-
        Immediately halt the specified zone without running shutdown scripts.
        The zone transitions from running to installed state.
      tags:
      - Zones
      parameters:
      - $ref: '#/components/parameters/zoneName'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                payload:
                  type: object
            examples:
              HaltzoneRequestExample:
                summary: Default haltZone request
                x-microcks-default: true
                value:
                  payload: example_value
      responses:
        '200':
          description: Zone halted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResultResponse'
              examples:
                Haltzone200Example:
                  summary: Default haltZone 200 response
                  x-microcks-default: true
                  value:
                    status: success
                    payload:
                      code: ZEC_NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Zone not found
        '500':
          $ref: '#/components/responses/InternalError'

      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/reboot:
    put:
      operationId: rebootZone
      summary: Solaris Zones Reboot a Zone
      description: >-
        Reboot the specified zone. This is equivalent to a halt followed
        by a boot operation.
      tags:
      - Zones
      parameters:
      - $ref: '#/components/parameters/zoneName'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                payload:
                  type: object
                  properties:
                    options:
                      type: array
                      items:
                        type: string
                      description: Optional reboot arguments
            examples:
              RebootzoneRequestExample:
                summary: Default rebootZone request
                x-microcks-default: true
                value:
                  payload:
                    options:
                    - example_value
      responses:
        '200':
          description: Zone reboot initiated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResultResponse'
              examples:
                Rebootzone200Example:
                  summary: Default rebootZone 200 response
                  x-microcks-default: true
                  value:
                    status: success
                    payload:
                      code: ZEC_NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Zone not found
        '500':
          $ref: '#/components/responses/InternalError'

      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/install:
    put:
      operationId: installZone
      summary: Solaris Zones Install a Zone
      description: >-
        Install the specified zone. The zone must be in the configured state.
        After installation, the zone transitions to the installed state and
        can be booted.
      tags:
      - Zones
      parameters:
      - $ref: '#/components/parameters/zoneName'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                payload:
                  type: object
                  properties:
                    options:
                      type: array
                      items:
                        type: string
                      description: Optional install arguments
            examples:
              InstallzoneRequestExample:
                summary: Default installZone request
                x-microcks-default: true
                value:
                  payload:
                    options:
                    - example_value
      responses:
        '200':
          description: Zone install initiated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResultResponse'
              examples:
                Installzone200Example:
                  summary: Default installZone 200 response
                  x-microcks-default: true
                  value:
                    status: success
                    payload:
                      code: ZEC_NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Zone not found
        '500':
          $ref: '#/components/responses/InternalError'

      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/uninstall:
    put:
      operationId: uninstallZone
      summary: Solaris Zones Uninstall a Zone
      description: >-
        Uninstall the specified zone, removing all zone data from disk.
        The zone transitions from installed back to configured state.
      tags:
      - Zones
      parameters:
      - $ref: '#/components/parameters/zoneName'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                payload:
                  type: object
            examples:
              UninstallzoneRequestExample:
                summary: Default uninstallZone request
                x-microcks-default: true
                value:
                  payload: example_value
      responses:
        '200':
          description: Zone uninstalled successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResultResponse'
              examples:
                Uninstallzone200Example:
                  summary: Default uninstallZone 200 response
                  x-microcks-default: true
                  value:
                    status: success
                    payload:
                      code: ZEC_NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Zone not found
        '500':
          $ref: '#/components/responses/InternalError'

      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/clone:
    put:
      operationId: cloneZone
      summary: Solaris Zones Clone a Zone
      description: >-
        Clone the specified zone from an existing zone or snapshot,
        providing a fast method to create zone instances with
        identical configurations.
      tags:
      - Zones
      parameters:
      - $ref: '#/components/parameters/zoneName'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - payload
              properties:
                payload:
                  type: object
                  required:
                  - sourceZone
                  properties:
                    sourceZone:
                      type: string
                      description: Name of the source zone to clone from
                    snapshot:
                      type: string
                      description: Optional ZFS snapshot to clone from
            examples:
              ClonezoneRequestExample:
                summary: Default cloneZone request
                x-microcks-default: true
                value:
                  payload:
                    sourceZone: example_value
                    snapshot: example_value
      responses:
        '200':
          description: Zone cloned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResultResponse'
              examples:
                Clonezone200Example:
                  summary: Default cloneZone 200 response
                  x-microcks-default: true
                  value:
                    status: success
                    payload:
                      code: ZEC_NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Zone not found
        '500':
          $ref: '#/components/responses/InternalError'

      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/attach:
    put:
      operationId: attachZone
      summary: Solaris Zones Attach a Zone
      description: >-
        Attach a previously detached zone, making it available for use
        on this system. Validates the zone configuration against the
        current system.
      tags:
      - Zones
      parameters:
      - $ref: '#/components/parameters/zoneName'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                payload:
                  type: object
                  properties:
                    options:
                      type: array
                      items:
                        type: string
                      description: Optional attach arguments
            examples:
              AttachzoneRequestExample:
                summary: Default attachZone request
                x-microcks-default: true
                value:
                  payload:
                    options:
                    - example_value
      responses:
        '200':
          description: Zone attached successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResultR

# --- truncated at 32 KB (75 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/solaris-zones/refs/heads/main/openapi/solaris-rad-zonemgr-openapi.yml