Solaris Zones Management API

Core API for creating, managing, and monitoring Solaris Zones.

OpenAPI Specification

solaris-zones-management-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Solaris Zones Management API
  description: >-
    Core API for creating, managing, and monitoring Oracle Solaris Zones via the
    Remote Administration Daemon (RAD) REST interface. Provides access to the
    com.oracle.solaris.rad.zonemgr module for zone lifecycle operations including
    creation, deletion, state queries, and evacuation management.
  version: '1.6'
  contact:
    name: Oracle Solaris Support
    url: https://www.oracle.com/solaris/support/
    email: [email protected]
  license:
    name: Oracle Technology Network License
    url: https://www.oracle.com/legal/terms.html
externalDocs:
  description: Oracle Solaris Zones Administration Guide
  url: https://docs.oracle.com/cd/E88353_01/html/E37839/zones.html
servers:
- url: https://{host}:{port}/api/com.oracle.solaris.rad.zonemgr/1.6
  description: Oracle Solaris RAD REST endpoint for zone management
  variables:
    host:
      default: localhost
      description: Solaris host running RAD
    port:
      default: '6788'
      description: RAD REST API port (default HTTPS)
tags:
- name: Zone Info
  description: Read-only zone information
- name: Zone Manager
  description: System-wide zone management operations
- name: Zones
  description: Individual zone operations and queries
