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