Zone Configuration API

API endpoints for zone configuration and resource management.

OpenAPI Specification

solaris-zone-configuration-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Solaris Zones Solaris Zone Configuration API
  description: >-
    REST API for configuring Oracle Solaris Zones via the RAD zonemgr module.
    Provides operations for editing zone configurations, managing zone resources
    (network interfaces, devices, file systems, resource controls), and
    committing configuration changes. Corresponds to the zonecfg(1M) command
    functionality exposed through the RAD REST interface.
  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 Zone Configuration Resources
  url: https://docs.oracle.com/cd/E37838_01/html/E61040/
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
tags:
- name: Configuration
  description: Zone configuration editing and commit operations
- name: Resources
  description: Zone resource management (net, device, fs, rctl, etc.)
security:
- cookieAuth: []
paths:
  /Zone/{zoneName}/_rad_method/editConfig:
    put:
      operationId: editZoneConfig
      summary: Solaris Zones Begin Editing Zone Configuration
      description: >-
        Start a configuration editing transaction for the specified zone.
        All subsequent resource and property changes are staged until
        commitConfig is called. Set liveMode to true to apply changes to
        a running zone.
      tags:
      - Configuration
      parameters:
      - $ref: '#/components/parameters/zoneName'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                liveMode:
                  type: boolean
                  default: false
                  description: >-
                    Enable live reconfiguration mode to apply changes to a
                    running zone without requiring reboot
            examples:
              EditzoneconfigRequestExample:
                summary: Default editZoneConfig request
                x-microcks-default: true
                value:
                  liveMode: true
      responses:
        '200':
          description: Configuration editing session started
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneResult'
              examples:
                Editzoneconfig200Example:
                  summary: Default editZoneConfig 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'
        '409':
          description: Already in editing mode
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneResult'
              examples:
                Editzoneconfig409Example:
                  summary: Default editZoneConfig 409 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload:
                      code: NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/_rad_method/commitConfig:
    put:
      operationId: commitZoneConfig
      summary: Solaris Zones Commit Zone Configuration Changes
      description: >-
        Commit all staged configuration changes made since editConfig was
        called. If the configuration was modified externally since the editing
        session began, a SNAPSHOT_ERROR is returned.
      tags:
      - Configuration
      parameters:
      - $ref: '#/components/parameters/zoneName'
      responses:
        '200':
          description: Configuration committed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneResult'
              examples:
                Commitzoneconfig200Example:
                  summary: Default commitZoneConfig 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'
        '409':
          description: Configuration was externally modified (snapshot error)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneResult'
              examples:
                Commitzoneconfig409Example:
                  summary: Default commitZoneConfig 409 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload:
                      code: NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/_rad_method/cancelConfig:
    put:
      operationId: cancelZoneConfig
      summary: Solaris Zones Cancel Zone Configuration Changes
      description: >-
        Discard all staged configuration changes and end the editing session.
        The zone configuration reverts to its state before editConfig was called.
      tags:
      - Configuration
      parameters:
      - $ref: '#/components/parameters/zoneName'
      responses:
        '200':
          description: Configuration changes cancelled
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneResult'
              examples:
                Cancelzoneconfig200Example:
                  summary: Default cancelZoneConfig 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/reloadConfig:
    put:
      operationId: reloadZoneConfig
      summary: Solaris Zones Reload Zone Configuration From Disk
      description: >-
        Reload the zone configuration from persistent storage, discarding any
        in-memory cached version. Useful when external changes have been made.
      tags:
      - Configuration
      parameters:
      - $ref: '#/components/parameters/zoneName'
      responses:
        '200':
          description: Configuration reloaded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneResult'
              examples:
                Reloadzoneconfig200Example:
                  summary: Default reloadZoneConfig 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/configIsLive:
    put:
      operationId: checkConfigIsLive
      summary: Solaris Zones Check if Live Configuration Mode Is Enabled
      description: >-
        Check whether the current editing session has live reconfiguration
        mode enabled.
      tags:
      - Configuration
      parameters:
      - $ref: '#/components/parameters/zoneName'
      responses:
        '200':
          description: Live mode status
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  payload:
                    type: boolean
              examples:
                Checkconfigislive200Example:
                  summary: Default checkConfigIsLive 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload: true
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/_rad_method/configIsStale:
    put:
      operationId: checkConfigIsStale
      summary: Solaris Zones Check if Configuration Has Been Externally Modified
      description: >-
        Check whether the zone configuration has been modified externally since
        the current editing session began.
      tags:
      - Configuration
      parameters:
      - $ref: '#/components/parameters/zoneName'
      responses:
        '200':
          description: Stale status
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  payload:
                    type: boolean
              examples:
                Checkconfigisstale200Example:
                  summary: Default checkConfigIsStale 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload: true
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/_rad_method/update:
    put:
      operationId: updateZoneConfig
      summary: Solaris Zones Process Zonecfg-format Commands
      description: >-
        Process configuration commands in zonecfg(1M) format. Allows batch
        configuration updates using the familiar command syntax.
      tags:
      - Configuration
      parameters:
      - $ref: '#/components/parameters/zoneName'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - commands
              properties:
                commands:
                  type: string
                  description: >-
                    Zone configuration commands in zonecfg(1M) format,
                    separated by semicolons
            examples:
              UpdatezoneconfigRequestExample:
                summary: Default updateZoneConfig request
                x-microcks-default: true
                value:
                  commands: example_value
      responses:
        '200':
          description: Commands processed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneResult'
              examples:
                Updatezoneconfig200Example:
                  summary: Default updateZoneConfig 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload:
                      code: NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/_rad_method/getResources:
    put:
      operationId: getZoneResources
      summary: Solaris Zones Query Zone Resources
      description: >-
        Retrieve resources configured for the zone, optionally filtered by
        resource type and property values. Returns an array of Resource
        objects with their properties.
      tags:
      - Resources
      parameters:
      - $ref: '#/components/parameters/zoneName'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                type:
                  type: string
                  description: >-
                    Resource type filter (e.g., net, device, fs, rctl, attr,
                    dataset, dedicated-cpu, capped-memory, capped-cpu, anet)
                filter:
                  type: array
                  items:
                    $ref: '#/components/schemas/Property'
                  description: Property filter criteria
            examples:
              GetzoneresourcesRequestExample:
                summary: Default getZoneResources request
                x-microcks-default: true
                value:
                  type: example_value
                  filter:
                  - name: Example Title
                    value: example_value
                    type: simple
                    listvalue:
                    - {}
                    complexvalue:
                    - {}
      responses:
        '200':
          description: List of matching resources
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  payload:
                    type: array
                    items:
                      $ref: '#/components/schemas/Resource'
              examples:
                Getzoneresources200Example:
                  summary: Default getZoneResources 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload:
                    - type: net
                      properties:
                      - {}
                      parent: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/_rad_method/addResource:
    put:
      operationId: addZoneResource
      summary: Solaris Zones Add a Resource to Zone Configuration
      description: >-
        Add a new resource to the zone configuration. Must be called within
        an editing session (after editConfig). The resource is staged until
        commitConfig is called.
      tags:
      - Resources
      parameters:
      - $ref: '#/components/parameters/zoneName'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Resource'
            examples:
              AddzoneresourceRequestExample:
                summary: Default addZoneResource request
                x-microcks-default: true
                value:
                  type: net
                  properties:
                  - name: Example Title
                    value: example_value
                    type: simple
                    listvalue: {}
                    complexvalue: {}
                  parent: example_value
      responses:
        '200':
          description: Resource added to staged configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneResult'
              examples:
                Addzoneresource200Example:
                  summary: Default addZoneResource 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload:
                      code: NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          description: Resource already exists
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneResult'
              examples:
                Addzoneresource409Example:
                  summary: Default addZoneResource 409 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload:
                      code: NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/_rad_method/removeResources:
    put:
      operationId: removeZoneResources
      summary: Solaris Zones Remove Resources From Zone Configuration
      description: >-
        Remove resources matching the specified filter from the zone
        configuration. Must be called within an editing session.
      tags:
      - Resources
      parameters:
      - $ref: '#/components/parameters/zoneName'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - type
              properties:
                type:
                  type: string
                  description: Resource type to remove
                filter:
                  type: array
                  items:
                    $ref: '#/components/schemas/Property'
                  description: Property filter to identify resources to remove
            examples:
              RemovezoneresourcesRequestExample:
                summary: Default removeZoneResources request
                x-microcks-default: true
                value:
                  type: example_value
                  filter:
                  - name: Example Title
                    value: example_value
                    type: simple
                    listvalue:
                    - {}
                    complexvalue:
                    - {}
      responses:
        '200':
          description: Resources removed from staged configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneResult'
              examples:
                Removezoneresources200Example:
                  summary: Default removeZoneResources 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/getResourceProperties:
    put:
      operationId: getZoneResourceProperties
      summary: Solaris Zones Get Properties of a Zone Resource
      description: >-
        Retrieve specific properties from a zone resource identified by type
        and filter criteria.
      tags:
      - Resources
      parameters:
      - $ref: '#/components/parameters/zoneName'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - type
              properties:
                type:
                  type: string
                  description: Resource type
                filter:
                  type: array
                  items:
                    $ref: '#/components/schemas/Property'
                  description: Property filter to identify the resource
                properties:
                  type: array
                  items:
                    type: string
                  description: Names of properties to retrieve
            examples:
              GetzoneresourcepropertiesRequestExample:
                summary: Default getZoneResourceProperties request
                x-microcks-default: true
                value:
                  type: example_value
                  filter:
                  - name: Example Title
                    value: example_value
                    type: simple
                    listvalue:
                    - {}
                    complexvalue:
                    - {}
                  properties:
                  - example_value
      responses:
        '200':
          description: Resource properties
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  payload:
                    type: array
                    items:
                      $ref: '#/components/schemas/Property'
              examples:
                Getzoneresourceproperties200Example:
                  summary: Default getZoneResourceProperties 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload:
                    - name: Example Title
                      value: example_value
                      type: simple
                      listvalue:
                      - {}
                      complexvalue:
                      - {}
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/_rad_method/setResourceProperties:
    put:
      operationId: setZoneResourceProperties
      summary: Solaris Zones Set Properties on a Zone Resource
      description: >-
        Set property values on a zone resource identified by type and filter
        criteria. Must be called within an editing session.
      tags:
      - Resources
      parameters:
      - $ref: '#/components/parameters/zoneName'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - type
              - properties
              properties:
                type:
                  type: string
                  description: Resource type
                filter:
                  type: array
                  items:
                    $ref: '#/components/schemas/Property'
                  description: Property filter to identify the resource
                properties:
                  type: array
                  items:
                    $ref: '#/components/schemas/Property'
                  description: Properties to set
            examples:
              SetzoneresourcepropertiesRequestExample:
                summary: Default setZoneResourceProperties request
                x-microcks-default: true
                value:
                  type: example_value
                  filter:
                  - name: Example Title
                    value: example_value
                    type: simple
                    listvalue:
                    - {}
                    complexvalue:
                    - {}
                  properties:
                  - name: Example Title
                    value: example_value
                    type: simple
                    listvalue:
                    - {}
                    complexvalue:
                    - {}
      responses:
        '200':
          description: Resource properties updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneResult'
              examples:
                Setzoneresourceproperties200Example:
                  summary: Default setZoneResourceProperties 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload:
                      code: NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/_rad_method/clearResourceProperties:
    put:
      operationId: clearZoneResourceProperties
      summary: Solaris Zones Clear Properties on a Zone Resource
      description: >-
        Clear (reset to default) property values on a zone resource. Must be
        called within an editing session.
      tags:
      - Resources
      parameters:
      - $ref: '#/components/parameters/zoneName'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - type
              - properties
              properties:
                type:
                  type: string
                  description: Resource type
                filter:
                  type: array
                  items:
                    $ref: '#/components/schemas/Property'
                  description: Property filter to identify the resource
                properties:
                  type: array
                  items:
                    type: string
                  description: Names of properties to clear
            examples:
              ClearzoneresourcepropertiesRequestExample:
                summary: Default clearZoneResourceProperties request
                x-microcks-default: true
                value:
                  type: example_value
                  filter:
                  - name: Example Title
                    value: example_value
                    type: simple
                    listvalue:
                    - {}
                    complexvalue:
                    - {}
                  properties:
                  - example_value
      responses:
        '200':
          description: Resource properties cleared
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneResult'
              examples:
                Clearzoneresourceproperties200Example:
                  summary: Default clearZoneResourceProperties 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/apply:
    put:
      operationId: applyZoneConfig
      summary: Solaris Zones Apply Configuration to a Running Zone
      description: >-
        Apply the current zone configuration to a running zone without
        requiring a reboot. Only effective when changes are compatible with
        live reconfiguration.
      tags:
      - Configuration
      parameters:
      - $ref: '#/components/parameters/zoneName'
      responses:
        '200':
          description: Configuration applied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneResult'
              examples:
                Applyzoneconfig200Example:
                  summary: Default applyZoneConfig 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:
  securitySchemes:
    cookieAuth:
      type: apiKey
      in: cookie
      name: _rad_session
      description: RAD session cookie obtained via authentication
  parameters:
    zoneName:
      name: zoneName
      in: path
      required: true
      description: Name of the zone to configure
      schema:
        type: string
  responses:
    Unauthorized:
      description: Authentication required or session expired
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RadError'
    BadRequest:
      description: Invalid request parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RadError'
    NotFound:
      description: Zone or resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RadError'
  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
    Resource:
      type: object
      required:
      - type
      properties:
        type:
          type: string
          description: >-
            Resource type name. Common types include: net, anet, device, fs,
            dataset, rctl, attr, dedicated-cpu, capped-memory, capped-cpu,
            admin, security-flags
          enum:
          - net
          - anet
          - device
          - fs
          - dataset
          - rctl
          - attr
          - dedicated-cpu
          - capped-memory
          - capped-cpu
          - admin
          - security-flags
          - suspend
          example: net
        properties:
          type: array
          items:
            $ref: '#/components/sch

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