diff --git a/.github/workflows/openapi-generate.yml b/.github/workflows/openapi-generate.yml new file mode 100644 index 0000000000..1ae268108c --- /dev/null +++ b/.github/workflows/openapi-generate.yml @@ -0,0 +1,85 @@ +name: Generate OpenAPI Specification + +on: + push: + branches: + - master + paths: + - 'config/api.yml' + - 'lib/manageiq/api/open_api/**' + - 'app/controllers/api/**' + schedule: + - cron: 0 0 * * 0 + workflow_dispatch: +concurrency: + group: "${{ github.workflow }}-${{ github.ref }}" + cancel-in-progress: true +permissions: + contents: read +jobs: + openapi-generate: + runs-on: ubuntu-latest + services: + postgres: + image: manageiq/postgresql:13 + env: + POSTGRESQL_USER: root + POSTGRESQL_PASSWORD: smartvm + POSTGRESQL_DATABASE: vmdb_test + options: "--health-cmd pg_isready --health-interval 2s --health-timeout 5s --health-retries 5" + ports: + - 5432:5432 + env: + PGHOST: localhost + PGPASSWORD: smartvm + RAILS_ENV: test + steps: + - name: Checkout repository + uses: actions/checkout@v6 + - name: Set up system + run: bin/before_install + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: '3.3' + bundler-cache: true + timeout-minutes: 30 + - name: Prepare tests + run: bin/setup + - name: Generate OpenAPI specification + run: bundle exec rake manageiq:api:openapi_generate + - name: Create Pull Request + uses: peter-evans/create-pull-request@v8 + with: + token: ${{ secrets.GITHUB_TOKEN }} + commit-message: "Update OpenAPI specification" + title: "Update OpenAPI specification" + body: | + ## OpenAPI Specification Update + + This PR updates the OpenAPI specification (`config/openapi.json`) based on the current API configuration. + + ### Changes + - Regenerated OpenAPI spec from `config/api.yml` + - Updated schemas, paths, and operations + + ### Generated by + - Workflow: `${{ github.workflow }}` + - Run: `${{ github.run_number }}` + - Triggered by: `${{ github.workflow_ref }}\n${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}` + + ### Review Checklist + - [ ] Verify new/modified endpoints are documented correctly + - [ ] Check parameter definitions are accurate + - [ ] Ensure response schemas match actual API responses + - [ ] Validate security schemes are properly defined + + --- + *This PR was automatically generated by GitHub Actions* + branch: openapi_generate + delete-branch: true + push-to-fork: miq-bot/manageiq-api + labels: | + enhancement + add-paths: | + config/openapi.json diff --git a/config/openapi.json b/config/openapi.json index 36e279e9d9..f6073bf93b 100644 --- a/config/openapi.json +++ b/config/openapi.json @@ -6,9 +6,85828 @@ "description": "REST API" }, "paths": { + "/api/{version}/actions": { + "get": { + "summary": "List Actions", + "description": "Returns a paginated list of Actions", + "operationId": "list_actions", + "tags": [ + "Actions" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "actions" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqAction" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Action", + "description": "Creates a new Action", + "operationId": "create_action", + "tags": [ + "Actions" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqAction" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Actions", + "description": "Returns available HTTP methods and actions", + "operationId": "options_actions", + "tags": [ + "Actions" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/actions/{c_id}": { + "get": { + "summary": "Get a Action", + "description": "Returns a single Action by ID", + "operationId": "get_action", + "tags": [ + "Actions" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqAction" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Action", + "description": "Updates an existing Action", + "operationId": "update_action", + "tags": [ + "Actions" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqAction" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqAction" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Action", + "description": "Updates an existing Action", + "operationId": "update_action", + "tags": [ + "Actions" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqAction" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqAction" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Action", + "description": "Updates an existing Action", + "operationId": "update_action", + "tags": [ + "Actions" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqAction" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqAction" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Action", + "description": "Deletes an existing Action", + "operationId": "delete_action", + "tags": [ + "Actions" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Actions", + "description": "Returns available HTTP methods and actions", + "operationId": "options_actions", + "tags": [ + "Actions" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/alert_definition_profiles": { + "get": { + "summary": "List Alert Definition Profiles", + "description": "Returns a paginated list of Alert Definition Profiles", + "operationId": "list_alert_definition_profiles", + "tags": [ + "Alert Definition Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "alert_definition_profiles" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqAlertSet" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Alert Definition Profile", + "description": "Creates a new Alert Definition Profile", + "operationId": "create_alert_definition_profile", + "tags": [ + "Alert Definition Profiles" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqAlertSet" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Alert Definition Profiles", + "description": "Returns available HTTP methods and actions", + "operationId": "options_alert_definition_profiles", + "tags": [ + "Alert Definition Profiles" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/alert_definition_profiles/{c_id}": { + "get": { + "summary": "Get a Alert Definition Profile", + "description": "Returns a single Alert Definition Profile by ID", + "operationId": "get_alert_definition_profile", + "tags": [ + "Alert Definition Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqAlertSet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Alert Definition Profile", + "description": "Updates an existing Alert Definition Profile", + "operationId": "update_alert_definition_profile", + "tags": [ + "Alert Definition Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqAlertSet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqAlertSet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Alert Definition Profile", + "description": "Updates an existing Alert Definition Profile", + "operationId": "update_alert_definition_profile", + "tags": [ + "Alert Definition Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqAlertSet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqAlertSet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Alert Definition Profile", + "description": "Updates an existing Alert Definition Profile", + "operationId": "update_alert_definition_profile", + "tags": [ + "Alert Definition Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqAlertSet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqAlertSet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Alert Definition Profile", + "description": "Deletes an existing Alert Definition Profile", + "operationId": "delete_alert_definition_profile", + "tags": [ + "Alert Definition Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Alert Definition Profiles", + "description": "Returns available HTTP methods and actions", + "operationId": "options_alert_definition_profiles", + "tags": [ + "Alert Definition Profiles" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/alert_definition_profiles/{c_id}/alert_definitions": { + "get": { + "summary": "List Alert Definitions for Alert Definition Profile", + "description": "Returns a paginated list of Alert Definitions", + "operationId": "list_alert_definition_profile_alert_definitions", + "tags": [ + "Alert Definition Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "alert_definitions" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqAlert" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Alert Definition", + "description": "Creates a new Alert Definition", + "operationId": "create_alert_definition_profile_alert_definition", + "tags": [ + "Alert Definition Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqAlert" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Alert Definitions", + "description": "Returns available HTTP methods and actions", + "operationId": "options_alert_definitions", + "tags": [ + "Alert Definitions" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/alert_definition_profiles/{c_id}/alert_definitions/{s_id}": { + "get": { + "summary": "Get a Alert Definition", + "description": "Returns a single Alert Definition by ID", + "operationId": "get_alert_definition_profile_alert_definition", + "tags": [ + "Alert Definition Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqAlert" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Alert Definition", + "description": "Updates an existing Alert Definition", + "operationId": "update_alert_definition_profile_alert_definition", + "tags": [ + "Alert Definition Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqAlert" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqAlert" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Alert Definition", + "description": "Deletes an existing Alert Definition", + "operationId": "delete_alert_definition_profile_alert_definition", + "tags": [ + "Alert Definition Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Alert Definitions", + "description": "Returns available HTTP methods and actions", + "operationId": "options_alert_definitions", + "tags": [ + "Alert Definitions" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/alert_definitions": { + "get": { + "summary": "List Alert Definitions", + "description": "Returns a paginated list of Alert Definitions", + "operationId": "list_alert_definitions", + "tags": [ + "Alert Definitions" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "alert_definitions" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqAlert" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Alert Definition", + "description": "Creates a new Alert Definition", + "operationId": "create_alert_definition", + "tags": [ + "Alert Definitions" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqAlert" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Alert Definitions", + "description": "Returns available HTTP methods and actions", + "operationId": "options_alert_definitions", + "tags": [ + "Alert Definitions" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/alert_definitions/{c_id}": { + "get": { + "summary": "Get a Alert Definition", + "description": "Returns a single Alert Definition by ID", + "operationId": "get_alert_definition", + "tags": [ + "Alert Definitions" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqAlert" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Alert Definition", + "description": "Updates an existing Alert Definition", + "operationId": "update_alert_definition", + "tags": [ + "Alert Definitions" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqAlert" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqAlert" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Alert Definition", + "description": "Deletes an existing Alert Definition", + "operationId": "delete_alert_definition", + "tags": [ + "Alert Definitions" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Alert Definitions", + "description": "Returns available HTTP methods and actions", + "operationId": "options_alert_definitions", + "tags": [ + "Alert Definitions" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/alerts": { + "get": { + "summary": "List Alert Statuses", + "description": "Returns a paginated list of Alert Statuses", + "operationId": "list_alerts", + "tags": [ + "Alert Statuses" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "alerts" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqAlertStatus" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Alert Statuses", + "description": "Returns available HTTP methods and actions", + "operationId": "options_alerts", + "tags": [ + "Alert Statuses" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/alerts/{c_id}": { + "get": { + "summary": "Get a Alert Status", + "description": "Returns a single Alert Status by ID", + "operationId": "get_alert", + "tags": [ + "Alert Statuses" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqAlertStatus" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Alert Statuses", + "description": "Returns available HTTP methods and actions", + "operationId": "options_alerts", + "tags": [ + "Alert Statuses" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/alerts/{c_id}/alert_actions": { + "get": { + "summary": "List Alert Actions for Alert Status", + "description": "Returns a paginated list of Alert Actions", + "operationId": "list_alert_alert_actions", + "tags": [ + "Alert Statuses" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "alert_actions" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqAlertStatusAction" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Alert Action", + "description": "Creates a new Alert Action", + "operationId": "create_alert_alert_action", + "tags": [ + "Alert Statuses" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqAlertStatusAction" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Alert Actions", + "description": "Returns available HTTP methods and actions", + "operationId": "options_alert_actions", + "tags": [ + "Alert Actions" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/alerts/{c_id}/alert_actions/{s_id}": { + "get": { + "summary": "Get a Alert Action", + "description": "Returns a single Alert Action by ID", + "operationId": "get_alert_alert_action", + "tags": [ + "Alert Statuses" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqAlertStatusAction" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Alert Action", + "description": "Updates an existing Alert Action", + "operationId": "update_alert_alert_action", + "tags": [ + "Alert Statuses" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqAlertStatusAction" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqAlertStatusAction" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Alert Actions", + "description": "Returns available HTTP methods and actions", + "operationId": "options_alert_actions", + "tags": [ + "Alert Actions" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/auth_key_pairs": { + "get": { + "summary": "List Auth Key Pairs", + "description": "Returns a paginated list of Auth Key Pairs", + "operationId": "list_auth_key_pairs", + "tags": [ + "Auth Key Pairs" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "auth_key_pairs" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ManageIQ_Providers_CloudManager_AuthKeyPair" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Auth Key Pair", + "description": "Creates a new Auth Key Pair", + "operationId": "create_auth_key_pair", + "tags": [ + "Auth Key Pairs" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ManageIQ_Providers_CloudManager_AuthKeyPair" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Auth Key Pairs", + "description": "Returns available HTTP methods and actions", + "operationId": "options_auth_key_pairs", + "tags": [ + "Auth Key Pairs" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/auth_key_pairs/{c_id}": { + "get": { + "summary": "Get a Auth Key Pair", + "description": "Returns a single Auth Key Pair by ID", + "operationId": "get_auth_key_pair", + "tags": [ + "Auth Key Pairs" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ManageIQ_Providers_CloudManager_AuthKeyPair" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Auth Key Pair", + "description": "Updates an existing Auth Key Pair", + "operationId": "update_auth_key_pair", + "tags": [ + "Auth Key Pairs" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ManageIQ_Providers_CloudManager_AuthKeyPair" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ManageIQ_Providers_CloudManager_AuthKeyPair" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Auth Key Pair", + "description": "Updates an existing Auth Key Pair", + "operationId": "update_auth_key_pair", + "tags": [ + "Auth Key Pairs" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ManageIQ_Providers_CloudManager_AuthKeyPair" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ManageIQ_Providers_CloudManager_AuthKeyPair" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Auth Key Pair", + "description": "Updates an existing Auth Key Pair", + "operationId": "update_auth_key_pair", + "tags": [ + "Auth Key Pairs" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ManageIQ_Providers_CloudManager_AuthKeyPair" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ManageIQ_Providers_CloudManager_AuthKeyPair" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Auth Key Pair", + "description": "Deletes an existing Auth Key Pair", + "operationId": "delete_auth_key_pair", + "tags": [ + "Auth Key Pairs" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Auth Key Pairs", + "description": "Returns available HTTP methods and actions", + "operationId": "options_auth_key_pairs", + "tags": [ + "Auth Key Pairs" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/authentications": { + "get": { + "summary": "List Authentications", + "description": "Returns a paginated list of Authentications", + "operationId": "list_authentications", + "tags": [ + "Authentications" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "authentications" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Authentication" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Authentication", + "description": "Creates a new Authentication", + "operationId": "create_authentication", + "tags": [ + "Authentications" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Authentication" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Authentications", + "description": "Returns available HTTP methods and actions", + "operationId": "options_authentications", + "tags": [ + "Authentications" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/authentications/{c_id}": { + "get": { + "summary": "Get a Authentication", + "description": "Returns a single Authentication by ID", + "operationId": "get_authentication", + "tags": [ + "Authentications" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Authentication" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Authentication", + "description": "Updates an existing Authentication", + "operationId": "update_authentication", + "tags": [ + "Authentications" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Authentication" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Authentication" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Authentication", + "description": "Updates an existing Authentication", + "operationId": "update_authentication", + "tags": [ + "Authentications" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Authentication" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Authentication" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Authentication", + "description": "Updates an existing Authentication", + "operationId": "update_authentication", + "tags": [ + "Authentications" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Authentication" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Authentication" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Authentication", + "description": "Deletes an existing Authentication", + "operationId": "delete_authentication", + "tags": [ + "Authentications" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Authentications", + "description": "Returns available HTTP methods and actions", + "operationId": "options_authentications", + "tags": [ + "Authentications" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/automate": { + "get": { + "summary": "List Automate", + "description": "Returns a paginated list of Automate", + "operationId": "list_automate", + "tags": [ + "Automate" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "automate" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqAeDomain" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Automate", + "description": "Returns available HTTP methods and actions", + "operationId": "options_automate", + "tags": [ + "Automate" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/automate/{c_id}": { + "get": { + "summary": "Get a Automate", + "description": "Returns a single Automate by ID", + "operationId": "get_automate", + "tags": [ + "Automate" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqAeDomain" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Automate", + "description": "Returns available HTTP methods and actions", + "operationId": "options_automate", + "tags": [ + "Automate" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/automate_classes": { + "get": { + "summary": "List Automate Classes", + "description": "Returns a paginated list of Automate Classes", + "operationId": "list_automate_classes", + "tags": [ + "Automate Classes" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "automate_classes" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqAeClass" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Automate Class", + "description": "Creates a new Automate Class", + "operationId": "create_automate_class", + "tags": [ + "Automate Classes" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqAeClass" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Automate Classes", + "description": "Returns available HTTP methods and actions", + "operationId": "options_automate_classes", + "tags": [ + "Automate Classes" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/automate_classes/{c_id}": { + "get": { + "summary": "Get a Automate Class", + "description": "Returns a single Automate Class by ID", + "operationId": "get_automate_class", + "tags": [ + "Automate Classes" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqAeClass" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Automate Class", + "description": "Updates an existing Automate Class", + "operationId": "update_automate_class", + "tags": [ + "Automate Classes" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqAeClass" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqAeClass" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Automate Class", + "description": "Deletes an existing Automate Class", + "operationId": "delete_automate_class", + "tags": [ + "Automate Classes" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Automate Classes", + "description": "Returns available HTTP methods and actions", + "operationId": "options_automate_classes", + "tags": [ + "Automate Classes" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/automate_domains": { + "get": { + "summary": "List Automate Domains", + "description": "Returns a paginated list of Automate Domains", + "operationId": "list_automate_domains", + "tags": [ + "Automate Domains" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "automate_domains" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqAeDomain" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Automate Domain", + "description": "Creates a new Automate Domain", + "operationId": "create_automate_domain", + "tags": [ + "Automate Domains" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqAeDomain" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Automate Domains", + "description": "Returns available HTTP methods and actions", + "operationId": "options_automate_domains", + "tags": [ + "Automate Domains" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/automate_domains/{c_id}": { + "get": { + "summary": "Get a Automate Domain", + "description": "Returns a single Automate Domain by ID", + "operationId": "get_automate_domain", + "tags": [ + "Automate Domains" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqAeDomain" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Automate Domain", + "description": "Updates an existing Automate Domain", + "operationId": "update_automate_domain", + "tags": [ + "Automate Domains" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqAeDomain" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqAeDomain" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Automate Domain", + "description": "Updates an existing Automate Domain", + "operationId": "update_automate_domain", + "tags": [ + "Automate Domains" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqAeDomain" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqAeDomain" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Automate Domain", + "description": "Updates an existing Automate Domain", + "operationId": "update_automate_domain", + "tags": [ + "Automate Domains" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqAeDomain" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqAeDomain" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Automate Domain", + "description": "Deletes an existing Automate Domain", + "operationId": "delete_automate_domain", + "tags": [ + "Automate Domains" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Automate Domains", + "description": "Returns available HTTP methods and actions", + "operationId": "options_automate_domains", + "tags": [ + "Automate Domains" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/automate_workspaces": { + "get": { + "summary": "List Automate Workspaces", + "description": "Returns a paginated list of Automate Workspaces", + "operationId": "list_automate_workspaces", + "tags": [ + "Automate Workspaces" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "automate_workspaces" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AutomateWorkspace" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Automate Workspace", + "description": "Creates a new Automate Workspace", + "operationId": "create_automate_workspace", + "tags": [ + "Automate Workspaces" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AutomateWorkspace" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Automate Workspaces", + "description": "Returns available HTTP methods and actions", + "operationId": "options_automate_workspaces", + "tags": [ + "Automate Workspaces" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/automate_workspaces/{c_id}": { + "get": { + "summary": "Get a Automate Workspace", + "description": "Returns a single Automate Workspace by ID", + "operationId": "get_automate_workspace", + "tags": [ + "Automate Workspaces" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/AutomateWorkspace" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Automate Workspace", + "description": "Updates an existing Automate Workspace", + "operationId": "update_automate_workspace", + "tags": [ + "Automate Workspaces" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AutomateWorkspace" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/AutomateWorkspace" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Automate Workspaces", + "description": "Returns available HTTP methods and actions", + "operationId": "options_automate_workspaces", + "tags": [ + "Automate Workspaces" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/automation_requests": { + "get": { + "summary": "List Automation Requests", + "description": "Returns a paginated list of Automation Requests", + "operationId": "list_automation_requests", + "tags": [ + "Automation Requests" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "automation_requests" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AutomationRequest" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Automation Request", + "description": "Creates a new Automation Request", + "operationId": "create_automation_request", + "tags": [ + "Automation Requests" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AutomationRequest" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Automation Requests", + "description": "Returns available HTTP methods and actions", + "operationId": "options_automation_requests", + "tags": [ + "Automation Requests" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/automation_requests/{c_id}": { + "get": { + "summary": "Get a Automation Request", + "description": "Returns a single Automation Request by ID", + "operationId": "get_automation_request", + "tags": [ + "Automation Requests" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/AutomationRequest" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Automation Request", + "description": "Updates an existing Automation Request", + "operationId": "update_automation_request", + "tags": [ + "Automation Requests" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AutomationRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/AutomationRequest" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Automation Requests", + "description": "Returns available HTTP methods and actions", + "operationId": "options_automation_requests", + "tags": [ + "Automation Requests" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/automation_requests/{c_id}/request_tasks": { + "get": { + "summary": "List Request Tasks for Automation Request", + "description": "Returns a paginated list of Request Tasks", + "operationId": "list_automation_request_request_tasks", + "tags": [ + "Automation Requests" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "request_tasks" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqRequestTask" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Request Task", + "description": "Creates a new Request Task", + "operationId": "create_automation_request_request_task", + "tags": [ + "Automation Requests" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqRequestTask" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Request Tasks", + "description": "Returns available HTTP methods and actions", + "operationId": "options_request_tasks", + "tags": [ + "Request Tasks" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/automation_requests/{c_id}/request_tasks/{s_id}": { + "get": { + "summary": "Get a Request Task", + "description": "Returns a single Request Task by ID", + "operationId": "get_automation_request_request_task", + "tags": [ + "Automation Requests" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqRequestTask" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Request Task", + "description": "Updates an existing Request Task", + "operationId": "update_automation_request_request_task", + "tags": [ + "Automation Requests" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqRequestTask" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqRequestTask" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Request Tasks", + "description": "Returns available HTTP methods and actions", + "operationId": "options_request_tasks", + "tags": [ + "Request Tasks" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/availability_zones": { + "get": { + "summary": "List Availability Zones", + "description": "Returns a paginated list of Availability Zones", + "operationId": "list_availability_zones", + "tags": [ + "Availability Zones" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "availability_zones" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AvailabilityZone" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Availability Zone", + "description": "Creates a new Availability Zone", + "operationId": "create_availability_zone", + "tags": [ + "Availability Zones" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AvailabilityZone" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Availability Zones", + "description": "Returns available HTTP methods and actions", + "operationId": "options_availability_zones", + "tags": [ + "Availability Zones" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/availability_zones/{c_id}": { + "get": { + "summary": "Get a Availability Zone", + "description": "Returns a single Availability Zone by ID", + "operationId": "get_availability_zone", + "tags": [ + "Availability Zones" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/AvailabilityZone" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Availability Zone", + "description": "Executes a custom action on a specific Availability Zone", + "operationId": "action_availability_zone", + "tags": [ + "Availability Zones" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/AvailabilityZone" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/AvailabilityZone" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Availability Zones", + "description": "Returns available HTTP methods and actions", + "operationId": "options_availability_zones", + "tags": [ + "Availability Zones" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/availability_zones/{c_id}/tags": { + "get": { + "summary": "List Tags for Availability Zone", + "description": "Returns a paginated list of Tags", + "operationId": "list_availability_zone_tags", + "tags": [ + "Availability Zones" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "tags" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Tag", + "description": "Creates a new Tag", + "operationId": "create_availability_zone_tag", + "tags": [ + "Availability Zones" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/availability_zones/{c_id}/tags/{s_id}": { + "get": { + "summary": "Get a Tag", + "description": "Returns a single Tag by ID", + "operationId": "get_availability_zone_tag", + "tags": [ + "Availability Zones" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Tag", + "description": "Updates an existing Tag", + "operationId": "update_availability_zone_tag", + "tags": [ + "Availability Zones" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Tag", + "description": "Deletes an existing Tag", + "operationId": "delete_availability_zone_tag", + "tags": [ + "Availability Zones" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/categories": { + "get": { + "summary": "List Categories", + "description": "Returns a paginated list of Categories", + "operationId": "list_categories", + "tags": [ + "Categories" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "categories" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Category" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Category", + "description": "Creates a new Category", + "operationId": "create_category", + "tags": [ + "Categories" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Category" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Categories", + "description": "Returns available HTTP methods and actions", + "operationId": "options_categories", + "tags": [ + "Categories" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/categories/{c_id}": { + "get": { + "summary": "Get a Category", + "description": "Returns a single Category by ID", + "operationId": "get_category", + "tags": [ + "Categories" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Category" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Category", + "description": "Updates an existing Category", + "operationId": "update_category", + "tags": [ + "Categories" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Category" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Category" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Category", + "description": "Deletes an existing Category", + "operationId": "delete_category", + "tags": [ + "Categories" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Categories", + "description": "Returns available HTTP methods and actions", + "operationId": "options_categories", + "tags": [ + "Categories" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/categories/{c_id}/tags": { + "get": { + "summary": "List Tags for Category", + "description": "Returns a paginated list of Tags", + "operationId": "list_category_tags", + "tags": [ + "Categories" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "tags" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Tag", + "description": "Creates a new Tag", + "operationId": "create_category_tag", + "tags": [ + "Categories" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/categories/{c_id}/tags/{s_id}": { + "get": { + "summary": "Get a Tag", + "description": "Returns a single Tag by ID", + "operationId": "get_category_tag", + "tags": [ + "Categories" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Tag", + "description": "Updates an existing Tag", + "operationId": "update_category_tag", + "tags": [ + "Categories" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Tag", + "description": "Deletes an existing Tag", + "operationId": "delete_category_tag", + "tags": [ + "Categories" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/chargeable_fields": { + "get": { + "summary": "List Chargeable Fields", + "description": "Returns a paginated list of Chargeable Fields", + "operationId": "list_chargeable_fields", + "tags": [ + "Chargeable Fields" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "chargeable_fields" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ChargeableField" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Chargeable Fields", + "description": "Returns available HTTP methods and actions", + "operationId": "options_chargeable_fields", + "tags": [ + "Chargeable Fields" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/chargeable_fields/{c_id}": { + "get": { + "summary": "Get a Chargeable Field", + "description": "Returns a single Chargeable Field by ID", + "operationId": "get_chargeable_field", + "tags": [ + "Chargeable Fields" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ChargeableField" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Chargeable Fields", + "description": "Returns available HTTP methods and actions", + "operationId": "options_chargeable_fields", + "tags": [ + "Chargeable Fields" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/chargebacks": { + "get": { + "summary": "List Chargebacks", + "description": "Returns a paginated list of Chargebacks", + "operationId": "list_chargebacks", + "tags": [ + "Chargebacks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "chargebacks" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ChargebackRate" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Chargeback", + "description": "Creates a new Chargeback", + "operationId": "create_chargeback", + "tags": [ + "Chargebacks" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ChargebackRate" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Chargebacks", + "description": "Returns available HTTP methods and actions", + "operationId": "options_chargebacks", + "tags": [ + "Chargebacks" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/chargebacks/{c_id}": { + "get": { + "summary": "Get a Chargeback", + "description": "Returns a single Chargeback by ID", + "operationId": "get_chargeback", + "tags": [ + "Chargebacks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ChargebackRate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Chargeback", + "description": "Updates an existing Chargeback", + "operationId": "update_chargeback", + "tags": [ + "Chargebacks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ChargebackRate" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ChargebackRate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Chargeback", + "description": "Updates an existing Chargeback", + "operationId": "update_chargeback", + "tags": [ + "Chargebacks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ChargebackRate" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ChargebackRate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Chargeback", + "description": "Updates an existing Chargeback", + "operationId": "update_chargeback", + "tags": [ + "Chargebacks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ChargebackRate" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ChargebackRate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Chargeback", + "description": "Deletes an existing Chargeback", + "operationId": "delete_chargeback", + "tags": [ + "Chargebacks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Chargebacks", + "description": "Returns available HTTP methods and actions", + "operationId": "options_chargebacks", + "tags": [ + "Chargebacks" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/chargebacks/{c_id}/rates": { + "get": { + "summary": "List Chargeback Rates for Chargeback", + "description": "Returns a paginated list of Chargeback Rates", + "operationId": "list_chargeback_rates", + "tags": [ + "Chargebacks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "rates" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ChargebackRateDetail" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Chargeback Rate", + "description": "Creates a new Chargeback Rate", + "operationId": "create_chargeback_rate", + "tags": [ + "Chargebacks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ChargebackRateDetail" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Chargeback Rates", + "description": "Returns available HTTP methods and actions", + "operationId": "options_rates", + "tags": [ + "Chargeback Rates" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/chargebacks/{c_id}/rates/{s_id}": { + "get": { + "summary": "Get a Chargeback Rate", + "description": "Returns a single Chargeback Rate by ID", + "operationId": "get_chargeback_rate", + "tags": [ + "Chargebacks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ChargebackRateDetail" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Chargeback Rate", + "description": "Updates an existing Chargeback Rate", + "operationId": "put_chargeback_rate", + "tags": [ + "Chargebacks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ChargebackRateDetail" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ChargebackRateDetail" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Chargeback Rate", + "description": "Updates an existing Chargeback Rate", + "operationId": "update_chargeback_rate", + "tags": [ + "Chargebacks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ChargebackRateDetail" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ChargebackRateDetail" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Chargeback Rate", + "description": "Updates an existing Chargeback Rate", + "operationId": "patch_chargeback_rate", + "tags": [ + "Chargebacks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ChargebackRateDetail" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ChargebackRateDetail" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Chargeback Rate", + "description": "Deletes an existing Chargeback Rate", + "operationId": "delete_chargeback_rate", + "tags": [ + "Chargebacks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Chargeback Rates", + "description": "Returns available HTTP methods and actions", + "operationId": "options_rates", + "tags": [ + "Chargeback Rates" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_database_flavors": { + "get": { + "summary": "List Cloud Database Flavors", + "description": "Returns a paginated list of Cloud Database Flavors", + "operationId": "list_cloud_database_flavors", + "tags": [ + "Cloud Database Flavors" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "cloud_database_flavors" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CloudDatabaseFlavor" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Database Flavors", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_database_flavors", + "tags": [ + "Cloud Database Flavors" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_database_flavors/{c_id}": { + "get": { + "summary": "Get a Cloud Database Flavor", + "description": "Returns a single Cloud Database Flavor by ID", + "operationId": "get_cloud_database_flavor", + "tags": [ + "Cloud Database Flavors" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudDatabaseFlavor" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Database Flavors", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_database_flavors", + "tags": [ + "Cloud Database Flavors" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_databases": { + "get": { + "summary": "List Cloud Databases", + "description": "Returns a paginated list of Cloud Databases", + "operationId": "list_cloud_databases", + "tags": [ + "Cloud Databases" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "cloud_databases" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CloudDatabase" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Cloud Database", + "description": "Creates a new Cloud Database", + "operationId": "create_cloud_database", + "tags": [ + "Cloud Databases" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudDatabase" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Databases", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_databases", + "tags": [ + "Cloud Databases" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_databases/{c_id}": { + "get": { + "summary": "Get a Cloud Database", + "description": "Returns a single Cloud Database by ID", + "operationId": "get_cloud_database", + "tags": [ + "Cloud Databases" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudDatabase" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Cloud Database", + "description": "Updates an existing Cloud Database", + "operationId": "update_cloud_database", + "tags": [ + "Cloud Databases" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudDatabase" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudDatabase" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Cloud Database", + "description": "Updates an existing Cloud Database", + "operationId": "update_cloud_database", + "tags": [ + "Cloud Databases" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudDatabase" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudDatabase" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Cloud Database", + "description": "Updates an existing Cloud Database", + "operationId": "update_cloud_database", + "tags": [ + "Cloud Databases" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudDatabase" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudDatabase" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Cloud Database", + "description": "Deletes an existing Cloud Database", + "operationId": "delete_cloud_database", + "tags": [ + "Cloud Databases" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Databases", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_databases", + "tags": [ + "Cloud Databases" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_networks": { + "get": { + "summary": "List Cloud Networks", + "description": "Returns a paginated list of Cloud Networks", + "operationId": "list_cloud_networks", + "tags": [ + "Cloud Networks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "cloud_networks" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CloudNetwork" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Cloud Network", + "description": "Creates a new Cloud Network", + "operationId": "create_cloud_network", + "tags": [ + "Cloud Networks" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudNetwork" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Networks", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_networks", + "tags": [ + "Cloud Networks" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_networks/{c_id}": { + "get": { + "summary": "Get a Cloud Network", + "description": "Returns a single Cloud Network by ID", + "operationId": "get_cloud_network", + "tags": [ + "Cloud Networks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudNetwork" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Cloud Network", + "description": "Updates an existing Cloud Network", + "operationId": "update_cloud_network", + "tags": [ + "Cloud Networks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudNetwork" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudNetwork" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Cloud Network", + "description": "Executes a custom action on a specific Cloud Network", + "operationId": "action_cloud_network", + "tags": [ + "Cloud Networks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/CloudNetwork" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudNetwork" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Cloud Network", + "description": "Updates an existing Cloud Network", + "operationId": "update_cloud_network", + "tags": [ + "Cloud Networks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudNetwork" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudNetwork" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Cloud Network", + "description": "Deletes an existing Cloud Network", + "operationId": "delete_cloud_network", + "tags": [ + "Cloud Networks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Networks", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_networks", + "tags": [ + "Cloud Networks" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_networks/{c_id}/tags": { + "get": { + "summary": "List Tags for Cloud Network", + "description": "Returns a paginated list of Tags", + "operationId": "list_cloud_network_tags", + "tags": [ + "Cloud Networks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "tags" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Tag", + "description": "Creates a new Tag", + "operationId": "create_cloud_network_tag", + "tags": [ + "Cloud Networks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_networks/{c_id}/tags/{s_id}": { + "get": { + "summary": "Get a Tag", + "description": "Returns a single Tag by ID", + "operationId": "get_cloud_network_tag", + "tags": [ + "Cloud Networks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Tag", + "description": "Updates an existing Tag", + "operationId": "update_cloud_network_tag", + "tags": [ + "Cloud Networks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Tag", + "description": "Deletes an existing Tag", + "operationId": "delete_cloud_network_tag", + "tags": [ + "Cloud Networks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_object_store_containers": { + "get": { + "summary": "List Cloud Object Store Containers", + "description": "Returns a paginated list of Cloud Object Store Containers", + "operationId": "list_cloud_object_store_containers", + "tags": [ + "Cloud Object Store Containers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "cloud_object_store_containers" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CloudObjectStoreContainer" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Cloud Object Store Container", + "description": "Creates a new Cloud Object Store Container", + "operationId": "create_cloud_object_store_container", + "tags": [ + "Cloud Object Store Containers" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudObjectStoreContainer" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Object Store Containers", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_object_store_containers", + "tags": [ + "Cloud Object Store Containers" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_object_store_containers/{c_id}": { + "get": { + "summary": "Get a Cloud Object Store Container", + "description": "Returns a single Cloud Object Store Container by ID", + "operationId": "get_cloud_object_store_container", + "tags": [ + "Cloud Object Store Containers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudObjectStoreContainer" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Cloud Object Store Container", + "description": "Executes a custom action on a specific Cloud Object Store Container", + "operationId": "action_cloud_object_store_container", + "tags": [ + "Cloud Object Store Containers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/CloudObjectStoreContainer" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudObjectStoreContainer" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Object Store Containers", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_object_store_containers", + "tags": [ + "Cloud Object Store Containers" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_object_store_objects": { + "get": { + "summary": "List Cloud Object Store Objects", + "description": "Returns a paginated list of Cloud Object Store Objects", + "operationId": "list_cloud_object_store_objects", + "tags": [ + "Cloud Object Store Objects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "cloud_object_store_objects" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CloudObjectStoreObject" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Cloud Object Store Object", + "description": "Creates a new Cloud Object Store Object", + "operationId": "create_cloud_object_store_object", + "tags": [ + "Cloud Object Store Objects" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudObjectStoreObject" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Object Store Objects", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_object_store_objects", + "tags": [ + "Cloud Object Store Objects" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_object_store_objects/{c_id}": { + "get": { + "summary": "Get a Cloud Object Store Object", + "description": "Returns a single Cloud Object Store Object by ID", + "operationId": "get_cloud_object_store_object", + "tags": [ + "Cloud Object Store Objects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudObjectStoreObject" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Cloud Object Store Object", + "description": "Updates an existing Cloud Object Store Object", + "operationId": "update_cloud_object_store_object", + "tags": [ + "Cloud Object Store Objects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudObjectStoreObject" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudObjectStoreObject" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Object Store Objects", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_object_store_objects", + "tags": [ + "Cloud Object Store Objects" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_subnets": { + "get": { + "summary": "List Cloud Subnets", + "description": "Returns a paginated list of Cloud Subnets", + "operationId": "list_cloud_subnets", + "tags": [ + "Cloud Subnets" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "cloud_subnets" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CloudSubnet" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Cloud Subnet", + "description": "Creates a new Cloud Subnet", + "operationId": "create_cloud_subnet", + "tags": [ + "Cloud Subnets" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudSubnet" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Subnets", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_subnets", + "tags": [ + "Cloud Subnets" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_subnets/{c_id}": { + "get": { + "summary": "Get a Cloud Subnet", + "description": "Returns a single Cloud Subnet by ID", + "operationId": "get_cloud_subnet", + "tags": [ + "Cloud Subnets" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudSubnet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Cloud Subnet", + "description": "Updates an existing Cloud Subnet", + "operationId": "update_cloud_subnet", + "tags": [ + "Cloud Subnets" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudSubnet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudSubnet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Cloud Subnet", + "description": "Executes a custom action on a specific Cloud Subnet", + "operationId": "action_cloud_subnet", + "tags": [ + "Cloud Subnets" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/CloudSubnet" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudSubnet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Cloud Subnet", + "description": "Updates an existing Cloud Subnet", + "operationId": "update_cloud_subnet", + "tags": [ + "Cloud Subnets" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudSubnet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudSubnet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Cloud Subnet", + "description": "Deletes an existing Cloud Subnet", + "operationId": "delete_cloud_subnet", + "tags": [ + "Cloud Subnets" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Subnets", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_subnets", + "tags": [ + "Cloud Subnets" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_subnets/{c_id}/tags": { + "get": { + "summary": "List Tags for Cloud Subnet", + "description": "Returns a paginated list of Tags", + "operationId": "list_cloud_subnet_tags", + "tags": [ + "Cloud Subnets" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "tags" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Tag", + "description": "Creates a new Tag", + "operationId": "create_cloud_subnet_tag", + "tags": [ + "Cloud Subnets" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_subnets/{c_id}/tags/{s_id}": { + "get": { + "summary": "Get a Tag", + "description": "Returns a single Tag by ID", + "operationId": "get_cloud_subnet_tag", + "tags": [ + "Cloud Subnets" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Tag", + "description": "Updates an existing Tag", + "operationId": "update_cloud_subnet_tag", + "tags": [ + "Cloud Subnets" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Tag", + "description": "Deletes an existing Tag", + "operationId": "delete_cloud_subnet_tag", + "tags": [ + "Cloud Subnets" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_templates": { + "get": { + "summary": "List Cloud Templates", + "description": "Returns a paginated list of Cloud Templates", + "operationId": "list_cloud_templates", + "tags": [ + "Cloud Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "cloud_templates" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ManageIQ_Providers_CloudManager_Template" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Cloud Template", + "description": "Creates a new Cloud Template", + "operationId": "create_cloud_template", + "tags": [ + "Cloud Templates" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ManageIQ_Providers_CloudManager_Template" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Templates", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_templates", + "tags": [ + "Cloud Templates" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_templates/{c_id}": { + "get": { + "summary": "Get a Cloud Template", + "description": "Returns a single Cloud Template by ID", + "operationId": "get_cloud_template", + "tags": [ + "Cloud Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ManageIQ_Providers_CloudManager_Template" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Cloud Template", + "description": "Updates an existing Cloud Template", + "operationId": "update_cloud_template", + "tags": [ + "Cloud Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ManageIQ_Providers_CloudManager_Template" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ManageIQ_Providers_CloudManager_Template" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Cloud Template", + "description": "Updates an existing Cloud Template", + "operationId": "update_cloud_template", + "tags": [ + "Cloud Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ManageIQ_Providers_CloudManager_Template" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ManageIQ_Providers_CloudManager_Template" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Cloud Template", + "description": "Updates an existing Cloud Template", + "operationId": "update_cloud_template", + "tags": [ + "Cloud Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ManageIQ_Providers_CloudManager_Template" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ManageIQ_Providers_CloudManager_Template" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Cloud Template", + "description": "Deletes an existing Cloud Template", + "operationId": "delete_cloud_template", + "tags": [ + "Cloud Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Templates", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_templates", + "tags": [ + "Cloud Templates" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_tenants": { + "get": { + "summary": "List Cloud Tenants", + "description": "Returns a paginated list of Cloud Tenants", + "operationId": "list_cloud_tenants", + "tags": [ + "Cloud Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "cloud_tenants" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CloudTenant" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Cloud Tenant", + "description": "Creates a new Cloud Tenant", + "operationId": "create_cloud_tenant", + "tags": [ + "Cloud Tenants" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudTenant" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Tenants", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_tenants", + "tags": [ + "Cloud Tenants" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_tenants/{c_id}": { + "get": { + "summary": "Get a Cloud Tenant", + "description": "Returns a single Cloud Tenant by ID", + "operationId": "get_cloud_tenant", + "tags": [ + "Cloud Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudTenant" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Cloud Tenant", + "description": "Updates an existing Cloud Tenant", + "operationId": "update_cloud_tenant", + "tags": [ + "Cloud Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudTenant" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudTenant" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Cloud Tenant", + "description": "Executes a custom action on a specific Cloud Tenant", + "operationId": "action_cloud_tenant", + "tags": [ + "Cloud Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/CloudTenant" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudTenant" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Cloud Tenant", + "description": "Updates an existing Cloud Tenant", + "operationId": "update_cloud_tenant", + "tags": [ + "Cloud Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudTenant" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudTenant" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Cloud Tenant", + "description": "Deletes an existing Cloud Tenant", + "operationId": "delete_cloud_tenant", + "tags": [ + "Cloud Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Tenants", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_tenants", + "tags": [ + "Cloud Tenants" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_tenants/{c_id}/network_services": { + "get": { + "summary": "List Network_Services for Cloud Tenant", + "description": "Returns a paginated list of Network_Services", + "operationId": "list_cloud_tenant_network_services", + "tags": [ + "Cloud Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "network_services" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NetworkService" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Network_Service", + "description": "Creates a new Network_Service", + "operationId": "create_cloud_tenant_network_service", + "tags": [ + "Cloud Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NetworkService" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Network_Services", + "description": "Returns available HTTP methods and actions", + "operationId": "options_network_services", + "tags": [ + "Network_Services" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_tenants/{c_id}/network_services/{s_id}": { + "get": { + "summary": "Get a Network_Service", + "description": "Returns a single Network_Service by ID", + "operationId": "get_cloud_tenant_network_service", + "tags": [ + "Cloud Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/NetworkService" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Network_Service", + "description": "Updates an existing Network_Service", + "operationId": "update_cloud_tenant_network_service", + "tags": [ + "Cloud Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NetworkService" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/NetworkService" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Network_Service", + "description": "Deletes an existing Network_Service", + "operationId": "delete_cloud_tenant_network_service", + "tags": [ + "Cloud Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Network_Services", + "description": "Returns available HTTP methods and actions", + "operationId": "options_network_services", + "tags": [ + "Network_Services" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_tenants/{c_id}/security_groups": { + "get": { + "summary": "List Security Groups for Cloud Tenant", + "description": "Returns a paginated list of Security Groups", + "operationId": "list_cloud_tenant_security_groups", + "tags": [ + "Cloud Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "security_groups" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SecurityGroup" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Security Group", + "description": "Creates a new Security Group", + "operationId": "create_cloud_tenant_security_group", + "tags": [ + "Cloud Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SecurityGroup" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Security Groups", + "description": "Returns available HTTP methods and actions", + "operationId": "options_security_groups", + "tags": [ + "Security Groups" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_tenants/{c_id}/security_groups/{s_id}": { + "get": { + "summary": "Get a Security Group", + "description": "Returns a single Security Group by ID", + "operationId": "get_cloud_tenant_security_group", + "tags": [ + "Cloud Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SecurityGroup" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Security Group", + "description": "Updates an existing Security Group", + "operationId": "update_cloud_tenant_security_group", + "tags": [ + "Cloud Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SecurityGroup" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SecurityGroup" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Security Groups", + "description": "Returns available HTTP methods and actions", + "operationId": "options_security_groups", + "tags": [ + "Security Groups" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_tenants/{c_id}/security_policies": { + "get": { + "summary": "List Security_Policies for Cloud Tenant", + "description": "Returns a paginated list of Security_Policies", + "operationId": "list_cloud_tenant_security_policies", + "tags": [ + "Cloud Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "security_policies" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SecurityPolicy" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Security_Policy", + "description": "Creates a new Security_Policy", + "operationId": "create_cloud_tenant_security_policy", + "tags": [ + "Cloud Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SecurityPolicy" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Security_Policies", + "description": "Returns available HTTP methods and actions", + "operationId": "options_security_policies", + "tags": [ + "Security_Policies" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_tenants/{c_id}/security_policies/{s_id}": { + "get": { + "summary": "Get a Security_Policy", + "description": "Returns a single Security_Policy by ID", + "operationId": "get_cloud_tenant_security_policy", + "tags": [ + "Cloud Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SecurityPolicy" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Security_Policy", + "description": "Updates an existing Security_Policy", + "operationId": "update_cloud_tenant_security_policy", + "tags": [ + "Cloud Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SecurityPolicy" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SecurityPolicy" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Security_Policy", + "description": "Deletes an existing Security_Policy", + "operationId": "delete_cloud_tenant_security_policy", + "tags": [ + "Cloud Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Security_Policies", + "description": "Returns available HTTP methods and actions", + "operationId": "options_security_policies", + "tags": [ + "Security_Policies" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_tenants/{c_id}/tags": { + "get": { + "summary": "List Tags for Cloud Tenant", + "description": "Returns a paginated list of Tags", + "operationId": "list_cloud_tenant_tags", + "tags": [ + "Cloud Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "tags" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Tag", + "description": "Creates a new Tag", + "operationId": "create_cloud_tenant_tag", + "tags": [ + "Cloud Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_tenants/{c_id}/tags/{s_id}": { + "get": { + "summary": "Get a Tag", + "description": "Returns a single Tag by ID", + "operationId": "get_cloud_tenant_tag", + "tags": [ + "Cloud Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Tag", + "description": "Updates an existing Tag", + "operationId": "update_cloud_tenant_tag", + "tags": [ + "Cloud Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Tag", + "description": "Deletes an existing Tag", + "operationId": "delete_cloud_tenant_tag", + "tags": [ + "Cloud Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_volume_snapshots": { + "get": { + "summary": "List Cloud Volume Snapshots", + "description": "Returns a paginated list of Cloud Volume Snapshots", + "operationId": "list_cloud_volume_snapshots", + "tags": [ + "Cloud Volume Snapshots" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "cloud_volume_snapshots" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CloudVolumeSnapshot" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Cloud Volume Snapshot", + "description": "Creates a new Cloud Volume Snapshot", + "operationId": "create_cloud_volume_snapshot", + "tags": [ + "Cloud Volume Snapshots" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudVolumeSnapshot" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Volume Snapshots", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_volume_snapshots", + "tags": [ + "Cloud Volume Snapshots" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_volume_snapshots/{c_id}": { + "get": { + "summary": "Get a Cloud Volume Snapshot", + "description": "Returns a single Cloud Volume Snapshot by ID", + "operationId": "get_cloud_volume_snapshot", + "tags": [ + "Cloud Volume Snapshots" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudVolumeSnapshot" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Cloud Volume Snapshot", + "description": "Updates an existing Cloud Volume Snapshot", + "operationId": "update_cloud_volume_snapshot", + "tags": [ + "Cloud Volume Snapshots" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudVolumeSnapshot" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudVolumeSnapshot" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Cloud Volume Snapshot", + "description": "Updates an existing Cloud Volume Snapshot", + "operationId": "update_cloud_volume_snapshot", + "tags": [ + "Cloud Volume Snapshots" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudVolumeSnapshot" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudVolumeSnapshot" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Cloud Volume Snapshot", + "description": "Updates an existing Cloud Volume Snapshot", + "operationId": "update_cloud_volume_snapshot", + "tags": [ + "Cloud Volume Snapshots" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudVolumeSnapshot" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudVolumeSnapshot" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Cloud Volume Snapshot", + "description": "Deletes an existing Cloud Volume Snapshot", + "operationId": "delete_cloud_volume_snapshot", + "tags": [ + "Cloud Volume Snapshots" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Volume Snapshots", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_volume_snapshots", + "tags": [ + "Cloud Volume Snapshots" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_volume_types": { + "get": { + "summary": "List Cloud Volume Types", + "description": "Returns a paginated list of Cloud Volume Types", + "operationId": "list_cloud_volume_types", + "tags": [ + "Cloud Volume Types" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "cloud_volume_types" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CloudVolumeType" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Volume Types", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_volume_types", + "tags": [ + "Cloud Volume Types" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_volume_types/{c_id}": { + "get": { + "summary": "Get a Cloud Volume Type", + "description": "Returns a single Cloud Volume Type by ID", + "operationId": "get_cloud_volume_type", + "tags": [ + "Cloud Volume Types" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudVolumeType" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Volume Types", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_volume_types", + "tags": [ + "Cloud Volume Types" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_volumes": { + "get": { + "summary": "List Cloud Volumes", + "description": "Returns a paginated list of Cloud Volumes", + "operationId": "list_cloud_volumes", + "tags": [ + "Cloud Volumes" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "cloud_volumes" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CloudVolume" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Cloud Volume", + "description": "Creates a new Cloud Volume", + "operationId": "create_cloud_volume", + "tags": [ + "Cloud Volumes" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudVolume" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Volumes", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_volumes", + "tags": [ + "Cloud Volumes" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_volumes/{c_id}": { + "get": { + "summary": "Get a Cloud Volume", + "description": "Returns a single Cloud Volume by ID", + "operationId": "get_cloud_volume", + "tags": [ + "Cloud Volumes" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudVolume" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Cloud Volume", + "description": "Updates an existing Cloud Volume", + "operationId": "update_cloud_volume", + "tags": [ + "Cloud Volumes" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudVolume" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudVolume" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Cloud Volume", + "description": "Executes a custom action on a specific Cloud Volume", + "operationId": "action_cloud_volume", + "tags": [ + "Cloud Volumes" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/CloudVolume" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudVolume" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Cloud Volume", + "description": "Updates an existing Cloud Volume", + "operationId": "update_cloud_volume", + "tags": [ + "Cloud Volumes" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudVolume" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudVolume" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Cloud Volume", + "description": "Deletes an existing Cloud Volume", + "operationId": "delete_cloud_volume", + "tags": [ + "Cloud Volumes" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Volumes", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_volumes", + "tags": [ + "Cloud Volumes" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_volumes/{c_id}/tags": { + "get": { + "summary": "List Tags for Cloud Volume", + "description": "Returns a paginated list of Tags", + "operationId": "list_cloud_volume_tags", + "tags": [ + "Cloud Volumes" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "tags" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Tag", + "description": "Creates a new Tag", + "operationId": "create_cloud_volume_tag", + "tags": [ + "Cloud Volumes" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_volumes/{c_id}/tags/{s_id}": { + "get": { + "summary": "Get a Tag", + "description": "Returns a single Tag by ID", + "operationId": "get_cloud_volume_tag", + "tags": [ + "Cloud Volumes" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Tag", + "description": "Updates an existing Tag", + "operationId": "update_cloud_volume_tag", + "tags": [ + "Cloud Volumes" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Tag", + "description": "Deletes an existing Tag", + "operationId": "delete_cloud_volume_tag", + "tags": [ + "Cloud Volumes" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_volumes/{c_id}/cloud_volume_snapshots": { + "get": { + "summary": "List Cloud Volume Snapshots for Cloud Volume", + "description": "Returns a paginated list of Cloud Volume Snapshots", + "operationId": "list_cloud_volume_cloud_volume_snapshots", + "tags": [ + "Cloud Volumes" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "cloud_volume_snapshots" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CloudVolumeSnapshot" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Cloud Volume Snapshot", + "description": "Creates a new Cloud Volume Snapshot", + "operationId": "create_cloud_volume_cloud_volume_snapshot", + "tags": [ + "Cloud Volumes" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudVolumeSnapshot" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Volume Snapshots", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_volume_snapshots", + "tags": [ + "Cloud Volume Snapshots" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/cloud_volumes/{c_id}/cloud_volume_snapshots/{s_id}": { + "get": { + "summary": "Get a Cloud Volume Snapshot", + "description": "Returns a single Cloud Volume Snapshot by ID", + "operationId": "get_cloud_volume_cloud_volume_snapshot", + "tags": [ + "Cloud Volumes" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudVolumeSnapshot" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Cloud Volume Snapshot", + "description": "Updates an existing Cloud Volume Snapshot", + "operationId": "put_cloud_volume_cloud_volume_snapshot", + "tags": [ + "Cloud Volumes" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudVolumeSnapshot" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudVolumeSnapshot" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Cloud Volume Snapshot", + "description": "Updates an existing Cloud Volume Snapshot", + "operationId": "update_cloud_volume_cloud_volume_snapshot", + "tags": [ + "Cloud Volumes" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudVolumeSnapshot" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudVolumeSnapshot" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Cloud Volume Snapshot", + "description": "Updates an existing Cloud Volume Snapshot", + "operationId": "patch_cloud_volume_cloud_volume_snapshot", + "tags": [ + "Cloud Volumes" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudVolumeSnapshot" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudVolumeSnapshot" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Cloud Volume Snapshot", + "description": "Deletes an existing Cloud Volume Snapshot", + "operationId": "delete_cloud_volume_cloud_volume_snapshot", + "tags": [ + "Cloud Volumes" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Volume Snapshots", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_volume_snapshots", + "tags": [ + "Cloud Volume Snapshots" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/clusters": { + "get": { + "summary": "List Clusters", + "description": "Returns a paginated list of Clusters", + "operationId": "list_clusters", + "tags": [ + "Clusters" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "clusters" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EmsCluster" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Cluster", + "description": "Creates a new Cluster", + "operationId": "create_cluster", + "tags": [ + "Clusters" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EmsCluster" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Clusters", + "description": "Returns available HTTP methods and actions", + "operationId": "options_clusters", + "tags": [ + "Clusters" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/clusters/{c_id}": { + "get": { + "summary": "Get a Cluster", + "description": "Returns a single Cluster by ID", + "operationId": "get_cluster", + "tags": [ + "Clusters" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/EmsCluster" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Cluster", + "description": "Executes a custom action on a specific Cluster", + "operationId": "action_cluster", + "tags": [ + "Clusters" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/EmsCluster" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/EmsCluster" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Clusters", + "description": "Returns available HTTP methods and actions", + "operationId": "options_clusters", + "tags": [ + "Clusters" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/clusters/{c_id}/tags": { + "get": { + "summary": "List Tags for Cluster", + "description": "Returns a paginated list of Tags", + "operationId": "list_cluster_tags", + "tags": [ + "Clusters" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "tags" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Tag", + "description": "Creates a new Tag", + "operationId": "create_cluster_tag", + "tags": [ + "Clusters" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/clusters/{c_id}/tags/{s_id}": { + "get": { + "summary": "Get a Tag", + "description": "Returns a single Tag by ID", + "operationId": "get_cluster_tag", + "tags": [ + "Clusters" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Tag", + "description": "Updates an existing Tag", + "operationId": "update_cluster_tag", + "tags": [ + "Clusters" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Tag", + "description": "Deletes an existing Tag", + "operationId": "delete_cluster_tag", + "tags": [ + "Clusters" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/clusters/{c_id}/policies": { + "get": { + "summary": "List Policies for Cluster", + "description": "Returns a paginated list of Policies", + "operationId": "list_cluster_policies", + "tags": [ + "Clusters" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "policies" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqPolicy" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Policy", + "description": "Creates a new Policy", + "operationId": "create_cluster_policy", + "tags": [ + "Clusters" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicy" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Policies", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policies", + "tags": [ + "Policies" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/clusters/{c_id}/policies/{s_id}": { + "get": { + "summary": "Get a Policy", + "description": "Returns a single Policy by ID", + "operationId": "get_cluster_policy", + "tags": [ + "Clusters" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicy" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Policy", + "description": "Updates an existing Policy", + "operationId": "update_cluster_policy", + "tags": [ + "Clusters" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicy" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicy" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Policy", + "description": "Deletes an existing Policy", + "operationId": "delete_cluster_policy", + "tags": [ + "Clusters" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Policies", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policies", + "tags": [ + "Policies" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/clusters/{c_id}/policy_profiles": { + "get": { + "summary": "List Policy Profiles for Cluster", + "description": "Returns a paginated list of Policy Profiles", + "operationId": "list_cluster_policy_profiles", + "tags": [ + "Clusters" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "policy_profiles" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqPolicySet" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Policy Profile", + "description": "Creates a new Policy Profile", + "operationId": "create_cluster_policy_profile", + "tags": [ + "Clusters" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicySet" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Policy Profiles", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policy_profiles", + "tags": [ + "Policy Profiles" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/clusters/{c_id}/policy_profiles/{s_id}": { + "get": { + "summary": "Get a Policy Profile", + "description": "Returns a single Policy Profile by ID", + "operationId": "get_cluster_policy_profile", + "tags": [ + "Clusters" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicySet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Policy Profile", + "description": "Updates an existing Policy Profile", + "operationId": "put_cluster_policy_profile", + "tags": [ + "Clusters" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicySet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicySet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Policy Profile", + "description": "Updates an existing Policy Profile", + "operationId": "update_cluster_policy_profile", + "tags": [ + "Clusters" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicySet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicySet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Policy Profile", + "description": "Updates an existing Policy Profile", + "operationId": "patch_cluster_policy_profile", + "tags": [ + "Clusters" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicySet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicySet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Policy Profile", + "description": "Deletes an existing Policy Profile", + "operationId": "delete_cluster_policy_profile", + "tags": [ + "Clusters" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Policy Profiles", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policy_profiles", + "tags": [ + "Policy Profiles" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/conditions": { + "get": { + "summary": "List Conditions", + "description": "Returns a paginated list of Conditions", + "operationId": "list_conditions", + "tags": [ + "Conditions" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "conditions" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Condition" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Condition", + "description": "Creates a new Condition", + "operationId": "create_condition", + "tags": [ + "Conditions" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Condition" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Conditions", + "description": "Returns available HTTP methods and actions", + "operationId": "options_conditions", + "tags": [ + "Conditions" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/conditions/{c_id}": { + "get": { + "summary": "Get a Condition", + "description": "Returns a single Condition by ID", + "operationId": "get_condition", + "tags": [ + "Conditions" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Condition" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Condition", + "description": "Updates an existing Condition", + "operationId": "update_condition", + "tags": [ + "Conditions" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Condition" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Condition" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Condition", + "description": "Deletes an existing Condition", + "operationId": "delete_condition", + "tags": [ + "Conditions" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Conditions", + "description": "Returns available HTTP methods and actions", + "operationId": "options_conditions", + "tags": [ + "Conditions" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/configuration_profiles": { + "get": { + "summary": "List Configuration Profiles", + "description": "Returns a paginated list of Configuration Profiles", + "operationId": "list_configuration_profiles", + "tags": [ + "Configuration Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "configuration_profiles" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConfigurationProfile" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Configuration Profiles", + "description": "Returns available HTTP methods and actions", + "operationId": "options_configuration_profiles", + "tags": [ + "Configuration Profiles" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/configuration_profiles/{c_id}": { + "get": { + "summary": "Get a Configuration Profile", + "description": "Returns a single Configuration Profile by ID", + "operationId": "get_configuration_profile", + "tags": [ + "Configuration Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ConfigurationProfile" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Configuration Profiles", + "description": "Returns available HTTP methods and actions", + "operationId": "options_configuration_profiles", + "tags": [ + "Configuration Profiles" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/configuration_script_payloads": { + "get": { + "summary": "List Configuration Script Payloads", + "description": "Returns a paginated list of Configuration Script Payloads", + "operationId": "list_configuration_script_payloads", + "tags": [ + "Configuration Script Payloads" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "configuration_script_payloads" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConfigurationScriptPayload" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Configuration Script Payload", + "description": "Creates a new Configuration Script Payload", + "operationId": "create_configuration_script_payload", + "tags": [ + "Configuration Script Payloads" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConfigurationScriptPayload" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Configuration Script Payloads", + "description": "Returns available HTTP methods and actions", + "operationId": "options_configuration_script_payloads", + "tags": [ + "Configuration Script Payloads" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/configuration_script_payloads/{c_id}": { + "get": { + "summary": "Get a Configuration Script Payload", + "description": "Returns a single Configuration Script Payload by ID", + "operationId": "get_configuration_script_payload", + "tags": [ + "Configuration Script Payloads" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ConfigurationScriptPayload" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Configuration Script Payload", + "description": "Updates an existing Configuration Script Payload", + "operationId": "update_configuration_script_payload", + "tags": [ + "Configuration Script Payloads" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConfigurationScriptPayload" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ConfigurationScriptPayload" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Configuration Script Payload", + "description": "Updates an existing Configuration Script Payload", + "operationId": "update_configuration_script_payload", + "tags": [ + "Configuration Script Payloads" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConfigurationScriptPayload" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ConfigurationScriptPayload" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Configuration Script Payload", + "description": "Updates an existing Configuration Script Payload", + "operationId": "update_configuration_script_payload", + "tags": [ + "Configuration Script Payloads" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConfigurationScriptPayload" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ConfigurationScriptPayload" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Configuration Script Payloads", + "description": "Returns available HTTP methods and actions", + "operationId": "options_configuration_script_payloads", + "tags": [ + "Configuration Script Payloads" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/configuration_script_payloads/{c_id}/authentications": { + "get": { + "summary": "List Authentications for Configuration Script Payload", + "description": "Returns a paginated list of Authentications", + "operationId": "list_configuration_script_payload_authentications", + "tags": [ + "Configuration Script Payloads" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "authentications" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Authentication" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Authentication", + "description": "Creates a new Authentication", + "operationId": "create_configuration_script_payload_authentication", + "tags": [ + "Configuration Script Payloads" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Authentication" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Authentications", + "description": "Returns available HTTP methods and actions", + "operationId": "options_authentications", + "tags": [ + "Authentications" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/configuration_script_payloads/{c_id}/authentications/{s_id}": { + "get": { + "summary": "Get a Authentication", + "description": "Returns a single Authentication by ID", + "operationId": "get_configuration_script_payload_authentication", + "tags": [ + "Configuration Script Payloads" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Authentication" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Authentication", + "description": "Updates an existing Authentication", + "operationId": "put_configuration_script_payload_authentication", + "tags": [ + "Configuration Script Payloads" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Authentication" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Authentication" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Authentication", + "description": "Updates an existing Authentication", + "operationId": "update_configuration_script_payload_authentication", + "tags": [ + "Configuration Script Payloads" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Authentication" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Authentication" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Authentication", + "description": "Updates an existing Authentication", + "operationId": "patch_configuration_script_payload_authentication", + "tags": [ + "Configuration Script Payloads" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Authentication" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Authentication" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Authentication", + "description": "Deletes an existing Authentication", + "operationId": "delete_configuration_script_payload_authentication", + "tags": [ + "Configuration Script Payloads" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Authentications", + "description": "Returns available HTTP methods and actions", + "operationId": "options_authentications", + "tags": [ + "Authentications" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/configuration_script_sources": { + "get": { + "summary": "List Configuration Script Source", + "description": "Returns a paginated list of Configuration Script Source", + "operationId": "list_configuration_script_sources", + "tags": [ + "Configuration Script Source" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "configuration_script_sources" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConfigurationScriptSource" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Configuration Script Source", + "description": "Creates a new Configuration Script Source", + "operationId": "create_configuration_script_source", + "tags": [ + "Configuration Script Source" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConfigurationScriptSource" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Configuration Script Source", + "description": "Returns available HTTP methods and actions", + "operationId": "options_configuration_script_sources", + "tags": [ + "Configuration Script Source" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/configuration_script_sources/{c_id}": { + "get": { + "summary": "Get a Configuration Script Source", + "description": "Returns a single Configuration Script Source by ID", + "operationId": "get_configuration_script_source", + "tags": [ + "Configuration Script Source" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ConfigurationScriptSource" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Configuration Script Source", + "description": "Updates an existing Configuration Script Source", + "operationId": "update_configuration_script_source", + "tags": [ + "Configuration Script Source" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConfigurationScriptSource" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ConfigurationScriptSource" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Configuration Script Source", + "description": "Updates an existing Configuration Script Source", + "operationId": "update_configuration_script_source", + "tags": [ + "Configuration Script Source" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConfigurationScriptSource" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ConfigurationScriptSource" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Configuration Script Source", + "description": "Updates an existing Configuration Script Source", + "operationId": "update_configuration_script_source", + "tags": [ + "Configuration Script Source" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConfigurationScriptSource" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ConfigurationScriptSource" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Configuration Script Source", + "description": "Deletes an existing Configuration Script Source", + "operationId": "delete_configuration_script_source", + "tags": [ + "Configuration Script Source" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Configuration Script Source", + "description": "Returns available HTTP methods and actions", + "operationId": "options_configuration_script_sources", + "tags": [ + "Configuration Script Source" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/configuration_script_sources/{c_id}/configuration_script_payloads": { + "get": { + "summary": "List Configuration Script Payloads for Configuration Script Source", + "description": "Returns a paginated list of Configuration Script Payloads", + "operationId": "list_configuration_script_source_configuration_script_payloads", + "tags": [ + "Configuration Script Source" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "configuration_script_payloads" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConfigurationScriptPayload" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Configuration Script Payload", + "description": "Creates a new Configuration Script Payload", + "operationId": "create_configuration_script_source_configuration_script_payload", + "tags": [ + "Configuration Script Source" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConfigurationScriptPayload" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Configuration Script Payloads", + "description": "Returns available HTTP methods and actions", + "operationId": "options_configuration_script_payloads", + "tags": [ + "Configuration Script Payloads" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/configuration_script_sources/{c_id}/configuration_script_payloads/{s_id}": { + "get": { + "summary": "Get a Configuration Script Payload", + "description": "Returns a single Configuration Script Payload by ID", + "operationId": "get_configuration_script_source_configuration_script_payload", + "tags": [ + "Configuration Script Source" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ConfigurationScriptPayload" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Configuration Script Payload", + "description": "Updates an existing Configuration Script Payload", + "operationId": "put_configuration_script_source_configuration_script_payload", + "tags": [ + "Configuration Script Source" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConfigurationScriptPayload" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ConfigurationScriptPayload" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Configuration Script Payload", + "description": "Updates an existing Configuration Script Payload", + "operationId": "update_configuration_script_source_configuration_script_payload", + "tags": [ + "Configuration Script Source" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConfigurationScriptPayload" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ConfigurationScriptPayload" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Configuration Script Payload", + "description": "Updates an existing Configuration Script Payload", + "operationId": "patch_configuration_script_source_configuration_script_payload", + "tags": [ + "Configuration Script Source" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConfigurationScriptPayload" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ConfigurationScriptPayload" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Configuration Script Payloads", + "description": "Returns available HTTP methods and actions", + "operationId": "options_configuration_script_payloads", + "tags": [ + "Configuration Script Payloads" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/configuration_scripts": { + "get": { + "summary": "List Configuration Scripts", + "description": "Returns a paginated list of Configuration Scripts", + "operationId": "list_configuration_scripts", + "tags": [ + "Configuration Scripts" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "configuration_scripts" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConfigurationScript" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Configuration Scripts", + "description": "Returns available HTTP methods and actions", + "operationId": "options_configuration_scripts", + "tags": [ + "Configuration Scripts" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/configuration_scripts/{c_id}": { + "get": { + "summary": "Get a Configuration Script", + "description": "Returns a single Configuration Script by ID", + "operationId": "get_configuration_script", + "tags": [ + "Configuration Scripts" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ConfigurationScript" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Configuration Scripts", + "description": "Returns available HTTP methods and actions", + "operationId": "options_configuration_scripts", + "tags": [ + "Configuration Scripts" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/configured_systems": { + "get": { + "summary": "List Configured Systems", + "description": "Returns a paginated list of Configured Systems", + "operationId": "list_configured_systems", + "tags": [ + "Configured Systems" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "configured_systems" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConfiguredSystem" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Configured Systems", + "description": "Returns available HTTP methods and actions", + "operationId": "options_configured_systems", + "tags": [ + "Configured Systems" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/configured_systems/{c_id}": { + "get": { + "summary": "Get a Configured System", + "description": "Returns a single Configured System by ID", + "operationId": "get_configured_system", + "tags": [ + "Configured Systems" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ConfiguredSystem" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Configured Systems", + "description": "Returns available HTTP methods and actions", + "operationId": "options_configured_systems", + "tags": [ + "Configured Systems" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/container_groups": { + "get": { + "summary": "List Container Groups", + "description": "Returns a paginated list of Container Groups", + "operationId": "list_container_groups", + "tags": [ + "Container Groups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "container_groups" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ContainerGroup" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Container Group", + "description": "Creates a new Container Group", + "operationId": "create_container_group", + "tags": [ + "Container Groups" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ContainerGroup" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Container Groups", + "description": "Returns available HTTP methods and actions", + "operationId": "options_container_groups", + "tags": [ + "Container Groups" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/container_groups/{c_id}": { + "get": { + "summary": "Get a Container Group", + "description": "Returns a single Container Group by ID", + "operationId": "get_container_group", + "tags": [ + "Container Groups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ContainerGroup" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Container Group", + "description": "Executes a custom action on a specific Container Group", + "operationId": "action_container_group", + "tags": [ + "Container Groups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/ContainerGroup" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ContainerGroup" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Container Groups", + "description": "Returns available HTTP methods and actions", + "operationId": "options_container_groups", + "tags": [ + "Container Groups" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/container_images": { + "get": { + "summary": "List Container Images", + "description": "Returns a paginated list of Container Images", + "operationId": "list_container_images", + "tags": [ + "Container Images" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "container_images" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ContainerImage" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Container Image", + "description": "Creates a new Container Image", + "operationId": "create_container_image", + "tags": [ + "Container Images" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ContainerImage" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Container Images", + "description": "Returns available HTTP methods and actions", + "operationId": "options_container_images", + "tags": [ + "Container Images" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/container_images/{c_id}": { + "get": { + "summary": "Get a Container Image", + "description": "Returns a single Container Image by ID", + "operationId": "get_container_image", + "tags": [ + "Container Images" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ContainerImage" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Container Image", + "description": "Executes a custom action on a specific Container Image", + "operationId": "action_container_image", + "tags": [ + "Container Images" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/ContainerImage" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ContainerImage" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Container Images", + "description": "Returns available HTTP methods and actions", + "operationId": "options_container_images", + "tags": [ + "Container Images" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/container_images/{c_id}/custom_attributes": { + "get": { + "summary": "List Custom Attributes for Container Image", + "description": "Returns a paginated list of Custom Attributes", + "operationId": "list_container_image_custom_attributes", + "tags": [ + "Container Images" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "custom_attributes" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomAttribute" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Custom Attribute", + "description": "Creates a new Custom Attribute", + "operationId": "create_container_image_custom_attribute", + "tags": [ + "Container Images" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomAttribute" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Custom Attributes", + "description": "Returns available HTTP methods and actions", + "operationId": "options_custom_attributes", + "tags": [ + "Custom Attributes" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/container_images/{c_id}/custom_attributes/{s_id}": { + "get": { + "summary": "Get a Custom Attribute", + "description": "Returns a single Custom Attribute by ID", + "operationId": "get_container_image_custom_attribute", + "tags": [ + "Container Images" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomAttribute" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Custom Attribute", + "description": "Updates an existing Custom Attribute", + "operationId": "update_container_image_custom_attribute", + "tags": [ + "Container Images" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomAttribute" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomAttribute" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Custom Attribute", + "description": "Deletes an existing Custom Attribute", + "operationId": "delete_container_image_custom_attribute", + "tags": [ + "Container Images" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Custom Attributes", + "description": "Returns available HTTP methods and actions", + "operationId": "options_custom_attributes", + "tags": [ + "Custom Attributes" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/container_nodes": { + "get": { + "summary": "List Container Nodes", + "description": "Returns a paginated list of Container Nodes", + "operationId": "list_container_nodes", + "tags": [ + "Container Nodes" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "container_nodes" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ContainerNode" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Container Node", + "description": "Creates a new Container Node", + "operationId": "create_container_node", + "tags": [ + "Container Nodes" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ContainerNode" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Container Nodes", + "description": "Returns available HTTP methods and actions", + "operationId": "options_container_nodes", + "tags": [ + "Container Nodes" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/container_nodes/{c_id}": { + "get": { + "summary": "Get a Container Node", + "description": "Returns a single Container Node by ID", + "operationId": "get_container_node", + "tags": [ + "Container Nodes" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ContainerNode" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Container Node", + "description": "Executes a custom action on a specific Container Node", + "operationId": "action_container_node", + "tags": [ + "Container Nodes" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/ContainerNode" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ContainerNode" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Container Nodes", + "description": "Returns available HTTP methods and actions", + "operationId": "options_container_nodes", + "tags": [ + "Container Nodes" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/container_projects": { + "get": { + "summary": "List Container Projects", + "description": "Returns a paginated list of Container Projects", + "operationId": "list_container_projects", + "tags": [ + "Container Projects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "container_projects" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ContainerProject" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Container Project", + "description": "Creates a new Container Project", + "operationId": "create_container_project", + "tags": [ + "Container Projects" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ContainerProject" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Container Projects", + "description": "Returns available HTTP methods and actions", + "operationId": "options_container_projects", + "tags": [ + "Container Projects" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/container_projects/{c_id}": { + "get": { + "summary": "Get a Container Project", + "description": "Returns a single Container Project by ID", + "operationId": "get_container_project", + "tags": [ + "Container Projects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ContainerProject" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Container Project", + "description": "Updates an existing Container Project", + "operationId": "update_container_project", + "tags": [ + "Container Projects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ContainerProject" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ContainerProject" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Container Project", + "description": "Executes a custom action on a specific Container Project", + "operationId": "action_container_project", + "tags": [ + "Container Projects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/ContainerProject" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ContainerProject" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Container Project", + "description": "Updates an existing Container Project", + "operationId": "update_container_project", + "tags": [ + "Container Projects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ContainerProject" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ContainerProject" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Container Project", + "description": "Deletes an existing Container Project", + "operationId": "delete_container_project", + "tags": [ + "Container Projects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Container Projects", + "description": "Returns available HTTP methods and actions", + "operationId": "options_container_projects", + "tags": [ + "Container Projects" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/container_projects/{c_id}/tags": { + "get": { + "summary": "List Tags for Container Project", + "description": "Returns a paginated list of Tags", + "operationId": "list_container_project_tags", + "tags": [ + "Container Projects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "tags" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Tag", + "description": "Creates a new Tag", + "operationId": "create_container_project_tag", + "tags": [ + "Container Projects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/container_projects/{c_id}/tags/{s_id}": { + "get": { + "summary": "Get a Tag", + "description": "Returns a single Tag by ID", + "operationId": "get_container_project_tag", + "tags": [ + "Container Projects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Tag", + "description": "Updates an existing Tag", + "operationId": "update_container_project_tag", + "tags": [ + "Container Projects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Tag", + "description": "Deletes an existing Tag", + "operationId": "delete_container_project_tag", + "tags": [ + "Container Projects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/container_projects/{c_id}/custom_attributes": { + "get": { + "summary": "List Custom Attributes for Container Project", + "description": "Returns a paginated list of Custom Attributes", + "operationId": "list_container_project_custom_attributes", + "tags": [ + "Container Projects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "custom_attributes" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomAttribute" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Custom Attribute", + "description": "Creates a new Custom Attribute", + "operationId": "create_container_project_custom_attribute", + "tags": [ + "Container Projects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomAttribute" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Custom Attributes", + "description": "Returns available HTTP methods and actions", + "operationId": "options_custom_attributes", + "tags": [ + "Custom Attributes" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/container_projects/{c_id}/custom_attributes/{s_id}": { + "get": { + "summary": "Get a Custom Attribute", + "description": "Returns a single Custom Attribute by ID", + "operationId": "get_container_project_custom_attribute", + "tags": [ + "Container Projects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomAttribute" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Custom Attribute", + "description": "Updates an existing Custom Attribute", + "operationId": "update_container_project_custom_attribute", + "tags": [ + "Container Projects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomAttribute" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomAttribute" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Custom Attribute", + "description": "Deletes an existing Custom Attribute", + "operationId": "delete_container_project_custom_attribute", + "tags": [ + "Container Projects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Custom Attributes", + "description": "Returns available HTTP methods and actions", + "operationId": "options_custom_attributes", + "tags": [ + "Custom Attributes" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/container_templates": { + "get": { + "summary": "List Container Templates", + "description": "Returns a paginated list of Container Templates", + "operationId": "list_container_templates", + "tags": [ + "Container Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "container_templates" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ContainerTemplate" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Container Template", + "description": "Creates a new Container Template", + "operationId": "create_container_template", + "tags": [ + "Container Templates" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ContainerTemplate" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Container Templates", + "description": "Returns available HTTP methods and actions", + "operationId": "options_container_templates", + "tags": [ + "Container Templates" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/container_templates/{c_id}": { + "get": { + "summary": "Get a Container Template", + "description": "Returns a single Container Template by ID", + "operationId": "get_container_template", + "tags": [ + "Container Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ContainerTemplate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Container Template", + "description": "Executes a custom action on a specific Container Template", + "operationId": "action_container_template", + "tags": [ + "Container Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/ContainerTemplate" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ContainerTemplate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Container Templates", + "description": "Returns available HTTP methods and actions", + "operationId": "options_container_templates", + "tags": [ + "Container Templates" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/container_volumes": { + "get": { + "summary": "List Container Volumes", + "description": "Returns a paginated list of Container Volumes", + "operationId": "list_container_volumes", + "tags": [ + "Container Volumes" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "container_volumes" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ContainerVolume" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Container Volume", + "description": "Creates a new Container Volume", + "operationId": "create_container_volume", + "tags": [ + "Container Volumes" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ContainerVolume" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Container Volumes", + "description": "Returns available HTTP methods and actions", + "operationId": "options_container_volumes", + "tags": [ + "Container Volumes" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/container_volumes/{c_id}": { + "get": { + "summary": "Get a Container Volume", + "description": "Returns a single Container Volume by ID", + "operationId": "get_container_volume", + "tags": [ + "Container Volumes" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ContainerVolume" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Container Volume", + "description": "Executes a custom action on a specific Container Volume", + "operationId": "action_container_volume", + "tags": [ + "Container Volumes" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/ContainerVolume" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ContainerVolume" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Container Volumes", + "description": "Returns available HTTP methods and actions", + "operationId": "options_container_volumes", + "tags": [ + "Container Volumes" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/containers": { + "get": { + "summary": "List Containers", + "description": "Returns a paginated list of Containers", + "operationId": "list_containers", + "tags": [ + "Containers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "containers" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Container" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Container", + "description": "Creates a new Container", + "operationId": "create_container", + "tags": [ + "Containers" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Container" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Containers", + "description": "Returns available HTTP methods and actions", + "operationId": "options_containers", + "tags": [ + "Containers" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/containers/{c_id}": { + "get": { + "summary": "Get a Container", + "description": "Returns a single Container by ID", + "operationId": "get_container", + "tags": [ + "Containers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Container" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Container", + "description": "Updates an existing Container", + "operationId": "update_container", + "tags": [ + "Containers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Container" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Container" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Containers", + "description": "Returns available HTTP methods and actions", + "operationId": "options_containers", + "tags": [ + "Containers" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/currencies": { + "get": { + "summary": "List Currencies", + "description": "Returns a paginated list of Currencies", + "operationId": "list_currencies", + "tags": [ + "Currencies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "currencies" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Currency" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Currencies", + "description": "Returns available HTTP methods and actions", + "operationId": "options_currencies", + "tags": [ + "Currencies" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/currencies/{c_id}": { + "get": { + "summary": "Get a Currency", + "description": "Returns a single Currency by ID", + "operationId": "get_currency", + "tags": [ + "Currencies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Currency" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Currencies", + "description": "Returns available HTTP methods and actions", + "operationId": "options_currencies", + "tags": [ + "Currencies" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/custom_button_sets": { + "get": { + "summary": "List Custom Button Sets", + "description": "Returns a paginated list of Custom Button Sets", + "operationId": "list_custom_button_sets", + "tags": [ + "Custom Button Sets" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "custom_button_sets" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomButtonSet" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Custom Button Set", + "description": "Creates a new Custom Button Set", + "operationId": "create_custom_button_set", + "tags": [ + "Custom Button Sets" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomButtonSet" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Custom Button Sets", + "description": "Returns available HTTP methods and actions", + "operationId": "options_custom_button_sets", + "tags": [ + "Custom Button Sets" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/custom_button_sets/{c_id}": { + "get": { + "summary": "Get a Custom Button Set", + "description": "Returns a single Custom Button Set by ID", + "operationId": "get_custom_button_set", + "tags": [ + "Custom Button Sets" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomButtonSet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Custom Button Set", + "description": "Updates an existing Custom Button Set", + "operationId": "update_custom_button_set", + "tags": [ + "Custom Button Sets" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomButtonSet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomButtonSet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Custom Button Set", + "description": "Updates an existing Custom Button Set", + "operationId": "update_custom_button_set", + "tags": [ + "Custom Button Sets" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomButtonSet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomButtonSet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Custom Button Set", + "description": "Updates an existing Custom Button Set", + "operationId": "update_custom_button_set", + "tags": [ + "Custom Button Sets" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomButtonSet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomButtonSet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Custom Button Set", + "description": "Deletes an existing Custom Button Set", + "operationId": "delete_custom_button_set", + "tags": [ + "Custom Button Sets" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Custom Button Sets", + "description": "Returns available HTTP methods and actions", + "operationId": "options_custom_button_sets", + "tags": [ + "Custom Button Sets" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/custom_buttons": { + "get": { + "summary": "List Custom Buttons", + "description": "Returns a paginated list of Custom Buttons", + "operationId": "list_custom_buttons", + "tags": [ + "Custom Buttons" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "custom_buttons" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomButton" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Custom Button", + "description": "Creates a new Custom Button", + "operationId": "create_custom_button", + "tags": [ + "Custom Buttons" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomButton" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Custom Buttons", + "description": "Returns available HTTP methods and actions", + "operationId": "options_custom_buttons", + "tags": [ + "Custom Buttons" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/custom_buttons/{c_id}": { + "get": { + "summary": "Get a Custom Button", + "description": "Returns a single Custom Button by ID", + "operationId": "get_custom_button", + "tags": [ + "Custom Buttons" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomButton" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Custom Button", + "description": "Updates an existing Custom Button", + "operationId": "update_custom_button", + "tags": [ + "Custom Buttons" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomButton" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomButton" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Custom Button", + "description": "Updates an existing Custom Button", + "operationId": "update_custom_button", + "tags": [ + "Custom Buttons" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomButton" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomButton" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Custom Button", + "description": "Updates an existing Custom Button", + "operationId": "update_custom_button", + "tags": [ + "Custom Buttons" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomButton" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomButton" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Custom Button", + "description": "Deletes an existing Custom Button", + "operationId": "delete_custom_button", + "tags": [ + "Custom Buttons" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Custom Buttons", + "description": "Returns available HTTP methods and actions", + "operationId": "options_custom_buttons", + "tags": [ + "Custom Buttons" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/customization_scripts": { + "get": { + "summary": "List Customization Script", + "description": "Returns a paginated list of Customization Script", + "operationId": "list_customization_scripts", + "tags": [ + "Customization Script" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "customization_scripts" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomizationScript" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Customization Script", + "description": "Creates a new Customization Script", + "operationId": "create_customization_script", + "tags": [ + "Customization Script" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomizationScript" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Customization Script", + "description": "Returns available HTTP methods and actions", + "operationId": "options_customization_scripts", + "tags": [ + "Customization Script" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/customization_scripts/{c_id}": { + "get": { + "summary": "Get a Customization Script", + "description": "Returns a single Customization Script by ID", + "operationId": "get_customization_script", + "tags": [ + "Customization Script" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomizationScript" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Customization Script", + "description": "Updates an existing Customization Script", + "operationId": "update_customization_script", + "tags": [ + "Customization Script" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomizationScript" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomizationScript" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Customization Script", + "description": "Returns available HTTP methods and actions", + "operationId": "options_customization_scripts", + "tags": [ + "Customization Script" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/customization_templates": { + "get": { + "summary": "List Customization Template", + "description": "Returns a paginated list of Customization Template", + "operationId": "list_customization_templates", + "tags": [ + "Customization Template" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "customization_templates" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomizationTemplate" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Customization Template", + "description": "Creates a new Customization Template", + "operationId": "create_customization_template", + "tags": [ + "Customization Template" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomizationTemplate" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Customization Template", + "description": "Returns available HTTP methods and actions", + "operationId": "options_customization_templates", + "tags": [ + "Customization Template" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/customization_templates/{c_id}": { + "get": { + "summary": "Get a Customization Template", + "description": "Returns a single Customization Template by ID", + "operationId": "get_customization_template", + "tags": [ + "Customization Template" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomizationTemplate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Customization Template", + "description": "Updates an existing Customization Template", + "operationId": "update_customization_template", + "tags": [ + "Customization Template" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomizationTemplate" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomizationTemplate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Customization Template", + "description": "Updates an existing Customization Template", + "operationId": "update_customization_template", + "tags": [ + "Customization Template" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomizationTemplate" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomizationTemplate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Customization Template", + "description": "Updates an existing Customization Template", + "operationId": "update_customization_template", + "tags": [ + "Customization Template" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomizationTemplate" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomizationTemplate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Customization Template", + "description": "Deletes an existing Customization Template", + "operationId": "delete_customization_template", + "tags": [ + "Customization Template" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Customization Template", + "description": "Returns available HTTP methods and actions", + "operationId": "options_customization_templates", + "tags": [ + "Customization Template" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/data_stores": { + "get": { + "summary": "List Datastores", + "description": "Returns a paginated list of Datastores", + "operationId": "list_data_stores", + "tags": [ + "Datastores" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "data_stores" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Storage" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Datastore", + "description": "Creates a new Datastore", + "operationId": "create_data_store", + "tags": [ + "Datastores" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Storage" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Datastores", + "description": "Returns available HTTP methods and actions", + "operationId": "options_data_stores", + "tags": [ + "Datastores" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/data_stores/{c_id}": { + "get": { + "summary": "Get a Datastore", + "description": "Returns a single Datastore by ID", + "operationId": "get_data_store", + "tags": [ + "Datastores" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Storage" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Datastore", + "description": "Executes a custom action on a specific Datastore", + "operationId": "action_data_store", + "tags": [ + "Datastores" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/Storage" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Storage" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Datastore", + "description": "Deletes an existing Datastore", + "operationId": "delete_data_store", + "tags": [ + "Datastores" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Datastores", + "description": "Returns available HTTP methods and actions", + "operationId": "options_data_stores", + "tags": [ + "Datastores" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/data_stores/{c_id}/tags": { + "get": { + "summary": "List Tags for Datastore", + "description": "Returns a paginated list of Tags", + "operationId": "list_data_store_tags", + "tags": [ + "Datastores" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "tags" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Tag", + "description": "Creates a new Tag", + "operationId": "create_data_store_tag", + "tags": [ + "Datastores" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/data_stores/{c_id}/tags/{s_id}": { + "get": { + "summary": "Get a Tag", + "description": "Returns a single Tag by ID", + "operationId": "get_data_store_tag", + "tags": [ + "Datastores" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Tag", + "description": "Updates an existing Tag", + "operationId": "update_data_store_tag", + "tags": [ + "Datastores" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Tag", + "description": "Deletes an existing Tag", + "operationId": "delete_data_store_tag", + "tags": [ + "Datastores" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/enterprises": { + "get": { + "summary": "List Enterprises", + "description": "Returns a paginated list of Enterprises", + "operationId": "list_enterprises", + "tags": [ + "Enterprises" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "enterprises" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqEnterprise" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Enterprises", + "description": "Returns available HTTP methods and actions", + "operationId": "options_enterprises", + "tags": [ + "Enterprises" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/enterprises/{c_id}": { + "get": { + "summary": "Get a Enterprise", + "description": "Returns a single Enterprise by ID", + "operationId": "get_enterprise", + "tags": [ + "Enterprises" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqEnterprise" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Enterprises", + "description": "Returns available HTTP methods and actions", + "operationId": "options_enterprises", + "tags": [ + "Enterprises" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/event_definition_sets": { + "get": { + "summary": "List Event Definition Sets", + "description": "Returns a paginated list of Event Definition Sets", + "operationId": "list_event_definition_sets", + "tags": [ + "Event Definition Sets" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "event_definition_sets" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqEventDefinitionSet" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Event Definition Set", + "description": "Creates a new Event Definition Set", + "operationId": "create_event_definition_set", + "tags": [ + "Event Definition Sets" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqEventDefinitionSet" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Event Definition Sets", + "description": "Returns available HTTP methods and actions", + "operationId": "options_event_definition_sets", + "tags": [ + "Event Definition Sets" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/event_definition_sets/{c_id}": { + "get": { + "summary": "Get a Event Definition Set", + "description": "Returns a single Event Definition Set by ID", + "operationId": "get_event_definition_set", + "tags": [ + "Event Definition Sets" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqEventDefinitionSet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Event Definition Set", + "description": "Updates an existing Event Definition Set", + "operationId": "update_event_definition_set", + "tags": [ + "Event Definition Sets" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqEventDefinitionSet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqEventDefinitionSet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Event Definition Sets", + "description": "Returns available HTTP methods and actions", + "operationId": "options_event_definition_sets", + "tags": [ + "Event Definition Sets" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/event_definition_sets/{c_id}/events": { + "get": { + "summary": "List Events for Event Definition Set", + "description": "Returns a paginated list of Events", + "operationId": "list_event_definition_set_events", + "tags": [ + "Event Definition Sets" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "events" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqEventDefinition" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Event", + "description": "Creates a new Event", + "operationId": "create_event_definition_set_event", + "tags": [ + "Event Definition Sets" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqEventDefinition" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Events", + "description": "Returns available HTTP methods and actions", + "operationId": "options_events", + "tags": [ + "Events" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/event_definition_sets/{c_id}/events/{s_id}": { + "get": { + "summary": "Get a Event", + "description": "Returns a single Event by ID", + "operationId": "get_event_definition_set_event", + "tags": [ + "Event Definition Sets" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqEventDefinition" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Event", + "description": "Updates an existing Event", + "operationId": "update_event_definition_set_event", + "tags": [ + "Event Definition Sets" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqEventDefinition" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqEventDefinition" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Events", + "description": "Returns available HTTP methods and actions", + "operationId": "options_events", + "tags": [ + "Events" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/event_streams": { + "get": { + "summary": "List Event Streams", + "description": "Returns a paginated list of Event Streams", + "operationId": "list_event_streams", + "tags": [ + "Event Streams" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "event_streams" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EventStream" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Event Stream", + "description": "Creates a new Event Stream", + "operationId": "create_event_stream", + "tags": [ + "Event Streams" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventStream" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Event Streams", + "description": "Returns available HTTP methods and actions", + "operationId": "options_event_streams", + "tags": [ + "Event Streams" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/event_streams/{c_id}": { + "get": { + "summary": "Get a Event Stream", + "description": "Returns a single Event Stream by ID", + "operationId": "get_event_stream", + "tags": [ + "Event Streams" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/EventStream" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Event Stream", + "description": "Updates an existing Event Stream", + "operationId": "update_event_stream", + "tags": [ + "Event Streams" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventStream" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/EventStream" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Event Streams", + "description": "Returns available HTTP methods and actions", + "operationId": "options_event_streams", + "tags": [ + "Event Streams" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/events": { + "get": { + "summary": "List Events", + "description": "Returns a paginated list of Events", + "operationId": "list_events", + "tags": [ + "Events" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "events" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqEventDefinition" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Event", + "description": "Creates a new Event", + "operationId": "create_event", + "tags": [ + "Events" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqEventDefinition" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Events", + "description": "Returns available HTTP methods and actions", + "operationId": "options_events", + "tags": [ + "Events" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/events/{c_id}": { + "get": { + "summary": "Get a Event", + "description": "Returns a single Event by ID", + "operationId": "get_event", + "tags": [ + "Events" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqEventDefinition" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Event", + "description": "Updates an existing Event", + "operationId": "update_event", + "tags": [ + "Events" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqEventDefinition" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqEventDefinition" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Events", + "description": "Returns available HTTP methods and actions", + "operationId": "options_events", + "tags": [ + "Events" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/features": { + "get": { + "summary": "List Product Features", + "description": "Returns a paginated list of Product Features", + "operationId": "list_features", + "tags": [ + "Product Features" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "features" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqProductFeature" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Product Feature", + "description": "Creates a new Product Feature", + "operationId": "create_feature", + "tags": [ + "Product Features" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqProductFeature" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Product Features", + "description": "Returns available HTTP methods and actions", + "operationId": "options_features", + "tags": [ + "Product Features" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/features/{c_id}": { + "get": { + "summary": "Get a Product Feature", + "description": "Returns a single Product Feature by ID", + "operationId": "get_feature", + "tags": [ + "Product Features" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqProductFeature" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Product Feature", + "description": "Updates an existing Product Feature", + "operationId": "update_feature", + "tags": [ + "Product Features" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqProductFeature" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqProductFeature" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Product Features", + "description": "Returns available HTTP methods and actions", + "operationId": "options_features", + "tags": [ + "Product Features" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/firmware_registries": { + "get": { + "summary": "List Firmware Registries", + "description": "Returns a paginated list of Firmware Registries", + "operationId": "list_firmware_registries", + "tags": [ + "Firmware Registries" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "firmware_registries" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FirmwareRegistry" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Firmware Registry", + "description": "Creates a new Firmware Registry", + "operationId": "create_firmware_registry", + "tags": [ + "Firmware Registries" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FirmwareRegistry" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Firmware Registries", + "description": "Returns available HTTP methods and actions", + "operationId": "options_firmware_registries", + "tags": [ + "Firmware Registries" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/firmware_registries/{c_id}": { + "get": { + "summary": "Get a Firmware Registry", + "description": "Returns a single Firmware Registry by ID", + "operationId": "get_firmware_registry", + "tags": [ + "Firmware Registries" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/FirmwareRegistry" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Firmware Registry", + "description": "Updates an existing Firmware Registry", + "operationId": "update_firmware_registry", + "tags": [ + "Firmware Registries" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FirmwareRegistry" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/FirmwareRegistry" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Firmware Registry", + "description": "Deletes an existing Firmware Registry", + "operationId": "delete_firmware_registry", + "tags": [ + "Firmware Registries" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Firmware Registries", + "description": "Returns available HTTP methods and actions", + "operationId": "options_firmware_registries", + "tags": [ + "Firmware Registries" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/firmwares": { + "get": { + "summary": "List Firmwares", + "description": "Returns a paginated list of Firmwares", + "operationId": "list_firmwares", + "tags": [ + "Firmwares" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "firmwares" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Firmware" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Firmware", + "description": "Creates a new Firmware", + "operationId": "create_firmware", + "tags": [ + "Firmwares" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Firmware" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Firmwares", + "description": "Returns available HTTP methods and actions", + "operationId": "options_firmwares", + "tags": [ + "Firmwares" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/firmwares/{c_id}": { + "get": { + "summary": "Get a Firmware", + "description": "Returns a single Firmware by ID", + "operationId": "get_firmware", + "tags": [ + "Firmwares" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Firmware" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Firmware", + "description": "Updates an existing Firmware", + "operationId": "update_firmware", + "tags": [ + "Firmwares" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Firmware" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Firmware" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Firmwares", + "description": "Returns available HTTP methods and actions", + "operationId": "options_firmwares", + "tags": [ + "Firmwares" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/flavors": { + "get": { + "summary": "List Flavors", + "description": "Returns a paginated list of Flavors", + "operationId": "list_flavors", + "tags": [ + "Flavors" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "flavors" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Flavor" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Flavor", + "description": "Creates a new Flavor", + "operationId": "create_flavor", + "tags": [ + "Flavors" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Flavor" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Flavors", + "description": "Returns available HTTP methods and actions", + "operationId": "options_flavors", + "tags": [ + "Flavors" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/flavors/{c_id}": { + "get": { + "summary": "Get a Flavor", + "description": "Returns a single Flavor by ID", + "operationId": "get_flavor", + "tags": [ + "Flavors" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Flavor" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Flavor", + "description": "Updates an existing Flavor", + "operationId": "update_flavor", + "tags": [ + "Flavors" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Flavor" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Flavor" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Flavor", + "description": "Deletes an existing Flavor", + "operationId": "delete_flavor", + "tags": [ + "Flavors" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Flavors", + "description": "Returns available HTTP methods and actions", + "operationId": "options_flavors", + "tags": [ + "Flavors" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/flavors/{c_id}/tags": { + "get": { + "summary": "List Tags for Flavor", + "description": "Returns a paginated list of Tags", + "operationId": "list_flavor_tags", + "tags": [ + "Flavors" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "tags" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Tag", + "description": "Creates a new Tag", + "operationId": "create_flavor_tag", + "tags": [ + "Flavors" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/flavors/{c_id}/tags/{s_id}": { + "get": { + "summary": "Get a Tag", + "description": "Returns a single Tag by ID", + "operationId": "get_flavor_tag", + "tags": [ + "Flavors" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Tag", + "description": "Updates an existing Tag", + "operationId": "update_flavor_tag", + "tags": [ + "Flavors" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Tag", + "description": "Deletes an existing Tag", + "operationId": "delete_flavor_tag", + "tags": [ + "Flavors" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/floating_ips": { + "get": { + "summary": "List Floating IPs", + "description": "Returns a paginated list of Floating IPs", + "operationId": "list_floating_ips", + "tags": [ + "Floating IPs" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "floating_ips" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FloatingIp" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Floating IP", + "description": "Creates a new Floating IP", + "operationId": "create_floating_ip", + "tags": [ + "Floating IPs" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FloatingIp" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Floating IPs", + "description": "Returns available HTTP methods and actions", + "operationId": "options_floating_ips", + "tags": [ + "Floating IPs" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/floating_ips/{c_id}": { + "get": { + "summary": "Get a Floating IP", + "description": "Returns a single Floating IP by ID", + "operationId": "get_floating_ip", + "tags": [ + "Floating IPs" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/FloatingIp" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Floating IP", + "description": "Updates an existing Floating IP", + "operationId": "update_floating_ip", + "tags": [ + "Floating IPs" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FloatingIp" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/FloatingIp" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Floating IP", + "description": "Updates an existing Floating IP", + "operationId": "update_floating_ip", + "tags": [ + "Floating IPs" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FloatingIp" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/FloatingIp" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Floating IP", + "description": "Updates an existing Floating IP", + "operationId": "update_floating_ip", + "tags": [ + "Floating IPs" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FloatingIp" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/FloatingIp" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Floating IP", + "description": "Deletes an existing Floating IP", + "operationId": "delete_floating_ip", + "tags": [ + "Floating IPs" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Floating IPs", + "description": "Returns available HTTP methods and actions", + "operationId": "options_floating_ips", + "tags": [ + "Floating IPs" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/generic_object_definitions": { + "get": { + "summary": "List Generic Object Definitions", + "description": "Returns a paginated list of Generic Object Definitions", + "operationId": "list_generic_object_definitions", + "tags": [ + "Generic Object Definitions" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "generic_object_definitions" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GenericObjectDefinition" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Generic Object Definition", + "description": "Creates a new Generic Object Definition", + "operationId": "create_generic_object_definition", + "tags": [ + "Generic Object Definitions" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenericObjectDefinition" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Generic Object Definitions", + "description": "Returns available HTTP methods and actions", + "operationId": "options_generic_object_definitions", + "tags": [ + "Generic Object Definitions" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/generic_object_definitions/{c_id}": { + "get": { + "summary": "Get a Generic Object Definition", + "description": "Returns a single Generic Object Definition by ID", + "operationId": "get_generic_object_definition", + "tags": [ + "Generic Object Definitions" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/GenericObjectDefinition" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Generic Object Definition", + "description": "Updates an existing Generic Object Definition", + "operationId": "update_generic_object_definition", + "tags": [ + "Generic Object Definitions" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenericObjectDefinition" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/GenericObjectDefinition" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Generic Object Definition", + "description": "Updates an existing Generic Object Definition", + "operationId": "update_generic_object_definition", + "tags": [ + "Generic Object Definitions" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenericObjectDefinition" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/GenericObjectDefinition" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Generic Object Definition", + "description": "Updates an existing Generic Object Definition", + "operationId": "update_generic_object_definition", + "tags": [ + "Generic Object Definitions" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenericObjectDefinition" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/GenericObjectDefinition" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Generic Object Definition", + "description": "Deletes an existing Generic Object Definition", + "operationId": "delete_generic_object_definition", + "tags": [ + "Generic Object Definitions" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Generic Object Definitions", + "description": "Returns available HTTP methods and actions", + "operationId": "options_generic_object_definitions", + "tags": [ + "Generic Object Definitions" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/generic_object_definitions/{c_id}/generic_objects": { + "get": { + "summary": "List Generic Objects for Generic Object Definition", + "description": "Returns a paginated list of Generic Objects", + "operationId": "list_generic_object_definition_generic_objects", + "tags": [ + "Generic Object Definitions" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "generic_objects" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GenericObject" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Generic Object", + "description": "Creates a new Generic Object", + "operationId": "create_generic_object_definition_generic_object", + "tags": [ + "Generic Object Definitions" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenericObject" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Generic Objects", + "description": "Returns available HTTP methods and actions", + "operationId": "options_generic_objects", + "tags": [ + "Generic Objects" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/generic_object_definitions/{c_id}/generic_objects/{s_id}": { + "get": { + "summary": "Get a Generic Object", + "description": "Returns a single Generic Object by ID", + "operationId": "get_generic_object_definition_generic_object", + "tags": [ + "Generic Object Definitions" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/GenericObject" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Generic Object", + "description": "Updates an existing Generic Object", + "operationId": "update_generic_object_definition_generic_object", + "tags": [ + "Generic Object Definitions" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenericObject" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/GenericObject" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Generic Object", + "description": "Deletes an existing Generic Object", + "operationId": "delete_generic_object_definition_generic_object", + "tags": [ + "Generic Object Definitions" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Generic Objects", + "description": "Returns available HTTP methods and actions", + "operationId": "options_generic_objects", + "tags": [ + "Generic Objects" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/generic_objects": { + "get": { + "summary": "List Generic Objects", + "description": "Returns a paginated list of Generic Objects", + "operationId": "list_generic_objects", + "tags": [ + "Generic Objects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "generic_objects" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GenericObject" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Generic Object", + "description": "Creates a new Generic Object", + "operationId": "create_generic_object", + "tags": [ + "Generic Objects" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenericObject" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Generic Objects", + "description": "Returns available HTTP methods and actions", + "operationId": "options_generic_objects", + "tags": [ + "Generic Objects" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/generic_objects/{c_id}": { + "get": { + "summary": "Get a Generic Object", + "description": "Returns a single Generic Object by ID", + "operationId": "get_generic_object", + "tags": [ + "Generic Objects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/GenericObject" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Generic Object", + "description": "Executes a custom action on a specific Generic Object", + "operationId": "action_generic_object", + "tags": [ + "Generic Objects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/GenericObject" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/GenericObject" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Generic Object", + "description": "Deletes an existing Generic Object", + "operationId": "delete_generic_object", + "tags": [ + "Generic Objects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Generic Objects", + "description": "Returns available HTTP methods and actions", + "operationId": "options_generic_objects", + "tags": [ + "Generic Objects" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/generic_objects/{c_id}/tags": { + "get": { + "summary": "List Tags for Generic Object", + "description": "Returns a paginated list of Tags", + "operationId": "list_generic_object_tags", + "tags": [ + "Generic Objects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "tags" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Tag", + "description": "Creates a new Tag", + "operationId": "create_generic_object_tag", + "tags": [ + "Generic Objects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/generic_objects/{c_id}/tags/{s_id}": { + "get": { + "summary": "Get a Tag", + "description": "Returns a single Tag by ID", + "operationId": "get_generic_object_tag", + "tags": [ + "Generic Objects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Tag", + "description": "Updates an existing Tag", + "operationId": "update_generic_object_tag", + "tags": [ + "Generic Objects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Tag", + "description": "Deletes an existing Tag", + "operationId": "delete_generic_object_tag", + "tags": [ + "Generic Objects" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/groups": { + "get": { + "summary": "List Groups", + "description": "Returns a paginated list of Groups", + "operationId": "list_groups", + "tags": [ + "Groups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "groups" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqGroup" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Group", + "description": "Creates a new Group", + "operationId": "create_group", + "tags": [ + "Groups" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqGroup" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Groups", + "description": "Returns available HTTP methods and actions", + "operationId": "options_groups", + "tags": [ + "Groups" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/groups/{c_id}": { + "get": { + "summary": "Get a Group", + "description": "Returns a single Group by ID", + "operationId": "get_group", + "tags": [ + "Groups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqGroup" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Group", + "description": "Updates an existing Group", + "operationId": "update_group", + "tags": [ + "Groups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqGroup" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqGroup" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Group", + "description": "Executes a custom action on a specific Group", + "operationId": "action_group", + "tags": [ + "Groups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/MiqGroup" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqGroup" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Group", + "description": "Updates an existing Group", + "operationId": "update_group", + "tags": [ + "Groups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqGroup" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqGroup" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Group", + "description": "Deletes an existing Group", + "operationId": "delete_group", + "tags": [ + "Groups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Groups", + "description": "Returns available HTTP methods and actions", + "operationId": "options_groups", + "tags": [ + "Groups" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/groups/{c_id}/custom_button_events": { + "get": { + "summary": "List Custom Button Events for Group", + "description": "Returns a paginated list of Custom Button Events", + "operationId": "list_group_custom_button_events", + "tags": [ + "Groups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "custom_button_events" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomButtonEvent" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Custom Button Events", + "description": "Returns available HTTP methods and actions", + "operationId": "options_custom_button_events", + "tags": [ + "Custom Button Events" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/groups/{c_id}/custom_button_events/{s_id}": { + "get": { + "summary": "Get a Custom Button Event", + "description": "Returns a single Custom Button Event by ID", + "operationId": "get_group_custom_button_event", + "tags": [ + "Groups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomButtonEvent" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Custom Button Events", + "description": "Returns available HTTP methods and actions", + "operationId": "options_custom_button_events", + "tags": [ + "Custom Button Events" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/groups/{c_id}/tags": { + "get": { + "summary": "List Tags for Group", + "description": "Returns a paginated list of Tags", + "operationId": "list_group_tags", + "tags": [ + "Groups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "tags" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Tag", + "description": "Creates a new Tag", + "operationId": "create_group_tag", + "tags": [ + "Groups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/groups/{c_id}/tags/{s_id}": { + "get": { + "summary": "Get a Tag", + "description": "Returns a single Tag by ID", + "operationId": "get_group_tag", + "tags": [ + "Groups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Tag", + "description": "Updates an existing Tag", + "operationId": "update_group_tag", + "tags": [ + "Groups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Tag", + "description": "Deletes an existing Tag", + "operationId": "delete_group_tag", + "tags": [ + "Groups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/guest_devices": { + "get": { + "summary": "List Guest Devices", + "description": "Returns a paginated list of Guest Devices", + "operationId": "list_guest_devices", + "tags": [ + "Guest Devices" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "guest_devices" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GuestDevice" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Guest Device", + "description": "Creates a new Guest Device", + "operationId": "create_guest_device", + "tags": [ + "Guest Devices" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GuestDevice" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Guest Devices", + "description": "Returns available HTTP methods and actions", + "operationId": "options_guest_devices", + "tags": [ + "Guest Devices" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/guest_devices/{c_id}": { + "get": { + "summary": "Get a Guest Device", + "description": "Returns a single Guest Device by ID", + "operationId": "get_guest_device", + "tags": [ + "Guest Devices" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/GuestDevice" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Guest Device", + "description": "Updates an existing Guest Device", + "operationId": "update_guest_device", + "tags": [ + "Guest Devices" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GuestDevice" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/GuestDevice" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Guest Devices", + "description": "Returns available HTTP methods and actions", + "operationId": "options_guest_devices", + "tags": [ + "Guest Devices" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/host_aggregates": { + "get": { + "summary": "List Host Aggregates", + "description": "Returns a paginated list of Host Aggregates", + "operationId": "list_host_aggregates", + "tags": [ + "Host Aggregates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "host_aggregates" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HostAggregate" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Host Aggregate", + "description": "Creates a new Host Aggregate", + "operationId": "create_host_aggregate", + "tags": [ + "Host Aggregates" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HostAggregate" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Host Aggregates", + "description": "Returns available HTTP methods and actions", + "operationId": "options_host_aggregates", + "tags": [ + "Host Aggregates" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/host_aggregates/{c_id}": { + "get": { + "summary": "Get a Host Aggregate", + "description": "Returns a single Host Aggregate by ID", + "operationId": "get_host_aggregate", + "tags": [ + "Host Aggregates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/HostAggregate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Host Aggregate", + "description": "Updates an existing Host Aggregate", + "operationId": "update_host_aggregate", + "tags": [ + "Host Aggregates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HostAggregate" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/HostAggregate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Host Aggregate", + "description": "Updates an existing Host Aggregate", + "operationId": "update_host_aggregate", + "tags": [ + "Host Aggregates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HostAggregate" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/HostAggregate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Host Aggregate", + "description": "Updates an existing Host Aggregate", + "operationId": "update_host_aggregate", + "tags": [ + "Host Aggregates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HostAggregate" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/HostAggregate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Host Aggregate", + "description": "Deletes an existing Host Aggregate", + "operationId": "delete_host_aggregate", + "tags": [ + "Host Aggregates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Host Aggregates", + "description": "Returns available HTTP methods and actions", + "operationId": "options_host_aggregates", + "tags": [ + "Host Aggregates" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/host_aggregates/{c_id}/tags": { + "get": { + "summary": "List Tags for Host Aggregate", + "description": "Returns a paginated list of Tags", + "operationId": "list_host_aggregate_tags", + "tags": [ + "Host Aggregates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "tags" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Tag", + "description": "Creates a new Tag", + "operationId": "create_host_aggregate_tag", + "tags": [ + "Host Aggregates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/host_aggregates/{c_id}/tags/{s_id}": { + "get": { + "summary": "Get a Tag", + "description": "Returns a single Tag by ID", + "operationId": "get_host_aggregate_tag", + "tags": [ + "Host Aggregates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Tag", + "description": "Updates an existing Tag", + "operationId": "update_host_aggregate_tag", + "tags": [ + "Host Aggregates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Tag", + "description": "Deletes an existing Tag", + "operationId": "delete_host_aggregate_tag", + "tags": [ + "Host Aggregates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/host_initiator_groups": { + "get": { + "summary": "List Host Initiator Groups", + "description": "Returns a paginated list of Host Initiator Groups", + "operationId": "list_host_initiator_groups", + "tags": [ + "Host Initiator Groups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "host_initiator_groups" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HostInitiatorGroup" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Host Initiator Group", + "description": "Creates a new Host Initiator Group", + "operationId": "create_host_initiator_group", + "tags": [ + "Host Initiator Groups" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HostInitiatorGroup" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Host Initiator Groups", + "description": "Returns available HTTP methods and actions", + "operationId": "options_host_initiator_groups", + "tags": [ + "Host Initiator Groups" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/host_initiator_groups/{c_id}": { + "get": { + "summary": "Get a Host Initiator Group", + "description": "Returns a single Host Initiator Group by ID", + "operationId": "get_host_initiator_group", + "tags": [ + "Host Initiator Groups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/HostInitiatorGroup" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Host Initiator Group", + "description": "Updates an existing Host Initiator Group", + "operationId": "update_host_initiator_group", + "tags": [ + "Host Initiator Groups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HostInitiatorGroup" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/HostInitiatorGroup" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Host Initiator Group", + "description": "Updates an existing Host Initiator Group", + "operationId": "update_host_initiator_group", + "tags": [ + "Host Initiator Groups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HostInitiatorGroup" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/HostInitiatorGroup" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Host Initiator Group", + "description": "Updates an existing Host Initiator Group", + "operationId": "update_host_initiator_group", + "tags": [ + "Host Initiator Groups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HostInitiatorGroup" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/HostInitiatorGroup" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Host Initiator Group", + "description": "Deletes an existing Host Initiator Group", + "operationId": "delete_host_initiator_group", + "tags": [ + "Host Initiator Groups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Host Initiator Groups", + "description": "Returns available HTTP methods and actions", + "operationId": "options_host_initiator_groups", + "tags": [ + "Host Initiator Groups" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/host_initiators": { + "get": { + "summary": "List Host Initiators", + "description": "Returns a paginated list of Host Initiators", + "operationId": "list_host_initiators", + "tags": [ + "Host Initiators" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "host_initiators" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HostInitiator" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Host Initiator", + "description": "Creates a new Host Initiator", + "operationId": "create_host_initiator", + "tags": [ + "Host Initiators" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HostInitiator" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Host Initiators", + "description": "Returns available HTTP methods and actions", + "operationId": "options_host_initiators", + "tags": [ + "Host Initiators" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/host_initiators/{c_id}": { + "get": { + "summary": "Get a Host Initiator", + "description": "Returns a single Host Initiator by ID", + "operationId": "get_host_initiator", + "tags": [ + "Host Initiators" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/HostInitiator" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Host Initiator", + "description": "Updates an existing Host Initiator", + "operationId": "update_host_initiator", + "tags": [ + "Host Initiators" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HostInitiator" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/HostInitiator" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Host Initiator", + "description": "Deletes an existing Host Initiator", + "operationId": "delete_host_initiator", + "tags": [ + "Host Initiators" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Host Initiators", + "description": "Returns available HTTP methods and actions", + "operationId": "options_host_initiators", + "tags": [ + "Host Initiators" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/hosts": { + "get": { + "summary": "List Hosts", + "description": "Returns a paginated list of Hosts", + "operationId": "list_hosts", + "tags": [ + "Hosts" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "hosts" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Host" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Host", + "description": "Creates a new Host", + "operationId": "create_host", + "tags": [ + "Hosts" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Host" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Hosts", + "description": "Returns available HTTP methods and actions", + "operationId": "options_hosts", + "tags": [ + "Hosts" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/hosts/{c_id}": { + "get": { + "summary": "Get a Host", + "description": "Returns a single Host by ID", + "operationId": "get_host", + "tags": [ + "Hosts" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Host" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Host", + "description": "Executes a custom action on a specific Host", + "operationId": "action_host", + "tags": [ + "Hosts" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/Host" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Host" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Hosts", + "description": "Returns available HTTP methods and actions", + "operationId": "options_hosts", + "tags": [ + "Hosts" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/hosts/{c_id}/tags": { + "get": { + "summary": "List Tags for Host", + "description": "Returns a paginated list of Tags", + "operationId": "list_host_tags", + "tags": [ + "Hosts" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "tags" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Tag", + "description": "Creates a new Tag", + "operationId": "create_host_tag", + "tags": [ + "Hosts" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/hosts/{c_id}/tags/{s_id}": { + "get": { + "summary": "Get a Tag", + "description": "Returns a single Tag by ID", + "operationId": "get_host_tag", + "tags": [ + "Hosts" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Tag", + "description": "Updates an existing Tag", + "operationId": "update_host_tag", + "tags": [ + "Hosts" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Tag", + "description": "Deletes an existing Tag", + "operationId": "delete_host_tag", + "tags": [ + "Hosts" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/hosts/{c_id}/policies": { + "get": { + "summary": "List Policies for Host", + "description": "Returns a paginated list of Policies", + "operationId": "list_host_policies", + "tags": [ + "Hosts" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "policies" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqPolicy" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Policy", + "description": "Creates a new Policy", + "operationId": "create_host_policy", + "tags": [ + "Hosts" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicy" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Policies", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policies", + "tags": [ + "Policies" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/hosts/{c_id}/policies/{s_id}": { + "get": { + "summary": "Get a Policy", + "description": "Returns a single Policy by ID", + "operationId": "get_host_policy", + "tags": [ + "Hosts" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicy" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Policy", + "description": "Updates an existing Policy", + "operationId": "update_host_policy", + "tags": [ + "Hosts" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicy" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicy" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Policy", + "description": "Deletes an existing Policy", + "operationId": "delete_host_policy", + "tags": [ + "Hosts" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Policies", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policies", + "tags": [ + "Policies" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/hosts/{c_id}/policy_profiles": { + "get": { + "summary": "List Policy Profiles for Host", + "description": "Returns a paginated list of Policy Profiles", + "operationId": "list_host_policy_profiles", + "tags": [ + "Hosts" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "policy_profiles" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqPolicySet" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Policy Profile", + "description": "Creates a new Policy Profile", + "operationId": "create_host_policy_profile", + "tags": [ + "Hosts" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicySet" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Policy Profiles", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policy_profiles", + "tags": [ + "Policy Profiles" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/hosts/{c_id}/policy_profiles/{s_id}": { + "get": { + "summary": "Get a Policy Profile", + "description": "Returns a single Policy Profile by ID", + "operationId": "get_host_policy_profile", + "tags": [ + "Hosts" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicySet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Policy Profile", + "description": "Updates an existing Policy Profile", + "operationId": "put_host_policy_profile", + "tags": [ + "Hosts" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicySet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicySet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Policy Profile", + "description": "Updates an existing Policy Profile", + "operationId": "update_host_policy_profile", + "tags": [ + "Hosts" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicySet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicySet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Policy Profile", + "description": "Updates an existing Policy Profile", + "operationId": "patch_host_policy_profile", + "tags": [ + "Hosts" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicySet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicySet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Policy Profile", + "description": "Deletes an existing Policy Profile", + "operationId": "delete_host_policy_profile", + "tags": [ + "Hosts" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Policy Profiles", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policy_profiles", + "tags": [ + "Policy Profiles" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/hosts/{c_id}/lans": { + "get": { + "summary": "List Lans for Host", + "description": "Returns a paginated list of Lans", + "operationId": "list_host_lans", + "tags": [ + "Hosts" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "lans" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Lan" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Lans", + "description": "Returns available HTTP methods and actions", + "operationId": "options_lans", + "tags": [ + "Lans" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/hosts/{c_id}/lans/{s_id}": { + "get": { + "summary": "Get a Lan", + "description": "Returns a single Lan by ID", + "operationId": "get_host_lan", + "tags": [ + "Hosts" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Lan" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Lans", + "description": "Returns available HTTP methods and actions", + "operationId": "options_lans", + "tags": [ + "Lans" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/hosts/{c_id}/custom_attributes": { + "get": { + "summary": "List Custom Attributes for Host", + "description": "Returns a paginated list of Custom Attributes", + "operationId": "list_host_custom_attributes", + "tags": [ + "Hosts" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "custom_attributes" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomAttribute" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Custom Attribute", + "description": "Creates a new Custom Attribute", + "operationId": "create_host_custom_attribute", + "tags": [ + "Hosts" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomAttribute" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Custom Attributes", + "description": "Returns available HTTP methods and actions", + "operationId": "options_custom_attributes", + "tags": [ + "Custom Attributes" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/hosts/{c_id}/custom_attributes/{s_id}": { + "get": { + "summary": "Get a Custom Attribute", + "description": "Returns a single Custom Attribute by ID", + "operationId": "get_host_custom_attribute", + "tags": [ + "Hosts" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomAttribute" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Custom Attribute", + "description": "Updates an existing Custom Attribute", + "operationId": "update_host_custom_attribute", + "tags": [ + "Hosts" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomAttribute" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomAttribute" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Custom Attribute", + "description": "Deletes an existing Custom Attribute", + "operationId": "delete_host_custom_attribute", + "tags": [ + "Hosts" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Custom Attributes", + "description": "Returns available HTTP methods and actions", + "operationId": "options_custom_attributes", + "tags": [ + "Custom Attributes" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/instances": { + "get": { + "summary": "List Instances", + "description": "Returns a paginated list of Instances", + "operationId": "list_instances", + "tags": [ + "Instances" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "instances" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ManageIQ_Providers_CloudManager_Vm" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Instance", + "description": "Creates a new Instance", + "operationId": "create_instance", + "tags": [ + "Instances" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ManageIQ_Providers_CloudManager_Vm" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Instances", + "description": "Returns available HTTP methods and actions", + "operationId": "options_instances", + "tags": [ + "Instances" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/instances/{c_id}": { + "get": { + "summary": "Get a Instance", + "description": "Returns a single Instance by ID", + "operationId": "get_instance", + "tags": [ + "Instances" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ManageIQ_Providers_CloudManager_Vm" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Instance", + "description": "Updates an existing Instance", + "operationId": "update_instance", + "tags": [ + "Instances" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ManageIQ_Providers_CloudManager_Vm" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ManageIQ_Providers_CloudManager_Vm" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Instances", + "description": "Returns available HTTP methods and actions", + "operationId": "options_instances", + "tags": [ + "Instances" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/instances/{c_id}/custom_attributes": { + "get": { + "summary": "List Custom Attributes for Instance", + "description": "Returns a paginated list of Custom Attributes", + "operationId": "list_instance_custom_attributes", + "tags": [ + "Instances" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "custom_attributes" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomAttribute" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Custom Attribute", + "description": "Creates a new Custom Attribute", + "operationId": "create_instance_custom_attribute", + "tags": [ + "Instances" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomAttribute" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Custom Attributes", + "description": "Returns available HTTP methods and actions", + "operationId": "options_custom_attributes", + "tags": [ + "Custom Attributes" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/instances/{c_id}/custom_attributes/{s_id}": { + "get": { + "summary": "Get a Custom Attribute", + "description": "Returns a single Custom Attribute by ID", + "operationId": "get_instance_custom_attribute", + "tags": [ + "Instances" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomAttribute" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Custom Attribute", + "description": "Updates an existing Custom Attribute", + "operationId": "update_instance_custom_attribute", + "tags": [ + "Instances" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomAttribute" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomAttribute" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Custom Attribute", + "description": "Deletes an existing Custom Attribute", + "operationId": "delete_instance_custom_attribute", + "tags": [ + "Instances" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Custom Attributes", + "description": "Returns available HTTP methods and actions", + "operationId": "options_custom_attributes", + "tags": [ + "Custom Attributes" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/instances/{c_id}/load_balancers": { + "get": { + "summary": "List Load Balancers for Instance", + "description": "Returns a paginated list of Load Balancers", + "operationId": "list_instance_load_balancers", + "tags": [ + "Instances" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "load_balancers" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LoadBalancer" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Load Balancer", + "description": "Creates a new Load Balancer", + "operationId": "create_instance_load_balancer", + "tags": [ + "Instances" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LoadBalancer" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Load Balancers", + "description": "Returns available HTTP methods and actions", + "operationId": "options_load_balancers", + "tags": [ + "Load Balancers" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/instances/{c_id}/load_balancers/{s_id}": { + "get": { + "summary": "Get a Load Balancer", + "description": "Returns a single Load Balancer by ID", + "operationId": "get_instance_load_balancer", + "tags": [ + "Instances" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/LoadBalancer" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Load Balancer", + "description": "Updates an existing Load Balancer", + "operationId": "update_instance_load_balancer", + "tags": [ + "Instances" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LoadBalancer" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/LoadBalancer" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Load Balancers", + "description": "Returns available HTTP methods and actions", + "operationId": "options_load_balancers", + "tags": [ + "Load Balancers" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/instances/{c_id}/security_groups": { + "get": { + "summary": "List Security Groups for Instance", + "description": "Returns a paginated list of Security Groups", + "operationId": "list_instance_security_groups", + "tags": [ + "Instances" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "security_groups" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SecurityGroup" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Security Group", + "description": "Creates a new Security Group", + "operationId": "create_instance_security_group", + "tags": [ + "Instances" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SecurityGroup" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Security Groups", + "description": "Returns available HTTP methods and actions", + "operationId": "options_security_groups", + "tags": [ + "Security Groups" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/instances/{c_id}/security_groups/{s_id}": { + "get": { + "summary": "Get a Security Group", + "description": "Returns a single Security Group by ID", + "operationId": "get_instance_security_group", + "tags": [ + "Instances" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SecurityGroup" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Security Group", + "description": "Updates an existing Security Group", + "operationId": "update_instance_security_group", + "tags": [ + "Instances" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SecurityGroup" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SecurityGroup" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Security Groups", + "description": "Returns available HTTP methods and actions", + "operationId": "options_security_groups", + "tags": [ + "Security Groups" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/instances/{c_id}/snapshots": { + "get": { + "summary": "List Snapshots for Instance", + "description": "Returns a paginated list of Snapshots", + "operationId": "list_instance_snapshots", + "tags": [ + "Instances" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "snapshots" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Snapshot" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Snapshot", + "description": "Creates a new Snapshot", + "operationId": "create_instance_snapshot", + "tags": [ + "Instances" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Snapshot" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Snapshots", + "description": "Returns available HTTP methods and actions", + "operationId": "options_snapshots", + "tags": [ + "Snapshots" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/instances/{c_id}/snapshots/{s_id}": { + "get": { + "summary": "Get a Snapshot", + "description": "Returns a single Snapshot by ID", + "operationId": "get_instance_snapshot", + "tags": [ + "Instances" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Snapshot" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Snapshot", + "description": "Updates an existing Snapshot", + "operationId": "update_instance_snapshot", + "tags": [ + "Instances" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Snapshot" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Snapshot" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Snapshot", + "description": "Deletes an existing Snapshot", + "operationId": "delete_instance_snapshot", + "tags": [ + "Instances" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Snapshots", + "description": "Returns available HTTP methods and actions", + "operationId": "options_snapshots", + "tags": [ + "Snapshots" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/iso_images": { + "get": { + "summary": "List ISO Images", + "description": "Returns a paginated list of ISO Images", + "operationId": "list_iso_images", + "tags": [ + "ISO Images" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "iso_images" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IsoImage" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a ISO Image", + "description": "Creates a new ISO Image", + "operationId": "create_iso_image", + "tags": [ + "ISO Images" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IsoImage" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for ISO Images", + "description": "Returns available HTTP methods and actions", + "operationId": "options_iso_images", + "tags": [ + "ISO Images" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/iso_images/{c_id}": { + "get": { + "summary": "Get a ISO Image", + "description": "Returns a single ISO Image by ID", + "operationId": "get_iso_image", + "tags": [ + "ISO Images" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/IsoImage" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a ISO Image", + "description": "Updates an existing ISO Image", + "operationId": "update_iso_image", + "tags": [ + "ISO Images" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IsoImage" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/IsoImage" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for ISO Images", + "description": "Returns available HTTP methods and actions", + "operationId": "options_iso_images", + "tags": [ + "ISO Images" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/lans": { + "get": { + "summary": "List Lans", + "description": "Returns a paginated list of Lans", + "operationId": "list_lans", + "tags": [ + "Lans" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "lans" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Lan" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Lans", + "description": "Returns available HTTP methods and actions", + "operationId": "options_lans", + "tags": [ + "Lans" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/lans/{c_id}": { + "get": { + "summary": "Get a Lan", + "description": "Returns a single Lan by ID", + "operationId": "get_lan", + "tags": [ + "Lans" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Lan" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Lans", + "description": "Returns available HTTP methods and actions", + "operationId": "options_lans", + "tags": [ + "Lans" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/lans/{c_id}/tags": { + "get": { + "summary": "List Tags for Lan", + "description": "Returns a paginated list of Tags", + "operationId": "list_lan_tags", + "tags": [ + "Lans" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "tags" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Tag", + "description": "Creates a new Tag", + "operationId": "create_lan_tag", + "tags": [ + "Lans" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/lans/{c_id}/tags/{s_id}": { + "get": { + "summary": "Get a Tag", + "description": "Returns a single Tag by ID", + "operationId": "get_lan_tag", + "tags": [ + "Lans" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Tag", + "description": "Updates an existing Tag", + "operationId": "update_lan_tag", + "tags": [ + "Lans" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Tag", + "description": "Deletes an existing Tag", + "operationId": "delete_lan_tag", + "tags": [ + "Lans" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/load_balancers": { + "get": { + "summary": "List Load Balancers", + "description": "Returns a paginated list of Load Balancers", + "operationId": "list_load_balancers", + "tags": [ + "Load Balancers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "load_balancers" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LoadBalancer" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Load Balancer", + "description": "Creates a new Load Balancer", + "operationId": "create_load_balancer", + "tags": [ + "Load Balancers" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LoadBalancer" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Load Balancers", + "description": "Returns available HTTP methods and actions", + "operationId": "options_load_balancers", + "tags": [ + "Load Balancers" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/load_balancers/{c_id}": { + "get": { + "summary": "Get a Load Balancer", + "description": "Returns a single Load Balancer by ID", + "operationId": "get_load_balancer", + "tags": [ + "Load Balancers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/LoadBalancer" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Load Balancer", + "description": "Executes a custom action on a specific Load Balancer", + "operationId": "action_load_balancer", + "tags": [ + "Load Balancers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/LoadBalancer" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/LoadBalancer" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Load Balancers", + "description": "Returns available HTTP methods and actions", + "operationId": "options_load_balancers", + "tags": [ + "Load Balancers" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/measures": { + "get": { + "summary": "List Measures", + "description": "Returns a paginated list of Measures", + "operationId": "list_measures", + "tags": [ + "Measures" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "measures" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ChargebackRateDetailMeasure" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Measures", + "description": "Returns available HTTP methods and actions", + "operationId": "options_measures", + "tags": [ + "Measures" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/measures/{c_id}": { + "get": { + "summary": "Get a Measure", + "description": "Returns a single Measure by ID", + "operationId": "get_measure", + "tags": [ + "Measures" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ChargebackRateDetailMeasure" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Measures", + "description": "Returns available HTTP methods and actions", + "operationId": "options_measures", + "tags": [ + "Measures" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/metric_rollups": { + "get": { + "summary": "List Metric Rollups", + "description": "Returns a paginated list of Metric Rollups", + "operationId": "list_metric_rollups", + "tags": [ + "Metric Rollups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "metric_rollups" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MetricRollup" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Metric Rollups", + "description": "Returns available HTTP methods and actions", + "operationId": "options_metric_rollups", + "tags": [ + "Metric Rollups" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/metric_rollups/{c_id}": { + "get": { + "summary": "Get a Metric Rollup", + "description": "Returns a single Metric Rollup by ID", + "operationId": "get_metric_rollup", + "tags": [ + "Metric Rollups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MetricRollup" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Metric Rollups", + "description": "Returns available HTTP methods and actions", + "operationId": "options_metric_rollups", + "tags": [ + "Metric Rollups" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/metrics": { + "get": { + "summary": "List Metrics", + "description": "Returns a paginated list of Metrics", + "operationId": "list_metrics", + "tags": [ + "Metrics" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "metrics" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metric" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Metrics", + "description": "Returns available HTTP methods and actions", + "operationId": "options_metrics", + "tags": [ + "Metrics" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/metrics/{c_id}": { + "get": { + "summary": "Get a Metric", + "description": "Returns a single Metric by ID", + "operationId": "get_metric", + "tags": [ + "Metrics" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Metric" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Metrics", + "description": "Returns available HTTP methods and actions", + "operationId": "options_metrics", + "tags": [ + "Metrics" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/network_routers": { + "get": { + "summary": "List Network_Routers", + "description": "Returns a paginated list of Network_Routers", + "operationId": "list_network_routers", + "tags": [ + "Network_Routers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "network_routers" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NetworkRouter" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Network_Router", + "description": "Creates a new Network_Router", + "operationId": "create_network_router", + "tags": [ + "Network_Routers" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NetworkRouter" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Network_Routers", + "description": "Returns available HTTP methods and actions", + "operationId": "options_network_routers", + "tags": [ + "Network_Routers" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/network_routers/{c_id}": { + "get": { + "summary": "Get a Network_Router", + "description": "Returns a single Network_Router by ID", + "operationId": "get_network_router", + "tags": [ + "Network_Routers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/NetworkRouter" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Network_Router", + "description": "Updates an existing Network_Router", + "operationId": "update_network_router", + "tags": [ + "Network_Routers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NetworkRouter" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/NetworkRouter" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Network_Router", + "description": "Executes a custom action on a specific Network_Router", + "operationId": "action_network_router", + "tags": [ + "Network_Routers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/NetworkRouter" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/NetworkRouter" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Network_Router", + "description": "Updates an existing Network_Router", + "operationId": "update_network_router", + "tags": [ + "Network_Routers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NetworkRouter" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/NetworkRouter" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Network_Router", + "description": "Deletes an existing Network_Router", + "operationId": "delete_network_router", + "tags": [ + "Network_Routers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Network_Routers", + "description": "Returns available HTTP methods and actions", + "operationId": "options_network_routers", + "tags": [ + "Network_Routers" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/network_routers/{c_id}/tags": { + "get": { + "summary": "List Tags for Network_Router", + "description": "Returns a paginated list of Tags", + "operationId": "list_network_router_tags", + "tags": [ + "Network_Routers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "tags" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Tag", + "description": "Creates a new Tag", + "operationId": "create_network_router_tag", + "tags": [ + "Network_Routers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/network_routers/{c_id}/tags/{s_id}": { + "get": { + "summary": "Get a Tag", + "description": "Returns a single Tag by ID", + "operationId": "get_network_router_tag", + "tags": [ + "Network_Routers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Tag", + "description": "Updates an existing Tag", + "operationId": "update_network_router_tag", + "tags": [ + "Network_Routers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Tag", + "description": "Deletes an existing Tag", + "operationId": "delete_network_router_tag", + "tags": [ + "Network_Routers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/network_services": { + "get": { + "summary": "List Network_Services", + "description": "Returns a paginated list of Network_Services", + "operationId": "list_network_services", + "tags": [ + "Network_Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "network_services" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NetworkService" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Network_Service", + "description": "Creates a new Network_Service", + "operationId": "create_network_service", + "tags": [ + "Network_Services" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NetworkService" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Network_Services", + "description": "Returns available HTTP methods and actions", + "operationId": "options_network_services", + "tags": [ + "Network_Services" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/network_services/{c_id}": { + "get": { + "summary": "Get a Network_Service", + "description": "Returns a single Network_Service by ID", + "operationId": "get_network_service", + "tags": [ + "Network_Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/NetworkService" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Network_Service", + "description": "Executes a custom action on a specific Network_Service", + "operationId": "action_network_service", + "tags": [ + "Network_Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/NetworkService" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/NetworkService" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Network_Service", + "description": "Deletes an existing Network_Service", + "operationId": "delete_network_service", + "tags": [ + "Network_Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Network_Services", + "description": "Returns available HTTP methods and actions", + "operationId": "options_network_services", + "tags": [ + "Network_Services" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/network_services/{c_id}/tags": { + "get": { + "summary": "List Tags for Network_Service", + "description": "Returns a paginated list of Tags", + "operationId": "list_network_service_tags", + "tags": [ + "Network_Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "tags" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Tag", + "description": "Creates a new Tag", + "operationId": "create_network_service_tag", + "tags": [ + "Network_Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/network_services/{c_id}/tags/{s_id}": { + "get": { + "summary": "Get a Tag", + "description": "Returns a single Tag by ID", + "operationId": "get_network_service_tag", + "tags": [ + "Network_Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Tag", + "description": "Updates an existing Tag", + "operationId": "update_network_service_tag", + "tags": [ + "Network_Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Tag", + "description": "Deletes an existing Tag", + "operationId": "delete_network_service_tag", + "tags": [ + "Network_Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/notifications": { + "get": { + "summary": "List User's past notifications", + "description": "Returns a paginated list of User's past notifications", + "operationId": "list_notifications", + "tags": [ + "User's past notifications" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "notifications" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NotificationRecipient" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a User's past notification", + "description": "Creates a new User's past notification", + "operationId": "create_notification", + "tags": [ + "User's past notifications" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationRecipient" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for User's past notifications", + "description": "Returns available HTTP methods and actions", + "operationId": "options_notifications", + "tags": [ + "User's past notifications" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/notifications/{c_id}": { + "get": { + "summary": "Get a User's past notification", + "description": "Returns a single User's past notification by ID", + "operationId": "get_notification", + "tags": [ + "User's past notifications" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/NotificationRecipient" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a User's past notification", + "description": "Updates an existing User's past notification", + "operationId": "update_notification", + "tags": [ + "User's past notifications" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationRecipient" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/NotificationRecipient" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a User's past notification", + "description": "Deletes an existing User's past notification", + "operationId": "delete_notification", + "tags": [ + "User's past notifications" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for User's past notifications", + "description": "Returns available HTTP methods and actions", + "operationId": "options_notifications", + "tags": [ + "User's past notifications" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/orchestration_stacks": { + "get": { + "summary": "List Orchestration Stacks", + "description": "Returns a paginated list of Orchestration Stacks", + "operationId": "list_orchestration_stacks", + "tags": [ + "Orchestration Stacks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "orchestration_stacks" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OrchestrationStack" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Orchestration Stack", + "description": "Creates a new Orchestration Stack", + "operationId": "create_orchestration_stack", + "tags": [ + "Orchestration Stacks" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OrchestrationStack" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Orchestration Stacks", + "description": "Returns available HTTP methods and actions", + "operationId": "options_orchestration_stacks", + "tags": [ + "Orchestration Stacks" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/orchestration_stacks/{c_id}": { + "get": { + "summary": "Get a Orchestration Stack", + "description": "Returns a single Orchestration Stack by ID", + "operationId": "get_orchestration_stack", + "tags": [ + "Orchestration Stacks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/OrchestrationStack" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Orchestration Stack", + "description": "Executes a custom action on a specific Orchestration Stack", + "operationId": "action_orchestration_stack", + "tags": [ + "Orchestration Stacks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/OrchestrationStack" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/OrchestrationStack" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Orchestration Stacks", + "description": "Returns available HTTP methods and actions", + "operationId": "options_orchestration_stacks", + "tags": [ + "Orchestration Stacks" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/orchestration_templates": { + "get": { + "summary": "List Orchestration Template", + "description": "Returns a paginated list of Orchestration Template", + "operationId": "list_orchestration_templates", + "tags": [ + "Orchestration Template" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "orchestration_templates" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OrchestrationTemplate" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Orchestration Template", + "description": "Creates a new Orchestration Template", + "operationId": "create_orchestration_template", + "tags": [ + "Orchestration Template" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OrchestrationTemplate" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Orchestration Template", + "description": "Returns available HTTP methods and actions", + "operationId": "options_orchestration_templates", + "tags": [ + "Orchestration Template" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/orchestration_templates/{c_id}": { + "get": { + "summary": "Get a Orchestration Template", + "description": "Returns a single Orchestration Template by ID", + "operationId": "get_orchestration_template", + "tags": [ + "Orchestration Template" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/OrchestrationTemplate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Orchestration Template", + "description": "Updates an existing Orchestration Template", + "operationId": "update_orchestration_template", + "tags": [ + "Orchestration Template" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OrchestrationTemplate" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/OrchestrationTemplate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Orchestration Template", + "description": "Updates an existing Orchestration Template", + "operationId": "update_orchestration_template", + "tags": [ + "Orchestration Template" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OrchestrationTemplate" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/OrchestrationTemplate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Orchestration Template", + "description": "Updates an existing Orchestration Template", + "operationId": "update_orchestration_template", + "tags": [ + "Orchestration Template" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OrchestrationTemplate" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/OrchestrationTemplate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Orchestration Template", + "description": "Deletes an existing Orchestration Template", + "operationId": "delete_orchestration_template", + "tags": [ + "Orchestration Template" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Orchestration Template", + "description": "Returns available HTTP methods and actions", + "operationId": "options_orchestration_templates", + "tags": [ + "Orchestration Template" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/physical_chassis": { + "get": { + "summary": "List Physical Chassis", + "description": "Returns a paginated list of Physical Chassis", + "operationId": "list_physical_chassis", + "tags": [ + "Physical Chassis" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "physical_chassis" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PhysicalChassis" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Physical Chassis", + "description": "Creates a new Physical Chassis", + "operationId": "create_physical_chassis", + "tags": [ + "Physical Chassis" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PhysicalChassis" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Physical Chassis", + "description": "Returns available HTTP methods and actions", + "operationId": "options_physical_chassis", + "tags": [ + "Physical Chassis" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/physical_chassis/{c_id}": { + "get": { + "summary": "Get a Physical Chassis", + "description": "Returns a single Physical Chassis by ID", + "operationId": "get_physical_chassis", + "tags": [ + "Physical Chassis" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PhysicalChassis" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Physical Chassis", + "description": "Executes a custom action on a specific Physical Chassis", + "operationId": "action_physical_chassis", + "tags": [ + "Physical Chassis" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/PhysicalChassis" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PhysicalChassis" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Physical Chassis", + "description": "Returns available HTTP methods and actions", + "operationId": "options_physical_chassis", + "tags": [ + "Physical Chassis" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/physical_chassis/{c_id}/event_streams": { + "get": { + "summary": "List Event Streams for Physical Chassis", + "description": "Returns a paginated list of Event Streams", + "operationId": "list_physical_chassis_event_streams", + "tags": [ + "Physical Chassis" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "event_streams" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EventStream" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Event Stream", + "description": "Creates a new Event Stream", + "operationId": "create_physical_chassis_event_stream", + "tags": [ + "Physical Chassis" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventStream" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Event Streams", + "description": "Returns available HTTP methods and actions", + "operationId": "options_event_streams", + "tags": [ + "Event Streams" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/physical_chassis/{c_id}/event_streams/{s_id}": { + "get": { + "summary": "Get a Event Stream", + "description": "Returns a single Event Stream by ID", + "operationId": "get_physical_chassis_event_stream", + "tags": [ + "Physical Chassis" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/EventStream" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Event Stream", + "description": "Updates an existing Event Stream", + "operationId": "update_physical_chassis_event_stream", + "tags": [ + "Physical Chassis" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventStream" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/EventStream" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Event Streams", + "description": "Returns available HTTP methods and actions", + "operationId": "options_event_streams", + "tags": [ + "Event Streams" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/physical_racks": { + "get": { + "summary": "List Physical Racks", + "description": "Returns a paginated list of Physical Racks", + "operationId": "list_physical_racks", + "tags": [ + "Physical Racks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "physical_racks" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PhysicalRack" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Physical Rack", + "description": "Creates a new Physical Rack", + "operationId": "create_physical_rack", + "tags": [ + "Physical Racks" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PhysicalRack" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Physical Racks", + "description": "Returns available HTTP methods and actions", + "operationId": "options_physical_racks", + "tags": [ + "Physical Racks" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/physical_racks/{c_id}": { + "get": { + "summary": "Get a Physical Rack", + "description": "Returns a single Physical Rack by ID", + "operationId": "get_physical_rack", + "tags": [ + "Physical Racks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PhysicalRack" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Physical Rack", + "description": "Executes a custom action on a specific Physical Rack", + "operationId": "action_physical_rack", + "tags": [ + "Physical Racks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/PhysicalRack" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PhysicalRack" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Physical Racks", + "description": "Returns available HTTP methods and actions", + "operationId": "options_physical_racks", + "tags": [ + "Physical Racks" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/physical_server_profiles": { + "get": { + "summary": "List Physical Server Profiles", + "description": "Returns a paginated list of Physical Server Profiles", + "operationId": "list_physical_server_profiles", + "tags": [ + "Physical Server Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "physical_server_profiles" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PhysicalServerProfile" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Physical Server Profile", + "description": "Creates a new Physical Server Profile", + "operationId": "create_physical_server_profile", + "tags": [ + "Physical Server Profiles" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PhysicalServerProfile" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Physical Server Profiles", + "description": "Returns available HTTP methods and actions", + "operationId": "options_physical_server_profiles", + "tags": [ + "Physical Server Profiles" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/physical_server_profiles/{c_id}": { + "get": { + "summary": "Get a Physical Server Profile", + "description": "Returns a single Physical Server Profile by ID", + "operationId": "get_physical_server_profile", + "tags": [ + "Physical Server Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PhysicalServerProfile" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Physical Server Profile", + "description": "Updates an existing Physical Server Profile", + "operationId": "update_physical_server_profile", + "tags": [ + "Physical Server Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PhysicalServerProfile" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PhysicalServerProfile" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Physical Server Profiles", + "description": "Returns available HTTP methods and actions", + "operationId": "options_physical_server_profiles", + "tags": [ + "Physical Server Profiles" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/physical_server_profiles/{c_id}/event_streams": { + "get": { + "summary": "List Event Streams for Physical Server Profile", + "description": "Returns a paginated list of Event Streams", + "operationId": "list_physical_server_profile_event_streams", + "tags": [ + "Physical Server Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "event_streams" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EventStream" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Event Stream", + "description": "Creates a new Event Stream", + "operationId": "create_physical_server_profile_event_stream", + "tags": [ + "Physical Server Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventStream" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Event Streams", + "description": "Returns available HTTP methods and actions", + "operationId": "options_event_streams", + "tags": [ + "Event Streams" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/physical_server_profiles/{c_id}/event_streams/{s_id}": { + "get": { + "summary": "Get a Event Stream", + "description": "Returns a single Event Stream by ID", + "operationId": "get_physical_server_profile_event_stream", + "tags": [ + "Physical Server Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/EventStream" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Event Stream", + "description": "Updates an existing Event Stream", + "operationId": "update_physical_server_profile_event_stream", + "tags": [ + "Physical Server Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventStream" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/EventStream" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Event Streams", + "description": "Returns available HTTP methods and actions", + "operationId": "options_event_streams", + "tags": [ + "Event Streams" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/physical_servers": { + "get": { + "summary": "List Physical Servers", + "description": "Returns a paginated list of Physical Servers", + "operationId": "list_physical_servers", + "tags": [ + "Physical Servers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "physical_servers" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PhysicalServer" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Physical Server", + "description": "Creates a new Physical Server", + "operationId": "create_physical_server", + "tags": [ + "Physical Servers" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PhysicalServer" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Physical Servers", + "description": "Returns available HTTP methods and actions", + "operationId": "options_physical_servers", + "tags": [ + "Physical Servers" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/physical_servers/{c_id}": { + "get": { + "summary": "Get a Physical Server", + "description": "Returns a single Physical Server by ID", + "operationId": "get_physical_server", + "tags": [ + "Physical Servers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PhysicalServer" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Physical Server", + "description": "Executes a custom action on a specific Physical Server", + "operationId": "action_physical_server", + "tags": [ + "Physical Servers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/PhysicalServer" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PhysicalServer" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Physical Servers", + "description": "Returns available HTTP methods and actions", + "operationId": "options_physical_servers", + "tags": [ + "Physical Servers" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/physical_servers/{c_id}/event_streams": { + "get": { + "summary": "List Event Streams for Physical Server", + "description": "Returns a paginated list of Event Streams", + "operationId": "list_physical_server_event_streams", + "tags": [ + "Physical Servers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "event_streams" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EventStream" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Event Stream", + "description": "Creates a new Event Stream", + "operationId": "create_physical_server_event_stream", + "tags": [ + "Physical Servers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventStream" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Event Streams", + "description": "Returns available HTTP methods and actions", + "operationId": "options_event_streams", + "tags": [ + "Event Streams" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/physical_servers/{c_id}/event_streams/{s_id}": { + "get": { + "summary": "Get a Event Stream", + "description": "Returns a single Event Stream by ID", + "operationId": "get_physical_server_event_stream", + "tags": [ + "Physical Servers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/EventStream" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Event Stream", + "description": "Updates an existing Event Stream", + "operationId": "update_physical_server_event_stream", + "tags": [ + "Physical Servers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventStream" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/EventStream" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Event Streams", + "description": "Returns available HTTP methods and actions", + "operationId": "options_event_streams", + "tags": [ + "Event Streams" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/physical_servers/{c_id}/firmware_binaries": { + "get": { + "summary": "List Firmware Binaries for Physical Server", + "description": "Returns a paginated list of Firmware Binaries", + "operationId": "list_physical_server_firmware_binaries", + "tags": [ + "Physical Servers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "firmware_binaries" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FirmwareBinary" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Firmware Binaries", + "description": "Returns available HTTP methods and actions", + "operationId": "options_firmware_binaries", + "tags": [ + "Firmware Binaries" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/physical_servers/{c_id}/firmware_binaries/{s_id}": { + "get": { + "summary": "Get a Firmware Binary", + "description": "Returns a single Firmware Binary by ID", + "operationId": "get_physical_server_firmware_binary", + "tags": [ + "Physical Servers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/FirmwareBinary" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Firmware Binaries", + "description": "Returns available HTTP methods and actions", + "operationId": "options_firmware_binaries", + "tags": [ + "Firmware Binaries" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/physical_storage_families": { + "get": { + "summary": "List Physical Storage Families", + "description": "Returns a paginated list of Physical Storage Families", + "operationId": "list_physical_storage_families", + "tags": [ + "Physical Storage Families" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "physical_storage_families" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PhysicalStorageFamily" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Physical Storage Family", + "description": "Creates a new Physical Storage Family", + "operationId": "create_physical_storage_family", + "tags": [ + "Physical Storage Families" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PhysicalStorageFamily" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Physical Storage Families", + "description": "Returns available HTTP methods and actions", + "operationId": "options_physical_storage_families", + "tags": [ + "Physical Storage Families" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/physical_storage_families/{c_id}": { + "get": { + "summary": "Get a Physical Storage Family", + "description": "Returns a single Physical Storage Family by ID", + "operationId": "get_physical_storage_family", + "tags": [ + "Physical Storage Families" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PhysicalStorageFamily" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Physical Storage Family", + "description": "Updates an existing Physical Storage Family", + "operationId": "update_physical_storage_family", + "tags": [ + "Physical Storage Families" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PhysicalStorageFamily" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PhysicalStorageFamily" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Physical Storage Families", + "description": "Returns available HTTP methods and actions", + "operationId": "options_physical_storage_families", + "tags": [ + "Physical Storage Families" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/physical_storages": { + "get": { + "summary": "List Physical Storages", + "description": "Returns a paginated list of Physical Storages", + "operationId": "list_physical_storages", + "tags": [ + "Physical Storages" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "physical_storages" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PhysicalStorage" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Physical Storage", + "description": "Creates a new Physical Storage", + "operationId": "create_physical_storage", + "tags": [ + "Physical Storages" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PhysicalStorage" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Physical Storages", + "description": "Returns available HTTP methods and actions", + "operationId": "options_physical_storages", + "tags": [ + "Physical Storages" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/physical_storages/{c_id}": { + "get": { + "summary": "Get a Physical Storage", + "description": "Returns a single Physical Storage by ID", + "operationId": "get_physical_storage", + "tags": [ + "Physical Storages" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PhysicalStorage" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Physical Storage", + "description": "Updates an existing Physical Storage", + "operationId": "update_physical_storage", + "tags": [ + "Physical Storages" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PhysicalStorage" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PhysicalStorage" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Physical Storage", + "description": "Executes a custom action on a specific Physical Storage", + "operationId": "action_physical_storage", + "tags": [ + "Physical Storages" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/PhysicalStorage" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PhysicalStorage" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Physical Storage", + "description": "Updates an existing Physical Storage", + "operationId": "update_physical_storage", + "tags": [ + "Physical Storages" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PhysicalStorage" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PhysicalStorage" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Physical Storage", + "description": "Deletes an existing Physical Storage", + "operationId": "delete_physical_storage", + "tags": [ + "Physical Storages" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Physical Storages", + "description": "Returns available HTTP methods and actions", + "operationId": "options_physical_storages", + "tags": [ + "Physical Storages" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/physical_switches": { + "get": { + "summary": "List Physical Switches", + "description": "Returns a paginated list of Physical Switches", + "operationId": "list_physical_switches", + "tags": [ + "Physical Switches" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "physical_switches" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PhysicalSwitch" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Physical Switch", + "description": "Creates a new Physical Switch", + "operationId": "create_physical_switch", + "tags": [ + "Physical Switches" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PhysicalSwitch" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Physical Switches", + "description": "Returns available HTTP methods and actions", + "operationId": "options_physical_switches", + "tags": [ + "Physical Switches" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/physical_switches/{c_id}": { + "get": { + "summary": "Get a Physical Switch", + "description": "Returns a single Physical Switch by ID", + "operationId": "get_physical_switch", + "tags": [ + "Physical Switches" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PhysicalSwitch" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Physical Switch", + "description": "Executes a custom action on a specific Physical Switch", + "operationId": "action_physical_switch", + "tags": [ + "Physical Switches" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/PhysicalSwitch" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PhysicalSwitch" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Physical Switches", + "description": "Returns available HTTP methods and actions", + "operationId": "options_physical_switches", + "tags": [ + "Physical Switches" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/physical_switches/{c_id}/event_streams": { + "get": { + "summary": "List Event Streams for Physical Switch", + "description": "Returns a paginated list of Event Streams", + "operationId": "list_physical_switch_event_streams", + "tags": [ + "Physical Switches" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "event_streams" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EventStream" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Event Stream", + "description": "Creates a new Event Stream", + "operationId": "create_physical_switch_event_stream", + "tags": [ + "Physical Switches" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventStream" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Event Streams", + "description": "Returns available HTTP methods and actions", + "operationId": "options_event_streams", + "tags": [ + "Event Streams" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/physical_switches/{c_id}/event_streams/{s_id}": { + "get": { + "summary": "Get a Event Stream", + "description": "Returns a single Event Stream by ID", + "operationId": "get_physical_switch_event_stream", + "tags": [ + "Physical Switches" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/EventStream" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Event Stream", + "description": "Updates an existing Event Stream", + "operationId": "update_physical_switch_event_stream", + "tags": [ + "Physical Switches" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventStream" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/EventStream" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Event Streams", + "description": "Returns available HTTP methods and actions", + "operationId": "options_event_streams", + "tags": [ + "Event Streams" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/pictures": { + "get": { + "summary": "List Pictures", + "description": "Returns a paginated list of Pictures", + "operationId": "list_pictures", + "tags": [ + "Pictures" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "pictures" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Picture" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Picture", + "description": "Creates a new Picture", + "operationId": "create_picture", + "tags": [ + "Pictures" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Picture" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Pictures", + "description": "Returns available HTTP methods and actions", + "operationId": "options_pictures", + "tags": [ + "Pictures" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/pictures/{c_id}": { + "get": { + "summary": "Get a Picture", + "description": "Returns a single Picture by ID", + "operationId": "get_picture", + "tags": [ + "Pictures" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Picture" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Picture", + "description": "Updates an existing Picture", + "operationId": "update_picture", + "tags": [ + "Pictures" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Picture" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Picture" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Pictures", + "description": "Returns available HTTP methods and actions", + "operationId": "options_pictures", + "tags": [ + "Pictures" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/policies": { + "get": { + "summary": "List Policies", + "description": "Returns a paginated list of Policies", + "operationId": "list_policies", + "tags": [ + "Policies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "policies" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqPolicy" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Policy", + "description": "Creates a new Policy", + "operationId": "create_policy", + "tags": [ + "Policies" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicy" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Policies", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policies", + "tags": [ + "Policies" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/policies/{c_id}": { + "get": { + "summary": "Get a Policy", + "description": "Returns a single Policy by ID", + "operationId": "get_policy", + "tags": [ + "Policies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicy" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Policy", + "description": "Updates an existing Policy", + "operationId": "update_policy", + "tags": [ + "Policies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicy" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicy" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Policy", + "description": "Deletes an existing Policy", + "operationId": "delete_policy", + "tags": [ + "Policies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Policies", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policies", + "tags": [ + "Policies" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/policies/{c_id}/conditions": { + "get": { + "summary": "List Conditions for Policy", + "description": "Returns a paginated list of Conditions", + "operationId": "list_policy_conditions", + "tags": [ + "Policies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "conditions" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Condition" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Condition", + "description": "Creates a new Condition", + "operationId": "create_policy_condition", + "tags": [ + "Policies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Condition" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Conditions", + "description": "Returns available HTTP methods and actions", + "operationId": "options_conditions", + "tags": [ + "Conditions" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/policies/{c_id}/conditions/{s_id}": { + "get": { + "summary": "Get a Condition", + "description": "Returns a single Condition by ID", + "operationId": "get_policy_condition", + "tags": [ + "Policies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Condition" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Condition", + "description": "Updates an existing Condition", + "operationId": "update_policy_condition", + "tags": [ + "Policies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Condition" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Condition" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Condition", + "description": "Deletes an existing Condition", + "operationId": "delete_policy_condition", + "tags": [ + "Policies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Conditions", + "description": "Returns available HTTP methods and actions", + "operationId": "options_conditions", + "tags": [ + "Conditions" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/policies/{c_id}/policy_actions": { + "get": { + "summary": "List Actions for Policy", + "description": "Returns a paginated list of Actions", + "operationId": "list_policy_policy_actions", + "tags": [ + "Policies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "policy_actions" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqAction" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Action", + "description": "Creates a new Action", + "operationId": "create_policy_policy_action", + "tags": [ + "Policies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqAction" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Actions", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policy_actions", + "tags": [ + "Actions" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/policies/{c_id}/policy_actions/{s_id}": { + "get": { + "summary": "Get a Action", + "description": "Returns a single Action by ID", + "operationId": "get_policy_policy_action", + "tags": [ + "Policies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqAction" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Action", + "description": "Updates an existing Action", + "operationId": "update_policy_policy_action", + "tags": [ + "Policies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqAction" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqAction" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Actions", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policy_actions", + "tags": [ + "Actions" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/policies/{c_id}/events": { + "get": { + "summary": "List Events for Policy", + "description": "Returns a paginated list of Events", + "operationId": "list_policy_events", + "tags": [ + "Policies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "events" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqEventDefinition" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Event", + "description": "Creates a new Event", + "operationId": "create_policy_event", + "tags": [ + "Policies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqEventDefinition" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Events", + "description": "Returns available HTTP methods and actions", + "operationId": "options_events", + "tags": [ + "Events" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/policies/{c_id}/events/{s_id}": { + "get": { + "summary": "Get a Event", + "description": "Returns a single Event by ID", + "operationId": "get_policy_event", + "tags": [ + "Policies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqEventDefinition" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Event", + "description": "Updates an existing Event", + "operationId": "update_policy_event", + "tags": [ + "Policies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqEventDefinition" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqEventDefinition" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Events", + "description": "Returns available HTTP methods and actions", + "operationId": "options_events", + "tags": [ + "Events" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/policy_actions": { + "get": { + "summary": "List Actions", + "description": "Returns a paginated list of Actions", + "operationId": "list_policy_actions", + "tags": [ + "Actions" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "policy_actions" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqAction" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Action", + "description": "Creates a new Action", + "operationId": "create_policy_action", + "tags": [ + "Actions" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqAction" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Actions", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policy_actions", + "tags": [ + "Actions" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/policy_actions/{c_id}": { + "get": { + "summary": "Get a Action", + "description": "Returns a single Action by ID", + "operationId": "get_policy_action", + "tags": [ + "Actions" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqAction" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Action", + "description": "Updates an existing Action", + "operationId": "update_policy_action", + "tags": [ + "Actions" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqAction" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqAction" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Actions", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policy_actions", + "tags": [ + "Actions" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/policy_profiles": { + "get": { + "summary": "List Policy Profiles", + "description": "Returns a paginated list of Policy Profiles", + "operationId": "list_policy_profiles", + "tags": [ + "Policy Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "policy_profiles" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqPolicySet" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Policy Profile", + "description": "Creates a new Policy Profile", + "operationId": "create_policy_profile", + "tags": [ + "Policy Profiles" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicySet" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Policy Profiles", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policy_profiles", + "tags": [ + "Policy Profiles" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/policy_profiles/{c_id}": { + "get": { + "summary": "Get a Policy Profile", + "description": "Returns a single Policy Profile by ID", + "operationId": "get_policy_profile", + "tags": [ + "Policy Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicySet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Policy Profile", + "description": "Updates an existing Policy Profile", + "operationId": "update_policy_profile", + "tags": [ + "Policy Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicySet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicySet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Policy Profile", + "description": "Updates an existing Policy Profile", + "operationId": "update_policy_profile", + "tags": [ + "Policy Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicySet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicySet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Policy Profile", + "description": "Updates an existing Policy Profile", + "operationId": "update_policy_profile", + "tags": [ + "Policy Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicySet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicySet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Policy Profile", + "description": "Deletes an existing Policy Profile", + "operationId": "delete_policy_profile", + "tags": [ + "Policy Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Policy Profiles", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policy_profiles", + "tags": [ + "Policy Profiles" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/policy_profiles/{c_id}/policies": { + "get": { + "summary": "List Policies for Policy Profile", + "description": "Returns a paginated list of Policies", + "operationId": "list_policy_profile_policies", + "tags": [ + "Policy Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "policies" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqPolicy" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Policy", + "description": "Creates a new Policy", + "operationId": "create_policy_profile_policy", + "tags": [ + "Policy Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicy" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Policies", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policies", + "tags": [ + "Policies" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/policy_profiles/{c_id}/policies/{s_id}": { + "get": { + "summary": "Get a Policy", + "description": "Returns a single Policy by ID", + "operationId": "get_policy_profile_policy", + "tags": [ + "Policy Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicy" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Policy", + "description": "Updates an existing Policy", + "operationId": "update_policy_profile_policy", + "tags": [ + "Policy Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicy" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicy" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Policy", + "description": "Deletes an existing Policy", + "operationId": "delete_policy_profile_policy", + "tags": [ + "Policy Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Policies", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policies", + "tags": [ + "Policies" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers": { + "get": { + "summary": "List Providers", + "description": "Returns a paginated list of Providers", + "operationId": "list_providers", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "providers" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ExtManagementSystem" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Provider", + "description": "Creates a new Provider", + "operationId": "create_provider", + "tags": [ + "Providers" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ExtManagementSystem" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Providers", + "description": "Returns available HTTP methods and actions", + "operationId": "options_providers", + "tags": [ + "Providers" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}": { + "get": { + "summary": "Get a Provider", + "description": "Returns a single Provider by ID", + "operationId": "get_provider", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ExtManagementSystem" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Provider", + "description": "Updates an existing Provider", + "operationId": "update_provider", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ExtManagementSystem" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ExtManagementSystem" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Provider", + "description": "Executes a custom action on a specific Provider", + "operationId": "action_provider", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/ExtManagementSystem" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ExtManagementSystem" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Provider", + "description": "Updates an existing Provider", + "operationId": "update_provider", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ExtManagementSystem" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ExtManagementSystem" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Provider", + "description": "Deletes an existing Provider", + "operationId": "delete_provider", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Providers", + "description": "Returns available HTTP methods and actions", + "operationId": "options_providers", + "tags": [ + "Providers" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/configuration_profiles": { + "get": { + "summary": "List Configuration Profiles for Provider", + "description": "Returns a paginated list of Configuration Profiles", + "operationId": "list_provider_configuration_profiles", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "configuration_profiles" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConfigurationProfile" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Configuration Profiles", + "description": "Returns available HTTP methods and actions", + "operationId": "options_configuration_profiles", + "tags": [ + "Configuration Profiles" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/configuration_profiles/{s_id}": { + "get": { + "summary": "Get a Configuration Profile", + "description": "Returns a single Configuration Profile by ID", + "operationId": "get_provider_configuration_profile", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ConfigurationProfile" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Configuration Profiles", + "description": "Returns available HTTP methods and actions", + "operationId": "options_configuration_profiles", + "tags": [ + "Configuration Profiles" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/configured_systems": { + "get": { + "summary": "List Configured Systems for Provider", + "description": "Returns a paginated list of Configured Systems", + "operationId": "list_provider_configured_systems", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "configured_systems" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConfiguredSystem" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Configured Systems", + "description": "Returns available HTTP methods and actions", + "operationId": "options_configured_systems", + "tags": [ + "Configured Systems" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/configured_systems/{s_id}": { + "get": { + "summary": "Get a Configured System", + "description": "Returns a single Configured System by ID", + "operationId": "get_provider_configured_system", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ConfiguredSystem" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Configured Systems", + "description": "Returns available HTTP methods and actions", + "operationId": "options_configured_systems", + "tags": [ + "Configured Systems" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/tags": { + "get": { + "summary": "List Tags for Provider", + "description": "Returns a paginated list of Tags", + "operationId": "list_provider_tags", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "tags" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Tag", + "description": "Creates a new Tag", + "operationId": "create_provider_tag", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/tags/{s_id}": { + "get": { + "summary": "Get a Tag", + "description": "Returns a single Tag by ID", + "operationId": "get_provider_tag", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Tag", + "description": "Updates an existing Tag", + "operationId": "update_provider_tag", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Tag", + "description": "Deletes an existing Tag", + "operationId": "delete_provider_tag", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/policies": { + "get": { + "summary": "List Policies for Provider", + "description": "Returns a paginated list of Policies", + "operationId": "list_provider_policies", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "policies" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqPolicy" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Policy", + "description": "Creates a new Policy", + "operationId": "create_provider_policy", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicy" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Policies", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policies", + "tags": [ + "Policies" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/policies/{s_id}": { + "get": { + "summary": "Get a Policy", + "description": "Returns a single Policy by ID", + "operationId": "get_provider_policy", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicy" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Policy", + "description": "Updates an existing Policy", + "operationId": "update_provider_policy", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicy" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicy" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Policy", + "description": "Deletes an existing Policy", + "operationId": "delete_provider_policy", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Policies", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policies", + "tags": [ + "Policies" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/policy_profiles": { + "get": { + "summary": "List Policy Profiles for Provider", + "description": "Returns a paginated list of Policy Profiles", + "operationId": "list_provider_policy_profiles", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "policy_profiles" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqPolicySet" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Policy Profile", + "description": "Creates a new Policy Profile", + "operationId": "create_provider_policy_profile", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicySet" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Policy Profiles", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policy_profiles", + "tags": [ + "Policy Profiles" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/policy_profiles/{s_id}": { + "get": { + "summary": "Get a Policy Profile", + "description": "Returns a single Policy Profile by ID", + "operationId": "get_provider_policy_profile", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicySet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Policy Profile", + "description": "Updates an existing Policy Profile", + "operationId": "put_provider_policy_profile", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicySet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicySet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Policy Profile", + "description": "Updates an existing Policy Profile", + "operationId": "update_provider_policy_profile", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicySet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicySet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Policy Profile", + "description": "Updates an existing Policy Profile", + "operationId": "patch_provider_policy_profile", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicySet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicySet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Policy Profile", + "description": "Deletes an existing Policy Profile", + "operationId": "delete_provider_policy_profile", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Policy Profiles", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policy_profiles", + "tags": [ + "Policy Profiles" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/cloud_networks": { + "get": { + "summary": "List Cloud Networks for Provider", + "description": "Returns a paginated list of Cloud Networks", + "operationId": "list_provider_cloud_networks", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "cloud_networks" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CloudNetwork" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Cloud Network", + "description": "Creates a new Cloud Network", + "operationId": "create_provider_cloud_network", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudNetwork" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Networks", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_networks", + "tags": [ + "Cloud Networks" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/cloud_networks/{s_id}": { + "get": { + "summary": "Get a Cloud Network", + "description": "Returns a single Cloud Network by ID", + "operationId": "get_provider_cloud_network", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudNetwork" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Cloud Network", + "description": "Updates an existing Cloud Network", + "operationId": "put_provider_cloud_network", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudNetwork" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudNetwork" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Cloud Network", + "description": "Updates an existing Cloud Network", + "operationId": "update_provider_cloud_network", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudNetwork" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudNetwork" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Cloud Network", + "description": "Updates an existing Cloud Network", + "operationId": "patch_provider_cloud_network", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudNetwork" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudNetwork" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Cloud Network", + "description": "Deletes an existing Cloud Network", + "operationId": "delete_provider_cloud_network", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Networks", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_networks", + "tags": [ + "Cloud Networks" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/cloud_subnets": { + "get": { + "summary": "List Cloud Subnets for Provider", + "description": "Returns a paginated list of Cloud Subnets", + "operationId": "list_provider_cloud_subnets", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "cloud_subnets" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CloudSubnet" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Cloud Subnet", + "description": "Creates a new Cloud Subnet", + "operationId": "create_provider_cloud_subnet", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudSubnet" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Subnets", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_subnets", + "tags": [ + "Cloud Subnets" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/cloud_subnets/{s_id}": { + "get": { + "summary": "Get a Cloud Subnet", + "description": "Returns a single Cloud Subnet by ID", + "operationId": "get_provider_cloud_subnet", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudSubnet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Cloud Subnet", + "description": "Updates an existing Cloud Subnet", + "operationId": "put_provider_cloud_subnet", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudSubnet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudSubnet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Cloud Subnet", + "description": "Updates an existing Cloud Subnet", + "operationId": "update_provider_cloud_subnet", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudSubnet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudSubnet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Cloud Subnet", + "description": "Updates an existing Cloud Subnet", + "operationId": "patch_provider_cloud_subnet", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudSubnet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudSubnet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Cloud Subnet", + "description": "Deletes an existing Cloud Subnet", + "operationId": "delete_provider_cloud_subnet", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Subnets", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_subnets", + "tags": [ + "Cloud Subnets" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/cloud_tenants": { + "get": { + "summary": "List Cloud Tenants for Provider", + "description": "Returns a paginated list of Cloud Tenants", + "operationId": "list_provider_cloud_tenants", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "cloud_tenants" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CloudTenant" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Cloud Tenant", + "description": "Creates a new Cloud Tenant", + "operationId": "create_provider_cloud_tenant", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudTenant" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Tenants", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_tenants", + "tags": [ + "Cloud Tenants" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/cloud_tenants/{s_id}": { + "get": { + "summary": "Get a Cloud Tenant", + "description": "Returns a single Cloud Tenant by ID", + "operationId": "get_provider_cloud_tenant", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudTenant" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Cloud Tenant", + "description": "Updates an existing Cloud Tenant", + "operationId": "put_provider_cloud_tenant", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudTenant" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudTenant" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Cloud Tenant", + "description": "Updates an existing Cloud Tenant", + "operationId": "update_provider_cloud_tenant", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudTenant" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudTenant" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Cloud Tenant", + "description": "Updates an existing Cloud Tenant", + "operationId": "patch_provider_cloud_tenant", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudTenant" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudTenant" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Cloud Tenant", + "description": "Deletes an existing Cloud Tenant", + "operationId": "delete_provider_cloud_tenant", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Tenants", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_tenants", + "tags": [ + "Cloud Tenants" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/cloud_volume_types": { + "get": { + "summary": "List Cloud Volume Types for Provider", + "description": "Returns a paginated list of Cloud Volume Types", + "operationId": "list_provider_cloud_volume_types", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "cloud_volume_types" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CloudVolumeType" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Volume Types", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_volume_types", + "tags": [ + "Cloud Volume Types" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/cloud_volume_types/{s_id}": { + "get": { + "summary": "Get a Cloud Volume Type", + "description": "Returns a single Cloud Volume Type by ID", + "operationId": "get_provider_cloud_volume_type", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CloudVolumeType" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Volume Types", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_volume_types", + "tags": [ + "Cloud Volume Types" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/custom_attributes": { + "get": { + "summary": "List Custom Attributes for Provider", + "description": "Returns a paginated list of Custom Attributes", + "operationId": "list_provider_custom_attributes", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "custom_attributes" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomAttribute" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Custom Attribute", + "description": "Creates a new Custom Attribute", + "operationId": "create_provider_custom_attribute", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomAttribute" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Custom Attributes", + "description": "Returns available HTTP methods and actions", + "operationId": "options_custom_attributes", + "tags": [ + "Custom Attributes" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/custom_attributes/{s_id}": { + "get": { + "summary": "Get a Custom Attribute", + "description": "Returns a single Custom Attribute by ID", + "operationId": "get_provider_custom_attribute", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomAttribute" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Custom Attribute", + "description": "Updates an existing Custom Attribute", + "operationId": "update_provider_custom_attribute", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomAttribute" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomAttribute" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Custom Attribute", + "description": "Deletes an existing Custom Attribute", + "operationId": "delete_provider_custom_attribute", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Custom Attributes", + "description": "Returns available HTTP methods and actions", + "operationId": "options_custom_attributes", + "tags": [ + "Custom Attributes" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/load_balancers": { + "get": { + "summary": "List Load Balancers for Provider", + "description": "Returns a paginated list of Load Balancers", + "operationId": "list_provider_load_balancers", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "load_balancers" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LoadBalancer" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Load Balancer", + "description": "Creates a new Load Balancer", + "operationId": "create_provider_load_balancer", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LoadBalancer" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Load Balancers", + "description": "Returns available HTTP methods and actions", + "operationId": "options_load_balancers", + "tags": [ + "Load Balancers" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/load_balancers/{s_id}": { + "get": { + "summary": "Get a Load Balancer", + "description": "Returns a single Load Balancer by ID", + "operationId": "get_provider_load_balancer", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/LoadBalancer" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Load Balancer", + "description": "Updates an existing Load Balancer", + "operationId": "update_provider_load_balancer", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LoadBalancer" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/LoadBalancer" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Load Balancers", + "description": "Returns available HTTP methods and actions", + "operationId": "options_load_balancers", + "tags": [ + "Load Balancers" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/metric_rollups": { + "get": { + "summary": "List Metric Rollups for Provider", + "description": "Returns a paginated list of Metric Rollups", + "operationId": "list_provider_metric_rollups", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "metric_rollups" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MetricRollup" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Metric Rollups", + "description": "Returns available HTTP methods and actions", + "operationId": "options_metric_rollups", + "tags": [ + "Metric Rollups" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/metric_rollups/{s_id}": { + "get": { + "summary": "Get a Metric Rollup", + "description": "Returns a single Metric Rollup by ID", + "operationId": "get_provider_metric_rollup", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MetricRollup" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Metric Rollups", + "description": "Returns available HTTP methods and actions", + "operationId": "options_metric_rollups", + "tags": [ + "Metric Rollups" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/network_services": { + "get": { + "summary": "List Network_Services for Provider", + "description": "Returns a paginated list of Network_Services", + "operationId": "list_provider_network_services", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "network_services" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NetworkService" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Network_Service", + "description": "Creates a new Network_Service", + "operationId": "create_provider_network_service", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NetworkService" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Network_Services", + "description": "Returns available HTTP methods and actions", + "operationId": "options_network_services", + "tags": [ + "Network_Services" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/network_services/{s_id}": { + "get": { + "summary": "Get a Network_Service", + "description": "Returns a single Network_Service by ID", + "operationId": "get_provider_network_service", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/NetworkService" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Network_Service", + "description": "Updates an existing Network_Service", + "operationId": "update_provider_network_service", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NetworkService" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/NetworkService" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Network_Service", + "description": "Deletes an existing Network_Service", + "operationId": "delete_provider_network_service", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Network_Services", + "description": "Returns available HTTP methods and actions", + "operationId": "options_network_services", + "tags": [ + "Network_Services" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/security_groups": { + "get": { + "summary": "List Security Groups for Provider", + "description": "Returns a paginated list of Security Groups", + "operationId": "list_provider_security_groups", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "security_groups" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SecurityGroup" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Security Group", + "description": "Creates a new Security Group", + "operationId": "create_provider_security_group", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SecurityGroup" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Security Groups", + "description": "Returns available HTTP methods and actions", + "operationId": "options_security_groups", + "tags": [ + "Security Groups" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/security_groups/{s_id}": { + "get": { + "summary": "Get a Security Group", + "description": "Returns a single Security Group by ID", + "operationId": "get_provider_security_group", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SecurityGroup" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Security Group", + "description": "Updates an existing Security Group", + "operationId": "update_provider_security_group", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SecurityGroup" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SecurityGroup" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Security Groups", + "description": "Returns available HTTP methods and actions", + "operationId": "options_security_groups", + "tags": [ + "Security Groups" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/security_policies": { + "get": { + "summary": "List Security_Policies for Provider", + "description": "Returns a paginated list of Security_Policies", + "operationId": "list_provider_security_policies", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "security_policies" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SecurityPolicy" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Security_Policy", + "description": "Creates a new Security_Policy", + "operationId": "create_provider_security_policy", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SecurityPolicy" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Security_Policies", + "description": "Returns available HTTP methods and actions", + "operationId": "options_security_policies", + "tags": [ + "Security_Policies" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/security_policies/{s_id}": { + "get": { + "summary": "Get a Security_Policy", + "description": "Returns a single Security_Policy by ID", + "operationId": "get_provider_security_policy", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SecurityPolicy" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Security_Policy", + "description": "Updates an existing Security_Policy", + "operationId": "update_provider_security_policy", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SecurityPolicy" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SecurityPolicy" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Security_Policy", + "description": "Deletes an existing Security_Policy", + "operationId": "delete_provider_security_policy", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Security_Policies", + "description": "Returns available HTTP methods and actions", + "operationId": "options_security_policies", + "tags": [ + "Security_Policies" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/security_policy_rules": { + "get": { + "summary": "List Security_Policy_Rules for Provider", + "description": "Returns a paginated list of Security_Policy_Rules", + "operationId": "list_provider_security_policy_rules", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "security_policy_rules" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SecurityPolicyRule" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Security_Policy_Rule", + "description": "Creates a new Security_Policy_Rule", + "operationId": "create_provider_security_policy_rule", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SecurityPolicyRule" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Security_Policy_Rules", + "description": "Returns available HTTP methods and actions", + "operationId": "options_security_policy_rules", + "tags": [ + "Security_Policy_Rules" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/security_policy_rules/{s_id}": { + "get": { + "summary": "Get a Security_Policy_Rule", + "description": "Returns a single Security_Policy_Rule by ID", + "operationId": "get_provider_security_policy_rule", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SecurityPolicyRule" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Security_Policy_Rule", + "description": "Updates an existing Security_Policy_Rule", + "operationId": "update_provider_security_policy_rule", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SecurityPolicyRule" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SecurityPolicyRule" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Security_Policy_Rule", + "description": "Deletes an existing Security_Policy_Rule", + "operationId": "delete_provider_security_policy_rule", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Security_Policy_Rules", + "description": "Returns available HTTP methods and actions", + "operationId": "options_security_policy_rules", + "tags": [ + "Security_Policy_Rules" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/vms": { + "get": { + "summary": "List Virtual Machines for Provider", + "description": "Returns a paginated list of Virtual Machines", + "operationId": "list_provider_vms", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "vms" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vm" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Virtual Machine", + "description": "Creates a new Virtual Machine", + "operationId": "create_provider_vm", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vm" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Virtual Machines", + "description": "Returns available HTTP methods and actions", + "operationId": "options_vms", + "tags": [ + "Virtual Machines" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/vms/{s_id}": { + "get": { + "summary": "Get a Virtual Machine", + "description": "Returns a single Virtual Machine by ID", + "operationId": "get_provider_vm", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Vm" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Virtual Machine", + "description": "Updates an existing Virtual Machine", + "operationId": "update_provider_vm", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vm" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Vm" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Virtual Machine", + "description": "Deletes an existing Virtual Machine", + "operationId": "delete_provider_vm", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Virtual Machines", + "description": "Returns available HTTP methods and actions", + "operationId": "options_vms", + "tags": [ + "Virtual Machines" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/flavors": { + "get": { + "summary": "List Flavors for Provider", + "description": "Returns a paginated list of Flavors", + "operationId": "list_provider_flavors", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "flavors" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Flavor" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Flavor", + "description": "Creates a new Flavor", + "operationId": "create_provider_flavor", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Flavor" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Flavors", + "description": "Returns available HTTP methods and actions", + "operationId": "options_flavors", + "tags": [ + "Flavors" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/flavors/{s_id}": { + "get": { + "summary": "Get a Flavor", + "description": "Returns a single Flavor by ID", + "operationId": "get_provider_flavor", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Flavor" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Flavor", + "description": "Updates an existing Flavor", + "operationId": "update_provider_flavor", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Flavor" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Flavor" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Flavor", + "description": "Deletes an existing Flavor", + "operationId": "delete_provider_flavor", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Flavors", + "description": "Returns available HTTP methods and actions", + "operationId": "options_flavors", + "tags": [ + "Flavors" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/cloud_templates": { + "get": { + "summary": "List Cloud Templates for Provider", + "description": "Returns a paginated list of Cloud Templates", + "operationId": "list_provider_cloud_templates", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "cloud_templates" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ManageIQ_Providers_CloudManager_Template" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Cloud Template", + "description": "Creates a new Cloud Template", + "operationId": "create_provider_cloud_template", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ManageIQ_Providers_CloudManager_Template" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Templates", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_templates", + "tags": [ + "Cloud Templates" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/cloud_templates/{s_id}": { + "get": { + "summary": "Get a Cloud Template", + "description": "Returns a single Cloud Template by ID", + "operationId": "get_provider_cloud_template", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ManageIQ_Providers_CloudManager_Template" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Cloud Template", + "description": "Updates an existing Cloud Template", + "operationId": "put_provider_cloud_template", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ManageIQ_Providers_CloudManager_Template" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ManageIQ_Providers_CloudManager_Template" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Cloud Template", + "description": "Updates an existing Cloud Template", + "operationId": "update_provider_cloud_template", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ManageIQ_Providers_CloudManager_Template" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ManageIQ_Providers_CloudManager_Template" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Cloud Template", + "description": "Updates an existing Cloud Template", + "operationId": "patch_provider_cloud_template", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ManageIQ_Providers_CloudManager_Template" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ManageIQ_Providers_CloudManager_Template" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Cloud Template", + "description": "Deletes an existing Cloud Template", + "operationId": "delete_provider_cloud_template", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Cloud Templates", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cloud_templates", + "tags": [ + "Cloud Templates" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/folders": { + "get": { + "summary": "List Folders for Provider", + "description": "Returns a paginated list of Folders", + "operationId": "list_provider_folders", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "folders" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EmsFolder" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Folders", + "description": "Returns available HTTP methods and actions", + "operationId": "options_folders", + "tags": [ + "Folders" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/folders/{s_id}": { + "get": { + "summary": "Get a Folder", + "description": "Returns a single Folder by ID", + "operationId": "get_provider_folder", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/EmsFolder" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Folders", + "description": "Returns available HTTP methods and actions", + "operationId": "options_folders", + "tags": [ + "Folders" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/networks": { + "get": { + "summary": "List Networks for Provider", + "description": "Returns a paginated list of Networks", + "operationId": "list_provider_networks", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "networks" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Network" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Networks", + "description": "Returns available HTTP methods and actions", + "operationId": "options_networks", + "tags": [ + "Networks" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/networks/{s_id}": { + "get": { + "summary": "Get a Network", + "description": "Returns a single Network by ID", + "operationId": "get_provider_network", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Network" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Networks", + "description": "Returns available HTTP methods and actions", + "operationId": "options_networks", + "tags": [ + "Networks" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/lans": { + "get": { + "summary": "List Lans for Provider", + "description": "Returns a paginated list of Lans", + "operationId": "list_provider_lans", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "lans" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Lan" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Lans", + "description": "Returns available HTTP methods and actions", + "operationId": "options_lans", + "tags": [ + "Lans" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/providers/{c_id}/lans/{s_id}": { + "get": { + "summary": "Get a Lan", + "description": "Returns a single Lan by ID", + "operationId": "get_provider_lan", + "tags": [ + "Providers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Lan" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Lans", + "description": "Returns available HTTP methods and actions", + "operationId": "options_lans", + "tags": [ + "Lans" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/provision_dialogs": { + "get": { + "summary": "List Provisioning Dialogs", + "description": "Returns a paginated list of Provisioning Dialogs", + "operationId": "list_provision_dialogs", + "tags": [ + "Provisioning Dialogs" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "provision_dialogs" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqDialog" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Provisioning Dialog", + "description": "Creates a new Provisioning Dialog", + "operationId": "create_provision_dialog", + "tags": [ + "Provisioning Dialogs" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqDialog" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Provisioning Dialogs", + "description": "Returns available HTTP methods and actions", + "operationId": "options_provision_dialogs", + "tags": [ + "Provisioning Dialogs" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/provision_dialogs/{c_id}": { + "get": { + "summary": "Get a Provisioning Dialog", + "description": "Returns a single Provisioning Dialog by ID", + "operationId": "get_provision_dialog", + "tags": [ + "Provisioning Dialogs" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqDialog" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Provisioning Dialog", + "description": "Updates an existing Provisioning Dialog", + "operationId": "update_provision_dialog", + "tags": [ + "Provisioning Dialogs" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqDialog" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqDialog" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Provisioning Dialogs", + "description": "Returns available HTTP methods and actions", + "operationId": "options_provision_dialogs", + "tags": [ + "Provisioning Dialogs" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/provision_requests": { + "get": { + "summary": "List Provision Requests", + "description": "Returns a paginated list of Provision Requests", + "operationId": "list_provision_requests", + "tags": [ + "Provision Requests" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "provision_requests" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqProvisionRequest" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Provision Request", + "description": "Creates a new Provision Request", + "operationId": "create_provision_request", + "tags": [ + "Provision Requests" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqProvisionRequest" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Provision Requests", + "description": "Returns available HTTP methods and actions", + "operationId": "options_provision_requests", + "tags": [ + "Provision Requests" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/provision_requests/{c_id}": { + "get": { + "summary": "Get a Provision Request", + "description": "Returns a single Provision Request by ID", + "operationId": "get_provision_request", + "tags": [ + "Provision Requests" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqProvisionRequest" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Provision Request", + "description": "Updates an existing Provision Request", + "operationId": "update_provision_request", + "tags": [ + "Provision Requests" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqProvisionRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqProvisionRequest" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Provision Requests", + "description": "Returns available HTTP methods and actions", + "operationId": "options_provision_requests", + "tags": [ + "Provision Requests" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/provision_requests/{c_id}/request_tasks": { + "get": { + "summary": "List Request Tasks for Provision Request", + "description": "Returns a paginated list of Request Tasks", + "operationId": "list_provision_request_request_tasks", + "tags": [ + "Provision Requests" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "request_tasks" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqRequestTask" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Request Task", + "description": "Creates a new Request Task", + "operationId": "create_provision_request_request_task", + "tags": [ + "Provision Requests" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqRequestTask" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Request Tasks", + "description": "Returns available HTTP methods and actions", + "operationId": "options_request_tasks", + "tags": [ + "Request Tasks" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/provision_requests/{c_id}/request_tasks/{s_id}": { + "get": { + "summary": "Get a Request Task", + "description": "Returns a single Request Task by ID", + "operationId": "get_provision_request_request_task", + "tags": [ + "Provision Requests" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqRequestTask" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Request Task", + "description": "Updates an existing Request Task", + "operationId": "update_provision_request_request_task", + "tags": [ + "Provision Requests" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqRequestTask" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqRequestTask" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Request Tasks", + "description": "Returns available HTTP methods and actions", + "operationId": "options_request_tasks", + "tags": [ + "Request Tasks" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/pxe_image_types": { + "get": { + "summary": "List PXE Image Types", + "description": "Returns a paginated list of PXE Image Types", + "operationId": "list_pxe_image_types", + "tags": [ + "PXE Image Types" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "pxe_image_types" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PxeImageType" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a PXE Image Type", + "description": "Creates a new PXE Image Type", + "operationId": "create_pxe_image_type", + "tags": [ + "PXE Image Types" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PxeImageType" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for PXE Image Types", + "description": "Returns available HTTP methods and actions", + "operationId": "options_pxe_image_types", + "tags": [ + "PXE Image Types" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/pxe_image_types/{c_id}": { + "get": { + "summary": "Get a PXE Image Type", + "description": "Returns a single PXE Image Type by ID", + "operationId": "get_pxe_image_type", + "tags": [ + "PXE Image Types" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PxeImageType" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a PXE Image Type", + "description": "Updates an existing PXE Image Type", + "operationId": "update_pxe_image_type", + "tags": [ + "PXE Image Types" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PxeImageType" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PxeImageType" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a PXE Image Type", + "description": "Updates an existing PXE Image Type", + "operationId": "update_pxe_image_type", + "tags": [ + "PXE Image Types" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PxeImageType" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PxeImageType" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a PXE Image Type", + "description": "Updates an existing PXE Image Type", + "operationId": "update_pxe_image_type", + "tags": [ + "PXE Image Types" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PxeImageType" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PxeImageType" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a PXE Image Type", + "description": "Deletes an existing PXE Image Type", + "operationId": "delete_pxe_image_type", + "tags": [ + "PXE Image Types" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for PXE Image Types", + "description": "Returns available HTTP methods and actions", + "operationId": "options_pxe_image_types", + "tags": [ + "PXE Image Types" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/pxe_images": { + "get": { + "summary": "List PXE Images", + "description": "Returns a paginated list of PXE Images", + "operationId": "list_pxe_images", + "tags": [ + "PXE Images" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "pxe_images" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PxeImage" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for PXE Images", + "description": "Returns available HTTP methods and actions", + "operationId": "options_pxe_images", + "tags": [ + "PXE Images" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/pxe_images/{c_id}": { + "get": { + "summary": "Get a PXE Image", + "description": "Returns a single PXE Image by ID", + "operationId": "get_pxe_image", + "tags": [ + "PXE Images" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PxeImage" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for PXE Images", + "description": "Returns available HTTP methods and actions", + "operationId": "options_pxe_images", + "tags": [ + "PXE Images" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/pxe_images/{c_id}/customization_templates": { + "get": { + "summary": "List Customization Template for PXE Image", + "description": "Returns a paginated list of Customization Template", + "operationId": "list_pxe_image_customization_templates", + "tags": [ + "PXE Images" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "customization_templates" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomizationTemplate" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Customization Template", + "description": "Creates a new Customization Template", + "operationId": "create_pxe_image_customization_template", + "tags": [ + "PXE Images" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomizationTemplate" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Customization Template", + "description": "Returns available HTTP methods and actions", + "operationId": "options_customization_templates", + "tags": [ + "Customization Template" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/pxe_images/{c_id}/customization_templates/{s_id}": { + "get": { + "summary": "Get a Customization Template", + "description": "Returns a single Customization Template by ID", + "operationId": "get_pxe_image_customization_template", + "tags": [ + "PXE Images" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomizationTemplate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Customization Template", + "description": "Updates an existing Customization Template", + "operationId": "put_pxe_image_customization_template", + "tags": [ + "PXE Images" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomizationTemplate" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomizationTemplate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Customization Template", + "description": "Updates an existing Customization Template", + "operationId": "update_pxe_image_customization_template", + "tags": [ + "PXE Images" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomizationTemplate" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomizationTemplate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Customization Template", + "description": "Updates an existing Customization Template", + "operationId": "patch_pxe_image_customization_template", + "tags": [ + "PXE Images" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomizationTemplate" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomizationTemplate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Customization Template", + "description": "Deletes an existing Customization Template", + "operationId": "delete_pxe_image_customization_template", + "tags": [ + "PXE Images" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Customization Template", + "description": "Returns available HTTP methods and actions", + "operationId": "options_customization_templates", + "tags": [ + "Customization Template" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/pxe_menus": { + "get": { + "summary": "List PXE Menus", + "description": "Returns a paginated list of PXE Menus", + "operationId": "list_pxe_menus", + "tags": [ + "PXE Menus" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "pxe_menus" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PxeMenu" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a PXE Menu", + "description": "Creates a new PXE Menu", + "operationId": "create_pxe_menu", + "tags": [ + "PXE Menus" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PxeMenu" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for PXE Menus", + "description": "Returns available HTTP methods and actions", + "operationId": "options_pxe_menus", + "tags": [ + "PXE Menus" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/pxe_menus/{c_id}": { + "get": { + "summary": "Get a PXE Menu", + "description": "Returns a single PXE Menu by ID", + "operationId": "get_pxe_menu", + "tags": [ + "PXE Menus" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PxeMenu" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a PXE Menu", + "description": "Updates an existing PXE Menu", + "operationId": "update_pxe_menu", + "tags": [ + "PXE Menus" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PxeMenu" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PxeMenu" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a PXE Menu", + "description": "Updates an existing PXE Menu", + "operationId": "update_pxe_menu", + "tags": [ + "PXE Menus" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PxeMenu" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PxeMenu" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a PXE Menu", + "description": "Updates an existing PXE Menu", + "operationId": "update_pxe_menu", + "tags": [ + "PXE Menus" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PxeMenu" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PxeMenu" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a PXE Menu", + "description": "Deletes an existing PXE Menu", + "operationId": "delete_pxe_menu", + "tags": [ + "PXE Menus" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for PXE Menus", + "description": "Returns available HTTP methods and actions", + "operationId": "options_pxe_menus", + "tags": [ + "PXE Menus" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/pxe_servers": { + "get": { + "summary": "List PXE Servers", + "description": "Returns a paginated list of PXE Servers", + "operationId": "list_pxe_servers", + "tags": [ + "PXE Servers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "pxe_servers" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PxeServer" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a PXE Server", + "description": "Creates a new PXE Server", + "operationId": "create_pxe_server", + "tags": [ + "PXE Servers" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PxeServer" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for PXE Servers", + "description": "Returns available HTTP methods and actions", + "operationId": "options_pxe_servers", + "tags": [ + "PXE Servers" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/pxe_servers/{c_id}": { + "get": { + "summary": "Get a PXE Server", + "description": "Returns a single PXE Server by ID", + "operationId": "get_pxe_server", + "tags": [ + "PXE Servers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PxeServer" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a PXE Server", + "description": "Updates an existing PXE Server", + "operationId": "update_pxe_server", + "tags": [ + "PXE Servers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PxeServer" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PxeServer" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a PXE Server", + "description": "Updates an existing PXE Server", + "operationId": "update_pxe_server", + "tags": [ + "PXE Servers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PxeServer" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PxeServer" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a PXE Server", + "description": "Updates an existing PXE Server", + "operationId": "update_pxe_server", + "tags": [ + "PXE Servers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PxeServer" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PxeServer" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a PXE Server", + "description": "Deletes an existing PXE Server", + "operationId": "delete_pxe_server", + "tags": [ + "PXE Servers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for PXE Servers", + "description": "Returns available HTTP methods and actions", + "operationId": "options_pxe_servers", + "tags": [ + "PXE Servers" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/pxe_servers/{c_id}/pxe_images": { + "get": { + "summary": "List PXE Images for PXE Server", + "description": "Returns a paginated list of PXE Images", + "operationId": "list_pxe_server_pxe_images", + "tags": [ + "PXE Servers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "pxe_images" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PxeImage" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for PXE Images", + "description": "Returns available HTTP methods and actions", + "operationId": "options_pxe_images", + "tags": [ + "PXE Images" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/pxe_servers/{c_id}/pxe_images/{s_id}": { + "get": { + "summary": "Get a PXE Image", + "description": "Returns a single PXE Image by ID", + "operationId": "get_pxe_server_pxe_image", + "tags": [ + "PXE Servers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PxeImage" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for PXE Images", + "description": "Returns available HTTP methods and actions", + "operationId": "options_pxe_images", + "tags": [ + "PXE Images" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/pxe_servers/{c_id}/pxe_menus": { + "get": { + "summary": "List PXE Menus for PXE Server", + "description": "Returns a paginated list of PXE Menus", + "operationId": "list_pxe_server_pxe_menus", + "tags": [ + "PXE Servers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "pxe_menus" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PxeMenu" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a PXE Menu", + "description": "Creates a new PXE Menu", + "operationId": "create_pxe_server_pxe_menu", + "tags": [ + "PXE Servers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PxeMenu" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for PXE Menus", + "description": "Returns available HTTP methods and actions", + "operationId": "options_pxe_menus", + "tags": [ + "PXE Menus" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/pxe_servers/{c_id}/pxe_menus/{s_id}": { + "get": { + "summary": "Get a PXE Menu", + "description": "Returns a single PXE Menu by ID", + "operationId": "get_pxe_server_pxe_menu", + "tags": [ + "PXE Servers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PxeMenu" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a PXE Menu", + "description": "Updates an existing PXE Menu", + "operationId": "put_pxe_server_pxe_menu", + "tags": [ + "PXE Servers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PxeMenu" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PxeMenu" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a PXE Menu", + "description": "Updates an existing PXE Menu", + "operationId": "update_pxe_server_pxe_menu", + "tags": [ + "PXE Servers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PxeMenu" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PxeMenu" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a PXE Menu", + "description": "Updates an existing PXE Menu", + "operationId": "patch_pxe_server_pxe_menu", + "tags": [ + "PXE Servers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PxeMenu" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/PxeMenu" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a PXE Menu", + "description": "Deletes an existing PXE Menu", + "operationId": "delete_pxe_server_pxe_menu", + "tags": [ + "PXE Servers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for PXE Menus", + "description": "Returns available HTTP methods and actions", + "operationId": "options_pxe_menus", + "tags": [ + "PXE Menus" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/rates": { + "get": { + "summary": "List Chargeback Rates", + "description": "Returns a paginated list of Chargeback Rates", + "operationId": "list_rates", + "tags": [ + "Chargeback Rates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "rates" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ChargebackRateDetail" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Chargeback Rate", + "description": "Creates a new Chargeback Rate", + "operationId": "create_rate", + "tags": [ + "Chargeback Rates" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ChargebackRateDetail" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Chargeback Rates", + "description": "Returns available HTTP methods and actions", + "operationId": "options_rates", + "tags": [ + "Chargeback Rates" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/rates/{c_id}": { + "get": { + "summary": "Get a Chargeback Rate", + "description": "Returns a single Chargeback Rate by ID", + "operationId": "get_rate", + "tags": [ + "Chargeback Rates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ChargebackRateDetail" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Chargeback Rate", + "description": "Updates an existing Chargeback Rate", + "operationId": "update_rate", + "tags": [ + "Chargeback Rates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ChargebackRateDetail" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ChargebackRateDetail" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Chargeback Rate", + "description": "Updates an existing Chargeback Rate", + "operationId": "update_rate", + "tags": [ + "Chargeback Rates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ChargebackRateDetail" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ChargebackRateDetail" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Chargeback Rate", + "description": "Updates an existing Chargeback Rate", + "operationId": "update_rate", + "tags": [ + "Chargeback Rates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ChargebackRateDetail" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ChargebackRateDetail" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Chargeback Rate", + "description": "Deletes an existing Chargeback Rate", + "operationId": "delete_rate", + "tags": [ + "Chargeback Rates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Chargeback Rates", + "description": "Returns available HTTP methods and actions", + "operationId": "options_rates", + "tags": [ + "Chargeback Rates" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/regions": { + "get": { + "summary": "List Regions", + "description": "Returns a paginated list of Regions", + "operationId": "list_regions", + "tags": [ + "Regions" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "regions" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqRegion" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Region", + "description": "Creates a new Region", + "operationId": "create_region", + "tags": [ + "Regions" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqRegion" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Regions", + "description": "Returns available HTTP methods and actions", + "operationId": "options_regions", + "tags": [ + "Regions" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/regions/{c_id}": { + "get": { + "summary": "Get a Region", + "description": "Returns a single Region by ID", + "operationId": "get_region", + "tags": [ + "Regions" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqRegion" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Region", + "description": "Updates an existing Region", + "operationId": "update_region", + "tags": [ + "Regions" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqRegion" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqRegion" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Regions", + "description": "Returns available HTTP methods and actions", + "operationId": "options_regions", + "tags": [ + "Regions" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/reports": { + "get": { + "summary": "List Reports", + "description": "Returns a paginated list of Reports", + "operationId": "list_reports", + "tags": [ + "Reports" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "reports" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqReport" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Report", + "description": "Creates a new Report", + "operationId": "create_report", + "tags": [ + "Reports" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqReport" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Reports", + "description": "Returns available HTTP methods and actions", + "operationId": "options_reports", + "tags": [ + "Reports" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/reports/{c_id}": { + "get": { + "summary": "Get a Report", + "description": "Returns a single Report by ID", + "operationId": "get_report", + "tags": [ + "Reports" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqReport" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Report", + "description": "Updates an existing Report", + "operationId": "update_report", + "tags": [ + "Reports" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqReport" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqReport" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Reports", + "description": "Returns available HTTP methods and actions", + "operationId": "options_reports", + "tags": [ + "Reports" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/reports/{c_id}/results": { + "get": { + "summary": "List Report Results for Report", + "description": "Returns a paginated list of Report Results", + "operationId": "list_report_results", + "tags": [ + "Reports" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "results" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqReportResult" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Report Result", + "description": "Creates a new Report Result", + "operationId": "create_report_result", + "tags": [ + "Reports" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqReportResult" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Report Results", + "description": "Returns available HTTP methods and actions", + "operationId": "options_results", + "tags": [ + "Report Results" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/reports/{c_id}/results/{s_id}": { + "get": { + "summary": "Get a Report Result", + "description": "Returns a single Report Result by ID", + "operationId": "get_report_result", + "tags": [ + "Reports" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqReportResult" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Report Result", + "description": "Updates an existing Report Result", + "operationId": "update_report_result", + "tags": [ + "Reports" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqReportResult" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqReportResult" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Report Result", + "description": "Deletes an existing Report Result", + "operationId": "delete_report_result", + "tags": [ + "Reports" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Report Results", + "description": "Returns available HTTP methods and actions", + "operationId": "options_results", + "tags": [ + "Report Results" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/reports/{c_id}/schedules": { + "get": { + "summary": "List Schedules for Report", + "description": "Returns a paginated list of Schedules", + "operationId": "list_report_schedules", + "tags": [ + "Reports" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "schedules" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqSchedule" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Schedule", + "description": "Creates a new Schedule", + "operationId": "create_report_schedule", + "tags": [ + "Reports" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqSchedule" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Schedules", + "description": "Returns available HTTP methods and actions", + "operationId": "options_schedules", + "tags": [ + "Schedules" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/reports/{c_id}/schedules/{s_id}": { + "get": { + "summary": "Get a Schedule", + "description": "Returns a single Schedule by ID", + "operationId": "get_report_schedule", + "tags": [ + "Reports" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqSchedule" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Schedule", + "description": "Updates an existing Schedule", + "operationId": "update_report_schedule", + "tags": [ + "Reports" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqSchedule" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqSchedule" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Schedule", + "description": "Deletes an existing Schedule", + "operationId": "delete_report_schedule", + "tags": [ + "Reports" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Schedules", + "description": "Returns available HTTP methods and actions", + "operationId": "options_schedules", + "tags": [ + "Schedules" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/request_tasks": { + "get": { + "summary": "List Request Tasks", + "description": "Returns a paginated list of Request Tasks", + "operationId": "list_request_tasks", + "tags": [ + "Request Tasks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "request_tasks" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqRequestTask" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Request Task", + "description": "Creates a new Request Task", + "operationId": "create_request_task", + "tags": [ + "Request Tasks" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqRequestTask" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Request Tasks", + "description": "Returns available HTTP methods and actions", + "operationId": "options_request_tasks", + "tags": [ + "Request Tasks" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/request_tasks/{c_id}": { + "get": { + "summary": "Get a Request Task", + "description": "Returns a single Request Task by ID", + "operationId": "get_request_task", + "tags": [ + "Request Tasks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqRequestTask" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Request Task", + "description": "Updates an existing Request Task", + "operationId": "update_request_task", + "tags": [ + "Request Tasks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqRequestTask" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqRequestTask" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Request Tasks", + "description": "Returns available HTTP methods and actions", + "operationId": "options_request_tasks", + "tags": [ + "Request Tasks" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/requests": { + "get": { + "summary": "List Requests", + "description": "Returns a paginated list of Requests", + "operationId": "list_requests", + "tags": [ + "Requests" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "requests" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqRequest" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Request", + "description": "Creates a new Request", + "operationId": "create_request", + "tags": [ + "Requests" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqRequest" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Requests", + "description": "Returns available HTTP methods and actions", + "operationId": "options_requests", + "tags": [ + "Requests" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/requests/{c_id}": { + "get": { + "summary": "Get a Request", + "description": "Returns a single Request by ID", + "operationId": "get_request", + "tags": [ + "Requests" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqRequest" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Request", + "description": "Updates an existing Request", + "operationId": "update_request", + "tags": [ + "Requests" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqRequest" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Requests", + "description": "Returns available HTTP methods and actions", + "operationId": "options_requests", + "tags": [ + "Requests" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/requests/{c_id}/request_tasks": { + "get": { + "summary": "List Request Tasks for Request", + "description": "Returns a paginated list of Request Tasks", + "operationId": "list_request_request_tasks", + "tags": [ + "Requests" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "request_tasks" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqRequestTask" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Request Task", + "description": "Creates a new Request Task", + "operationId": "create_request_request_task", + "tags": [ + "Requests" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqRequestTask" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Request Tasks", + "description": "Returns available HTTP methods and actions", + "operationId": "options_request_tasks", + "tags": [ + "Request Tasks" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/requests/{c_id}/request_tasks/{s_id}": { + "get": { + "summary": "Get a Request Task", + "description": "Returns a single Request Task by ID", + "operationId": "get_request_request_task", + "tags": [ + "Requests" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqRequestTask" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Request Task", + "description": "Updates an existing Request Task", + "operationId": "update_request_request_task", + "tags": [ + "Requests" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqRequestTask" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqRequestTask" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Request Tasks", + "description": "Returns available HTTP methods and actions", + "operationId": "options_request_tasks", + "tags": [ + "Request Tasks" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/resource_pools": { + "get": { + "summary": "List Resource Pools", + "description": "Returns a paginated list of Resource Pools", + "operationId": "list_resource_pools", + "tags": [ + "Resource Pools" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "resource_pools" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ResourcePool" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Resource Pool", + "description": "Creates a new Resource Pool", + "operationId": "create_resource_pool", + "tags": [ + "Resource Pools" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResourcePool" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Resource Pools", + "description": "Returns available HTTP methods and actions", + "operationId": "options_resource_pools", + "tags": [ + "Resource Pools" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/resource_pools/{c_id}": { + "get": { + "summary": "Get a Resource Pool", + "description": "Returns a single Resource Pool by ID", + "operationId": "get_resource_pool", + "tags": [ + "Resource Pools" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ResourcePool" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Resource Pool", + "description": "Updates an existing Resource Pool", + "operationId": "update_resource_pool", + "tags": [ + "Resource Pools" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResourcePool" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ResourcePool" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Resource Pools", + "description": "Returns available HTTP methods and actions", + "operationId": "options_resource_pools", + "tags": [ + "Resource Pools" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/resource_pools/{c_id}/tags": { + "get": { + "summary": "List Tags for Resource Pool", + "description": "Returns a paginated list of Tags", + "operationId": "list_resource_pool_tags", + "tags": [ + "Resource Pools" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "tags" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Tag", + "description": "Creates a new Tag", + "operationId": "create_resource_pool_tag", + "tags": [ + "Resource Pools" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/resource_pools/{c_id}/tags/{s_id}": { + "get": { + "summary": "Get a Tag", + "description": "Returns a single Tag by ID", + "operationId": "get_resource_pool_tag", + "tags": [ + "Resource Pools" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Tag", + "description": "Updates an existing Tag", + "operationId": "update_resource_pool_tag", + "tags": [ + "Resource Pools" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Tag", + "description": "Deletes an existing Tag", + "operationId": "delete_resource_pool_tag", + "tags": [ + "Resource Pools" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/resource_pools/{c_id}/policies": { + "get": { + "summary": "List Policies for Resource Pool", + "description": "Returns a paginated list of Policies", + "operationId": "list_resource_pool_policies", + "tags": [ + "Resource Pools" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "policies" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqPolicy" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Policy", + "description": "Creates a new Policy", + "operationId": "create_resource_pool_policy", + "tags": [ + "Resource Pools" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicy" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Policies", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policies", + "tags": [ + "Policies" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/resource_pools/{c_id}/policies/{s_id}": { + "get": { + "summary": "Get a Policy", + "description": "Returns a single Policy by ID", + "operationId": "get_resource_pool_policy", + "tags": [ + "Resource Pools" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicy" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Policy", + "description": "Updates an existing Policy", + "operationId": "update_resource_pool_policy", + "tags": [ + "Resource Pools" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicy" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicy" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Policy", + "description": "Deletes an existing Policy", + "operationId": "delete_resource_pool_policy", + "tags": [ + "Resource Pools" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Policies", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policies", + "tags": [ + "Policies" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/resource_pools/{c_id}/policy_profiles": { + "get": { + "summary": "List Policy Profiles for Resource Pool", + "description": "Returns a paginated list of Policy Profiles", + "operationId": "list_resource_pool_policy_profiles", + "tags": [ + "Resource Pools" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "policy_profiles" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqPolicySet" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Policy Profile", + "description": "Creates a new Policy Profile", + "operationId": "create_resource_pool_policy_profile", + "tags": [ + "Resource Pools" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicySet" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Policy Profiles", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policy_profiles", + "tags": [ + "Policy Profiles" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/resource_pools/{c_id}/policy_profiles/{s_id}": { + "get": { + "summary": "Get a Policy Profile", + "description": "Returns a single Policy Profile by ID", + "operationId": "get_resource_pool_policy_profile", + "tags": [ + "Resource Pools" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicySet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Policy Profile", + "description": "Updates an existing Policy Profile", + "operationId": "put_resource_pool_policy_profile", + "tags": [ + "Resource Pools" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicySet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicySet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Policy Profile", + "description": "Updates an existing Policy Profile", + "operationId": "update_resource_pool_policy_profile", + "tags": [ + "Resource Pools" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicySet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicySet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Policy Profile", + "description": "Updates an existing Policy Profile", + "operationId": "patch_resource_pool_policy_profile", + "tags": [ + "Resource Pools" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicySet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicySet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Policy Profile", + "description": "Deletes an existing Policy Profile", + "operationId": "delete_resource_pool_policy_profile", + "tags": [ + "Resource Pools" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Policy Profiles", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policy_profiles", + "tags": [ + "Policy Profiles" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/results": { + "get": { + "summary": "List Report Results", + "description": "Returns a paginated list of Report Results", + "operationId": "list_results", + "tags": [ + "Report Results" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "results" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqReportResult" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Report Result", + "description": "Creates a new Report Result", + "operationId": "create_result", + "tags": [ + "Report Results" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqReportResult" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Report Results", + "description": "Returns available HTTP methods and actions", + "operationId": "options_results", + "tags": [ + "Report Results" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/results/{c_id}": { + "get": { + "summary": "Get a Report Result", + "description": "Returns a single Report Result by ID", + "operationId": "get_result", + "tags": [ + "Report Results" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqReportResult" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Report Result", + "description": "Updates an existing Report Result", + "operationId": "update_result", + "tags": [ + "Report Results" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqReportResult" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqReportResult" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Report Result", + "description": "Deletes an existing Report Result", + "operationId": "delete_result", + "tags": [ + "Report Results" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Report Results", + "description": "Returns available HTTP methods and actions", + "operationId": "options_results", + "tags": [ + "Report Results" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/roles": { + "get": { + "summary": "List Roles", + "description": "Returns a paginated list of Roles", + "operationId": "list_roles", + "tags": [ + "Roles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "roles" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqUserRole" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Role", + "description": "Creates a new Role", + "operationId": "create_role", + "tags": [ + "Roles" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqUserRole" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Roles", + "description": "Returns available HTTP methods and actions", + "operationId": "options_roles", + "tags": [ + "Roles" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/roles/{c_id}": { + "get": { + "summary": "Get a Role", + "description": "Returns a single Role by ID", + "operationId": "get_role", + "tags": [ + "Roles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqUserRole" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Role", + "description": "Updates an existing Role", + "operationId": "update_role", + "tags": [ + "Roles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqUserRole" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqUserRole" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Role", + "description": "Deletes an existing Role", + "operationId": "delete_role", + "tags": [ + "Roles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Roles", + "description": "Returns available HTTP methods and actions", + "operationId": "options_roles", + "tags": [ + "Roles" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/roles/{c_id}/features": { + "get": { + "summary": "List Product Features for Role", + "description": "Returns a paginated list of Product Features", + "operationId": "list_role_features", + "tags": [ + "Roles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "features" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqProductFeature" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Product Feature", + "description": "Creates a new Product Feature", + "operationId": "create_role_feature", + "tags": [ + "Roles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqProductFeature" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Product Features", + "description": "Returns available HTTP methods and actions", + "operationId": "options_features", + "tags": [ + "Product Features" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/roles/{c_id}/features/{s_id}": { + "get": { + "summary": "Get a Product Feature", + "description": "Returns a single Product Feature by ID", + "operationId": "get_role_feature", + "tags": [ + "Roles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqProductFeature" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Product Feature", + "description": "Updates an existing Product Feature", + "operationId": "update_role_feature", + "tags": [ + "Roles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqProductFeature" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqProductFeature" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Product Features", + "description": "Returns available HTTP methods and actions", + "operationId": "options_features", + "tags": [ + "Product Features" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/search_filters": { + "get": { + "summary": "List Filters", + "description": "Returns a paginated list of Filters", + "operationId": "list_search_filters", + "tags": [ + "Filters" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "search_filters" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqSearch" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Filter", + "description": "Creates a new Filter", + "operationId": "create_search_filter", + "tags": [ + "Filters" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqSearch" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Filters", + "description": "Returns available HTTP methods and actions", + "operationId": "options_search_filters", + "tags": [ + "Filters" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/search_filters/{c_id}": { + "get": { + "summary": "Get a Filter", + "description": "Returns a single Filter by ID", + "operationId": "get_search_filter", + "tags": [ + "Filters" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqSearch" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Filter", + "description": "Updates an existing Filter", + "operationId": "update_search_filter", + "tags": [ + "Filters" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqSearch" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqSearch" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Filter", + "description": "Deletes an existing Filter", + "operationId": "delete_search_filter", + "tags": [ + "Filters" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Filters", + "description": "Returns available HTTP methods and actions", + "operationId": "options_search_filters", + "tags": [ + "Filters" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/security_groups": { + "get": { + "summary": "List Security Groups", + "description": "Returns a paginated list of Security Groups", + "operationId": "list_security_groups", + "tags": [ + "Security Groups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "security_groups" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SecurityGroup" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Security Group", + "description": "Creates a new Security Group", + "operationId": "create_security_group", + "tags": [ + "Security Groups" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SecurityGroup" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Security Groups", + "description": "Returns available HTTP methods and actions", + "operationId": "options_security_groups", + "tags": [ + "Security Groups" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/security_groups/{c_id}": { + "get": { + "summary": "Get a Security Group", + "description": "Returns a single Security Group by ID", + "operationId": "get_security_group", + "tags": [ + "Security Groups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SecurityGroup" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Security Group", + "description": "Executes a custom action on a specific Security Group", + "operationId": "action_security_group", + "tags": [ + "Security Groups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/SecurityGroup" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SecurityGroup" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Security Groups", + "description": "Returns available HTTP methods and actions", + "operationId": "options_security_groups", + "tags": [ + "Security Groups" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/security_groups/{c_id}/tags": { + "get": { + "summary": "List Tags for Security Group", + "description": "Returns a paginated list of Tags", + "operationId": "list_security_group_tags", + "tags": [ + "Security Groups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "tags" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Tag", + "description": "Creates a new Tag", + "operationId": "create_security_group_tag", + "tags": [ + "Security Groups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/security_groups/{c_id}/tags/{s_id}": { + "get": { + "summary": "Get a Tag", + "description": "Returns a single Tag by ID", + "operationId": "get_security_group_tag", + "tags": [ + "Security Groups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Tag", + "description": "Updates an existing Tag", + "operationId": "update_security_group_tag", + "tags": [ + "Security Groups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Tag", + "description": "Deletes an existing Tag", + "operationId": "delete_security_group_tag", + "tags": [ + "Security Groups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/security_policies": { + "get": { + "summary": "List Security_Policies", + "description": "Returns a paginated list of Security_Policies", + "operationId": "list_security_policies", + "tags": [ + "Security_Policies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "security_policies" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SecurityPolicy" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Security_Policy", + "description": "Creates a new Security_Policy", + "operationId": "create_security_policy", + "tags": [ + "Security_Policies" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SecurityPolicy" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Security_Policies", + "description": "Returns available HTTP methods and actions", + "operationId": "options_security_policies", + "tags": [ + "Security_Policies" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/security_policies/{c_id}": { + "get": { + "summary": "Get a Security_Policy", + "description": "Returns a single Security_Policy by ID", + "operationId": "get_security_policy", + "tags": [ + "Security_Policies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SecurityPolicy" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Security_Policy", + "description": "Executes a custom action on a specific Security_Policy", + "operationId": "action_security_policy", + "tags": [ + "Security_Policies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/SecurityPolicy" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SecurityPolicy" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Security_Policy", + "description": "Deletes an existing Security_Policy", + "operationId": "delete_security_policy", + "tags": [ + "Security_Policies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Security_Policies", + "description": "Returns available HTTP methods and actions", + "operationId": "options_security_policies", + "tags": [ + "Security_Policies" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/security_policies/{c_id}/tags": { + "get": { + "summary": "List Tags for Security_Policy", + "description": "Returns a paginated list of Tags", + "operationId": "list_security_policy_tags", + "tags": [ + "Security_Policies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "tags" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Tag", + "description": "Creates a new Tag", + "operationId": "create_security_policy_tag", + "tags": [ + "Security_Policies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/security_policies/{c_id}/tags/{s_id}": { + "get": { + "summary": "Get a Tag", + "description": "Returns a single Tag by ID", + "operationId": "get_security_policy_tag", + "tags": [ + "Security_Policies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Tag", + "description": "Updates an existing Tag", + "operationId": "update_security_policy_tag", + "tags": [ + "Security_Policies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Tag", + "description": "Deletes an existing Tag", + "operationId": "delete_security_policy_tag", + "tags": [ + "Security_Policies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/security_policies/{c_id}/security_policy_rules": { + "get": { + "summary": "List Security_Policy_Rules for Security_Policy", + "description": "Returns a paginated list of Security_Policy_Rules", + "operationId": "list_security_policy_security_policy_rules", + "tags": [ + "Security_Policies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "security_policy_rules" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SecurityPolicyRule" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Security_Policy_Rule", + "description": "Creates a new Security_Policy_Rule", + "operationId": "create_security_policy_security_policy_rule", + "tags": [ + "Security_Policies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SecurityPolicyRule" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Security_Policy_Rules", + "description": "Returns available HTTP methods and actions", + "operationId": "options_security_policy_rules", + "tags": [ + "Security_Policy_Rules" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/security_policies/{c_id}/security_policy_rules/{s_id}": { + "get": { + "summary": "Get a Security_Policy_Rule", + "description": "Returns a single Security_Policy_Rule by ID", + "operationId": "get_security_policy_security_policy_rule", + "tags": [ + "Security_Policies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SecurityPolicyRule" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Security_Policy_Rule", + "description": "Updates an existing Security_Policy_Rule", + "operationId": "update_security_policy_security_policy_rule", + "tags": [ + "Security_Policies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SecurityPolicyRule" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SecurityPolicyRule" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Security_Policy_Rule", + "description": "Deletes an existing Security_Policy_Rule", + "operationId": "delete_security_policy_security_policy_rule", + "tags": [ + "Security_Policies" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Security_Policy_Rules", + "description": "Returns available HTTP methods and actions", + "operationId": "options_security_policy_rules", + "tags": [ + "Security_Policy_Rules" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/security_policy_rules": { + "get": { + "summary": "List Security_Policy_Rules", + "description": "Returns a paginated list of Security_Policy_Rules", + "operationId": "list_security_policy_rules", + "tags": [ + "Security_Policy_Rules" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "security_policy_rules" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SecurityPolicyRule" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Security_Policy_Rule", + "description": "Creates a new Security_Policy_Rule", + "operationId": "create_security_policy_rule", + "tags": [ + "Security_Policy_Rules" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SecurityPolicyRule" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Security_Policy_Rules", + "description": "Returns available HTTP methods and actions", + "operationId": "options_security_policy_rules", + "tags": [ + "Security_Policy_Rules" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/security_policy_rules/{c_id}": { + "get": { + "summary": "Get a Security_Policy_Rule", + "description": "Returns a single Security_Policy_Rule by ID", + "operationId": "get_security_policy_rule", + "tags": [ + "Security_Policy_Rules" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SecurityPolicyRule" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Security_Policy_Rule", + "description": "Executes a custom action on a specific Security_Policy_Rule", + "operationId": "action_security_policy_rule", + "tags": [ + "Security_Policy_Rules" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/SecurityPolicyRule" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SecurityPolicyRule" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Security_Policy_Rule", + "description": "Deletes an existing Security_Policy_Rule", + "operationId": "delete_security_policy_rule", + "tags": [ + "Security_Policy_Rules" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Security_Policy_Rules", + "description": "Returns available HTTP methods and actions", + "operationId": "options_security_policy_rules", + "tags": [ + "Security_Policy_Rules" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/security_policy_rules/{c_id}/tags": { + "get": { + "summary": "List Tags for Security_Policy_Rule", + "description": "Returns a paginated list of Tags", + "operationId": "list_security_policy_rule_tags", + "tags": [ + "Security_Policy_Rules" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "tags" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Tag", + "description": "Creates a new Tag", + "operationId": "create_security_policy_rule_tag", + "tags": [ + "Security_Policy_Rules" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/security_policy_rules/{c_id}/tags/{s_id}": { + "get": { + "summary": "Get a Tag", + "description": "Returns a single Tag by ID", + "operationId": "get_security_policy_rule_tag", + "tags": [ + "Security_Policy_Rules" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Tag", + "description": "Updates an existing Tag", + "operationId": "update_security_policy_rule_tag", + "tags": [ + "Security_Policy_Rules" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Tag", + "description": "Deletes an existing Tag", + "operationId": "delete_security_policy_rule_tag", + "tags": [ + "Security_Policy_Rules" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/servers": { + "get": { + "summary": "List EVM Servers", + "description": "Returns a paginated list of EVM Servers", + "operationId": "list_servers", + "tags": [ + "EVM Servers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "servers" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqServer" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a EVM Server", + "description": "Creates a new EVM Server", + "operationId": "create_server", + "tags": [ + "EVM Servers" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqServer" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for EVM Servers", + "description": "Returns available HTTP methods and actions", + "operationId": "options_servers", + "tags": [ + "EVM Servers" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/servers/{c_id}": { + "get": { + "summary": "Get a EVM Server", + "description": "Returns a single EVM Server by ID", + "operationId": "get_server", + "tags": [ + "EVM Servers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqServer" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a EVM Server", + "description": "Updates an existing EVM Server", + "operationId": "update_server", + "tags": [ + "EVM Servers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqServer" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqServer" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a EVM Server", + "description": "Deletes an existing EVM Server", + "operationId": "delete_server", + "tags": [ + "EVM Servers" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for EVM Servers", + "description": "Returns available HTTP methods and actions", + "operationId": "options_servers", + "tags": [ + "EVM Servers" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/service_catalogs": { + "get": { + "summary": "List Service Catalogs", + "description": "Returns a paginated list of Service Catalogs", + "operationId": "list_service_catalogs", + "tags": [ + "Service Catalogs" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "service_catalogs" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ServiceTemplateCatalog" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Service Catalog", + "description": "Creates a new Service Catalog", + "operationId": "create_service_catalog", + "tags": [ + "Service Catalogs" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceTemplateCatalog" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Service Catalogs", + "description": "Returns available HTTP methods and actions", + "operationId": "options_service_catalogs", + "tags": [ + "Service Catalogs" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/service_catalogs/{c_id}": { + "get": { + "summary": "Get a Service Catalog", + "description": "Returns a single Service Catalog by ID", + "operationId": "get_service_catalog", + "tags": [ + "Service Catalogs" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ServiceTemplateCatalog" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Service Catalog", + "description": "Updates an existing Service Catalog", + "operationId": "update_service_catalog", + "tags": [ + "Service Catalogs" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceTemplateCatalog" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ServiceTemplateCatalog" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Service Catalog", + "description": "Updates an existing Service Catalog", + "operationId": "update_service_catalog", + "tags": [ + "Service Catalogs" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceTemplateCatalog" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ServiceTemplateCatalog" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Service Catalog", + "description": "Updates an existing Service Catalog", + "operationId": "update_service_catalog", + "tags": [ + "Service Catalogs" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceTemplateCatalog" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ServiceTemplateCatalog" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Service Catalog", + "description": "Deletes an existing Service Catalog", + "operationId": "delete_service_catalog", + "tags": [ + "Service Catalogs" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Service Catalogs", + "description": "Returns available HTTP methods and actions", + "operationId": "options_service_catalogs", + "tags": [ + "Service Catalogs" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/service_catalogs/{c_id}/service_templates": { + "get": { + "summary": "List Service Templates for Service Catalog", + "description": "Returns a paginated list of Service Templates", + "operationId": "list_service_catalog_service_templates", + "tags": [ + "Service Catalogs" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "service_templates" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ServiceTemplate" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Service Template", + "description": "Creates a new Service Template", + "operationId": "create_service_catalog_service_template", + "tags": [ + "Service Catalogs" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceTemplate" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Service Templates", + "description": "Returns available HTTP methods and actions", + "operationId": "options_service_templates", + "tags": [ + "Service Templates" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/service_catalogs/{c_id}/service_templates/{s_id}": { + "get": { + "summary": "Get a Service Template", + "description": "Returns a single Service Template by ID", + "operationId": "get_service_catalog_service_template", + "tags": [ + "Service Catalogs" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ServiceTemplate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Service Template", + "description": "Updates an existing Service Template", + "operationId": "put_service_catalog_service_template", + "tags": [ + "Service Catalogs" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceTemplate" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ServiceTemplate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Service Template", + "description": "Updates an existing Service Template", + "operationId": "update_service_catalog_service_template", + "tags": [ + "Service Catalogs" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceTemplate" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ServiceTemplate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Service Template", + "description": "Updates an existing Service Template", + "operationId": "patch_service_catalog_service_template", + "tags": [ + "Service Catalogs" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceTemplate" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ServiceTemplate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Service Template", + "description": "Deletes an existing Service Template", + "operationId": "delete_service_catalog_service_template", + "tags": [ + "Service Catalogs" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Service Templates", + "description": "Returns available HTTP methods and actions", + "operationId": "options_service_templates", + "tags": [ + "Service Templates" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/service_dialogs": { + "get": { + "summary": "List Service Dialogs", + "description": "Returns a paginated list of Service Dialogs", + "operationId": "list_service_dialogs", + "tags": [ + "Service Dialogs" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "service_dialogs" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Dialog" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Service Dialog", + "description": "Creates a new Service Dialog", + "operationId": "create_service_dialog", + "tags": [ + "Service Dialogs" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Dialog" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Service Dialogs", + "description": "Returns available HTTP methods and actions", + "operationId": "options_service_dialogs", + "tags": [ + "Service Dialogs" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/service_dialogs/{c_id}": { + "get": { + "summary": "Get a Service Dialog", + "description": "Returns a single Service Dialog by ID", + "operationId": "get_service_dialog", + "tags": [ + "Service Dialogs" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Dialog" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Service Dialog", + "description": "Updates an existing Service Dialog", + "operationId": "update_service_dialog", + "tags": [ + "Service Dialogs" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Dialog" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Dialog" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Service Dialog", + "description": "Deletes an existing Service Dialog", + "operationId": "delete_service_dialog", + "tags": [ + "Service Dialogs" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Service Dialogs", + "description": "Returns available HTTP methods and actions", + "operationId": "options_service_dialogs", + "tags": [ + "Service Dialogs" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/service_offerings": { + "get": { + "summary": "List Service Offerings", + "description": "Returns a paginated list of Service Offerings", + "operationId": "list_service_offerings", + "tags": [ + "Service Offerings" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "service_offerings" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ServiceOffering" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Service Offerings", + "description": "Returns available HTTP methods and actions", + "operationId": "options_service_offerings", + "tags": [ + "Service Offerings" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/service_offerings/{c_id}": { + "get": { + "summary": "Get a Service Offering", + "description": "Returns a single Service Offering by ID", + "operationId": "get_service_offering", + "tags": [ + "Service Offerings" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ServiceOffering" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Service Offerings", + "description": "Returns available HTTP methods and actions", + "operationId": "options_service_offerings", + "tags": [ + "Service Offerings" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/service_offerings/{c_id}/service_parameters_sets": { + "get": { + "summary": "List Service Parameters Sets for Service Offering", + "description": "Returns a paginated list of Service Parameters Sets", + "operationId": "list_service_offering_service_parameters_sets", + "tags": [ + "Service Offerings" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "service_parameters_sets" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ServiceParametersSet" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Service Parameters Sets", + "description": "Returns available HTTP methods and actions", + "operationId": "options_service_parameters_sets", + "tags": [ + "Service Parameters Sets" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/service_offerings/{c_id}/service_parameters_sets/{s_id}": { + "get": { + "summary": "Get a Service Parameters Set", + "description": "Returns a single Service Parameters Set by ID", + "operationId": "get_service_offering_service_parameters_set", + "tags": [ + "Service Offerings" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ServiceParametersSet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Service Parameters Sets", + "description": "Returns available HTTP methods and actions", + "operationId": "options_service_parameters_sets", + "tags": [ + "Service Parameters Sets" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/service_orders": { + "get": { + "summary": "List Service Orders", + "description": "Returns a paginated list of Service Orders", + "operationId": "list_service_orders", + "tags": [ + "Service Orders" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "service_orders" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ServiceOrder" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Service Order", + "description": "Creates a new Service Order", + "operationId": "create_service_order", + "tags": [ + "Service Orders" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceOrder" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Service Orders", + "description": "Returns available HTTP methods and actions", + "operationId": "options_service_orders", + "tags": [ + "Service Orders" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/service_orders/{c_id}": { + "get": { + "summary": "Get a Service Order", + "description": "Returns a single Service Order by ID", + "operationId": "get_service_order", + "tags": [ + "Service Orders" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ServiceOrder" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Service Order", + "description": "Updates an existing Service Order", + "operationId": "update_service_order", + "tags": [ + "Service Orders" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceOrder" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ServiceOrder" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Service Order", + "description": "Updates an existing Service Order", + "operationId": "update_service_order", + "tags": [ + "Service Orders" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceOrder" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ServiceOrder" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Service Order", + "description": "Updates an existing Service Order", + "operationId": "update_service_order", + "tags": [ + "Service Orders" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceOrder" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ServiceOrder" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Service Order", + "description": "Deletes an existing Service Order", + "operationId": "delete_service_order", + "tags": [ + "Service Orders" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Service Orders", + "description": "Returns available HTTP methods and actions", + "operationId": "options_service_orders", + "tags": [ + "Service Orders" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/service_orders/{c_id}/service_requests": { + "get": { + "summary": "List Service Requests for Service Order", + "description": "Returns a paginated list of Service Requests", + "operationId": "list_service_order_service_requests", + "tags": [ + "Service Orders" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "service_requests" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ServiceTemplateProvisionRequest" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Service Request", + "description": "Creates a new Service Request", + "operationId": "create_service_order_service_request", + "tags": [ + "Service Orders" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceTemplateProvisionRequest" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Service Requests", + "description": "Returns available HTTP methods and actions", + "operationId": "options_service_requests", + "tags": [ + "Service Requests" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/service_orders/{c_id}/service_requests/{s_id}": { + "get": { + "summary": "Get a Service Request", + "description": "Returns a single Service Request by ID", + "operationId": "get_service_order_service_request", + "tags": [ + "Service Orders" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ServiceTemplateProvisionRequest" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Service Request", + "description": "Updates an existing Service Request", + "operationId": "update_service_order_service_request", + "tags": [ + "Service Orders" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceTemplateProvisionRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ServiceTemplateProvisionRequest" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Service Request", + "description": "Deletes an existing Service Request", + "operationId": "delete_service_order_service_request", + "tags": [ + "Service Orders" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Service Requests", + "description": "Returns available HTTP methods and actions", + "operationId": "options_service_requests", + "tags": [ + "Service Requests" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/service_parameters_sets": { + "get": { + "summary": "List Service Parameters Sets", + "description": "Returns a paginated list of Service Parameters Sets", + "operationId": "list_service_parameters_sets", + "tags": [ + "Service Parameters Sets" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "service_parameters_sets" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ServiceParametersSet" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Service Parameters Sets", + "description": "Returns available HTTP methods and actions", + "operationId": "options_service_parameters_sets", + "tags": [ + "Service Parameters Sets" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/service_parameters_sets/{c_id}": { + "get": { + "summary": "Get a Service Parameters Set", + "description": "Returns a single Service Parameters Set by ID", + "operationId": "get_service_parameters_set", + "tags": [ + "Service Parameters Sets" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ServiceParametersSet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Service Parameters Sets", + "description": "Returns available HTTP methods and actions", + "operationId": "options_service_parameters_sets", + "tags": [ + "Service Parameters Sets" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/service_requests": { + "get": { + "summary": "List Service Requests", + "description": "Returns a paginated list of Service Requests", + "operationId": "list_service_requests", + "tags": [ + "Service Requests" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "service_requests" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ServiceTemplateProvisionRequest" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Service Request", + "description": "Creates a new Service Request", + "operationId": "create_service_request", + "tags": [ + "Service Requests" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceTemplateProvisionRequest" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Service Requests", + "description": "Returns available HTTP methods and actions", + "operationId": "options_service_requests", + "tags": [ + "Service Requests" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/service_requests/{c_id}": { + "get": { + "summary": "Get a Service Request", + "description": "Returns a single Service Request by ID", + "operationId": "get_service_request", + "tags": [ + "Service Requests" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ServiceTemplateProvisionRequest" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Service Request", + "description": "Updates an existing Service Request", + "operationId": "update_service_request", + "tags": [ + "Service Requests" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceTemplateProvisionRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ServiceTemplateProvisionRequest" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Service Request", + "description": "Deletes an existing Service Request", + "operationId": "delete_service_request", + "tags": [ + "Service Requests" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Service Requests", + "description": "Returns available HTTP methods and actions", + "operationId": "options_service_requests", + "tags": [ + "Service Requests" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/service_requests/{c_id}/request_tasks": { + "get": { + "summary": "List Request Tasks for Service Request", + "description": "Returns a paginated list of Request Tasks", + "operationId": "list_service_request_request_tasks", + "tags": [ + "Service Requests" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "request_tasks" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqRequestTask" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Request Task", + "description": "Creates a new Request Task", + "operationId": "create_service_request_request_task", + "tags": [ + "Service Requests" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqRequestTask" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Request Tasks", + "description": "Returns available HTTP methods and actions", + "operationId": "options_request_tasks", + "tags": [ + "Request Tasks" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/service_requests/{c_id}/request_tasks/{s_id}": { + "get": { + "summary": "Get a Request Task", + "description": "Returns a single Request Task by ID", + "operationId": "get_service_request_request_task", + "tags": [ + "Service Requests" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqRequestTask" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Request Task", + "description": "Updates an existing Request Task", + "operationId": "update_service_request_request_task", + "tags": [ + "Service Requests" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqRequestTask" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqRequestTask" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Request Tasks", + "description": "Returns available HTTP methods and actions", + "operationId": "options_request_tasks", + "tags": [ + "Request Tasks" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/service_templates": { + "get": { + "summary": "List Service Templates", + "description": "Returns a paginated list of Service Templates", + "operationId": "list_service_templates", + "tags": [ + "Service Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "service_templates" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ServiceTemplate" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Service Template", + "description": "Creates a new Service Template", + "operationId": "create_service_template", + "tags": [ + "Service Templates" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceTemplate" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Service Templates", + "description": "Returns available HTTP methods and actions", + "operationId": "options_service_templates", + "tags": [ + "Service Templates" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/service_templates/{c_id}": { + "get": { + "summary": "Get a Service Template", + "description": "Returns a single Service Template by ID", + "operationId": "get_service_template", + "tags": [ + "Service Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ServiceTemplate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Service Template", + "description": "Updates an existing Service Template", + "operationId": "update_service_template", + "tags": [ + "Service Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceTemplate" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ServiceTemplate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Service Template", + "description": "Executes a custom action on a specific Service Template", + "operationId": "action_service_template", + "tags": [ + "Service Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/ServiceTemplate" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ServiceTemplate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Service Template", + "description": "Updates an existing Service Template", + "operationId": "update_service_template", + "tags": [ + "Service Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceTemplate" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ServiceTemplate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Service Template", + "description": "Deletes an existing Service Template", + "operationId": "delete_service_template", + "tags": [ + "Service Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Service Templates", + "description": "Returns available HTTP methods and actions", + "operationId": "options_service_templates", + "tags": [ + "Service Templates" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/service_templates/{c_id}/resource_actions": { + "get": { + "summary": "List Resource Actions for Service Template", + "description": "Returns a paginated list of Resource Actions", + "operationId": "list_service_template_resource_actions", + "tags": [ + "Service Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "resource_actions" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ResourceAction" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Resource Actions", + "description": "Returns available HTTP methods and actions", + "operationId": "options_resource_actions", + "tags": [ + "Resource Actions" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/service_templates/{c_id}/resource_actions/{s_id}": { + "get": { + "summary": "Get a Resource Action", + "description": "Returns a single Resource Action by ID", + "operationId": "get_service_template_resource_action", + "tags": [ + "Service Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ResourceAction" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Resource Actions", + "description": "Returns available HTTP methods and actions", + "operationId": "options_resource_actions", + "tags": [ + "Resource Actions" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/service_templates/{c_id}/tags": { + "get": { + "summary": "List Tags for Service Template", + "description": "Returns a paginated list of Tags", + "operationId": "list_service_template_tags", + "tags": [ + "Service Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "tags" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Tag", + "description": "Creates a new Tag", + "operationId": "create_service_template_tag", + "tags": [ + "Service Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/service_templates/{c_id}/tags/{s_id}": { + "get": { + "summary": "Get a Tag", + "description": "Returns a single Tag by ID", + "operationId": "get_service_template_tag", + "tags": [ + "Service Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Tag", + "description": "Updates an existing Tag", + "operationId": "update_service_template_tag", + "tags": [ + "Service Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Tag", + "description": "Deletes an existing Tag", + "operationId": "delete_service_template_tag", + "tags": [ + "Service Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/service_templates/{c_id}/schedules": { + "get": { + "summary": "List Schedules for Service Template", + "description": "Returns a paginated list of Schedules", + "operationId": "list_service_template_schedules", + "tags": [ + "Service Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "schedules" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqSchedule" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Schedule", + "description": "Creates a new Schedule", + "operationId": "create_service_template_schedule", + "tags": [ + "Service Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqSchedule" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Schedules", + "description": "Returns available HTTP methods and actions", + "operationId": "options_schedules", + "tags": [ + "Schedules" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/service_templates/{c_id}/schedules/{s_id}": { + "get": { + "summary": "Get a Schedule", + "description": "Returns a single Schedule by ID", + "operationId": "get_service_template_schedule", + "tags": [ + "Service Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqSchedule" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Schedule", + "description": "Updates an existing Schedule", + "operationId": "update_service_template_schedule", + "tags": [ + "Service Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqSchedule" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqSchedule" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Schedule", + "description": "Deletes an existing Schedule", + "operationId": "delete_service_template_schedule", + "tags": [ + "Service Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Schedules", + "description": "Returns available HTTP methods and actions", + "operationId": "options_schedules", + "tags": [ + "Schedules" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/service_templates/{c_id}/service_requests": { + "get": { + "summary": "List Service Requests for Service Template", + "description": "Returns a paginated list of Service Requests", + "operationId": "list_service_template_service_requests", + "tags": [ + "Service Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "service_requests" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ServiceTemplateProvisionRequest" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Service Request", + "description": "Creates a new Service Request", + "operationId": "create_service_template_service_request", + "tags": [ + "Service Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceTemplateProvisionRequest" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Service Requests", + "description": "Returns available HTTP methods and actions", + "operationId": "options_service_requests", + "tags": [ + "Service Requests" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/service_templates/{c_id}/service_requests/{s_id}": { + "get": { + "summary": "Get a Service Request", + "description": "Returns a single Service Request by ID", + "operationId": "get_service_template_service_request", + "tags": [ + "Service Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ServiceTemplateProvisionRequest" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Service Request", + "description": "Updates an existing Service Request", + "operationId": "update_service_template_service_request", + "tags": [ + "Service Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceTemplateProvisionRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ServiceTemplateProvisionRequest" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Service Request", + "description": "Deletes an existing Service Request", + "operationId": "delete_service_template_service_request", + "tags": [ + "Service Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Service Requests", + "description": "Returns available HTTP methods and actions", + "operationId": "options_service_requests", + "tags": [ + "Service Requests" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/service_templates/{c_id}/service_dialogs": { + "get": { + "summary": "List Service Dialogs for Service Template", + "description": "Returns a paginated list of Service Dialogs", + "operationId": "list_service_template_service_dialogs", + "tags": [ + "Service Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "service_dialogs" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Dialog" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Service Dialog", + "description": "Creates a new Service Dialog", + "operationId": "create_service_template_service_dialog", + "tags": [ + "Service Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Dialog" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Service Dialogs", + "description": "Returns available HTTP methods and actions", + "operationId": "options_service_dialogs", + "tags": [ + "Service Dialogs" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/service_templates/{c_id}/service_dialogs/{s_id}": { + "get": { + "summary": "Get a Service Dialog", + "description": "Returns a single Service Dialog by ID", + "operationId": "get_service_template_service_dialog", + "tags": [ + "Service Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Dialog" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Service Dialog", + "description": "Updates an existing Service Dialog", + "operationId": "update_service_template_service_dialog", + "tags": [ + "Service Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Dialog" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Dialog" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Service Dialog", + "description": "Deletes an existing Service Dialog", + "operationId": "delete_service_template_service_dialog", + "tags": [ + "Service Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Service Dialogs", + "description": "Returns available HTTP methods and actions", + "operationId": "options_service_dialogs", + "tags": [ + "Service Dialogs" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/services": { + "get": { + "summary": "List Services", + "description": "Returns a paginated list of Services", + "operationId": "list_services", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "services" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Service" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Service", + "description": "Creates a new Service", + "operationId": "create_service", + "tags": [ + "Services" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Service" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Services", + "description": "Returns available HTTP methods and actions", + "operationId": "options_services", + "tags": [ + "Services" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/services/{c_id}": { + "get": { + "summary": "Get a Service", + "description": "Returns a single Service by ID", + "operationId": "get_service", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Service" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Service", + "description": "Updates an existing Service", + "operationId": "update_service", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Service" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Service" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Service", + "description": "Executes a custom action on a specific Service", + "operationId": "action_service", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/Service" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Service" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Service", + "description": "Updates an existing Service", + "operationId": "update_service", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Service" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Service" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Service", + "description": "Deletes an existing Service", + "operationId": "delete_service", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Services", + "description": "Returns available HTTP methods and actions", + "operationId": "options_services", + "tags": [ + "Services" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/services/{c_id}/tags": { + "get": { + "summary": "List Tags for Service", + "description": "Returns a paginated list of Tags", + "operationId": "list_service_tags", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "tags" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Tag", + "description": "Creates a new Tag", + "operationId": "create_service_tag", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/services/{c_id}/tags/{s_id}": { + "get": { + "summary": "Get a Tag", + "description": "Returns a single Tag by ID", + "operationId": "get_service_tag", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Tag", + "description": "Updates an existing Tag", + "operationId": "update_service_tag", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Tag", + "description": "Deletes an existing Tag", + "operationId": "delete_service_tag", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/services/{c_id}/service_dialogs": { + "get": { + "summary": "List Service Dialogs for Service", + "description": "Returns a paginated list of Service Dialogs", + "operationId": "list_service_service_dialogs", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "service_dialogs" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Dialog" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Service Dialog", + "description": "Creates a new Service Dialog", + "operationId": "create_service_service_dialog", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Dialog" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Service Dialogs", + "description": "Returns available HTTP methods and actions", + "operationId": "options_service_dialogs", + "tags": [ + "Service Dialogs" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/services/{c_id}/service_dialogs/{s_id}": { + "get": { + "summary": "Get a Service Dialog", + "description": "Returns a single Service Dialog by ID", + "operationId": "get_service_service_dialog", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Dialog" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Service Dialog", + "description": "Updates an existing Service Dialog", + "operationId": "update_service_service_dialog", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Dialog" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Dialog" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Service Dialog", + "description": "Deletes an existing Service Dialog", + "operationId": "delete_service_service_dialog", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Service Dialogs", + "description": "Returns available HTTP methods and actions", + "operationId": "options_service_dialogs", + "tags": [ + "Service Dialogs" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/services/{c_id}/vms": { + "get": { + "summary": "List Virtual Machines for Service", + "description": "Returns a paginated list of Virtual Machines", + "operationId": "list_service_vms", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "vms" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vm" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Virtual Machine", + "description": "Creates a new Virtual Machine", + "operationId": "create_service_vm", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vm" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Virtual Machines", + "description": "Returns available HTTP methods and actions", + "operationId": "options_vms", + "tags": [ + "Virtual Machines" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/services/{c_id}/vms/{s_id}": { + "get": { + "summary": "Get a Virtual Machine", + "description": "Returns a single Virtual Machine by ID", + "operationId": "get_service_vm", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Vm" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Virtual Machine", + "description": "Updates an existing Virtual Machine", + "operationId": "update_service_vm", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vm" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Vm" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Virtual Machine", + "description": "Deletes an existing Virtual Machine", + "operationId": "delete_service_vm", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Virtual Machines", + "description": "Returns available HTTP methods and actions", + "operationId": "options_vms", + "tags": [ + "Virtual Machines" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/services/{c_id}/orchestration_stacks": { + "get": { + "summary": "List Orchestration Stacks for Service", + "description": "Returns a paginated list of Orchestration Stacks", + "operationId": "list_service_orchestration_stacks", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "orchestration_stacks" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OrchestrationStack" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Orchestration Stack", + "description": "Creates a new Orchestration Stack", + "operationId": "create_service_orchestration_stack", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OrchestrationStack" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Orchestration Stacks", + "description": "Returns available HTTP methods and actions", + "operationId": "options_orchestration_stacks", + "tags": [ + "Orchestration Stacks" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/services/{c_id}/orchestration_stacks/{s_id}": { + "get": { + "summary": "Get a Orchestration Stack", + "description": "Returns a single Orchestration Stack by ID", + "operationId": "get_service_orchestration_stack", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/OrchestrationStack" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Orchestration Stack", + "description": "Updates an existing Orchestration Stack", + "operationId": "update_service_orchestration_stack", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OrchestrationStack" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/OrchestrationStack" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Orchestration Stacks", + "description": "Returns available HTTP methods and actions", + "operationId": "options_orchestration_stacks", + "tags": [ + "Orchestration Stacks" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/services/{c_id}/metric_rollups": { + "get": { + "summary": "List Metric Rollups for Service", + "description": "Returns a paginated list of Metric Rollups", + "operationId": "list_service_metric_rollups", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "metric_rollups" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MetricRollup" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Metric Rollups", + "description": "Returns available HTTP methods and actions", + "operationId": "options_metric_rollups", + "tags": [ + "Metric Rollups" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/services/{c_id}/metric_rollups/{s_id}": { + "get": { + "summary": "Get a Metric Rollup", + "description": "Returns a single Metric Rollup by ID", + "operationId": "get_service_metric_rollup", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MetricRollup" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Metric Rollups", + "description": "Returns available HTTP methods and actions", + "operationId": "options_metric_rollups", + "tags": [ + "Metric Rollups" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/services/{c_id}/generic_objects": { + "get": { + "summary": "List Generic Objects for Service", + "description": "Returns a paginated list of Generic Objects", + "operationId": "list_service_generic_objects", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "generic_objects" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GenericObject" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Generic Object", + "description": "Creates a new Generic Object", + "operationId": "create_service_generic_object", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenericObject" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Generic Objects", + "description": "Returns available HTTP methods and actions", + "operationId": "options_generic_objects", + "tags": [ + "Generic Objects" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/services/{c_id}/generic_objects/{s_id}": { + "get": { + "summary": "Get a Generic Object", + "description": "Returns a single Generic Object by ID", + "operationId": "get_service_generic_object", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/GenericObject" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Generic Object", + "description": "Updates an existing Generic Object", + "operationId": "update_service_generic_object", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GenericObject" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/GenericObject" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Generic Object", + "description": "Deletes an existing Generic Object", + "operationId": "delete_service_generic_object", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Generic Objects", + "description": "Returns available HTTP methods and actions", + "operationId": "options_generic_objects", + "tags": [ + "Generic Objects" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/services/{c_id}/custom_attributes": { + "get": { + "summary": "List Custom Attributes for Service", + "description": "Returns a paginated list of Custom Attributes", + "operationId": "list_service_custom_attributes", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "custom_attributes" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomAttribute" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Custom Attribute", + "description": "Creates a new Custom Attribute", + "operationId": "create_service_custom_attribute", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomAttribute" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Custom Attributes", + "description": "Returns available HTTP methods and actions", + "operationId": "options_custom_attributes", + "tags": [ + "Custom Attributes" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/services/{c_id}/custom_attributes/{s_id}": { + "get": { + "summary": "Get a Custom Attribute", + "description": "Returns a single Custom Attribute by ID", + "operationId": "get_service_custom_attribute", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomAttribute" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Custom Attribute", + "description": "Updates an existing Custom Attribute", + "operationId": "update_service_custom_attribute", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomAttribute" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomAttribute" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Custom Attribute", + "description": "Deletes an existing Custom Attribute", + "operationId": "delete_service_custom_attribute", + "tags": [ + "Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Custom Attributes", + "description": "Returns available HTTP methods and actions", + "operationId": "options_custom_attributes", + "tags": [ + "Custom Attributes" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/shortcuts": { + "get": { + "summary": "List Shortcuts", + "description": "Returns a paginated list of Shortcuts", + "operationId": "list_shortcuts", + "tags": [ + "Shortcuts" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "shortcuts" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqShortcut" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Shortcuts", + "description": "Returns available HTTP methods and actions", + "operationId": "options_shortcuts", + "tags": [ + "Shortcuts" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/shortcuts/{c_id}": { + "get": { + "summary": "Get a Shortcut", + "description": "Returns a single Shortcut by ID", + "operationId": "get_shortcut", + "tags": [ + "Shortcuts" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqShortcut" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Shortcuts", + "description": "Returns available HTTP methods and actions", + "operationId": "options_shortcuts", + "tags": [ + "Shortcuts" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/storage_resources": { + "get": { + "summary": "List Storage Resources", + "description": "Returns a paginated list of Storage Resources", + "operationId": "list_storage_resources", + "tags": [ + "Storage Resources" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "storage_resources" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StorageResource" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Storage Resource", + "description": "Creates a new Storage Resource", + "operationId": "create_storage_resource", + "tags": [ + "Storage Resources" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StorageResource" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Storage Resources", + "description": "Returns available HTTP methods and actions", + "operationId": "options_storage_resources", + "tags": [ + "Storage Resources" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/storage_resources/{c_id}": { + "get": { + "summary": "Get a Storage Resource", + "description": "Returns a single Storage Resource by ID", + "operationId": "get_storage_resource", + "tags": [ + "Storage Resources" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/StorageResource" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Storage Resource", + "description": "Updates an existing Storage Resource", + "operationId": "update_storage_resource", + "tags": [ + "Storage Resources" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StorageResource" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/StorageResource" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Storage Resources", + "description": "Returns available HTTP methods and actions", + "operationId": "options_storage_resources", + "tags": [ + "Storage Resources" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/storage_services": { + "get": { + "summary": "List Storage Services", + "description": "Returns a paginated list of Storage Services", + "operationId": "list_storage_services", + "tags": [ + "Storage Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "storage_services" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StorageService" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Storage Service", + "description": "Creates a new Storage Service", + "operationId": "create_storage_service", + "tags": [ + "Storage Services" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StorageService" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Storage Services", + "description": "Returns available HTTP methods and actions", + "operationId": "options_storage_services", + "tags": [ + "Storage Services" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/storage_services/{c_id}": { + "get": { + "summary": "Get a Storage Service", + "description": "Returns a single Storage Service by ID", + "operationId": "get_storage_service", + "tags": [ + "Storage Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/StorageService" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Storage Service", + "description": "Updates an existing Storage Service", + "operationId": "update_storage_service", + "tags": [ + "Storage Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StorageService" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/StorageService" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Storage Service", + "description": "Executes a custom action on a specific Storage Service", + "operationId": "action_storage_service", + "tags": [ + "Storage Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/StorageService" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/StorageService" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Storage Service", + "description": "Updates an existing Storage Service", + "operationId": "update_storage_service", + "tags": [ + "Storage Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StorageService" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/StorageService" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Storage Service", + "description": "Deletes an existing Storage Service", + "operationId": "delete_storage_service", + "tags": [ + "Storage Services" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Storage Services", + "description": "Returns available HTTP methods and actions", + "operationId": "options_storage_services", + "tags": [ + "Storage Services" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/switches": { + "get": { + "summary": "List Switches", + "description": "Returns a paginated list of Switches", + "operationId": "list_switches", + "tags": [ + "Switches" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "switches" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Switch" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Switch", + "description": "Creates a new Switch", + "operationId": "create_switch", + "tags": [ + "Switches" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Switch" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Switches", + "description": "Returns available HTTP methods and actions", + "operationId": "options_switches", + "tags": [ + "Switches" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/switches/{c_id}": { + "get": { + "summary": "Get a Switch", + "description": "Returns a single Switch by ID", + "operationId": "get_switch", + "tags": [ + "Switches" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Switch" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Switch", + "description": "Executes a custom action on a specific Switch", + "operationId": "action_switch", + "tags": [ + "Switches" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/Switch" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Switch" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Switches", + "description": "Returns available HTTP methods and actions", + "operationId": "options_switches", + "tags": [ + "Switches" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/tags": { + "get": { + "summary": "List Tags", + "description": "Returns a paginated list of Tags", + "operationId": "list_tags", + "tags": [ + "Tags" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "tags" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Tag", + "description": "Creates a new Tag", + "operationId": "create_tag", + "tags": [ + "Tags" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/tags/{c_id}": { + "get": { + "summary": "Get a Tag", + "description": "Returns a single Tag by ID", + "operationId": "get_tag", + "tags": [ + "Tags" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Tag", + "description": "Updates an existing Tag", + "operationId": "update_tag", + "tags": [ + "Tags" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Tag", + "description": "Deletes an existing Tag", + "operationId": "delete_tag", + "tags": [ + "Tags" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/tasks": { + "get": { + "summary": "List Tasks", + "description": "Returns a paginated list of Tasks", + "operationId": "list_tasks", + "tags": [ + "Tasks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "tasks" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqTask" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Task", + "description": "Creates a new Task", + "operationId": "create_task", + "tags": [ + "Tasks" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqTask" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tasks", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tasks", + "tags": [ + "Tasks" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/tasks/{c_id}": { + "get": { + "summary": "Get a Task", + "description": "Returns a single Task by ID", + "operationId": "get_task", + "tags": [ + "Tasks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqTask" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Task", + "description": "Updates an existing Task", + "operationId": "update_task", + "tags": [ + "Tasks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqTask" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqTask" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Task", + "description": "Deletes an existing Task", + "operationId": "delete_task", + "tags": [ + "Tasks" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tasks", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tasks", + "tags": [ + "Tasks" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/templates": { + "get": { + "summary": "List Templates", + "description": "Returns a paginated list of Templates", + "operationId": "list_templates", + "tags": [ + "Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "templates" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqTemplate" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Template", + "description": "Creates a new Template", + "operationId": "create_template", + "tags": [ + "Templates" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqTemplate" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Templates", + "description": "Returns available HTTP methods and actions", + "operationId": "options_templates", + "tags": [ + "Templates" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/templates/{c_id}": { + "get": { + "summary": "Get a Template", + "description": "Returns a single Template by ID", + "operationId": "get_template", + "tags": [ + "Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqTemplate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Template", + "description": "Updates an existing Template", + "operationId": "update_template", + "tags": [ + "Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqTemplate" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqTemplate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Template", + "description": "Executes a custom action on a specific Template", + "operationId": "action_template", + "tags": [ + "Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/MiqTemplate" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqTemplate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Template", + "description": "Updates an existing Template", + "operationId": "update_template", + "tags": [ + "Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqTemplate" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqTemplate" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Template", + "description": "Deletes an existing Template", + "operationId": "delete_template", + "tags": [ + "Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Templates", + "description": "Returns available HTTP methods and actions", + "operationId": "options_templates", + "tags": [ + "Templates" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/templates/{c_id}/tags": { + "get": { + "summary": "List Tags for Template", + "description": "Returns a paginated list of Tags", + "operationId": "list_template_tags", + "tags": [ + "Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "tags" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Tag", + "description": "Creates a new Tag", + "operationId": "create_template_tag", + "tags": [ + "Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/templates/{c_id}/tags/{s_id}": { + "get": { + "summary": "Get a Tag", + "description": "Returns a single Tag by ID", + "operationId": "get_template_tag", + "tags": [ + "Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Tag", + "description": "Updates an existing Tag", + "operationId": "update_template_tag", + "tags": [ + "Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Tag", + "description": "Deletes an existing Tag", + "operationId": "delete_template_tag", + "tags": [ + "Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/templates/{c_id}/policies": { + "get": { + "summary": "List Policies for Template", + "description": "Returns a paginated list of Policies", + "operationId": "list_template_policies", + "tags": [ + "Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "policies" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqPolicy" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Policy", + "description": "Creates a new Policy", + "operationId": "create_template_policy", + "tags": [ + "Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicy" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Policies", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policies", + "tags": [ + "Policies" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/templates/{c_id}/policies/{s_id}": { + "get": { + "summary": "Get a Policy", + "description": "Returns a single Policy by ID", + "operationId": "get_template_policy", + "tags": [ + "Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicy" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Policy", + "description": "Updates an existing Policy", + "operationId": "update_template_policy", + "tags": [ + "Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicy" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicy" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Policy", + "description": "Deletes an existing Policy", + "operationId": "delete_template_policy", + "tags": [ + "Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Policies", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policies", + "tags": [ + "Policies" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/templates/{c_id}/policy_profiles": { + "get": { + "summary": "List Policy Profiles for Template", + "description": "Returns a paginated list of Policy Profiles", + "operationId": "list_template_policy_profiles", + "tags": [ + "Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "policy_profiles" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqPolicySet" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Policy Profile", + "description": "Creates a new Policy Profile", + "operationId": "create_template_policy_profile", + "tags": [ + "Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicySet" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Policy Profiles", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policy_profiles", + "tags": [ + "Policy Profiles" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/templates/{c_id}/policy_profiles/{s_id}": { + "get": { + "summary": "Get a Policy Profile", + "description": "Returns a single Policy Profile by ID", + "operationId": "get_template_policy_profile", + "tags": [ + "Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicySet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Policy Profile", + "description": "Updates an existing Policy Profile", + "operationId": "put_template_policy_profile", + "tags": [ + "Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicySet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicySet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Policy Profile", + "description": "Updates an existing Policy Profile", + "operationId": "update_template_policy_profile", + "tags": [ + "Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicySet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicySet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Policy Profile", + "description": "Updates an existing Policy Profile", + "operationId": "patch_template_policy_profile", + "tags": [ + "Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicySet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicySet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Policy Profile", + "description": "Deletes an existing Policy Profile", + "operationId": "delete_template_policy_profile", + "tags": [ + "Templates" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Policy Profiles", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policy_profiles", + "tags": [ + "Policy Profiles" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/tenant_groups": { + "get": { + "summary": "List Tenant Groups", + "description": "Returns a paginated list of Tenant Groups", + "operationId": "list_tenant_groups", + "tags": [ + "Tenant Groups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "tenant_groups" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqGroup" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tenant Groups", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tenant_groups", + "tags": [ + "Tenant Groups" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/tenant_groups/{c_id}": { + "get": { + "summary": "Get a Tenant Group", + "description": "Returns a single Tenant Group by ID", + "operationId": "get_tenant_group", + "tags": [ + "Tenant Groups" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqGroup" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tenant Groups", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tenant_groups", + "tags": [ + "Tenant Groups" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/tenants": { + "get": { + "summary": "List Tenants", + "description": "Returns a paginated list of Tenants", + "operationId": "list_tenants", + "tags": [ + "Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "tenants" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tenant" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Tenant", + "description": "Creates a new Tenant", + "operationId": "create_tenant", + "tags": [ + "Tenants" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tenant" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tenants", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tenants", + "tags": [ + "Tenants" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/tenants/{c_id}": { + "get": { + "summary": "Get a Tenant", + "description": "Returns a single Tenant by ID", + "operationId": "get_tenant", + "tags": [ + "Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tenant" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Tenant", + "description": "Updates an existing Tenant", + "operationId": "update_tenant", + "tags": [ + "Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tenant" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tenant" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Tenant", + "description": "Executes a custom action on a specific Tenant", + "operationId": "action_tenant", + "tags": [ + "Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/Tenant" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tenant" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Tenant", + "description": "Updates an existing Tenant", + "operationId": "update_tenant", + "tags": [ + "Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tenant" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tenant" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Tenant", + "description": "Deletes an existing Tenant", + "operationId": "delete_tenant", + "tags": [ + "Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tenants", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tenants", + "tags": [ + "Tenants" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/tenants/{c_id}/custom_button_events": { + "get": { + "summary": "List Custom Button Events for Tenant", + "description": "Returns a paginated list of Custom Button Events", + "operationId": "list_tenant_custom_button_events", + "tags": [ + "Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "custom_button_events" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomButtonEvent" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Custom Button Events", + "description": "Returns available HTTP methods and actions", + "operationId": "options_custom_button_events", + "tags": [ + "Custom Button Events" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/tenants/{c_id}/custom_button_events/{s_id}": { + "get": { + "summary": "Get a Custom Button Event", + "description": "Returns a single Custom Button Event by ID", + "operationId": "get_tenant_custom_button_event", + "tags": [ + "Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomButtonEvent" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Custom Button Events", + "description": "Returns available HTTP methods and actions", + "operationId": "options_custom_button_events", + "tags": [ + "Custom Button Events" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/tenants/{c_id}/tags": { + "get": { + "summary": "List Tags for Tenant", + "description": "Returns a paginated list of Tags", + "operationId": "list_tenant_tags", + "tags": [ + "Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "tags" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Tag", + "description": "Creates a new Tag", + "operationId": "create_tenant_tag", + "tags": [ + "Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/tenants/{c_id}/tags/{s_id}": { + "get": { + "summary": "Get a Tag", + "description": "Returns a single Tag by ID", + "operationId": "get_tenant_tag", + "tags": [ + "Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Tag", + "description": "Updates an existing Tag", + "operationId": "update_tenant_tag", + "tags": [ + "Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Tag", + "description": "Deletes an existing Tag", + "operationId": "delete_tenant_tag", + "tags": [ + "Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/tenants/{c_id}/quotas": { + "get": { + "summary": "List TenantQuotas for Tenant", + "description": "Returns a paginated list of TenantQuotas", + "operationId": "list_tenant_quotas", + "tags": [ + "Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "quotas" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TenantQuota" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a TenantQuota", + "description": "Creates a new TenantQuota", + "operationId": "create_tenant_quota", + "tags": [ + "Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TenantQuota" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for TenantQuotas", + "description": "Returns available HTTP methods and actions", + "operationId": "options_quotas", + "tags": [ + "TenantQuotas" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/tenants/{c_id}/quotas/{s_id}": { + "get": { + "summary": "Get a TenantQuota", + "description": "Returns a single TenantQuota by ID", + "operationId": "get_tenant_quota", + "tags": [ + "Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/TenantQuota" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a TenantQuota", + "description": "Updates an existing TenantQuota", + "operationId": "put_tenant_quota", + "tags": [ + "Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TenantQuota" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/TenantQuota" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a TenantQuota", + "description": "Updates an existing TenantQuota", + "operationId": "update_tenant_quota", + "tags": [ + "Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TenantQuota" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/TenantQuota" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a TenantQuota", + "description": "Updates an existing TenantQuota", + "operationId": "patch_tenant_quota", + "tags": [ + "Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TenantQuota" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/TenantQuota" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a TenantQuota", + "description": "Deletes an existing TenantQuota", + "operationId": "delete_tenant_quota", + "tags": [ + "Tenants" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for TenantQuotas", + "description": "Returns available HTTP methods and actions", + "operationId": "options_quotas", + "tags": [ + "TenantQuotas" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/time_profiles": { + "get": { + "summary": "List Time Profiles", + "description": "Returns a paginated list of Time Profiles", + "operationId": "list_time_profiles", + "tags": [ + "Time Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "time_profiles" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TimeProfile" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Time Profile", + "description": "Creates a new Time Profile", + "operationId": "create_time_profile", + "tags": [ + "Time Profiles" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TimeProfile" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Time Profiles", + "description": "Returns available HTTP methods and actions", + "operationId": "options_time_profiles", + "tags": [ + "Time Profiles" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/time_profiles/{c_id}": { + "get": { + "summary": "Get a Time Profile", + "description": "Returns a single Time Profile by ID", + "operationId": "get_time_profile", + "tags": [ + "Time Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/TimeProfile" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Time Profile", + "description": "Updates an existing Time Profile", + "operationId": "update_time_profile", + "tags": [ + "Time Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TimeProfile" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/TimeProfile" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Time Profile", + "description": "Updates an existing Time Profile", + "operationId": "update_time_profile", + "tags": [ + "Time Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TimeProfile" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/TimeProfile" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Time Profile", + "description": "Updates an existing Time Profile", + "operationId": "update_time_profile", + "tags": [ + "Time Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TimeProfile" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/TimeProfile" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Time Profile", + "description": "Deletes an existing Time Profile", + "operationId": "delete_time_profile", + "tags": [ + "Time Profiles" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Time Profiles", + "description": "Returns available HTTP methods and actions", + "operationId": "options_time_profiles", + "tags": [ + "Time Profiles" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/users": { + "get": { + "summary": "List Users", + "description": "Returns a paginated list of Users", + "operationId": "list_users", + "tags": [ + "Users" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "users" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/User" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a User", + "description": "Creates a new User", + "operationId": "create_user", + "tags": [ + "Users" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Users", + "description": "Returns available HTTP methods and actions", + "operationId": "options_users", + "tags": [ + "Users" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/users/{c_id}": { + "get": { + "summary": "Get a User", + "description": "Returns a single User by ID", + "operationId": "get_user", + "tags": [ + "Users" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/User" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a User", + "description": "Updates an existing User", + "operationId": "update_user", + "tags": [ + "Users" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/User" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a User", + "description": "Executes a custom action on a specific User", + "operationId": "action_user", + "tags": [ + "Users" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/User" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/User" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a User", + "description": "Updates an existing User", + "operationId": "update_user", + "tags": [ + "Users" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/User" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a User", + "description": "Deletes an existing User", + "operationId": "delete_user", + "tags": [ + "Users" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Users", + "description": "Returns available HTTP methods and actions", + "operationId": "options_users", + "tags": [ + "Users" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/users/{c_id}/custom_button_events": { + "get": { + "summary": "List Custom Button Events for User", + "description": "Returns a paginated list of Custom Button Events", + "operationId": "list_user_custom_button_events", + "tags": [ + "Users" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "custom_button_events" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomButtonEvent" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Custom Button Events", + "description": "Returns available HTTP methods and actions", + "operationId": "options_custom_button_events", + "tags": [ + "Custom Button Events" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/users/{c_id}/custom_button_events/{s_id}": { + "get": { + "summary": "Get a Custom Button Event", + "description": "Returns a single Custom Button Event by ID", + "operationId": "get_user_custom_button_event", + "tags": [ + "Users" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomButtonEvent" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Custom Button Events", + "description": "Returns available HTTP methods and actions", + "operationId": "options_custom_button_events", + "tags": [ + "Custom Button Events" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/users/{c_id}/tags": { + "get": { + "summary": "List Tags for User", + "description": "Returns a paginated list of Tags", + "operationId": "list_user_tags", + "tags": [ + "Users" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "tags" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Tag", + "description": "Creates a new Tag", + "operationId": "create_user_tag", + "tags": [ + "Users" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/users/{c_id}/tags/{s_id}": { + "get": { + "summary": "Get a Tag", + "description": "Returns a single Tag by ID", + "operationId": "get_user_tag", + "tags": [ + "Users" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Tag", + "description": "Updates an existing Tag", + "operationId": "update_user_tag", + "tags": [ + "Users" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Tag", + "description": "Deletes an existing Tag", + "operationId": "delete_user_tag", + "tags": [ + "Users" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/vms": { + "get": { + "summary": "List Virtual Machines", + "description": "Returns a paginated list of Virtual Machines", + "operationId": "list_vms", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "vms" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Vm" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Virtual Machine", + "description": "Creates a new Virtual Machine", + "operationId": "create_vm", + "tags": [ + "Virtual Machines" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Vm" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Virtual Machines", + "description": "Returns available HTTP methods and actions", + "operationId": "options_vms", + "tags": [ + "Virtual Machines" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/vms/{c_id}": { + "get": { + "summary": "Get a Virtual Machine", + "description": "Returns a single Virtual Machine by ID", + "operationId": "get_vm", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Vm" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Perform action on a Virtual Machine", + "description": "Executes a custom action on a specific Virtual Machine", + "operationId": "action_vm", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to perform" + } + }, + "required": [ + "action" + ] + }, + { + "$ref": "#/components/schemas/Vm" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Vm" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Virtual Machine", + "description": "Deletes an existing Virtual Machine", + "operationId": "delete_vm", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Virtual Machines", + "description": "Returns available HTTP methods and actions", + "operationId": "options_vms", + "tags": [ + "Virtual Machines" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/vms/{c_id}/cdroms": { + "get": { + "summary": "List CD-ROMs for Virtual Machine", + "description": "Returns a paginated list of CD-ROMs", + "operationId": "list_vm_cdroms", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "cdroms" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Disk" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for CD-ROMs", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cdroms", + "tags": [ + "CD-ROMs" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/vms/{c_id}/cdroms/{s_id}": { + "get": { + "summary": "Get a CD-ROM", + "description": "Returns a single CD-ROM by ID", + "operationId": "get_vm_cdrom", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Disk" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for CD-ROMs", + "description": "Returns available HTTP methods and actions", + "operationId": "options_cdroms", + "tags": [ + "CD-ROMs" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/vms/{c_id}/disks": { + "get": { + "summary": "List Disks for Virtual Machine", + "description": "Returns a paginated list of Disks", + "operationId": "list_vm_disks", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "disks" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Disk" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Disks", + "description": "Returns available HTTP methods and actions", + "operationId": "options_disks", + "tags": [ + "Disks" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/vms/{c_id}/disks/{s_id}": { + "get": { + "summary": "Get a Disk", + "description": "Returns a single Disk by ID", + "operationId": "get_vm_disk", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Disk" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Disks", + "description": "Returns available HTTP methods and actions", + "operationId": "options_disks", + "tags": [ + "Disks" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/vms/{c_id}/tags": { + "get": { + "summary": "List Tags for Virtual Machine", + "description": "Returns a paginated list of Tags", + "operationId": "list_vm_tags", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "tags" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Tag", + "description": "Creates a new Tag", + "operationId": "create_vm_tag", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/vms/{c_id}/tags/{s_id}": { + "get": { + "summary": "Get a Tag", + "description": "Returns a single Tag by ID", + "operationId": "get_vm_tag", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Tag", + "description": "Updates an existing Tag", + "operationId": "update_vm_tag", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Tag", + "description": "Deletes an existing Tag", + "operationId": "delete_vm_tag", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Tags", + "description": "Returns available HTTP methods and actions", + "operationId": "options_tags", + "tags": [ + "Tags" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/vms/{c_id}/policies": { + "get": { + "summary": "List Policies for Virtual Machine", + "description": "Returns a paginated list of Policies", + "operationId": "list_vm_policies", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "policies" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqPolicy" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Policy", + "description": "Creates a new Policy", + "operationId": "create_vm_policy", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicy" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Policies", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policies", + "tags": [ + "Policies" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/vms/{c_id}/policies/{s_id}": { + "get": { + "summary": "Get a Policy", + "description": "Returns a single Policy by ID", + "operationId": "get_vm_policy", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicy" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Policy", + "description": "Updates an existing Policy", + "operationId": "update_vm_policy", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicy" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicy" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Policy", + "description": "Deletes an existing Policy", + "operationId": "delete_vm_policy", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Policies", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policies", + "tags": [ + "Policies" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/vms/{c_id}/policy_profiles": { + "get": { + "summary": "List Policy Profiles for Virtual Machine", + "description": "Returns a paginated list of Policy Profiles", + "operationId": "list_vm_policy_profiles", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "policy_profiles" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqPolicySet" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Policy Profile", + "description": "Creates a new Policy Profile", + "operationId": "create_vm_policy_profile", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicySet" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Policy Profiles", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policy_profiles", + "tags": [ + "Policy Profiles" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/vms/{c_id}/policy_profiles/{s_id}": { + "get": { + "summary": "Get a Policy Profile", + "description": "Returns a single Policy Profile by ID", + "operationId": "get_vm_policy_profile", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicySet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Policy Profile", + "description": "Updates an existing Policy Profile", + "operationId": "put_vm_policy_profile", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicySet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicySet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Policy Profile", + "description": "Updates an existing Policy Profile", + "operationId": "update_vm_policy_profile", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicySet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicySet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Policy Profile", + "description": "Updates an existing Policy Profile", + "operationId": "patch_vm_policy_profile", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqPolicySet" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqPolicySet" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Policy Profile", + "description": "Deletes an existing Policy Profile", + "operationId": "delete_vm_policy_profile", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Policy Profiles", + "description": "Returns available HTTP methods and actions", + "operationId": "options_policy_profiles", + "tags": [ + "Policy Profiles" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/vms/{c_id}/accounts": { + "get": { + "summary": "List Accounts for Virtual Machine", + "description": "Returns a paginated list of Accounts", + "operationId": "list_vm_accounts", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "accounts" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Account" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Accounts", + "description": "Returns available HTTP methods and actions", + "operationId": "options_accounts", + "tags": [ + "Accounts" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/vms/{c_id}/accounts/{s_id}": { + "get": { + "summary": "Get a Account", + "description": "Returns a single Account by ID", + "operationId": "get_vm_account", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Account" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Accounts", + "description": "Returns available HTTP methods and actions", + "operationId": "options_accounts", + "tags": [ + "Accounts" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/vms/{c_id}/compliances": { + "get": { + "summary": "List Compliances for Virtual Machine", + "description": "Returns a paginated list of Compliances", + "operationId": "list_vm_compliances", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "compliances" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Compliance" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Compliances", + "description": "Returns available HTTP methods and actions", + "operationId": "options_compliances", + "tags": [ + "Compliances" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/vms/{c_id}/compliances/{s_id}": { + "get": { + "summary": "Get a Compliance", + "description": "Returns a single Compliance by ID", + "operationId": "get_vm_compliance", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Compliance" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Compliances", + "description": "Returns available HTTP methods and actions", + "operationId": "options_compliances", + "tags": [ + "Compliances" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/vms/{c_id}/custom_attributes": { + "get": { + "summary": "List Custom Attributes for Virtual Machine", + "description": "Returns a paginated list of Custom Attributes", + "operationId": "list_vm_custom_attributes", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "custom_attributes" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomAttribute" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Custom Attribute", + "description": "Creates a new Custom Attribute", + "operationId": "create_vm_custom_attribute", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomAttribute" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Custom Attributes", + "description": "Returns available HTTP methods and actions", + "operationId": "options_custom_attributes", + "tags": [ + "Custom Attributes" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/vms/{c_id}/custom_attributes/{s_id}": { + "get": { + "summary": "Get a Custom Attribute", + "description": "Returns a single Custom Attribute by ID", + "operationId": "get_vm_custom_attribute", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomAttribute" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Custom Attribute", + "description": "Updates an existing Custom Attribute", + "operationId": "update_vm_custom_attribute", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomAttribute" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomAttribute" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Custom Attribute", + "description": "Deletes an existing Custom Attribute", + "operationId": "delete_vm_custom_attribute", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Custom Attributes", + "description": "Returns available HTTP methods and actions", + "operationId": "options_custom_attributes", + "tags": [ + "Custom Attributes" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/vms/{c_id}/security_groups": { + "get": { + "summary": "List Security Groups for Virtual Machine", + "description": "Returns a paginated list of Security Groups", + "operationId": "list_vm_security_groups", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "security_groups" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SecurityGroup" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Security Group", + "description": "Creates a new Security Group", + "operationId": "create_vm_security_group", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SecurityGroup" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Security Groups", + "description": "Returns available HTTP methods and actions", + "operationId": "options_security_groups", + "tags": [ + "Security Groups" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/vms/{c_id}/security_groups/{s_id}": { + "get": { + "summary": "Get a Security Group", + "description": "Returns a single Security Group by ID", + "operationId": "get_vm_security_group", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SecurityGroup" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Security Group", + "description": "Updates an existing Security Group", + "operationId": "update_vm_security_group", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SecurityGroup" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SecurityGroup" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Security Groups", + "description": "Returns available HTTP methods and actions", + "operationId": "options_security_groups", + "tags": [ + "Security Groups" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/vms/{c_id}/software": { + "get": { + "summary": "List Software for Virtual Machine", + "description": "Returns a paginated list of Software", + "operationId": "list_vm_software", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "software" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GuestApplication" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Software", + "description": "Returns available HTTP methods and actions", + "operationId": "options_software", + "tags": [ + "Software" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/vms/{c_id}/software/{s_id}": { + "get": { + "summary": "Get a Software", + "description": "Returns a single Software by ID", + "operationId": "get_vm_software", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/GuestApplication" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Software", + "description": "Returns available HTTP methods and actions", + "operationId": "options_software", + "tags": [ + "Software" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/vms/{c_id}/snapshots": { + "get": { + "summary": "List Snapshots for Virtual Machine", + "description": "Returns a paginated list of Snapshots", + "operationId": "list_vm_snapshots", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "snapshots" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Snapshot" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Snapshot", + "description": "Creates a new Snapshot", + "operationId": "create_vm_snapshot", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Snapshot" + } + } + } + }, + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Snapshots", + "description": "Returns available HTTP methods and actions", + "operationId": "options_snapshots", + "tags": [ + "Snapshots" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/vms/{c_id}/snapshots/{s_id}": { + "get": { + "summary": "Get a Snapshot", + "description": "Returns a single Snapshot by ID", + "operationId": "get_vm_snapshot", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Snapshot" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Snapshot", + "description": "Updates an existing Snapshot", + "operationId": "update_vm_snapshot", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Snapshot" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Snapshot" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Snapshot", + "description": "Deletes an existing Snapshot", + "operationId": "delete_vm_snapshot", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Snapshots", + "description": "Returns available HTTP methods and actions", + "operationId": "options_snapshots", + "tags": [ + "Snapshots" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/vms/{c_id}/metrics": { + "get": { + "summary": "List Metrics for Virtual Machine", + "description": "Returns a paginated list of Metrics", + "operationId": "list_vm_metrics", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "metrics" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Metric" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Metrics", + "description": "Returns available HTTP methods and actions", + "operationId": "options_metrics", + "tags": [ + "Metrics" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/vms/{c_id}/metrics/{s_id}": { + "get": { + "summary": "Get a Metric", + "description": "Returns a single Metric by ID", + "operationId": "get_vm_metric", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Metric" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Metrics", + "description": "Returns available HTTP methods and actions", + "operationId": "options_metrics", + "tags": [ + "Metrics" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/vms/{c_id}/metric_rollups": { + "get": { + "summary": "List Metric Rollups for Virtual Machine", + "description": "Returns a paginated list of Metric Rollups", + "operationId": "list_vm_metric_rollups", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "metric_rollups" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MetricRollup" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Metric Rollups", + "description": "Returns available HTTP methods and actions", + "operationId": "options_metric_rollups", + "tags": [ + "Metric Rollups" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/vms/{c_id}/metric_rollups/{s_id}": { + "get": { + "summary": "Get a Metric Rollup", + "description": "Returns a single Metric Rollup by ID", + "operationId": "get_vm_metric_rollup", + "tags": [ + "Virtual Machines" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/subResourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MetricRollup" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Metric Rollups", + "description": "Returns available HTTP methods and actions", + "operationId": "options_metric_rollups", + "tags": [ + "Metric Rollups" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/volume_mappings": { + "get": { + "summary": "List Volume Mappings", + "description": "Returns a paginated list of Volume Mappings", + "operationId": "list_volume_mappings", + "tags": [ + "Volume Mappings" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "volume_mappings" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VolumeMapping" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Volume Mapping", + "description": "Creates a new Volume Mapping", + "operationId": "create_volume_mapping", + "tags": [ + "Volume Mappings" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VolumeMapping" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Volume Mappings", + "description": "Returns available HTTP methods and actions", + "operationId": "options_volume_mappings", + "tags": [ + "Volume Mappings" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/volume_mappings/{c_id}": { + "get": { + "summary": "Get a Volume Mapping", + "description": "Returns a single Volume Mapping by ID", + "operationId": "get_volume_mapping", + "tags": [ + "Volume Mappings" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/VolumeMapping" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Volume Mapping", + "description": "Updates an existing Volume Mapping", + "operationId": "update_volume_mapping", + "tags": [ + "Volume Mappings" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VolumeMapping" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/VolumeMapping" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Volume Mapping", + "description": "Deletes an existing Volume Mapping", + "operationId": "delete_volume_mapping", + "tags": [ + "Volume Mappings" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Volume Mappings", + "description": "Returns available HTTP methods and actions", + "operationId": "options_volume_mappings", + "tags": [ + "Volume Mappings" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/widgets": { + "get": { + "summary": "List Miq Widgets", + "description": "Returns a paginated list of Miq Widgets", + "operationId": "list_widgets", + "tags": [ + "Miq Widgets" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "widgets" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MiqWidget" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Miq Widget", + "description": "Creates a new Miq Widget", + "operationId": "create_widget", + "tags": [ + "Miq Widgets" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqWidget" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Miq Widgets", + "description": "Returns available HTTP methods and actions", + "operationId": "options_widgets", + "tags": [ + "Miq Widgets" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/widgets/{c_id}": { + "get": { + "summary": "Get a Miq Widget", + "description": "Returns a single Miq Widget by ID", + "operationId": "get_widget", + "tags": [ + "Miq Widgets" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqWidget" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Miq Widget", + "description": "Updates an existing Miq Widget", + "operationId": "update_widget", + "tags": [ + "Miq Widgets" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MiqWidget" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MiqWidget" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Miq Widgets", + "description": "Returns available HTTP methods and actions", + "operationId": "options_widgets", + "tags": [ + "Miq Widgets" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/zones": { + "get": { + "summary": "List Zones", + "description": "Returns a paginated list of Zones", + "operationId": "list_zones", + "tags": [ + "Zones" + ], + "parameters": [ + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/sortBy" + }, + { + "$ref": "#/components/parameters/sortOrder" + }, + { + "$ref": "#/components/parameters/offset" + }, + { + "$ref": "#/components/parameters/limit" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "zones" + }, + "count": { + "type": "integer" + }, + "subcount": { + "type": "integer" + }, + "pages": { + "type": "integer" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Zone" + } + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Action" + } + }, + "links": { + "$ref": "#/components/schemas/CollectionLinks" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Create a Zone", + "description": "Creates a new Zone", + "operationId": "create_zone", + "tags": [ + "Zones" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Zone" + } + } + } + }, + "responses": { + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Zones", + "description": "Returns available HTTP methods and actions", + "operationId": "options_zones", + "tags": [ + "Zones" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + }, + "/api/{version}/zones/{c_id}": { + "get": { + "summary": "Get a Zone", + "description": "Returns a single Zone by ID", + "operationId": "get_zone", + "tags": [ + "Zones" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/attributes" + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Zone" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "put": { + "summary": "Update a Zone", + "description": "Updates an existing Zone", + "operationId": "update_zone", + "tags": [ + "Zones" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Zone" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Zone" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "summary": "Update a Zone", + "description": "Updates an existing Zone", + "operationId": "update_zone", + "tags": [ + "Zones" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Zone" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Zone" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "patch": { + "summary": "Update a Zone", + "description": "Updates an existing Zone", + "operationId": "update_zone", + "tags": [ + "Zones" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Zone" + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Zone" + }, + { + "type": "object", + "properties": { + "href": { + "type": "string", + "format": "uri", + "description": "Resource URL" + }, + "actions": { + "type": "array", + "description": "Available actions for this resource", + "items": { + "$ref": "#/components/schemas/Action" + } + } + } + } + ] + } + } + } + }, + "404": { + "$ref": "#/components/responses/NotFound" + }, + "422": { + "$ref": "#/components/responses/UnprocessableEntity" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "delete": { + "summary": "Delete a Zone", + "description": "Deletes an existing Zone", + "operationId": "delete_zone", + "tags": [ + "Zones" + ], + "parameters": [ + { + "$ref": "#/components/parameters/resourceId" + } + ], + "responses": { + "404": { + "$ref": "#/components/responses/NotFound" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "options": { + "summary": "Get options for Zones", + "description": "Returns available HTTP methods and actions", + "operationId": "options_zones", + "tags": [ + "Zones" + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + } + } + } + } }, "components": { "parameters": { + "version": { + "name": "version", + "in": "path", + "required": false, + "schema": { + "type": "string", + "pattern": "^v\\d+(\\.\\d+)*$" + }, + "description": "API version (optional)" + }, + "resourceId": { + "name": "c_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "pattern": "^\\d+$" + }, + "description": "Resource ID" + }, + "subResourceId": { + "name": "s_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "pattern": "^\\d+$" + }, + "description": "Sub-resource ID" + }, + "expand": { + "name": "expand", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "description": "Comma-separated list of resources to expand", + "example": "resources,tags" + }, + "attributes": { + "name": "attributes", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "description": "Comma-separated list of attributes to return", + "example": "id,name,created_at" + }, + "filter": { + "name": "filter[]", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "Filter expressions (e.g., filter[]=name='test')", + "style": "form", + "explode": true + }, + "sortBy": { + "name": "sort_by", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "description": "Attribute to sort by", + "example": "name" + }, + "sortOrder": { + "name": "sort_order", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ] + }, + "description": "Sort order (ascending or descending)", + "example": "asc" + }, + "offset": { + "name": "offset", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 0, + "default": 0 + }, + "description": "Number of resources to skip for pagination" + }, + "limit": { + "name": "limit", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 1000, + "default": 100 + }, + "description": "Maximum number of resources to return" + } }, "schemas": { "ID": { @@ -1785,6 +87604,9 @@ "deleted_on": { "type": "string", "format": "date-time" + }, + "type": { + "type": "string" } }, "additionalProperties": false @@ -3403,6 +89225,9 @@ }, "ems_ref_type": { "type": "string" + }, + "raw_power_state": { + "type": "string" } }, "additionalProperties": false @@ -6233,9 +92058,6 @@ "adhoc": { "type": "boolean" }, - "file_depot_id": { - "$ref": "#/components/schemas/ID" - }, "resource_id": { "$ref": "#/components/schemas/ID" } @@ -6359,9 +92181,6 @@ "sql_spid": { "type": "integer" }, - "log_file_depot_id": { - "$ref": "#/components/schemas/ID" - }, "proportional_set_size": { "type": "string" }, @@ -6386,8 +92205,8 @@ "unique_set_size": { "type": "string" }, - "has_vix_disk_lib": { - "type": "boolean" + "capabilities": { + "type": "object" } }, "additionalProperties": false @@ -9468,15 +95287,248 @@ "settings": { "type": "string" }, - "log_file_depot_id": { - "$ref": "#/components/schemas/ID" - }, "visible": { "type": "boolean" } }, "additionalProperties": false + }, + "CollectionMetadata": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Collection name" + }, + "count": { + "type": "integer", + "description": "Total count of resources" + }, + "subcount": { + "type": "integer", + "description": "Count of resources in current page" + }, + "pages": { + "type": "integer", + "description": "Total number of pages" + } + } + }, + "CollectionLinks": { + "type": "object", + "properties": { + "self": { + "type": "string", + "format": "uri", + "description": "Link to current page" + }, + "first": { + "type": "string", + "format": "uri", + "description": "Link to first page" + }, + "last": { + "type": "string", + "format": "uri", + "description": "Link to last page" + }, + "next": { + "type": "string", + "format": "uri", + "description": "Link to next page" + }, + "previous": { + "type": "string", + "format": "uri", + "description": "Link to previous page" + } + } + }, + "Action": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Action name" + }, + "method": { + "type": "string", + "enum": [ + "post", + "put", + "patch", + "delete" + ], + "description": "HTTP method for the action" + }, + "href": { + "type": "string", + "format": "uri", + "description": "URL to perform the action" + } + } + }, + "Error": { + "type": "object", + "properties": { + "error": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "description": "Error type" + }, + "message": { + "type": "string", + "description": "Error message" + }, + "klass": { + "type": "string", + "description": "Error class" + } + }, + "required": [ + "kind", + "message" + ] + } + }, + "required": [ + "error" + ] + }, + "ValidationError": { + "type": "object", + "properties": { + "error": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "description": "Error type", + "example": "bad_request" + }, + "message": { + "type": "string", + "description": "Error message" + }, + "errors": { + "type": "object", + "description": "Field-specific validation errors", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": [ + "kind", + "message" + ] + } + }, + "required": [ + "error" + ] + } + }, + "responses": { + "Unauthorized": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "Forbidden": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "NotFound": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "BadRequest": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "UnprocessableEntity": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + } + } + } + }, + "NoContent": { + "description": "No Content" + } + }, + "securitySchemes": { + "basicAuth": { + "type": "http", + "scheme": "basic", + "description": "HTTP Basic Authentication" + }, + "bearerAuth": { + "type": "http", + "scheme": "bearer", + "description": "Bearer token authentication" + }, + "tokenAuth": { + "type": "apiKey", + "in": "header", + "name": "X-Auth-Token", + "description": "Token-based authentication" + } + } + }, + "security": [ + { + "basicAuth": [] + }, + { + "bearerAuth": [] + }, + { + "tokenAuth": [] + } + ], + "servers": [ + { + "url": "https://{hostname}", + "description": "ManageIQ API Server", + "variables": { + "hostname": { + "default": "localhost", + "description": "ManageIQ server hostname" + } } } - } + ] } diff --git a/lib/manageiq/api/open_api/generator.rb b/lib/manageiq/api/open_api/generator.rb index 94c215c0cc..af410899fe 100644 --- a/lib/manageiq/api/open_api/generator.rb +++ b/lib/manageiq/api/open_api/generator.rb @@ -1,12 +1,16 @@ +require 'json' +require_relative 'parameter_builder' +require_relative 'schema_builder' +require_relative 'operation_builder' +require_relative 'path_builder' + module ManageIQ module Api module OpenApi class Generator - require 'json' - OPENAPI_VERSION = "3.0.0".freeze - PARAMETERS_PATH = "/components/parameters".freeze - SCHEMAS_PATH = "/components/schemas".freeze + PARAMETERS_PATH = "#/components/parameters".freeze + SCHEMAS_PATH = "#/components/schemas".freeze attr_reader :manageiq_api_path, :openapi_path, :openapi_spec @@ -19,7 +23,14 @@ def initialize end def generate! - openapi_spec["components"]["schemas"] = build_schemas + openapi_spec["components"]["parameters"] = ParameterBuilder.build_common_parameters + openapi_spec["components"]["schemas"] = build_schemas.merge(SchemaBuilder.build_common_schemas) + openapi_spec["components"]["responses"] = SchemaBuilder.build_common_responses + openapi_spec["components"]["securitySchemes"] = build_security_schemes + openapi_spec["paths"] = PathBuilder.build_paths(::Api::ApiConfig.collections) + openapi_spec["security"] = build_security_requirements + openapi_spec["servers"] = build_servers + openapi_path.write("#{JSON.pretty_generate(openapi_spec)}\n") end @@ -74,7 +85,7 @@ def build_schema_properties_value(model, key, value) properties_value["format"] = "date-time" when :integer if key == model.primary_key || key.ends_with?("_id") - properties_value["$ref"] = "##{SCHEMAS_PATH}/ID" + properties_value["$ref"] = "#{SCHEMAS_PATH}/ID" else properties_value["type"] = "integer" end @@ -102,6 +113,50 @@ def build_schema_properties_value(model, key, value) properties_value end + def build_security_schemes + { + "basicAuth" => { + "type" => "http", + "scheme" => "basic", + "description" => "HTTP Basic Authentication" + }, + "bearerAuth" => { + "type" => "http", + "scheme" => "bearer", + "description" => "Bearer token authentication" + }, + "tokenAuth" => { + "type" => "apiKey", + "in" => "header", + "name" => "X-Auth-Token", + "description" => "Token-based authentication" + } + } + end + + def build_security_requirements + [ + {"basicAuth" => []}, + {"bearerAuth" => []}, + {"tokenAuth" => []} + ] + end + + def build_servers + [ + { + "url" => "https://{hostname}", + "description" => "ManageIQ API Server", + "variables" => { + "hostname" => { + "default" => "localhost", + "description" => "ManageIQ server hostname" + } + } + } + ] + end + def skeletal_openapi_spec { "openapi" => OPENAPI_VERSION, diff --git a/lib/manageiq/api/open_api/operation_builder.rb b/lib/manageiq/api/open_api/operation_builder.rb new file mode 100644 index 0000000000..69548e6248 --- /dev/null +++ b/lib/manageiq/api/open_api/operation_builder.rb @@ -0,0 +1,250 @@ +module ManageIQ + module Api + module OpenApi + module OperationBuilder + SCHEMAS_PATH = "#/components/schemas".freeze + PARAMETERS_PATH = "#/components/parameters".freeze + + def self.build_collection_index_operation(collection_name, collection, model_schema_name) + { + "summary" => "List #{collection[:description] || collection_name}", + "description" => "Returns a paginated list of #{collection[:description] || collection_name}", + "operationId" => "list_#{collection_name}", + "tags" => [collection[:description] || collection_name.to_s.titleize], + "parameters" => ParameterBuilder.collection_query_parameters, + "responses" => { + "200" => { + "description" => "Success", + "content" => { + "application/json" => { + "schema" => SchemaBuilder.build_collection_response_schema(collection_name.to_s, model_schema_name) + } + } + } + }.merge(error_responses) + } + end + + def self.build_resource_show_operation(collection_name, collection, model_schema_name) + { + "summary" => "Get a #{collection[:description]&.singularize || collection_name.to_s.singularize}", + "description" => "Returns a single #{collection[:description]&.singularize || collection_name.to_s.singularize} by ID", + "operationId" => "get_#{collection_name.to_s.singularize}", + "tags" => [collection[:description] || collection_name.to_s.titleize], + "parameters" => [ + { + "$ref" => "#{PARAMETERS_PATH}/resourceId" + } + ] + ParameterBuilder.resource_query_parameters, + "responses" => { + "200" => { + "description" => "Success", + "content" => { + "application/json" => { + "schema" => SchemaBuilder.build_resource_response_schema(model_schema_name) + } + } + }, + "404" => SchemaBuilder.build_standard_responses["404"] + }.merge(error_responses) + } + end + + def self.build_create_operation(collection_name, collection, model_schema_name) + { + "summary" => "Create a #{collection[:description]&.singularize || collection_name.to_s.singularize}", + "description" => "Creates a new #{collection[:description]&.singularize || collection_name.to_s.singularize}", + "operationId" => "create_#{collection_name.to_s.singularize}", + "tags" => [collection[:description] || collection_name.to_s.titleize], + "requestBody" => { + "required" => true, + "content" => { + "application/json" => { + "schema" => { + "$ref" => "#{SCHEMAS_PATH}/#{model_schema_name}" + } + } + } + }, + "responses" => { + "400" => SchemaBuilder.build_standard_responses["400"], + "422" => SchemaBuilder.build_standard_responses["422"] + }.merge(error_responses) + } + end + + def self.build_update_operation(collection_name, collection, model_schema_name) + { + "summary" => "Update a #{collection[:description]&.singularize || collection_name.to_s.singularize}", + "description" => "Updates an existing #{collection[:description]&.singularize || collection_name.to_s.singularize}", + "operationId" => "update_#{collection_name.to_s.singularize}", + "tags" => [collection[:description] || collection_name.to_s.titleize], + "parameters" => [ + {"$ref" => "#{PARAMETERS_PATH}/resourceId"} + ], + "requestBody" => { + "required" => true, + "content" => { + "application/json" => { + "schema" => { + "$ref" => "#{SCHEMAS_PATH}/#{model_schema_name}" + } + } + } + }, + "responses" => { + "200" => { + "description" => "Success", + "content" => { + "application/json" => { + "schema" => SchemaBuilder.build_resource_response_schema(model_schema_name) + } + } + }, + "404" => SchemaBuilder.build_standard_responses["404"], + "422" => SchemaBuilder.build_standard_responses["422"] + }.merge(error_responses) + } + end + + def self.build_delete_operation(collection_name, collection) + { + "summary" => "Delete a #{collection[:description]&.singularize || collection_name.to_s.singularize}", + "description" => "Deletes an existing #{collection[:description]&.singularize || collection_name.to_s.singularize}", + "operationId" => "delete_#{collection_name.to_s.singularize}", + "tags" => [collection[:description] || collection_name.to_s.titleize], + "parameters" => [ + {"$ref" => "#{PARAMETERS_PATH}/resourceId"} + ], + "responses" => { + "404" => SchemaBuilder.build_standard_responses["404"] + }.merge(error_responses) + } + end + + def self.build_bulk_action_operation(collection_name, collection, model_schema_name) + { + "summary" => "Perform bulk actions on #{collection[:description] || collection_name}", + "description" => "Executes actions on multiple #{collection[:description] || collection_name} or performs queries", + "operationId" => "bulk_action_#{collection_name}", + "tags" => [collection[:description] || collection_name.to_s.titleize], + "requestBody" => { + "required" => true, + "content" => { + "application/json" => { + "schema" => { + "oneOf" => [ + { + "type" => "object", + "properties" => { + "action" => { + "type" => "string", + "description" => "Action to perform" + }, + "resources" => { + "type" => "array", + "description" => "Resources to perform action on", + "items" => { + "type" => "object", + "properties" => { + "href" => { + "type" => "string", + "format" => "uri" + } + } + } + } + }, + "required" => ["action"] + }, + { + "$ref" => "#{SCHEMAS_PATH}/#{model_schema_name}" + } + ] + } + } + } + }, + "responses" => { + "200" => { + "description" => "Success", + "content" => { + "application/json" => { + "schema" => { + "type" => "object", + "properties" => { + "results" => { + "type" => "array", + "items" => { + "$ref" => "#{SCHEMAS_PATH}/#{model_schema_name}" + } + } + } + } + } + } + }, + "400" => SchemaBuilder.build_standard_responses["400"], + "422" => SchemaBuilder.build_standard_responses["422"] + }.merge(error_responses) + } + end + + def self.build_resource_action_operation(collection_name, collection, model_schema_name) + { + "summary" => "Perform action on a #{collection[:description]&.singularize || collection_name.to_s.singularize}", + "description" => "Executes a custom action on a specific #{collection[:description]&.singularize || collection_name.to_s.singularize}", + "operationId" => "action_#{collection_name.to_s.singularize}", + "tags" => [collection[:description] || collection_name.to_s.titleize], + "parameters" => [ + {"$ref" => "#{PARAMETERS_PATH}/resourceId"} + ], + "requestBody" => { + "required" => true, + "content" => { + "application/json" => { + "schema" => { + "oneOf" => [ + { + "type" => "object", + "properties" => { + "action" => { + "type" => "string", + "description" => "Action to perform" + } + }, + "required" => ["action"] + }, + { + "$ref" => "#{SCHEMAS_PATH}/#{model_schema_name}" + } + ] + } + } + } + }, + "responses" => { + "200" => { + "description" => "Success", + "content" => { + "application/json" => { + "schema" => SchemaBuilder.build_resource_response_schema(model_schema_name) + } + } + }, + "404" => SchemaBuilder.build_standard_responses["404"], + "422" => SchemaBuilder.build_standard_responses["422"] + }.merge(error_responses) + } + end + + def self.error_responses + { + "401" => SchemaBuilder.build_standard_responses["401"], + "403" => SchemaBuilder.build_standard_responses["403"] + } + end + end + end + end +end diff --git a/lib/manageiq/api/open_api/parameter_builder.rb b/lib/manageiq/api/open_api/parameter_builder.rb new file mode 100644 index 0000000000..cfb621829d --- /dev/null +++ b/lib/manageiq/api/open_api/parameter_builder.rb @@ -0,0 +1,141 @@ +module ManageIQ + module Api + module OpenApi + module ParameterBuilder + PARAMETERS_PATH = "#/components/parameters".freeze + + def self.build_common_parameters + { + "version" => { + "name" => "version", + "in" => "path", + "required" => false, + "schema" => { + "type" => "string", + "pattern" => "^v\\d+(\\.\\d+)*$" + }, + "description" => "API version (optional)" + }, + "resourceId" => { + "name" => "c_id", + "in" => "path", + "required" => true, + "schema" => { + "type" => "string", + "pattern" => "^\\d+$" + }, + "description" => "Resource ID" + }, + "subResourceId" => { + "name" => "s_id", + "in" => "path", + "required" => true, + "schema" => { + "type" => "string", + "pattern" => "^\\d+$" + }, + "description" => "Sub-resource ID" + }, + "expand" => { + "name" => "expand", + "in" => "query", + "required" => false, + "schema" => { + "type" => "string" + }, + "description" => "Comma-separated list of resources to expand", + "example" => "resources,tags" + }, + "attributes" => { + "name" => "attributes", + "in" => "query", + "required" => false, + "schema" => { + "type" => "string" + }, + "description" => "Comma-separated list of attributes to return", + "example" => "id,name,created_at" + }, + "filter" => { + "name" => "filter[]", + "in" => "query", + "required" => false, + "schema" => { + "type" => "array", + "items" => { + "type" => "string" + } + }, + "description" => "Filter expressions (e.g., filter[]=name='test')", + "style" => "form", + "explode" => true + }, + "sortBy" => { + "name" => "sort_by", + "in" => "query", + "required" => false, + "schema" => { + "type" => "string" + }, + "description" => "Attribute to sort by", + "example" => "name" + }, + "sortOrder" => { + "name" => "sort_order", + "in" => "query", + "required" => false, + "schema" => { + "type" => "string", + "enum" => ["asc", "desc"] + }, + "description" => "Sort order (ascending or descending)", + "example" => "asc" + }, + "offset" => { + "name" => "offset", + "in" => "query", + "required" => false, + "schema" => { + "type" => "integer", + "minimum" => 0, + "default" => 0 + }, + "description" => "Number of resources to skip for pagination" + }, + "limit" => { + "name" => "limit", + "in" => "query", + "required" => false, + "schema" => { + "type" => "integer", + "minimum" => 1, + "maximum" => 1000, + "default" => 100 + }, + "description" => "Maximum number of resources to return" + } + } + end + + def self.collection_query_parameters + [ + {"$ref" => "#{PARAMETERS_PATH}/expand"}, + {"$ref" => "#{PARAMETERS_PATH}/attributes"}, + {"$ref" => "#{PARAMETERS_PATH}/filter"}, + {"$ref" => "#{PARAMETERS_PATH}/sortBy"}, + {"$ref" => "#{PARAMETERS_PATH}/sortOrder"}, + {"$ref" => "#{PARAMETERS_PATH}/offset"}, + {"$ref" => "#{PARAMETERS_PATH}/limit"} + ] + end + + def self.resource_query_parameters + [ + {"$ref" => "#{PARAMETERS_PATH}/expand"}, + {"$ref" => "#{PARAMETERS_PATH}/attributes"} + ] + end + end + end + end +end diff --git a/lib/manageiq/api/open_api/path_builder.rb b/lib/manageiq/api/open_api/path_builder.rb new file mode 100644 index 0000000000..1355a9a3d8 --- /dev/null +++ b/lib/manageiq/api/open_api/path_builder.rb @@ -0,0 +1,480 @@ +module ManageIQ + module Api + module OpenApi + module PathBuilder + PARAMETERS_PATH = "#/components/parameters".freeze + + def self.build_paths(collections) + paths = {} + + collections.each do |collection_name, collection| + # Skip collections without a model class + next unless collection.klass + + model_schema_name = collection.klass.gsub("::", "_") + + # Handle primary collections (e.g., auth) + if collection.options.include?(:primary) + build_primary_collection_paths(paths, collection_name, collection, model_schema_name) + next + end + + # Handle regular collections + if collection.options.include?(:collection) + build_collection_paths(paths, collection_name, collection, model_schema_name) + end + + # Handle subcollections + if collection.options.include?(:subcollection) + # Subcollections are handled when processing their parent collections + next + end + end + + paths + end + + def self.build_primary_collection_paths(paths, collection_name, collection, model_schema_name) + base_path = "/api/{version}/#{collection_name}" + + path_item = {} + + # Add operations based on verbs + collection.verbs.each do |verb| + case verb + when :get + path_item["get"] = OperationBuilder.build_collection_index_operation( + collection_name, collection, model_schema_name + ) + when :post + path_item["post"] = OperationBuilder.build_bulk_action_operation( + collection_name, collection, model_schema_name + ) + when :delete + path_item["delete"] = { + "summary" => "Delete #{collection[:description] || collection_name}", + "description" => "Deletes the #{collection[:description] || collection_name}", + "operationId" => "delete_#{collection_name}", + "tags" => [collection[:description] || collection_name.to_s.titleize], + "responses" => OperationBuilder.error_responses + } + end + end + + # Add OPTIONS + path_item["options"] = build_options_operation(collection_name, collection) + + paths[base_path] = path_item unless path_item.empty? + end + + def self.build_collection_paths(paths, collection_name, collection, model_schema_name) + # Collection index path: /api/{version}/collection_name + collection_path = "/api/{version}/#{collection_name}" + + # Resource path: /api/{version}/collection_name/{c_id} + resource_path = "/api/{version}/#{collection_name}/{c_id}" + + collection_operations = {} + resource_operations = {} + + # Build operations based on verbs + collection.verbs.each do |verb| + case verb + when :get + # GET collection (index) + collection_operations["get"] = OperationBuilder.build_collection_index_operation( + collection_name, collection, model_schema_name + ) + + # GET resource (show) + resource_operations["get"] = OperationBuilder.build_resource_show_operation( + collection_name, collection, model_schema_name + ) + + when :post + # POST collection (create or bulk action) + collection_operations["post"] = OperationBuilder.build_create_operation( + collection_name, collection, model_schema_name + ) + + # POST resource (update or action) + resource_operations["post"] = if collection.options.include?(:custom_actions) + OperationBuilder.build_resource_action_operation( + collection_name, collection, model_schema_name + ) + else + OperationBuilder.build_update_operation( + collection_name, collection, model_schema_name + ) + end + + when :put + # PUT resource (update) + resource_operations["put"] = OperationBuilder.build_update_operation( + collection_name, collection, model_schema_name + ) + + when :patch + # PATCH resource (update) + resource_operations["patch"] = OperationBuilder.build_update_operation( + collection_name, collection, model_schema_name + ) + + when :delete + # DELETE resource + resource_operations["delete"] = OperationBuilder.build_delete_operation( + collection_name, collection + ) + end + end + + # Add OPTIONS + collection_operations["options"] = build_options_operation(collection_name, collection) + resource_operations["options"] = build_options_operation(collection_name, collection) + + paths[collection_path] = collection_operations unless collection_operations.empty? + paths[resource_path] = resource_operations unless resource_operations.empty? + + # Build subcollection paths + collection.subcollections&.each do |subcollection_name| + build_subcollection_paths( + paths, + collection_name, + subcollection_name, + collection, + ::Api::ApiConfig.collections[subcollection_name] + ) + end + end + + def self.build_subcollection_paths(paths, parent_collection_name, subcollection_name, parent_collection, subcollection) + return unless subcollection&.klass + + model_schema_name = subcollection.klass.gsub("::", "_") + + # Special case: settings subcollection + if subcollection_name == :settings + settings_path = "/api/{version}/#{parent_collection_name}/{c_id}/settings" + + settings_operations = { + "get" => { + "summary" => "Get settings for #{parent_collection[:description]&.singularize || parent_collection_name.to_s.singularize}", + "description" => "Returns settings for the specified resource", + "operationId" => "get_#{parent_collection_name.to_s.singularize}_settings", + "tags" => [parent_collection[:description] || parent_collection_name.to_s.titleize], + "parameters" => [ + {"$ref" => "#{PARAMETERS_PATH}/resourceId"} + ], + "responses" => { + "200" => { + "description" => "Success", + "content" => { + "application/json" => { + "schema" => { + "type" => "object", + "additionalProperties" => true + } + } + } + }, + "404" => SchemaBuilder.build_standard_responses["404"] + }.merge(OperationBuilder.error_responses) + }, + "patch" => { + "summary" => "Update settings for #{parent_collection[:description]&.singularize || parent_collection_name.to_s.singularize}", + "description" => "Updates settings for the specified resource", + "operationId" => "update_#{parent_collection_name.to_s.singularize}_settings", + "tags" => [parent_collection[:description] || parent_collection_name.to_s.titleize], + "parameters" => [ + {"$ref" => "#{PARAMETERS_PATH}/resourceId"} + ], + "requestBody" => { + "required" => true, + "content" => { + "application/json" => { + "schema" => { + "type" => "object", + "additionalProperties" => true + } + } + } + }, + "responses" => { + "200" => { + "description" => "Success", + "content" => { + "application/json" => { + "schema" => { + "type" => "object", + "additionalProperties" => true + } + } + } + }, + "404" => SchemaBuilder.build_standard_responses["404"], + "422" => SchemaBuilder.build_standard_responses["422"] + }.merge(OperationBuilder.error_responses) + }, + "delete" => { + "summary" => "Delete settings for #{parent_collection[:description]&.singularize || parent_collection_name.to_s.singularize}", + "description" => "Deletes settings for the specified resource", + "operationId" => "delete_#{parent_collection_name.to_s.singularize}_settings", + "tags" => [parent_collection[:description] || parent_collection_name.to_s.titleize], + "parameters" => [ + {"$ref" => "#{PARAMETERS_PATH}/resourceId"} + ], + "responses" => { + "404" => SchemaBuilder.build_standard_responses["404"] + }.merge(OperationBuilder.error_responses) + }, + "options" => build_options_operation(subcollection_name, subcollection) + } + + paths[settings_path] = settings_operations + return + end + + # Subcollection index path: /api/{version}/parent/{c_id}/subcollection + subcollection_path = "/api/{version}/#{parent_collection_name}/{c_id}/#{subcollection_name}" + + # Subresource path: /api/{version}/parent/{c_id}/subcollection/{s_id} + subresource_path = "/api/{version}/#{parent_collection_name}/{c_id}/#{subcollection_name}/{s_id}" + + subcollection_operations = {} + subresource_operations = {} + + # Build operations based on verbs + subcollection.verbs.each do |verb| + case verb + when :get + # GET subcollection (index) + subcollection_operations["get"] = { + "summary" => "List #{subcollection[:description] || subcollection_name} for #{parent_collection[:description]&.singularize || parent_collection_name.to_s.singularize}", + "description" => "Returns a paginated list of #{subcollection[:description] || subcollection_name}", + "operationId" => "list_#{parent_collection_name.to_s.singularize}_#{subcollection_name}", + "tags" => [parent_collection[:description] || parent_collection_name.to_s.titleize], + "parameters" => [ + {"$ref" => "#{PARAMETERS_PATH}/resourceId"} + ] + ParameterBuilder.collection_query_parameters, + "responses" => { + "200" => { + "description" => "Success", + "content" => { + "application/json" => { + "schema" => SchemaBuilder.build_collection_response_schema(subcollection_name.to_s, model_schema_name) + } + } + }, + "404" => SchemaBuilder.build_standard_responses["404"] + }.merge(OperationBuilder.error_responses) + } + + # GET subresource (show) + subresource_operations["get"] = { + "summary" => "Get a #{subcollection[:description]&.singularize || subcollection_name.to_s.singularize}", + "description" => "Returns a single #{subcollection[:description]&.singularize || subcollection_name.to_s.singularize} by ID", + "operationId" => "get_#{parent_collection_name.to_s.singularize}_#{subcollection_name.to_s.singularize}", + "tags" => [parent_collection[:description] || parent_collection_name.to_s.titleize], + "parameters" => [ + {"$ref" => "#{PARAMETERS_PATH}/resourceId"}, + {"$ref" => "#{PARAMETERS_PATH}/subResourceId"} + ] + ParameterBuilder.resource_query_parameters, + "responses" => { + "200" => { + "description" => "Success", + "content" => { + "application/json" => { + "schema" => SchemaBuilder.build_resource_response_schema(model_schema_name) + } + } + }, + "404" => SchemaBuilder.build_standard_responses["404"] + }.merge(OperationBuilder.error_responses) + } + + when :post + # POST subcollection (create) + subcollection_operations["post"] = { + "summary" => "Create a #{subcollection[:description]&.singularize || subcollection_name.to_s.singularize}", + "description" => "Creates a new #{subcollection[:description]&.singularize || subcollection_name.to_s.singularize}", + "operationId" => "create_#{parent_collection_name.to_s.singularize}_#{subcollection_name.to_s.singularize}", + "tags" => [parent_collection[:description] || parent_collection_name.to_s.titleize], + "parameters" => [ + {"$ref" => "#{PARAMETERS_PATH}/resourceId"} + ], + "requestBody" => { + "required" => true, + "content" => { + "application/json" => { + "schema" => { + "$ref" => "#{SchemaBuilder::SCHEMAS_PATH}/#{model_schema_name}" + } + } + } + }, + "responses" => { + "404" => SchemaBuilder.build_standard_responses["404"], + "422" => SchemaBuilder.build_standard_responses["422"] + }.merge(OperationBuilder.error_responses) + } + + # POST subresource (update) + subresource_operations["post"] = { + "summary" => "Update a #{subcollection[:description]&.singularize || subcollection_name.to_s.singularize}", + "description" => "Updates an existing #{subcollection[:description]&.singularize || subcollection_name.to_s.singularize}", + "operationId" => "update_#{parent_collection_name.to_s.singularize}_#{subcollection_name.to_s.singularize}", + "tags" => [parent_collection[:description] || parent_collection_name.to_s.titleize], + "parameters" => [ + {"$ref" => "#{PARAMETERS_PATH}/resourceId"}, + {"$ref" => "#{PARAMETERS_PATH}/subResourceId"} + ], + "requestBody" => { + "required" => true, + "content" => { + "application/json" => { + "schema" => { + "$ref" => "#{SchemaBuilder::SCHEMAS_PATH}/#{model_schema_name}" + } + } + } + }, + "responses" => { + "200" => { + "description" => "Success", + "content" => { + "application/json" => { + "schema" => SchemaBuilder.build_resource_response_schema(model_schema_name) + } + } + }, + "404" => SchemaBuilder.build_standard_responses["404"], + "422" => SchemaBuilder.build_standard_responses["422"] + }.merge(OperationBuilder.error_responses) + } + + when :put + # PUT subresource (update) + subresource_operations["put"] = { + "summary" => "Update a #{subcollection[:description]&.singularize || subcollection_name.to_s.singularize}", + "description" => "Updates an existing #{subcollection[:description]&.singularize || subcollection_name.to_s.singularize}", + "operationId" => "put_#{parent_collection_name.to_s.singularize}_#{subcollection_name.to_s.singularize}", + "tags" => [parent_collection[:description] || parent_collection_name.to_s.titleize], + "parameters" => [ + {"$ref" => "#{PARAMETERS_PATH}/resourceId"}, + {"$ref" => "#{PARAMETERS_PATH}/subResourceId"} + ], + "requestBody" => { + "required" => true, + "content" => { + "application/json" => { + "schema" => { + "$ref" => "#{SchemaBuilder::SCHEMAS_PATH}/#{model_schema_name}" + } + } + } + }, + "responses" => { + "200" => { + "description" => "Success", + "content" => { + "application/json" => { + "schema" => SchemaBuilder.build_resource_response_schema(model_schema_name) + } + } + }, + "404" => SchemaBuilder.build_standard_responses["404"], + "422" => SchemaBuilder.build_standard_responses["422"] + }.merge(OperationBuilder.error_responses) + } + + when :patch + # PATCH subresource (update) + subresource_operations["patch"] = { + "summary" => "Update a #{subcollection[:description]&.singularize || subcollection_name.to_s.singularize}", + "description" => "Updates an existing #{subcollection[:description]&.singularize || subcollection_name.to_s.singularize}", + "operationId" => "patch_#{parent_collection_name.to_s.singularize}_#{subcollection_name.to_s.singularize}", + "tags" => [parent_collection[:description] || parent_collection_name.to_s.titleize], + "parameters" => [ + {"$ref" => "#{PARAMETERS_PATH}/resourceId"}, + {"$ref" => "#{PARAMETERS_PATH}/subResourceId"} + ], + "requestBody" => { + "required" => true, + "content" => { + "application/json" => { + "schema" => { + "$ref" => "#{SchemaBuilder::SCHEMAS_PATH}/#{model_schema_name}" + } + } + } + }, + "responses" => { + "200" => { + "description" => "Success", + "content" => { + "application/json" => { + "schema" => SchemaBuilder.build_resource_response_schema(model_schema_name) + } + } + }, + "404" => SchemaBuilder.build_standard_responses["404"], + "422" => SchemaBuilder.build_standard_responses["422"] + }.merge(OperationBuilder.error_responses) + } + + when :delete + # DELETE subresource + subresource_operations["delete"] = { + "summary" => "Delete a #{subcollection[:description]&.singularize || subcollection_name.to_s.singularize}", + "description" => "Deletes an existing #{subcollection[:description]&.singularize || subcollection_name.to_s.singularize}", + "operationId" => "delete_#{parent_collection_name.to_s.singularize}_#{subcollection_name.to_s.singularize}", + "tags" => [parent_collection[:description] || parent_collection_name.to_s.titleize], + "parameters" => [ + {"$ref" => "#{PARAMETERS_PATH}/resourceId"}, + {"$ref" => "#{PARAMETERS_PATH}/subResourceId"} + ], + "responses" => { + "404" => SchemaBuilder.build_standard_responses["404"] + }.merge(OperationBuilder.error_responses) + } + end + end + + # Add OPTIONS + subcollection_operations["options"] = build_options_operation(subcollection_name, subcollection) + subresource_operations["options"] = build_options_operation(subcollection_name, subcollection) + + paths[subcollection_path] = subcollection_operations unless subcollection_operations.empty? + paths[subresource_path] = subresource_operations unless subresource_operations.empty? + end + + def self.build_options_operation(collection_name, collection) + { + "summary" => "Get options for #{collection[:description] || collection_name}", + "description" => "Returns available HTTP methods and actions", + "operationId" => "options_#{collection_name}", + "tags" => [collection[:description] || collection_name.to_s.titleize], + "responses" => { + "200" => { + "description" => "Success", + "content" => { + "application/json" => { + "schema" => { + "type" => "object", + "properties" => { + "data" => { + "type" => "object", + "additionalProperties" => true + } + } + } + } + } + } + } + } + end + end + end + end +end diff --git a/lib/manageiq/api/open_api/schema_builder.rb b/lib/manageiq/api/open_api/schema_builder.rb new file mode 100644 index 0000000000..98108a07a4 --- /dev/null +++ b/lib/manageiq/api/open_api/schema_builder.rb @@ -0,0 +1,281 @@ +module ManageIQ + module Api + module OpenApi + module SchemaBuilder + SCHEMAS_PATH = "#/components/schemas".freeze + + def self.build_common_schemas + { + "CollectionMetadata" => { + "type" => "object", + "properties" => { + "name" => { + "type" => "string", + "description" => "Collection name" + }, + "count" => { + "type" => "integer", + "description" => "Total count of resources" + }, + "subcount" => { + "type" => "integer", + "description" => "Count of resources in current page" + }, + "pages" => { + "type" => "integer", + "description" => "Total number of pages" + } + } + }, + "CollectionLinks" => { + "type" => "object", + "properties" => { + "self" => { + "type" => "string", + "format" => "uri", + "description" => "Link to current page" + }, + "first" => { + "type" => "string", + "format" => "uri", + "description" => "Link to first page" + }, + "last" => { + "type" => "string", + "format" => "uri", + "description" => "Link to last page" + }, + "next" => { + "type" => "string", + "format" => "uri", + "description" => "Link to next page" + }, + "previous" => { + "type" => "string", + "format" => "uri", + "description" => "Link to previous page" + } + } + }, + "Action" => { + "type" => "object", + "properties" => { + "name" => { + "type" => "string", + "description" => "Action name" + }, + "method" => { + "type" => "string", + "enum" => ["post", "put", "patch", "delete"], + "description" => "HTTP method for the action" + }, + "href" => { + "type" => "string", + "format" => "uri", + "description" => "URL to perform the action" + } + } + }, + "Error" => { + "type" => "object", + "properties" => { + "error" => { + "type" => "object", + "properties" => { + "kind" => { + "type" => "string", + "description" => "Error type" + }, + "message" => { + "type" => "string", + "description" => "Error message" + }, + "klass" => { + "type" => "string", + "description" => "Error class" + } + }, + "required" => ["kind", "message"] + } + }, + "required" => ["error"] + }, + "ValidationError" => { + "type" => "object", + "properties" => { + "error" => { + "type" => "object", + "properties" => { + "kind" => { + "type" => "string", + "description" => "Error type", + "example" => "bad_request" + }, + "message" => { + "type" => "string", + "description" => "Error message" + }, + "errors" => { + "type" => "object", + "description" => "Field-specific validation errors", + "additionalProperties" => { + "type" => "array", + "items" => { + "type" => "string" + } + } + } + }, + "required" => ["kind", "message"] + } + }, + "required" => ["error"] + } + } + end + + def self.build_collection_response_schema(collection_name, model_schema_name) + { + "type" => "object", + "properties" => { + "name" => { + "type" => "string", + "example" => collection_name + }, + "count" => { + "type" => "integer" + }, + "subcount" => { + "type" => "integer" + }, + "pages" => { + "type" => "integer" + }, + "resources" => { + "type" => "array", + "items" => { + "$ref" => "#{SCHEMAS_PATH}/#{model_schema_name}" + } + }, + "actions" => { + "type" => "array", + "items" => { + "$ref" => "#{SCHEMAS_PATH}/Action" + } + }, + "links" => { + "$ref" => "#{SCHEMAS_PATH}/CollectionLinks" + } + } + } + end + + def self.build_resource_response_schema(model_schema_name) + { + "allOf" => [ + {"$ref" => "#{SCHEMAS_PATH}/#{model_schema_name}"}, + { + "type" => "object", + "properties" => { + "href" => { + "type" => "string", + "format" => "uri", + "description" => "Resource URL" + }, + "actions" => { + "type" => "array", + "description" => "Available actions for this resource", + "items" => { + "$ref" => "#{SCHEMAS_PATH}/Action" + } + } + } + } + ] + } + end + + def self.build_common_responses + { + "Unauthorized" => { + "description" => "Unauthorized", + "content" => { + "application/json" => { + "schema" => { + "$ref" => "#{SCHEMAS_PATH}/Error" + } + } + } + }, + "Forbidden" => { + "description" => "Forbidden", + "content" => { + "application/json" => { + "schema" => { + "$ref" => "#{SCHEMAS_PATH}/Error" + } + } + } + }, + "NotFound" => { + "description" => "Not Found", + "content" => { + "application/json" => { + "schema" => { + "$ref" => "#{SCHEMAS_PATH}/Error" + } + } + } + }, + "BadRequest" => { + "description" => "Bad Request", + "content" => { + "application/json" => { + "schema" => { + "$ref" => "#{SCHEMAS_PATH}/Error" + } + } + } + }, + "UnprocessableEntity" => { + "description" => "Unprocessable Entity", + "content" => { + "application/json" => { + "schema" => { + "$ref" => "#{SCHEMAS_PATH}/ValidationError" + } + } + } + }, + "NoContent" => { + "description" => "No Content" + } + } + end + + def self.build_standard_responses + { + "200" => { + "description" => "Success" + }, + "400" => { + "$ref" => "#/components/responses/BadRequest" + }, + "401" => { + "$ref" => "#/components/responses/Unauthorized" + }, + "403" => { + "$ref" => "#/components/responses/Forbidden" + }, + "404" => { + "$ref" => "#/components/responses/NotFound" + }, + "422" => { + "$ref" => "#/components/responses/UnprocessableEntity" + } + } + end + end + end + end +end