security:
- cookieAuth: []
paths:
  /:
    get:
      operationId: listZoneInterfaces
      summary: Solaris Zones List All Zone Management Interfaces
      description: >-
        Retrieve a list of all available zone management interfaces including
        ZoneManager, Zone instances, and ZoneInfo. Use the _rad_detail parameter
        to include full property details.
      tags:
      - Zone Manager
      parameters:
      - $ref: '#/components/parameters/radDetail'
      responses:
        '200':
          description: List of zone management interfaces
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: success
                  payload:
                    type: array
                    items:
                      $ref: '#/components/schemas/RadInterface'
              examples:
                Listzoneinterfaces200Example:
                  summary: Default listZoneInterfaces 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload:
                    - href: example_value
                      type: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ZoneManager:
    get:
      operationId: getZoneManager
      summary: Solaris Zones Get Zone Manager Instance
      description: >-
        Retrieve the ZoneManager singleton interface which provides system-wide
        zone management operations.
      tags:
      - Zone Manager
      parameters:
      - $ref: '#/components/parameters/radDetail'
      responses:
        '200':
          description: Zone manager details
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  payload:
                    $ref: '#/components/schemas/ZoneManager'
              examples:
                Getzonemanager200Example:
                  summary: Default getZoneManager 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload:
                      evacuationState:
                        status: SUCCESS
                        returning: true
                        migrationResults: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ZoneManager/_rad_method/create:
    put:
      operationId: createZone
      summary: Solaris Zones Create a New Zone
      description: >-
        Create a new zone with the specified name, zone path, and brand template.
        The zone is created in the configured state.
      tags:
      - Zone Manager
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateZoneRequest'
            examples:
              CreatezoneRequestExample:
                summary: Default createZone request
                x-microcks-default: true
                value:
                  name: Example Title
                  path: example_value
                  template: example_value
      responses:
        '200':
          description: Zone created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RadResult'
              examples:
                Createzone200Example:
                  summary: Default createZone 200 response
                  x-microcks-default: true
                  value:
                    status: success
                    payload: example_value
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ZoneManager/_rad_method/delete:
    put:
      operationId: deleteZone
      summary: Solaris Zones Delete a Zone
      description: >-
        Delete an existing zone. The zone must be in the configured or
        installed state before it can be deleted.
      tags:
      - Zone Manager
      requestBody:
        required: true
        content:
          application/json:
            schema:
              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:
                  name: Example Title
      responses:
        '200':
          description: Zone deleted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RadResult'
              examples:
                Deletezone200Example:
                  summary: Default deleteZone 200 response
                  x-microcks-default: true
                  value:
                    status: success
                    payload: example_value
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ZoneManager/_rad_method/createConfig:
    put:
      operationId: createEphemeralConfig
      summary: Solaris Zones Create Ephemeral Zone Configuration
      description: >-
        Create a temporary zone configuration for editing before committing.
        Used for staged configuration changes.
      tags:
      - Zone Manager
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - name
              - template
              properties:
                name:
                  type: string
                  description: Configuration name
                template:
                  type: string
                  description: Zone brand template to base configuration on
            examples:
              CreateephemeralconfigRequestExample:
                summary: Default createEphemeralConfig request
                x-microcks-default: true
                value:
                  name: Example Title
                  template: example_value
      responses:
        '200':
          description: Ephemeral configuration created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RadResult'
              examples:
                Createephemeralconfig200Example:
                  summary: Default createEphemeralConfig 200 response
                  x-microcks-default: true
                  value:
                    status: success
                    payload: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ZoneManager/_rad_method/importConfig:
    put:
      operationId: importZoneConfig
      summary: Solaris Zones Import a Zone From Configuration
      description: >-
        Import a zone definition from an exported configuration. Used for
        restoring or cloning zone configurations.
      tags:
      - Zone Manager
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - name
              - config
              properties:
                name:
                  type: string
                  description: Name for the imported zone
                config:
                  type: string
                  description: Zone configuration data to import
            examples:
              ImportzoneconfigRequestExample:
                summary: Default importZoneConfig request
                x-microcks-default: true
                value:
                  name: Example Title
                  config: example_value
      responses:
        '200':
          description: Zone configuration imported
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RadResult'
              examples:
                Importzoneconfig200Example:
                  summary: Default importZoneConfig 200 response
                  x-microcks-default: true
                  value:
                    status: success
                    payload: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ZoneManager/_rad_method/initEvacuate:
    put:
      operationId: initializeEvacuation
      summary: Solaris Zones Initialize Zone Evacuation
      description: >-
        Initialize evacuation of zones from the current host to a remote host.
        Must be called before evacuate(). Available since API version 1.4.
      tags:
      - Zone Manager
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - host
              properties:
                host:
                  type: string
                  description: Remote host to evacuate zones to
                cipher:
                  type: string
                  description: Encryption cipher to use for transfer
            examples:
              InitializeevacuationRequestExample:
                summary: Default initializeEvacuation request
                x-microcks-default: true
                value:
                  host: example_value
                  cipher: example_value
      responses:
        '200':
          description: Evacuation initialized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RadResult'
              examples:
                Initializeevacuation200Example:
                  summary: Default initializeEvacuation 200 response
                  x-microcks-default: true
                  value:
                    status: success
                    payload: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ZoneManager/_rad_method/evacuate:
    put:
      operationId: evacuateZones
      summary: Solaris Zones Evacuate Zones to Remote Host
      description: >-
        Perform zone evacuation to a previously initialized remote host.
        Migrates all eligible zones. Available since API version 1.4.
      tags:
      - Zone Manager
      responses:
        '200':
          description: Evacuation started
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RadResult'
              examples:
                Evacuatezones200Example:
                  summary: Default evacuateZones 200 response
                  x-microcks-default: true
                  value:
                    status: success
                    payload: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ZoneManager/_rad_method/cancelEvacuate:
    put:
      operationId: cancelEvacuation
      summary: Solaris Zones Cancel Zone Evacuation in Progress
      description: >-
        Cancel an ongoing zone evacuation operation. Available since API version
        1.4.
      tags:
      - Zone Manager
      responses:
        '200':
          description: Evacuation cancelled
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RadResult'
              examples:
                Cancelevacuation200Example:
                  summary: Default cancelEvacuation 200 response
                  x-microcks-default: true
                  value:
                    status: success
                    payload: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}:
    get:
      operationId: getZone
      summary: Solaris Zones Get Zone Details
      description: >-
        Retrieve detailed information about a specific zone including its
        name, brand, state, UUID, and auxiliary states.
      tags:
      - Zones
      parameters:
      - $ref: '#/components/parameters/zoneName'
      - $ref: '#/components/parameters/radDetail'
      responses:
        '200':
          description: Zone details
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  payload:
                    $ref: '#/components/schemas/Zone'
              examples:
                Getzone200Example:
                  summary: Default getZone 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload:
                      name: Example Title
                      brand: example_value
                      id: abc123
                      uuid: '500123'
                      state: configured
                      auxstate:
                      - example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/name:
    get:
      operationId: getZoneName
      summary: Solaris Zones Get Zone Name Property
      description: Retrieve the name property of a specific zone.
      tags:
      - Zones
      parameters:
      - $ref: '#/components/parameters/zoneName'
      responses:
        '200':
          description: Zone name
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  payload:
                    type: string
              examples:
                Getzonename200Example:
                  summary: Default getZoneName 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload: example_value
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/state:
    get:
      operationId: getZoneState
      summary: Solaris Zones Get Zone State
      description: >-
        Retrieve the current state of a zone. States include configured,
        incomplete, installed, ready, running, shutting_down, and down.
      tags:
      - Zones
      parameters:
      - $ref: '#/components/parameters/zoneName'
      responses:
        '200':
          description: Zone state
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  payload:
                    type: string
                    enum:
                    - configured
                    - incomplete
                    - installed
                    - ready
                    - running
                    - shutting_down
                    - down
              examples:
                Getzonestate200Example:
                  summary: Default getZoneState 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload: configured
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/brand:
    get:
      operationId: getZoneBrand
      summary: Solaris Zones Get Zone Brand
      description: >-
        Retrieve the brand type of a zone (e.g., solaris, solaris-kz,
        solaris10).
      tags:
      - Zones
      parameters:
      - $ref: '#/components/parameters/zoneName'
      responses:
        '200':
          description: Zone brand
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  payload:
                    type: string
              examples:
                Getzonebrand200Example:
                  summary: Default getZoneBrand 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload: example_value
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/id:
    get:
      operationId: getZoneId
      summary: Solaris Zones Get Zone Numeric Id
      description: >-
        Retrieve the numeric zone ID. Only available when the zone is in
        running or ready state.
      tags:
      - Zones
      parameters:
      - $ref: '#/components/parameters/zoneName'
      responses:
        '200':
          description: Zone ID
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  payload:
                    type: integer
              examples:
                Getzoneid200Example:
                  summary: Default getZoneId 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload: 10
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/uuid:
    get:
      operationId: getZoneUuid
      summary: Solaris Zones Get Zone Uuid
      description: Retrieve the universally unique identifier for the zone.
      tags:
      - Zones
      parameters:
      - $ref: '#/components/parameters/zoneName'
      responses:
        '200':
          description: Zone UUID
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  payload:
                    type: string
                    format: uuid
              examples:
                Getzoneuuid200Example:
                  summary: Default getZoneUuid 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload: example_value
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/_rad_method/boot:
    put:
      operationId: bootZone
      summary: Solaris Zones Boot a Zone
      description: >-
        Boot a zone, transitioning it from installed or ready state to running
        state. Equivalent to zoneadm boot.
      tags:
      - Zones
      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
      description: >-
        Immediately halt a running zone. Equivalent to zoneadm halt.
        Does not run shutdown scripts.
      tags:
      - Zones
      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 running shutdown scripts.
        Equivalent to zoneadm shutdown.
      tags:
      - Zones
      parameters:
      - $ref: '#/components/parameters/zoneName'
      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. Equivalent to zoneadm reboot.
      tags:
      - Zones
      parameters:
      - $ref: '#/components/parameters/zoneName'
      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/install:
    put:
      operationId: installZone
      summary: Solaris Zones Install a Zone
      description: >-
        Install a configured zone, transitioning it from configured to installed
        state. Equivalent to zoneadm install.
      tags:
      - Zones
      parameters:
      - $ref: '#/components/parameters/zoneName'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                options:
                  type: array
                  items:
                    type: string
                  description: Optional install arguments
            examples:
              InstallzoneRequestExample:
                summary: Default installZone request
                x-microcks-default: true
                value:
                  options:
                  - example_value
      responses:
        '200':
          description: Zone install initiated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneResult'
              examples:
                Installzone200Example:
                  summary: Default installZone 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/uninstall:
    put:
      operationId: uninstallZone
      summary: Solaris Zones Uninstall a Zone
      description: >-
        Uninstall an installed zone, removing its file system content.
        Equivalent to zoneadm uninstall.
      tags:
      - Zones
      parameters:
      - $ref: '#/components/parameters/zoneName'
      responses:
        '200':
          description: Zone uninstalled
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneResult'
              examples:
                Uninstallzone200Example:
                  summary: Default uninstallZone 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/clone:
    put:
      operationId: cloneZone
      summary: Solaris Zones Clone a Zone
      description: >-
        Clone an existing zone to create a new zone with the same configuration
        and content. Equivalent to zoneadm clone.
      tags:
      - Zones
      parameters:
      - $ref: '#/components/parameters/zoneName'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - source
              properties:
                source:
                  type: string
                  description: Name of the source zone to clone from
                snapshot:
                  type: string
                  description: ZFS snapshot to clone from
            examples:
              ClonezoneRequestExample:
                summary: Default cloneZone request
                x-microcks-default: true
                value:
                  source: example_value
                  snapshot: example_value
      responses:
        '200':
          description: Zone cloned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneResult'
              examples:
                Clonezone200Example:
                  summary: Default cloneZone 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/attach:
    put:
      operationId: attachZone
      summary: Solaris Zones Attach a Zone
      description: >-
        Attach a previously detached zone. Equivalent to zoneadm attach.
      tags:
      - Zones
      parameters:
      - $ref: '#/components/parameters/zoneName'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                options:
                  type: array
                  items:
                    type: string
                  description: Optional attach arguments
            examples:
              AttachzoneRequestExample:
                summary: Default attachZone request
                x-microcks-default: true
                value:
                  options:
                  - example_value
      responses:
        '200':
          description: Zone attached
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneResult'
              examples:
                Attachzone200Example:
                  summary: Default attachZone 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/detach:
    put:
      operationId

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