openapi: 3.1.0 info: title: Solaris Zones Oracle Solaris Kernel Zones Archive Creation Migration API description: REST API for creating and managing Oracle Solaris Kernel Zones via the RAD zonemgr module. Kernel Zones (brand solaris-kz) are non-global zones with their own kernel, providing greater independence and enhanced security isolation compared to native zones. They support live migration, independent patching, and hardware-assisted virtualization. version: '1.6' contact: name: Oracle Solaris Support url: https://www.oracle.com/solaris/support/ email: solaris-support@oracle.com license: name: Oracle Technology Network License url: https://www.oracle.com/legal/terms.html servers: - url: https://{host}:{port}/api/com.oracle.solaris.rad.zonemgr/1.6 description: Oracle Solaris RAD REST endpoint variables: host: default: localhost description: Solaris host running RAD port: default: '6788' description: RAD REST API port security: - cookieAuth: [] tags: - name: Migration description: Zone attach, detach, move, and migration operations paths: /Zone/{zoneName}/_rad_method/attach: put: operationId: attachZone summary: Solaris Zones Attach a Zone description: Attach a previously detached zone or a zone moved from another system. Validates and updates the zone configuration for the current system. Equivalent to zoneadm attach. tags: - Migration 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: detachZone summary: Solaris Zones Detach a Zone description: Detach a zone from the system, preparing it for migration to another system or for archival. The zone transitions to the configured state. Equivalent to zoneadm detach. tags: - Migration parameters: - $ref: '#/components/parameters/zoneName' responses: '200': description: Zone detached content: application/json: schema: $ref: '#/components/schemas/ZoneResult' examples: Detachzone200Example: summary: Default detachZone 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/move: put: operationId: moveZone summary: Solaris Zones Move a Zone to a New Path description: Move a zone's root file system to a new location on the same system. Equivalent to zoneadm move. tags: - Migration parameters: - $ref: '#/components/parameters/zoneName' requestBody: required: true content: application/json: schema: type: object required: - path properties: path: type: string description: New file system path for the zone root examples: MovezoneRequestExample: summary: Default moveZone request x-microcks-default: true value: path: example_value responses: '200': description: Zone moved content: application/json: schema: $ref: '#/components/schemas/ZoneResult' examples: Movezone200Example: summary: Default moveZone 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/migrate: put: operationId: migrateZone summary: Solaris Zones Migrate Zone to a Remote Host description: Migrate a zone to a remote host using either live or cold migration. Live migration keeps the zone running during transfer. Cold migration halts the zone first. Available since API version 1.1. tags: - Migration parameters: - $ref: '#/components/parameters/zoneName' requestBody: required: true content: application/json: schema: type: object required: - host - type properties: host: type: string description: Remote host to migrate the zone to type: type: string enum: - live - cold description: Migration type cipher: type: string description: Encryption cipher for the migration data transfer examples: MigratezoneRequestExample: summary: Default migrateZone request x-microcks-default: true value: host: example_value type: live cipher: example_value responses: '200': description: Migration initiated content: application/json: schema: $ref: '#/components/schemas/ZoneResult' examples: Migratezone200Example: summary: Default migrateZone 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 components: schemas: RadError: type: object properties: status: type: string example: failure payload: type: object properties: code: type: integer message: type: string example: example_value ZoneResult: type: object properties: status: type: string example: example_value payload: type: object properties: code: type: string enum: - NONE - FRAMEWORK_ERROR - SNAPSHOT_ERROR - COMMAND_ERROR - RESOURCE_ALREADY_EXISTS - RESOURCE_NOT_FOUND - RESOURCE_TOO_MANY - RESOURCE_UNKNOWN - ALREADY_EDITING - INCOMPLETE_NO_CONFIG - PROPERTY_UNKNOWN - NOT_EDITING - SYSTEM_ERROR - INVALID_ARGUMENT - INVALID_ZONE_STATE message: type: string stdout: type: string stderr: type: string example: example_value responses: NotFound: description: Zone not found content: application/json: schema: $ref: '#/components/schemas/RadError' Unauthorized: description: Authentication required or session expired content: application/json: schema: $ref: '#/components/schemas/RadError' BadRequest: description: Invalid request parameters content: application/json: schema: $ref: '#/components/schemas/RadError' parameters: zoneName: name: zoneName in: path required: true description: Name of the zone schema: type: string securitySchemes: cookieAuth: type: apiKey in: cookie name: _rad_session description: RAD session cookie obtained via authentication externalDocs: description: Oracle Solaris Kernel Zones Documentation url: https://docs.oracle.com/en/operating-systems/solaris/oracle-solaris/11.4/kernel-zones/oracle-solaris-kernel-zones.html