openapi: 3.1.0 info: title: Spot Ocean API description: >- The Spot Ocean API provides programmatic management of Ocean Kubernetes clusters across AWS EKS, Azure AKS, GCP GKE, and Amazon ECS. Ocean is a serverless Kubernetes infrastructure engine that automatically manages and optimizes cloud infrastructure for containers, handling node provisioning, scaling, and cost optimization with intelligent use of spot instances, reserved capacity, and on-demand resources. version: 2.0.0 contact: name: Spot by Flexera url: https://docs.spot.io/ termsOfService: https://spot.io/terms-of-use/ servers: - url: https://api.spotinst.io description: Spot Production API security: - bearerAuth: [] tags: - name: Ocean AKS description: Manage Ocean clusters for Azure Kubernetes Service. - name: Ocean AWS description: Manage Ocean clusters for AWS EKS. - name: Ocean CD description: Manage continuous delivery for Ocean clusters. - name: Ocean ECS description: Manage Ocean clusters for Amazon ECS. - name: Ocean GKE description: Manage Ocean clusters for Google Kubernetes Engine. - name: Ocean Spark description: Manage Apache Spark clusters on Ocean. - name: Right Sizing description: Get right-sizing recommendations for Ocean workloads. - name: Rolls description: Manage rolling updates for Ocean clusters. - name: Virtual Node Groups description: Manage virtual node groups (launch specifications) within Ocean clusters. paths: /ocean/aws/k8s/cluster: post: operationId: createOceanClusterAWS summary: Spot Create Ocean Cluster (aws) description: Create a new Ocean cluster for AWS EKS. tags: - Ocean AWS parameters: - name: accountId in: query schema: type: string example: '500123' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/OceanAWSClusterRequest' examples: CreateoceanclusterawsRequestExample: summary: Default createOceanClusterAWS request x-microcks-default: true value: cluster: name: Example Title controllerClusterId: '500123' region: example_value autoScaler: isEnabled: true isAutoConfig: true cooldown: 10 resourceLimits: maxMemoryGib: 10 maxVCpu: 10 down: maxScaleDownPercentage: 10 capacity: target: 10 minimum: 10 maximum: 10 strategy: spotPercentage: 10 fallbackToOd: true utilizeReservedInstances: true utilizeCommitments: true compute: instanceTypes: whitelist: {} blacklist: {} subnetIds: - {} launchSpecification: imageId: '500123' securityGroupIds: {} keyPair: example_value tags: {} responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/OceanClusterResponse' examples: Createoceanclusteraws200Example: summary: Default createOceanClusterAWS 200 response x-microcks-default: true value: request: example_value response: items: - {} x-microcks-operation: delay: 0 dispatcher: FALLBACK get: operationId: listOceanClustersAWS summary: Spot List Ocean Clusters (aws) description: List all Ocean clusters for AWS in the account. tags: - Ocean AWS parameters: - name: accountId in: query schema: type: string example: '500123' responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/OceanClusterListResponse' examples: Listoceanclustersaws200Example: summary: Default listOceanClustersAWS 200 response x-microcks-default: true value: request: example_value response: items: - {} x-microcks-operation: delay: 0 dispatcher: FALLBACK /ocean/aws/k8s/cluster/{oceanClusterId}: get: operationId: getOceanClusterAWS summary: Spot Get Ocean Cluster (aws) description: Get the configuration of an Ocean cluster. tags: - Ocean AWS parameters: - name: oceanClusterId in: path required: true schema: type: string example: '500123' - name: accountId in: query schema: type: string example: '500123' responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/OceanClusterResponse' examples: Getoceanclusteraws200Example: summary: Default getOceanClusterAWS 200 response x-microcks-default: true value: request: example_value response: items: - {} x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: updateOceanClusterAWS summary: Spot Update Ocean Cluster (aws) description: Update an existing Ocean cluster configuration. tags: - Ocean AWS parameters: - name: oceanClusterId in: path required: true schema: type: string example: '500123' - name: accountId in: query schema: type: string example: '500123' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/OceanAWSClusterRequest' examples: UpdateoceanclusterawsRequestExample: summary: Default updateOceanClusterAWS request x-microcks-default: true value: cluster: name: Example Title controllerClusterId: '500123' region: example_value autoScaler: isEnabled: true isAutoConfig: true cooldown: 10 resourceLimits: maxMemoryGib: 10 maxVCpu: 10 down: maxScaleDownPercentage: 10 capacity: target: 10 minimum: 10 maximum: 10 strategy: spotPercentage: 10 fallbackToOd: true utilizeReservedInstances: true utilizeCommitments: true compute: instanceTypes: whitelist: {} blacklist: {} subnetIds: - {} launchSpecification: imageId: '500123' securityGroupIds: {} keyPair: example_value tags: {} responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteOceanClusterAWS summary: Spot Delete Ocean Cluster (aws) description: Delete an Ocean cluster. tags: - Ocean AWS parameters: - name: oceanClusterId in: path required: true schema: type: string example: '500123' - name: accountId in: query schema: type: string example: '500123' responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK /ocean/aws/k8s/cluster/{oceanClusterId}/roll: post: operationId: initiateRollAWS summary: Spot Initiate Cluster Roll (aws) description: >- Initiate a roll (rolling replacement) of nodes in an Ocean cluster. tags: - Rolls parameters: - name: oceanClusterId in: path required: true schema: type: string example: '500123' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/OceanRollRequest' examples: InitiaterollawsRequestExample: summary: Default initiateRollAWS request x-microcks-default: true value: roll: batchSizePercentage: 10 comment: example_value batchMinHealthyPercentage: 10 respectPdb: true responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK get: operationId: listRollsAWS summary: Spot List Cluster Rolls (aws) description: List all rolls for an Ocean cluster. tags: - Rolls parameters: - name: oceanClusterId in: path required: true schema: type: string example: '500123' responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK /ocean/aws/k8s/cluster/{oceanClusterId}/roll/{rollId}: get: operationId: getRollAWS summary: Spot Get Roll Details (aws) description: Get the details and status of a specific roll. tags: - Rolls parameters: - name: oceanClusterId in: path required: true schema: type: string example: '500123' - name: rollId in: path required: true schema: type: string example: '500123' responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: updateRollAWS summary: Spot Update Roll (aws) description: Stop or modify a running roll. tags: - Rolls parameters: - name: oceanClusterId in: path required: true schema: type: string example: '500123' - name: rollId in: path required: true schema: type: string example: '500123' requestBody: required: true content: application/json: schema: type: object properties: roll: type: object properties: status: type: string enum: - STOPPED examples: UpdaterollawsRequestExample: summary: Default updateRollAWS request x-microcks-default: true value: roll: status: STOPPED responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK /ocean/aws/k8s/launchSpec: post: operationId: createVirtualNodeGroupAWS summary: Spot Create Virtual Node Group (aws) description: Create a virtual node group (launch specification) for an Ocean cluster. tags: - Virtual Node Groups requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/VirtualNodeGroupAWSRequest' examples: CreatevirtualnodegroupawsRequestExample: summary: Default createVirtualNodeGroupAWS request x-microcks-default: true value: launchSpec: name: Example Title oceanId: '500123' imageId: '500123' instanceTypes: - example_value labels: - key: example_value value: example_value taints: - key: example_value value: example_value effect: example_value responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK get: operationId: listVirtualNodeGroupsAWS summary: Spot List Virtual Node Groups (aws) description: List all virtual node groups for an Ocean cluster. tags: - Virtual Node Groups parameters: - name: oceanId in: query description: Ocean cluster ID to filter by. schema: type: string example: '500123' responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK /ocean/aws/k8s/launchSpec/{launchSpecId}: get: operationId: getVirtualNodeGroupAWS summary: Spot Get Virtual Node Group (aws) description: Get the configuration of a virtual node group. tags: - Virtual Node Groups parameters: - name: launchSpecId in: path required: true schema: type: string example: '500123' responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: updateVirtualNodeGroupAWS summary: Spot Update Virtual Node Group (aws) description: Update a virtual node group. tags: - Virtual Node Groups parameters: - name: launchSpecId in: path required: true schema: type: string example: '500123' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/VirtualNodeGroupAWSRequest' examples: UpdatevirtualnodegroupawsRequestExample: summary: Default updateVirtualNodeGroupAWS request x-microcks-default: true value: launchSpec: name: Example Title oceanId: '500123' imageId: '500123' instanceTypes: - example_value labels: - key: example_value value: example_value taints: - key: example_value value: example_value effect: example_value responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteVirtualNodeGroupAWS summary: Spot Delete Virtual Node Group (aws) description: Delete a virtual node group. tags: - Virtual Node Groups parameters: - name: launchSpecId in: path required: true schema: type: string example: '500123' responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK /ocean/aws/ecs/cluster: post: operationId: createOceanClusterECS summary: Spot Create Ocean Cluster (ecs) description: Create a new Ocean cluster for Amazon ECS. tags: - Ocean ECS requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/OceanECSClusterRequest' examples: CreateoceanclusterecsRequestExample: summary: Default createOceanClusterECS request x-microcks-default: true value: cluster: name: Example Title clusterName: example_value region: example_value autoScaler: isEnabled: true isAutoConfig: true capacity: target: 10 minimum: 10 maximum: 10 compute: instanceTypes: whitelist: {} subnetIds: - {} responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK get: operationId: listOceanClustersECS summary: Spot List Ocean Clusters (ecs) description: List all Ocean ECS clusters. tags: - Ocean ECS responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK /ocean/aws/ecs/cluster/{oceanClusterId}: get: operationId: getOceanClusterECS summary: Spot Get Ocean Cluster (ecs) description: Get an Ocean ECS cluster. tags: - Ocean ECS parameters: - name: oceanClusterId in: path required: true schema: type: string example: '500123' responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: updateOceanClusterECS summary: Spot Update Ocean Cluster (ecs) description: Update an Ocean ECS cluster. tags: - Ocean ECS parameters: - name: oceanClusterId in: path required: true schema: type: string example: '500123' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/OceanECSClusterRequest' examples: UpdateoceanclusterecsRequestExample: summary: Default updateOceanClusterECS request x-microcks-default: true value: cluster: name: Example Title clusterName: example_value region: example_value autoScaler: isEnabled: true isAutoConfig: true capacity: target: 10 minimum: 10 maximum: 10 compute: instanceTypes: whitelist: {} subnetIds: - {} responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteOceanClusterECS summary: Spot Delete Ocean Cluster (ecs) description: Delete an Ocean ECS cluster. tags: - Ocean ECS parameters: - name: oceanClusterId in: path required: true schema: type: string example: '500123' responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK /ocean/gke/cluster: post: operationId: createOceanClusterGKE summary: Spot Create Ocean Cluster (gke) description: Create a new Ocean cluster for Google Kubernetes Engine. tags: - Ocean GKE requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/OceanGKEClusterRequest' examples: CreateoceanclustergkeRequestExample: summary: Default createOceanClusterGKE request x-microcks-default: true value: cluster: name: Example Title controllerClusterId: '500123' gke: clusterName: example_value masterLocation: example_value autoScaler: isEnabled: true isAutoConfig: true capacity: target: 10 minimum: 10 maximum: 10 responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK get: operationId: listOceanClustersGKE summary: Spot List Ocean Clusters (gke) description: List all Ocean GKE clusters. tags: - Ocean GKE responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK /ocean/gke/cluster/{oceanClusterId}: get: operationId: getOceanClusterGKE summary: Spot Get Ocean Cluster (gke) description: Get an Ocean GKE cluster. tags: - Ocean GKE parameters: - name: oceanClusterId in: path required: true schema: type: string example: '500123' responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: updateOceanClusterGKE summary: Spot Update Ocean Cluster (gke) description: Update an Ocean GKE cluster. tags: - Ocean GKE parameters: - name: oceanClusterId in: path required: true schema: type: string example: '500123' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/OceanGKEClusterRequest' examples: UpdateoceanclustergkeRequestExample: summary: Default updateOceanClusterGKE request x-microcks-default: true value: cluster: name: Example Title controllerClusterId: '500123' gke: clusterName: example_value masterLocation: example_value autoScaler: isEnabled: true isAutoConfig: true capacity: target: 10 minimum: 10 maximum: 10 responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteOceanClusterGKE summary: Spot Delete Ocean Cluster (gke) description: Delete an Ocean GKE cluster. tags: - Ocean GKE parameters: - name: oceanClusterId in: path required: true schema: type: string example: '500123' responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK /ocean/azure/k8s/cluster: post: operationId: createOceanClusterAKS summary: Spot Create Ocean Cluster (aks) description: Create a new Ocean cluster for Azure Kubernetes Service. tags: - Ocean AKS requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/OceanAKSClusterRequest' examples: CreateoceanclusteraksRequestExample: summary: Default createOceanClusterAKS request x-microcks-default: true value: cluster: name: Example Title controllerClusterId: '500123' aks: clusterName: example_value resourceGroupName: example_value region: example_value autoScaler: isEnabled: true isAutoConfig: true responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK get: operationId: listOceanClustersAKS summary: Spot List Ocean Clusters (aks) description: List all Ocean AKS clusters. tags: - Ocean AKS responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK /ocean/azure/k8s/cluster/{oceanClusterId}: get: operationId: getOceanClusterAKS summary: Spot Get Ocean Cluster (aks) description: Get an Ocean AKS cluster. tags: - Ocean AKS parameters: - name: oceanClusterId in: path required: true schema: type: string example: '500123' responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: updateOceanClusterAKS summary: Spot Update Ocean Cluster (aks) description: Update an Ocean AKS cluster. tags: - Ocean AKS parameters: - name: oceanClusterId in: path required: true schema: type: string example: '500123' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/OceanAKSClusterRequest' examples: UpdateoceanclusteraksRequestExample: summary: Default updateOceanClusterAKS request x-microcks-default: true value: cluster: name: Example Title controllerClusterId: '500123' aks: clusterName: example_value resourceGroupName: example_value region: example_value autoScaler: isEnabled: true isAutoConfig: true responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteOceanClusterAKS summary: Spot Delete Ocean Cluster (aks) description: Delete an Ocean AKS cluster. tags: - Ocean AKS parameters: - name: oceanClusterId in: path required: true schema: type: string example: '500123' responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK /ocean/aws/k8s/cluster/{oceanClusterId}/rightSizing/suggestion: get: operationId: getRightSizingSuggestions summary: Spot Get Right-sizing Suggestions description: >- Get right-sizing recommendations for workloads running in an Ocean cluster. Returns CPU and memory recommendations based on actual usage. tags: - Right Sizing parameters: - name: oceanClusterId in: path required: true schema: type: string example: '500123' responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK /ocean/cd/cluster: post: operationId: createOceanCDCluster summary: Spot Create Ocean Cd Cluster description: Register a cluster with Ocean CD for continuous delivery. tags: - Ocean CD requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/OceanCDClusterRequest' examples: CreateoceancdclusterRequestExample: summary: Default createOceanCDCluster request x-microcks-default: true value: cluster: name: Example Title kubernetesClusterId: '500123' responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK get: operationId: listOceanCDClusters summary: Spot List Ocean Cd Clusters description: List all clusters registered with Ocean CD. tags: - Ocean CD responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK /ocean/cd/cluster/{clusterId}: get: operationId: getOceanCDCluster summary: Spot Get Ocean Cd Cluster description: Get a cluster registered with Ocean CD. tags: - Ocean CD parameters: - name: clusterId in: path required: true schema: type: string example: '500123' responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: updateOceanCDCluster summary: Spot Update Ocean Cd Cluster description: Update an Ocean CD cluster configuration. tags: - Ocean CD parameters: - name: clusterId in: path required: true schema: type: string example: '500123' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/OceanCDClusterRequest' examples: UpdateoceancdclusterRequestExample: summary: Default updateOceanCDCluster request x-microcks-default: true value: cluster: name: Example Title kubernetesClusterId: '500123' responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteOceanCDCluster summary: Spot Delete Ocean Cd Cluster description: Unregister a cluster from Ocean CD. tags: - Ocean CD parameters: - name: clusterId in: path required: true schema: type: string example: '500123' responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK /ocean/spark/cluster: post: operationId: createOceanSparkCluster summary: Spot Create Ocean Spark Cluster description: Create a new Ocean for Apache Spark cluster. tags: - Ocean Spark requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/OceanSparkClusterRequest' examples: CreateoceansparkclusterRequestExample: summary: Default createOceanSparkCluster request x-microcks-default: true value: cluster: oceanClusterId: '500123' config: example_value responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK get: operationId: listOceanSparkClusters summary: Spot List Ocean Spark Clusters description: List all Ocean Spark clusters. tags: - Ocean Spark responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK /ocean/spark/cluster/{oceanSparkClusterId}: get: operationId: getOceanSparkCluster summary: Spot Get Ocean Spark Cluster description: Get an Ocean Spark cluster. tags: - Ocean Spark parameters: - name: oceanSparkClusterId in: path required: true schema: type: string example: '500123' responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteOceanSparkCluster summary: Spot Delete Ocean Spark Cluster description: Delete an Ocean Spark cluster. tags: - Ocean Spark parameters: - name: oceanSparkClusterId in: path required: true schema: type: string example: '500123' responses: '200': description: Successful response x-microcks-operation: delay: 0 dispatcher: FALLBACK components: securitySchemes: bearerAuth: type: http scheme: bearer description: >- Spot API uses Bearer Token Authentication. Include your API token in the Authorization header. schemas: OceanAWSClusterRequest: type: object properties: cluster: type: object properties: name: type: string controllerClusterId: type: string description: The Ocean controller cluster identifier. region: type: string autoScaler: type: object properties: isEnabled: type: boolean isAutoConfig: type: boolean cooldown: type: integer resourceLimits: type: object properties: maxMemoryGib: type: integer maxVCpu: type: integer down: type: object properties: maxScaleDownPercentage: type: integer capacity: type: object properties: target: type: integer minimum: type: integer maximum: type: integer strategy: type: object properties: spotPercentage: type: integer fallbackToOd: type: boolean utilizeReservedInstances: type: boolean utilizeCommitments: type: boolean compute: type: object properties: instanceTypes: type: object properties: whitelist: type: array items: type: string blacklist: type: array items: type: string subnetIds: type: array items: type: string launchSpecification: type: object properties: imageId: type: string securityGroupIds: type: array items: type: string keyPair: type: string tags: type: array items: type: object properties: tagKey: type: string tagValue: type: string example: example_value OceanECSClusterRequest: type: object properties: cluster: type: object properties: name: type: string clusterName: type: string description: The ECS cluster name. region: type: string autoScaler: type: object properties: isEnabled: type: boolean isAutoConfig: type: boolean capacity: type: object properties: target: type: integer minimum: type: integer maximum: type: integer compute: type: object properties: instanceTypes: type: object properties: whitelist: type: array items: type: string subnetIds: type: array items: type: string example: example_value OceanGKEClusterRequest: type: object properties: cluster: type: object properties: name: type: string controllerClusterId: type: string gke: type: object properties: clusterName: type: string masterLocation: type: string autoScaler: type: object properties: isEnabled: type: boolean isAutoConfig: type: boolean capacity: type: object properties: target: type: integer minimum: type: integer maximum: type: integer example: example_value OceanAKSClusterRequest: type: object properties: cluster: type: object properties: name: type: string controllerClusterId: type: string aks: type: object properties: clusterName: type: string resourceGroupName: type: string region: type: string autoScaler: type: object properties: isEnabled: type: boolean isAutoConfig: type: boolean example: example_value VirtualNodeGroupAWSRequest: type: object properties: launchSpec: type: object properties: name: type: string oceanId: type: string imageId: type: string instanceTypes: type: array items: type: string labels: type: array items: type: object properties: key: type: string value: type: string taints: type: array items: type: object properties: key: type: string value: type: string effect: type: string example: example_value OceanRollRequest: type: object properties: roll: type: object properties: batchSizePercentage: type: integer description: Percentage of nodes to replace in each batch. comment: type: string batchMinHealthyPercentage: type: integer respectPdb: type: boolean description: Respect pod disruption budgets during the roll. example: example_value OceanCDClusterRequest: type: object properties: cluster: type: object properties: name: type: string kubernetesClusterId: type: string example: example_value OceanSparkClusterRequest: type: object properties: cluster: type: object properties: oceanClusterId: type: string description: The ID of the Ocean cluster to use. config: type: object example: example_value OceanClusterResponse: type: object properties: request: type: object example: example_value response: type: object properties: items: type: array items: $ref: '#/components/schemas/OceanCluster' example: example_value OceanClusterListResponse: type: object properties: request: type: object example: example_value response: type: object properties: items: type: array items: $ref: '#/components/schemas/OceanCluster' example: example_value OceanCluster: type: object properties: id: type: string example: abc123 name: type: string example: Example Title controllerClusterId: type: string example: '500123' region: type: string example: example_value autoScaler: type: object example: example_value capacity: type: object example: example_value strategy: type: object example: example_value compute: type: object example: example_value createdAt: type: string format: date-time example: '2026-01-15T10:30:00Z' updatedAt: type: string format: date-time example: '2026-01-15T10:30:00Z'