IBM Turbonomic Policies API

Manage automation and placement policies

OpenAPI Specification

turbonomic-policies-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Turbonomic REST Actions Policies API
  description: The IBM Turbonomic REST API provides programmatic access to the Turbonomic Application Resource Management (ARM) platform. It enables automation of resource optimization actions, querying of entities (VMs, containers, applications, storage), management of markets and policies, retrieval of statistics and analytics, group management, template administration, and topology exploration across hybrid cloud environments.
  version: v3
  contact:
    name: IBM Turbonomic Support
    url: https://www.ibm.com/mysupport/s/topic/0TO0z000000ZnCCGA0/turbonomic-application-resource-management
  license:
    name: IBM Terms of Service
    url: https://www.ibm.com/terms
servers:
- url: https://{turbonomic_host}/api/v3
  description: Turbonomic Server
  variables:
    turbonomic_host:
      description: The hostname or IP address of the Turbonomic server
      default: turbonomic.example.com
tags:
- name: Policies
  description: Manage automation and placement policies
paths:
  /policies:
    get:
      operationId: getPolicies
      summary: Get All Policies
      description: Retrieve all automation and placement policies defined in Turbonomic.
      tags:
      - Policies
      security:
      - bearerAuth: []
      responses:
        '200':
          description: List of policies
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Policy'
    post:
      operationId: createPolicy
      summary: Create Policy
      description: Create a new automation or placement policy.
      tags:
      - Policies
      security:
      - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PolicyInput'
      responses:
        '200':
          description: Created policy
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Policy'
  /policies/{uuid}:
    get:
      operationId: getPolicyByUuid
      summary: Get Policy By UUID
      description: Retrieve a specific policy by its unique identifier.
      tags:
      - Policies
      security:
      - bearerAuth: []
      parameters:
      - name: uuid
        in: path
        required: true
        description: The unique identifier of the policy
        schema:
          type: string
      responses:
        '200':
          description: Policy details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Policy'
        '404':
          description: Policy not found
    put:
      operationId: updatePolicy
      summary: Update Policy
      description: Update an existing policy.
      tags:
      - Policies
      security:
      - bearerAuth: []
      parameters:
      - name: uuid
        in: path
        required: true
        description: The unique identifier of the policy
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PolicyInput'
      responses:
        '200':
          description: Updated policy
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Policy'
    delete:
      operationId: deletePolicy
      summary: Delete Policy
      description: Delete a policy.
      tags:
      - Policies
      security:
      - bearerAuth: []
      parameters:
      - name: uuid
        in: path
        required: true
        description: The unique identifier of the policy
        schema:
          type: string
      responses:
        '200':
          description: Policy deleted successfully
components:
  schemas:
    PolicyInput:
      type: object
      description: Input for creating or updating a policy
      required:
      - displayName
      properties:
        displayName:
          type: string
          description: Human-readable name of the policy
        policyType:
          type: string
          description: Type of policy
        enabled:
          type: boolean
          description: Whether the policy should be active
    Policy:
      type: object
      description: An automation or placement policy in Turbonomic
      properties:
        uuid:
          type: string
          description: Unique identifier of the policy
        displayName:
          type: string
          description: Human-readable name of the policy
        policyType:
          type: string
          description: Type of policy
        enabled:
          type: boolean
          description: Whether the policy is active
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer token obtained by calling POST /api/v3/login with username and password. Include in the Authorization header as 'Bearer {token}'.
externalDocs:
  description: Turbonomic REST API Reference
  url: https://www.ibm.com/docs/en/tarm/8.19.3?topic=reference-turbonomic-rest-api-endpoints