OpenAPI Specification
swagger: '2.0'
info:
description: Manage Roles, Images, Environments and etc.
title: Scalr Account Acl Roles Os API
version: 1.0.0
basePath: /api/v1beta0/account
produces:
- application/json
tags:
- name: Os
paths:
/{accountId}/os/:
parameters:
- description: The ID of the Account scoping this request.
in: path
name: accountId
required: true
type: integer
get:
description: List all the Operating Systems definitions available in this Account.
responses:
200:
description: A list of Os objects.
schema:
$ref: '#/definitions/OsListResponse'
400:
description: A client-side error was made.
schema:
$ref: '#/definitions/ApiErrorResponse'
x-errorCodes:
- description: The request was structurally incorrect, and was not understood by the API.
name: InvalidStructure
- description: The request was understood by the API, but included invalid data.
name: InvalidValue
- description: The request wasn't understood by the API.
name: BadRequest
401:
description: The request was not authenticated.
schema:
$ref: '#/definitions/ApiErrorResponse'
x-errorCodes:
- description: The request was not properly authenticated.
name: BadAuthentication
403:
description: Insufficient permissions.
schema:
$ref: '#/definitions/ApiErrorResponse'
x-errorCodes:
- description: This request should be made in a different Scope.
name: ScopeViolation
- description: You do not have the necessary permissions to perform this request.
name: PermissionViolation
- description: The maximum memory limit in GB has been reached.
name: MemoryQuotaExceeded
- description: The vCPUs limit has been reached.
name: VcpusQuotaExceeded
- description: The maximum number of the Servers that you can launch or resume has been reached.
name: ServersQuotaExceeded
- description: The maximum number of the Servers that you can launch or resume on current Farm has been reached.
name: ServersPerFarmQuotaExceeded
404:
description: Resource not found.
schema:
$ref: '#/definitions/ApiErrorResponse'
x-errorCodes:
- description: This endpoint does not exist.
name: EndpointNotFound
noDoc: true
- description: The object you are trying to access does not exist.
name: ObjectNotFound
409:
description: Conflict with current state.
schema:
$ref: '#/definitions/ApiErrorResponse'
x-errorCodes:
- description: These changes aren't possible while this object is in use.
name: ObjectInUse
- description: These changes would violate a policy.
name: PolicyViolation
- description: These changes would violate a unicity constraint.
name: UnicityViolation
- description: Some of the objects being changed are locked and cannot be changed.
name: Locked
- description: This Cloud platform is not enabled.
name: NotEnabledPlatform
- description: The Operating System does not match.
name: OperatingSystemMismatch
- description: Some of these settings cannot be applied, they either conflict with the current state or are invalid.
name: UnacceptableObjectConfiguration
422:
description: This request was well-formed but was rejected due to semantic errors.
schema:
$ref: '#/definitions/ApiErrorResponse'
x-errorCodes:
- description: Some of the configuration settings cannot be applied because they conflict with the current state.
name: ConfigurationMismatch
500:
description: A server-side error occurred.
schema:
$ref: '#/definitions/ApiErrorResponse'
501:
description: This feature is not implemented in Scalr.
schema:
$ref: '#/definitions/ApiErrorResponse'
503:
description: The service is currently unavailable.
schema:
$ref: '#/definitions/ApiErrorResponse'
tags:
- Os
/{accountId}/os/{osId}/:
parameters:
- description: The ID of the Account scoping this request.
in: path
name: accountId
required: true
type: integer
- description: The ID of a Os object.
in: path
name: osId
pattern: '[A-Za-z0-9-]+'
required: true
type: string
x-references:
$ref: '#/definitions/Os'
get:
description: Retrieve detailed information about a given OS.
responses:
200:
description: The JSON representation of a Os object.
schema:
$ref: '#/definitions/OsDetailsResponse'
400:
description: A client-side error was made.
schema:
$ref: '#/definitions/ApiErrorResponse'
x-errorCodes:
- description: The request was structurally incorrect, and was not understood by the API.
name: InvalidStructure
- description: The request was understood by the API, but included invalid data.
name: InvalidValue
- description: The request wasn't understood by the API.
name: BadRequest
401:
description: The request was not authenticated.
schema:
$ref: '#/definitions/ApiErrorResponse'
x-errorCodes:
- description: The request was not properly authenticated.
name: BadAuthentication
403:
description: Insufficient permissions.
schema:
$ref: '#/definitions/ApiErrorResponse'
x-errorCodes:
- description: This request should be made in a different Scope.
name: ScopeViolation
- description: You do not have the necessary permissions to perform this request.
name: PermissionViolation
- description: The maximum memory limit in GB has been reached.
name: MemoryQuotaExceeded
- description: The vCPUs limit has been reached.
name: VcpusQuotaExceeded
- description: The maximum number of the Servers that you can launch or resume has been reached.
name: ServersQuotaExceeded
- description: The maximum number of the Servers that you can launch or resume on current Farm has been reached.
name: ServersPerFarmQuotaExceeded
404:
description: Resource not found.
schema:
$ref: '#/definitions/ApiErrorResponse'
x-errorCodes:
- description: This endpoint does not exist.
name: EndpointNotFound
noDoc: true
- description: The object you are trying to access does not exist.
name: ObjectNotFound
409:
description: Conflict with current state.
schema:
$ref: '#/definitions/ApiErrorResponse'
x-errorCodes:
- description: These changes aren't possible while this object is in use.
name: ObjectInUse
- description: These changes would violate a policy.
name: PolicyViolation
- description: These changes would violate a unicity constraint.
name: UnicityViolation
- description: Some of the objects being changed are locked and cannot be changed.
name: Locked
- description: This Cloud platform is not enabled.
name: NotEnabledPlatform
- description: The Operating System does not match.
name: OperatingSystemMismatch
- description: Some of these settings cannot be applied, they either conflict with the current state or are invalid.
name: UnacceptableObjectConfiguration
422:
description: This request was well-formed but was rejected due to semantic errors.
schema:
$ref: '#/definitions/ApiErrorResponse'
x-errorCodes:
- description: Some of the configuration settings cannot be applied because they conflict with the current state.
name: ConfigurationMismatch
500:
description: A server-side error occurred.
schema:
$ref: '#/definitions/ApiErrorResponse'
501:
description: This feature is not implemented in Scalr.
schema:
$ref: '#/definitions/ApiErrorResponse'
503:
description: The service is currently unavailable.
schema:
$ref: '#/definitions/ApiErrorResponse'
tags:
- Os
/os/:
get:
description: List all the Operating Systems definitions available in the global scope.
responses:
200:
description: A list of Os objects.
schema:
$ref: '#/definitions/OsListResponse_2'
400:
description: A client-side error was made.
schema:
$ref: '#/definitions/ApiErrorResponse_2'
x-errorCodes:
- description: The request was structurally incorrect, and was not understood by the API.
name: InvalidStructure
- description: The request was understood by the API, but included invalid data.
name: InvalidValue
- description: The request wasn't understood by the API.
name: BadRequest
401:
description: The request was not authenticated.
schema:
$ref: '#/definitions/ApiErrorResponse_2'
x-errorCodes:
- description: The request was not properly authenticated.
name: BadAuthentication
403:
description: Insufficient permissions.
schema:
$ref: '#/definitions/ApiErrorResponse_2'
x-errorCodes:
- description: This request should be made in a different Scope.
name: ScopeViolation
- description: You do not have the necessary permissions to perform this request.
name: PermissionViolation
- description: The maximum memory limit in GB has been reached.
name: MemoryQuotaExceeded
- description: The vCPUs limit has been reached.
name: VcpusQuotaExceeded
- description: The maximum number of the Servers that you can launch or resume has been reached.
name: ServersQuotaExceeded
- description: The maximum number of the Servers that you can launch or resume on current Farm has been reached.
name: ServersPerFarmQuotaExceeded
404:
description: Resource not found.
schema:
$ref: '#/definitions/ApiErrorResponse_2'
x-errorCodes:
- description: This endpoint does not exist.
name: EndpointNotFound
noDoc: true
- description: The object you are trying to access does not exist.
name: ObjectNotFound
409:
description: Conflict with current state.
schema:
$ref: '#/definitions/ApiErrorResponse_2'
x-errorCodes:
- description: These changes aren't possible while this object is in use.
name: ObjectInUse
- description: These changes would violate a policy.
name: PolicyViolation
- description: These changes would violate a unicity constraint.
name: UnicityViolation
- description: Some of the objects being changed are locked and cannot be changed.
name: Locked
- description: This Cloud platform is not enabled.
name: NotEnabledPlatform
- description: The Operating System does not match.
name: OperatingSystemMismatch
422:
description: This request was well-formed but was rejected due to semantic errors.
schema:
$ref: '#/definitions/ApiErrorResponse_2'
x-errorCodes:
- description: Some of the configuration settings cannot be applied because they conflict with the current state.
name: ConfigurationMismatch
500:
description: A server-side error occurred.
schema:
$ref: '#/definitions/ApiErrorResponse_2'
501:
description: This feature is not implemented in Scalr.
schema:
$ref: '#/definitions/ApiErrorResponse_2'
503:
description: The service is currently unavailable.
schema:
$ref: '#/definitions/ApiErrorResponse_2'
tags:
- Os
/os/{osId}/:
parameters:
- description: The ID of a Os object.
in: path
name: osId
pattern: '[A-Za-z0-9-]+'
required: true
type: string
x-references:
$ref: '#/definitions/Os_2'
get:
description: Retrieve detailed information about a given OS.
responses:
200:
description: The JSON representation of a Os object.
schema:
$ref: '#/definitions/OsDetailsResponse_2'
400:
description: A client-side error was made.
schema:
$ref: '#/definitions/ApiErrorResponse_2'
x-errorCodes:
- description: The request was structurally incorrect, and was not understood by the API.
name: InvalidStructure
- description: The request was understood by the API, but included invalid data.
name: InvalidValue
- description: The request wasn't understood by the API.
name: BadRequest
401:
description: The request was not authenticated.
schema:
$ref: '#/definitions/ApiErrorResponse_2'
x-errorCodes:
- description: The request was not properly authenticated.
name: BadAuthentication
403:
description: Insufficient permissions.
schema:
$ref: '#/definitions/ApiErrorResponse_2'
x-errorCodes:
- description: This request should be made in a different Scope.
name: ScopeViolation
- description: You do not have the necessary permissions to perform this request.
name: PermissionViolation
- description: The maximum memory limit in GB has been reached.
name: MemoryQuotaExceeded
- description: The vCPUs limit has been reached.
name: VcpusQuotaExceeded
- description: The maximum number of the Servers that you can launch or resume has been reached.
name: ServersQuotaExceeded
- description: The maximum number of the Servers that you can launch or resume on current Farm has been reached.
name: ServersPerFarmQuotaExceeded
404:
description: Resource not found.
schema:
$ref: '#/definitions/ApiErrorResponse_2'
x-errorCodes:
- description: This endpoint does not exist.
name: EndpointNotFound
noDoc: true
- description: The object you are trying to access does not exist.
name: ObjectNotFound
409:
description: Conflict with current state.
schema:
$ref: '#/definitions/ApiErrorResponse_2'
x-errorCodes:
- description: These changes aren't possible while this object is in use.
name: ObjectInUse
- description: These changes would violate a policy.
name: PolicyViolation
- description: These changes would violate a unicity constraint.
name: UnicityViolation
- description: Some of the objects being changed are locked and cannot be changed.
name: Locked
- description: This Cloud platform is not enabled.
name: NotEnabledPlatform
- description: The Operating System does not match.
name: OperatingSystemMismatch
422:
description: This request was well-formed but was rejected due to semantic errors.
schema:
$ref: '#/definitions/ApiErrorResponse_2'
x-errorCodes:
- description: Some of the configuration settings cannot be applied because they conflict with the current state.
name: ConfigurationMismatch
500:
description: A server-side error occurred.
schema:
$ref: '#/definitions/ApiErrorResponse_2'
501:
description: This feature is not implemented in Scalr.
schema:
$ref: '#/definitions/ApiErrorResponse_2'
503:
description: The service is currently unavailable.
schema:
$ref: '#/definitions/ApiErrorResponse_2'
tags:
- Os
/{envId}/os/:
parameters:
- description: The ID of the Environment scoping this request.
in: path
name: envId
required: true
type: integer
get:
description: List all the Operating Systems definitions available in this Environment.
responses:
200:
description: A list of Os objects.
schema:
$ref: '#/definitions/OsListResponse_3'
400:
description: A client-side error was made.
schema:
$ref: '#/definitions/ApiErrorResponse_3'
x-errorCodes:
- description: The request was structurally incorrect, and was not understood by the API.
name: InvalidStructure
- description: The request was understood by the API, but included invalid data.
name: InvalidValue
- description: The request wasn't understood by the API.
name: BadRequest
401:
description: The request was not authenticated.
schema:
$ref: '#/definitions/ApiErrorResponse_3'
x-errorCodes:
- description: The request was not properly authenticated.
name: BadAuthentication
403:
description: Insufficient permissions.
schema:
$ref: '#/definitions/ApiErrorResponse_3'
x-errorCodes:
- description: This request should be made in a different Scope.
name: ScopeViolation
- description: You do not have the necessary permissions to perform this request.
name: PermissionViolation
- description: The maximum memory limit in GB has been reached.
name: MemoryQuotaExceeded
- description: The vCPUs limit has been reached.
name: VcpusQuotaExceeded
- description: The maximum number of the Servers that you can launch or resume has been reached.
name: ServersQuotaExceeded
- description: The maximum number of the Servers that you can launch or resume on current Farm has been reached.
name: ServersPerFarmQuotaExceeded
404:
description: Resource not found.
schema:
$ref: '#/definitions/ApiErrorResponse_3'
x-errorCodes:
- description: This endpoint does not exist.
name: EndpointNotFound
noDoc: true
- description: The object you are trying to access does not exist.
name: ObjectNotFound
409:
description: Conflict with current state.
schema:
$ref: '#/definitions/ApiErrorResponse_3'
x-errorCodes:
- description: These changes aren't possible while this object is in use.
name: ObjectInUse
- description: These changes would violate a policy.
name: PolicyViolation
- description: These changes would violate a unicity constraint.
name: UnicityViolation
- description: Some of the objects being changed are locked and cannot be changed.
name: Locked
- description: This Cloud platform is not enabled.
name: NotEnabledPlatform
- description: The Operating System does not match.
name: OperatingSystemMismatch
- description: Some of the objects or actions being access are deprecated.
name: Deprecated
- description: The action can't be perfomed in the current object's state.
name: UnacceptableState
- description: The object that you are trying to access does not exist on the cloud.
name: ObjectNotFoundOnCloud
- description: Some of these settings cannot be applied, they either conflict with the current state or are invalid.
name: UnacceptableObjectConfiguration
422:
description: This request was well-formed but was rejected due to semantic errors.
schema:
$ref: '#/definitions/ApiErrorResponse_3'
x-errorCodes:
- description: Some of the configuration settings cannot be applied because they conflict with the current state.
name: ConfigurationMismatch
500:
description: A server-side error occurred.
schema:
$ref: '#/definitions/ApiErrorResponse_3'
501:
description: This feature is not implemented in Scalr.
schema:
$ref: '#/definitions/ApiErrorResponse_3'
503:
description: The service is currently unavailable.
schema:
$ref: '#/definitions/ApiErrorResponse_3'
tags:
- Os
/{envId}/os/{osId}/:
parameters:
- description: The ID of the Environment scoping this request.
in: path
name: envId
required: true
type: integer
- description: The ID of a Os object.
in: path
name: osId
pattern: '[A-Za-z0-9-]+'
required: true
type: string
x-references:
$ref: '#/definitions/Os_3'
get:
description: Retrieve detailed information about a given OS.
responses:
200:
description: The JSON representation of a Os object.
schema:
$ref: '#/definitions/OsDetailsResponse_3'
400:
description: A client-side error was made.
schema:
$ref: '#/definitions/ApiErrorResponse_3'
x-errorCodes:
- description: The request was structurally incorrect, and was not understood by the API.
name: InvalidStructure
- description: The request was understood by the API, but included invalid data.
name: InvalidValue
- description: The request wasn't understood by the API.
name: BadRequest
401:
description: The request was not authenticated.
schema:
$ref: '#/definitions/ApiErrorResponse_3'
x-errorCodes:
- description: The request was not properly authenticated.
name: BadAuthentication
403:
description: Insufficient permissions.
schema:
$ref: '#/definitions/ApiErrorResponse_3'
x-errorCodes:
- description: This request should be made in a different Scope.
name: ScopeViolation
- description: You do not have the necessary permissions to perform this request.
name: PermissionViolation
- description: The maximum memory limit in GB has been reached.
name: MemoryQuotaExceeded
- description: The vCPUs limit has been reached.
name: VcpusQuotaExceeded
- description: The maximum number of the Servers that you can launch or resume has been reached.
name: ServersQuotaExceeded
- description: The maximum number of the Servers that you can launch or resume on current Farm has been reached.
name: ServersPerFarmQuotaExceeded
404:
description: Resource not found.
schema:
$ref: '#/definitions/ApiErrorResponse_3'
x-errorCodes:
- description: This endpoint does not exist.
name: EndpointNotFound
noDoc: true
- description: The object you are trying to access does not exist.
name: ObjectNotFound
409:
description: Conflict with current state.
schema:
$ref: '#/definitions/ApiErrorResponse_3'
x-errorCodes:
- description: These changes aren't possible while this object is in use.
name: ObjectInUse
- description: These changes would violate a policy.
name: PolicyViolation
- description: These changes would violate a unicity constraint.
name: UnicityViolation
- description: Some of the objects being changed are locked and cannot be changed.
name: Locked
- description: This Cloud platform is not enabled.
name: NotEnabledPlatform
- description: The Operating System does not match.
name: OperatingSystemMismatch
- description: Some of the objects or actions being access are deprecated.
name: Deprecated
- description: The action can't be perfomed in the current object's state.
name: UnacceptableState
- description: The object that you are trying to access does not exist on the cloud.
name: ObjectNotFoundOnCloud
- description: Some of these settings cannot be applied, they either conflict with the current state or are invalid.
name: UnacceptableObjectConfiguration
422:
description: This request was well-formed but was rejected due to semantic errors.
schema:
$ref: '#/definitions/ApiErrorResponse_3'
x-errorCodes:
- description: Some of the configuration settings cannot be applied because they conflict with the current state.
name: ConfigurationMismatch
500:
description: A server-side error occurred.
schema:
$ref: '#/definitions/ApiErrorResponse_3'
501:
description: This feature is not implemented in Scalr.
schema:
$ref: '#/definitions/ApiErrorResponse_3'
503:
description: The service is currently unavailable.
schema:
$ref: '#/definitions/ApiErrorResponse_3'
tags:
- Os
definitions:
ApiErrorResponse:
description: Common response for erroneous requests.
properties:
errors:
items:
$ref: '#/definitions/ApiMessage'
readOnly: true
type: array
meta:
$ref: '#/definitions/ApiMetaContainer'
readOnly: true
warnings:
items:
$ref: '#/definitions/ApiMessage'
readOnly: true
type: array
x-usedIn:
- /account/{accountId}/global-variables/
- /account/{accountId}/global-variables/{globalVariableName}/
- /account/{accountId}/orchestration-rules/
- /account/{accountId}/orchestration-rules/{orchestrationRuleId}/
- /account/{accountId}/cost-centers/
- /account/{accountId}/cost-centers/{costCenterId}/
- /account/{accountId}/environments/
- /account/{accountId}/environments/{envId}/
- /account/{accountId}/environments/{envId}/clouds/
- /account/{accountId}/environments/{envId}/clouds/{cloud}/
- /account/{accountId}/environments/{envId}/teams/
- /account/{accountId}/environments/{envId}/teams/{teamId}/
- /account/{accountId}/teams/
- /account/{accountId}/teams/{teamId}/
- /account/{accountId}/acl-roles/
- /account/{accountId}/role-categories/
- /account/{accountId}/role-categories/{roleCategoryId}/
- /account/{accountId}/roles/
- /account/{accountId}/roles/{roleId}/
- /account/{accountId}/roles/{roleId}/actions/clone/
- /account/{accountId}/roles/{roleId}/actions/deprecate/
- /account/{accountId}/roles/{roleId}/images/
- /account/{accountId}/roles/{roleId}/images/{imageId}/
- /account/{accountId}/roles/{roleId}/images/{imageId}/actions/replace/
- /account/{accountId}/roles/{roleId}/global-variables/
- /account/{accountId}/roles/{roleId}/global-variables/{globalVariableName}/
- /account/{accountId}/roles/{roleId}/orchestration-rules/
- /account/{accountId}/roles/{roleId}/orchestration-rules/{orchestrationRuleId}/
- /account/{accountId}/images/
- /account/{accountId}/images/{imageId}/
- /account/{accountId}/images/{imageId}/actions/copy/
- /account/{accountId}/images/{imageId}/actions/replace/
- /account/{accountId}/projects/
- /account/{accountId}/projects/{projectId}/
- /account/{accountId}/scripts/
- /account/{accountId}/scripts/{scriptId}/
- /account/{accountId}/scripts/{scriptId}/script-versions/
- /account/{accountId}/scripts/{scriptId}/script-versions/{scriptVersionNumber}/
- /account/{accountId}/webhook-endpoints/
- /account/{accountId}/os/
- /account/{accountId}/os/{osId}/
- /account/{accountId}/events/
- /account/{accountId}/events/{eventId}/
- /account/{accountId}/cloud-credentials/
- /account/{accountId}/cloud-credentials/{cloudCredentialsId}/
- /account/{accountId}/scaling-metrics/
- /account/{accountId}/scaling-metrics/{metricName}/
- /account/{accountId}/users/
- /account/{accountId}/ansible-tower/servers/
- /account/{accountId}/ansible-tower/configurations/
- /account/{accountId}/ansible-tower/configurations/{ansibleTowerConfigurationId}/
ApiMessage:
properties:
code:
description: A machine-readable representation of the message.
type: string
message:
description: A human-readable representation of the message.
type: string
Os_3:
properties:
family:
description: OS family.
type: string
generation:
type: string
id:
description: An ID uniquely identifying this OS in Scalr.
pattern: '[A-Za-z0-9-]+'
type: string
name:
description: A human-readable name for this OS.
type: string
version:
type: string
required:
- id
- name
- family
- generation
- version
x-filterable:
- id
- name
- family
- generation
x-usedIn:
- /user/{envId}/os/{osId}/
Os_2:
properties:
family:
description: OS family.
type: string
generation:
type: string
id:
description: An ID uniquely identifying this OS in Scalr.
pattern: '[A-Za-z0-9-]+'
type: string
name:
description: A human-readable name for this OS.
type: string
version:
type: string
required:
- id
- name
- family
- generation
- version
x-filterable:
- id
- name
- family
- generation
x-usedIn:
- /global/os/{osId}/
Os:
properties:
family:
description: OS family.
type: string
generation:
type: string
id:
description: An ID uniquely identifying this OS in Scalr.
pattern: '[A-Za-z0-9-]+'
type: string
name:
description: A human-readable name for this OS.
type: string
version:
type: string
required:
- id
- name
- family
- generation
- version
x-filterable:
- id
- name
- family
- generation
x-usedIn:
- /account/{accountId}/os/{osId}/
OsListResponse_3:
properties:
data:
items:
$ref: '#/definitions/Os_3'
readOnly: true
type: array
errors:
items:
$ref: '#/definitions/ApiMessage'
readOnly: true
type: array
meta:
$ref: '#/definitions/ApiMetaContainer'
readOnly: true
pagination:
$ref: '#/definitions/ApiPagination'
readOnly: true
warnings:
items:
$ref: '#/definitions/ApiMessage'
readOnly: true
type: array
x-derived:
$ref: '#/definitions/Os_3'
x-usedIn:
- /user/{envId}/os/
ApiErrorResponse_2:
description: Common response for erroneous requests.
properties:
errors:
items:
$ref: '#/definitions/ApiMessage'
readOnly: true
type: array
meta:
$ref: '#/definitions/ApiMetaContainer'
readOnly: true
warnings:
items:
$ref: '#/definitions/ApiMessage'
readOnly: true
type: array
x-us
# --- truncated at 32 KB (42 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/scalr/refs/heads/main/openapi/scalr-os-api-openapi.yml