source/idea/idea-virtual-desktop-controller/resources/dcv_broker_swagger_client.yaml (928 lines of code) (raw):
openapi: "3.0.0"
info:
description: "DCV Session Manager API"
version: "2021.3"
title: "DCV Session Manager"
tags:
- name: "sessions"
description: "Handling sessions"
externalDocs:
description: "Find out more"
url: "https://docs.aws.amazon.com/dcv/latest/adminguide/managing-sessions.html"
- name: "sessionPermissions"
description: "Handling session permissions"
externalDocs:
description: "Find out more"
url: "https://docs.aws.amazon.com/dcv/latest/adminguide/security-authorization-file-create.html"
paths:
/describeSessions:
post:
tags:
- "sessions"
summary: "Finds all sessions"
description: "Find all sessions data"
operationId: "describeSessions"
requestBody:
description: "Describe sessions request data"
required: false
content:
application/json:
schema:
$ref: "#/components/schemas/DescribeSessionsRequestData"
responses:
"200":
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/DescribeSessionsResponse"
/describeServers:
post:
tags:
- "servers"
summary: "Finds all servers"
description: "Finds all servers data"
operationId: "describeServers"
requestBody:
description: "Describe servers request data"
required: false
content:
application/json:
schema:
$ref: "#/components/schemas/DescribeServersRequestData"
responses:
"200":
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/DescribeServersResponse"
/createSessions:
post:
tags:
- "sessions"
summary: "Creates new sessions"
description: "API that creates new sessions"
operationId: "createSessions"
requestBody:
description: "Sessions to create"
required: true
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/CreateSessionRequestData"
responses:
"200":
description: "Successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/CreateSessionsResponse"
"400":
description: "Invalid input"
/deleteSessions:
post:
tags:
- "sessions"
summary: "Deletes sessions"
description: "Deletes the sessions requested"
operationId: "deleteSessions"
requestBody:
description: "Sessions to delete"
required: true
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/DeleteSessionRequestData"
responses:
"200":
description: "Successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/DeleteSessionsResponse"
"400":
description: "Invalid input"
/sessionPermissions:
put:
tags:
- "sessionPermissions"
summary: "Update session permissions"
description: "API that update session permissions"
operationId: "updateSessionPermissions"
requestBody:
description: "Sessions to update"
required: true
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/UpdateSessionPermissionsRequestData"
responses:
"200":
description: "Successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/UpdateSessionPermissionsResponse"
"400":
description: "Invalid input"
/sessionConnectionData/{sessionId}/{user}:
get:
tags:
- "GetSessionConnectionData"
summary: "Gets the information to connect to a session"
operationId: "GetSessionConnectionData"
parameters:
- name: "sessionId"
in: "path"
description: "Session id to get connection details for"
required: true
schema:
type: "string"
- name: "user"
in: "path"
description: "User to get the connection token for"
required: true
schema:
type: "string"
responses:
"200":
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/GetSessionConnectionDataResponse"
"400":
description: "Invalid input"
/getSessionScreenshots:
post:
tags:
- "sessions"
summary: "Gets session screenshots"
description: "Gets session screenshots"
operationId: "getSessionScreenshots"
requestBody:
description: "GetSessionScreenshots request data"
required: true
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/GetSessionScreenshotRequestData"
responses:
"200":
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/GetSessionScreenshotsResponse"
"400":
description: "Invalid input"
/openServers:
post:
tags:
- "servers"
summary: "Open a server for placement"
description: "Open a server for placement"
operationId: "openServers"
requestBody:
description: "OpenServers request data"
required: true
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/OpenServerRequestData"
responses:
"200":
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/OpenServersResponse"
"400":
description: "Invalid input"
/closeServers:
post:
tags:
- "servers"
summary: "Close a server for placement"
description: "Close a server for placement"
operationId: "closeServers"
requestBody:
description: "CloseServers request data"
required: true
content:
application/json:
schema:
type: "array"
items:
$ref: "#/components/schemas/CloseServerRequestData"
responses:
"200":
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/CloseServersResponse"
"400":
description: "Invalid input"
components:
schemas:
KeyValuePair:
type: "object"
description: "A generic key/value pair"
properties:
Key:
description: "The key of the pair"
type: "string"
Value:
description: "The value of the pair"
type: "string"
Server:
type: "object"
description: "The entity representing a server in DCV Session Manager"
properties:
Id:
description: "The id of the server"
type: "string"
Ip:
description: "The ip of the server"
type: "string"
Hostname:
description: "The hostname of the server"
type: "string"
DefaultDnsName:
description: "The default DNS name of the server"
type: "string"
Port:
description: "The port where the server listens. This field is deprecated and replaced by PortTcp"
type: "string"
Endpoints:
description: "The array representing DCV endpoints"
type: "array"
items:
$ref: "#/components/schemas/Endpoint"
WebUrlPath:
description: "The server web url path"
type: "string"
Version:
description: "The version of the server"
type: "string"
SessionManagerAgentVersion:
description: "The version of the session manager agent"
type: "string"
Availability:
description: "The server availability"
type: "string"
enum: [AVAILABLE, UNAVAILABLE]
UnavailabilityReason:
description: "The unavailability reason"
type: "string"
enum: [SERVER_FULL, SERVER_CLOSED, UNREACHABLE_AGENT, UNHEALTHY_DCV_SERVER, EXISTING_LOGGED_IN_USER, UNKNOWN]
ConsoleSessionCount:
description: "The count of console session on the server"
type: "integer"
format: "int32"
VirtualSessionCount:
description: "The count of virtual session on the server"
type: "integer"
format: "int32"
Host:
description: "The information about the host"
type: "object"
$ref: "#/components/schemas/Host"
Tags:
description: "The tags of the server"
type: "array"
xml:
name: "tag"
wrapped: true
items:
$ref: "#/components/schemas/KeyValuePair"
xml:
name: "Server"
Endpoint:
type: "object"
description: "The entity representing an endpoint in DCV"
properties:
Port:
description: "The port of the DCV endpoint"
type: "integer"
WebUrlPath:
description: "The web url path of the DCV endpoint"
type: "string"
Protocol:
description: "The protocol of the DCV endpoint"
type: "string"
enum: [HTTP, QUIC]
Host:
type: "object"
description: "The entity representing an host in DCV Session Manager"
properties:
Os:
description: "The entity representing OS information"
type: "object"
$ref: "#/components/schemas/Os"
Memory:
description: "The metrics about memory"
type: "object"
$ref : "#/components/schemas/Memory"
Swap:
description: "The metrics about swap"
type: "object"
$ref : "#/components/schemas/Swap"
Aws:
description: "The information about AWS"
type: "object"
$ref: "#/components/schemas/Aws"
CpuInfo:
description: "The metrics about cpu"
type: "object"
$ref: "#/components/schemas/CpuInfo"
CpuLoadAverage:
description: "The array containing disk information"
type: "object"
$ref: "#/components/schemas/CpuLoadAverage"
Gpus:
description: "The array containing GPU information"
type: "array"
items:
$ref: "#/components/schemas/Gpu"
LoggedInUsers:
description: "The array containing users information"
type: "array"
items:
$ref: "#/components/schemas/LoggedInUser"
xml:
name: "Host"
Os:
description: "The metrics about the Os"
type: "object"
properties:
Family:
description: "The OS family"
type: "string"
Name:
description: "The name of the OS"
type: "string"
Version:
description: "The version of the OS"
type: "string"
KernelVersion:
description: "The version of the Kernel"
type: "string"
BuildNumber:
description: "The OS build number"
type: "string"
Memory:
description: "The metrics about memory"
type: "object"
properties:
TotalBytes:
description: "The total bytes"
type: "integer"
format: "int64"
UsedBytes:
description: "The used bytes"
type: "integer"
format: "int64"
Swap:
description: "The metrics about swap"
type: "object"
properties:
TotalBytes:
description: "The total bytes"
type: "integer"
format: "int64"
UsedBytes:
description: "The used bytes"
type: "integer"
format: "int64"
CpuInfo:
description: "The entity representing cpu information"
type: "object"
properties:
Vendor:
description: "The vendor of the cpu"
type: "string"
ModelName:
description: "The model name of the cpu"
type: "string"
Architecture:
description: "The architecture of the cpu"
type: "string"
NumberOfCpus:
description: "The number of cpus"
type: "integer"
PhysicalCoresPerCpu:
description: "The physical core count per cpu"
type: "integer"
CpuLoadAverage:
description: "The entity representing cpu load average information"
type: "object"
properties:
OneMinute:
description: "The average load in the last minute of the cpu"
type: "number"
format: "float"
FiveMinutes:
description: "The average load in the last 5 minutes of the cpu"
type: "number"
format: "float"
FifteenMinutes:
description: "The average load in the last 15 minutes of the cpu"
type: "number"
format: "float"
Gpu:
description: "The entity representing gpu information"
type: "object"
properties:
Vendor:
description: "The vendor of the gpu"
type: "string"
ModelName:
description: "The model name of the gpu"
type: "string"
LoggedInUser:
description: "The entity representing the logged in user information"
type: "object"
properties:
Username:
description: "The username of the logged in user"
type: "string"
Aws:
description: "The entity representing aws information"
type: "object"
properties:
Region:
description: "The AWS region"
type: "string"
EC2InstanceType:
description: "The AWS EC2 instance type"
type: "string"
EC2InstanceId:
description: "The AWS EC2 instance id"
type: "string"
EC2ImageId:
description: "The AWS EC2 image id"
type: "string"
Session:
description: "The entity that represents a session in DCV session manager"
type: "object"
properties:
Id:
description: "The id of the session"
type: "string"
Name:
description: "The descriptive name of the session"
type: "string"
example: "test1"
Owner:
description: "The owner of the session"
type: "string"
example: "barbara"
Server:
description: "The server in which the session is"
$ref: "#/components/schemas/Server"
Type:
description: "The session type (Virtual or Console)"
type: string
MaxConcurrentClients:
description: "The number of max concurrent clients that can log to a session"
type: "integer"
format: "int64"
State:
description: "The session state"
type: string
StateReason:
description: "The reason for the current state of the session"
type: string
CreationTime:
description: "The session creation time"
type: string
format: date-time
LastDisconnectionTime:
description: "The last session disconnection time"
type: string
format: date-time
NumOfConnections:
description: "The number of connection to this DCV session."
type: "integer"
format: "int64"
StorageRoot:
description: "Specifies the path to the folder used for session storage."
type: string
xml:
name: "Session"
DescribeSessionsRequestData:
description: "The entity that represents the data that the user pass for describing the sessions"
properties:
SessionIds:
description: "The session ids"
type: "array"
items:
type: "string"
Filters:
description: "The filters. Filters supported: owner, tag:key. 'owner' The session owner to filter by. 'tag:key' The key/value combination of a tag assigned to the server. Use the tag key in the filter name and the tag value as the filter value. For example, to find all sessions that have a tag with the key City and the value London , specify tag:City for the filter name and London for the filter value."
type: "array"
items:
$ref: "#/components/schemas/KeyValuePair"
MaxResults:
description: "Number of results to show, if provided must be between 1 and 1000"
type: "integer"
NextToken:
description: "the pagination token"
type: "string"
DescribeSessionsResponse:
description: "The response to a describeSession request"
type: "object"
properties:
RequestId:
description: "DescribeSessions request id"
type: "string"
Sessions:
type: "array"
description: "The array of sessions described"
items:
$ref: "#/components/schemas/Session"
NextToken:
description: "The token used for pagination"
type: "string"
DescribeServersRequestData:
description: "The entity that represents the data that the user pass for describing servers"
properties:
ServerIds:
description: "The server ids"
type: "array"
items:
type: "string"
MaxResults:
description: "Number of results to show, if provided must be between 1 and 1000"
type: "integer"
NextToken:
description: "the pagination token"
type: "string"
DescribeServersResponse:
description: "The response to a describeServers request"
type: "object"
properties:
RequestId:
description: "DescribeServers request id"
type: "string"
Servers:
type: "array"
description: "The array of servers described"
items:
$ref: "#/components/schemas/Server"
NextToken:
description: "The token used for pagination"
type: "string"
CreateSessionRequestData:
description: "The entity that represents the data that the user pass for creating a session in DCV session manager, an array of those entry forms the createSessionsRequest"
properties:
Name:
description: "The descriptive name of the session"
type: "string"
example: "test1"
Owner:
description: "The owner of the session"
type: "string"
example: "barbara"
Type:
description: "The session type (Virtual or Console)"
type: string
DcvGlEnabled:
description: "The property that specifies if dcv-gl is enabled"
type: boolean
MaxConcurrentClients:
description: "The number of max concurrent clients that can log to a session"
type: "integer"
format: "int64"
InitFilePath:
description: "The init file path on the DCV host. This field is deprecated and replaced by InitFile"
type: "string"
deprecated: true
InitFile:
description: "File on the DCV host to be used to initialize the session instead of the default. If it is not a simple filename, it must be a relative path to the init directory configured on the DCV host."
type: "string"
AutorunFile:
description: "File on the DCV host to be automatically executed within the session. If it is not a simple filename, it must be a relative path to the autorun directory configured on the DCV host."
type: "string"
AutorunFileArguments:
description: "Command-line arguments to be passed to the file defined in AutorunFile when it is executed."
type: "array"
items:
type: "string"
PermissionsFile:
description: "The permissions file"
type: "string"
Requirements:
description: "The required tags for the session. Example: ram_gb = '4' and software='my software'. The escape char is ', example irish_name='o''neil' "
type: "string"
EnqueueRequest:
description: "The request is enqueued if no DCV server are available for placement. If this field is not set, the default is false."
type: boolean
DisableRetryOnFailure:
description: "Disable automatic retry of the request if session creation fails. If this field is not set, the default is false."
type: boolean
StorageRoot:
description: "Specifies the path to the folder used for session storage."
type: string
UnsuccessfulCreateSessionRequestData:
description: "Data representing an unsuccessful request"
type: "object"
properties:
CreateSessionRequestData:
description: "The data related to the failure request"
$ref: "#/components/schemas/CreateSessionRequestData"
FailureReason:
description: "The failure reason"
type: "string"
CreateSessionsResponse:
description: "The response to a createSessions request"
type: "object"
properties:
RequestId:
description: "CreateSessions request id"
type: "string"
SuccessfulList:
type: "array"
description: "The array of sessions that are in process of being created"
items:
$ref: "#/components/schemas/Session"
UnsuccessfulList:
type: "array"
description: "The array of sessions that cannot be created"
items:
$ref: "#/components/schemas/UnsuccessfulCreateSessionRequestData"
DeleteSessionSuccessfulResponse:
description: "The successful response of a delete session"
properties:
SessionId:
description: "The session id"
type: "string"
State:
description: "The session state"
type: "string"
DeleteSessionUnsuccessfulResponse:
description: "The unsuccessful response of a delete session"
properties:
SessionId:
description: "The session id"
type: "string"
FailureReason:
description: "The failure reason"
type: "string"
UpdateSessionPermissionsSuccessfulResponse:
description: "The successful response of a update session permissions"
properties:
SessionId:
description: "The session id"
type: "string"
UpdateSessionPermissionsUnsuccessfulResponse:
description: "The unsuccessful response of a update session permissions"
properties:
SessionId:
description: "The session id"
type: "string"
FailureReason:
description: "The failure reason"
type: "string"
DeleteSessionsResponse:
description: "The response to a deleteSessions request"
type: "object"
properties:
RequestId:
description: "DeleteSessions request id"
type: "string"
SuccessfulList:
type: "array"
description: "The array of sessions that are in process of being deleted"
items:
$ref: "#/components/schemas/DeleteSessionSuccessfulResponse"
UnsuccessfulList:
type: "array"
description: "The array of sessions that cannot be deleted"
items:
$ref: "#/components/schemas/DeleteSessionUnsuccessfulResponse"
DeleteSessionRequestData:
description: "The entity that represents the data that the user pass for deleting a session in DCV session manager, an array of those entry forms the deleteSessionRequest"
properties:
SessionId:
description: "The session id"
type: "string"
Owner:
description: "The owner"
type: "string"
Force:
description: "The parameter to force a deletion"
type: "boolean"
default: "false"
UpdateSessionPermissionsRequestData:
description: "The entity that represents the data that the user pass for updating the permissions of a session in DCV session manager, an array of those entry forms the updateSessionPermissionsRequest"
properties:
SessionId:
description: "The session id"
type: "string"
Owner:
description: "The owner"
type: "string"
PermissionsFile:
description: "The permissions file base64 encoded"
type: "string"
UpdateSessionPermissionsResponse:
description: "The update session permission response"
properties:
RequestId:
description: "UpdateSessionPermissions request id"
type: "string"
SuccessfulList:
type: "array"
description: "The array of sessions that are in process of having the permissions updated"
items:
$ref: "#/components/schemas/UpdateSessionPermissionsSuccessfulResponse"
UnsuccessfulList:
type: "array"
description: "The array of sessions that cannot have the permissions updated"
items:
$ref: "#/components/schemas/UpdateSessionPermissionsUnsuccessfulResponse"
GetSessionConnectionDataResponse:
description: "The get session connection data response"
type: "object"
properties:
Session:
description: "Session to connect to"
$ref: "#/components/schemas/Session"
ConnectionToken:
description: "The token used to connect to the session"
type: "string"
GetSessionScreenshotRequestData:
description: "The entity that represents the data that the user pass for getting the session screenshot"
properties:
SessionId:
description: "The session id"
type: "string"
GetSessionScreenshotsResponse:
description: "The response to a getSessionScreenshots request"
type: "object"
properties:
RequestId:
description: "GetSessionScreenshots request id"
type: "string"
SuccessfulList:
type: "array"
description: "The array of session screenshots successfully retrieved"
items:
$ref: "#/components/schemas/GetSessionScreenshotSuccessfulResponse"
UnsuccessfulList:
type: "array"
description: "The array of session screenshots that cannot be retrieved"
items:
$ref: "#/components/schemas/GetSessionScreenshotUnsuccessfulResponse"
GetSessionScreenshotSuccessfulResponse:
description: "The entity that represents a DCV session screenshot"
type: "object"
properties:
SessionScreenshot:
description: "The session screenshot"
$ref: "#/components/schemas/SessionScreenshot"
SessionScreenshot:
description: "The entity that represents a DCV session screenshot"
type: "object"
properties:
SessionId:
description: "The id of the session"
type: "string"
Images:
type: "array"
description: "The array of session screenshots"
items:
$ref: "#/components/schemas/SessionScreenshotImage"
xml:
name: "SessionScreenshot"
SessionScreenshotImage:
description: "Data representing a single DCV session screenshot"
properties:
Format:
description: "The image format. Supported formats: jpeg, png"
type: "string"
example: "jpeg"
Data:
description: "The base64 image data"
type: "string"
example: "997987/8kgj49ikjhewkwwe0008084EXAMPLE"
CreationTime:
description: "The session screen creation time"
type: string
format: date-time
Primary:
description: "Tells if the image belongs to the primary screen"
type: boolean
GetSessionScreenshotUnsuccessfulResponse:
description: "Data representing an unsuccessful get session screenshot request"
type: "object"
properties:
GetSessionScreenshotRequestData:
description: "The data related to the failure request"
$ref: "#/components/schemas/GetSessionScreenshotRequestData"
FailureReason:
description: "The failure reason"
type: "string"
OpenServerRequestData:
description: "The entity that represents the data that the user pass to open a server"
properties:
ServerId:
description: "The server id"
type: "string"
OpenServersResponse:
description: "The response to an openServers request"
type: "object"
properties:
RequestId:
description: "OpenServers request id"
type: "string"
SuccessfulList:
type: "array"
description: "The array of servers successfully open"
items:
$ref: "#/components/schemas/OpenServerSuccessfulResponse"
UnsuccessfulList:
type: "array"
description: "The array of servers that cannot be open"
items:
$ref: "#/components/schemas/OpenServerUnsuccessfulResponse"
OpenServerSuccessfulResponse:
description: "Data representing a successful open server request"
type: "object"
properties:
ServerId:
description: "The server id"
type: "string"
OpenServerUnsuccessfulResponse:
description: "Data representing an unsuccessful open server request"
type: "object"
properties:
OpenServerRequestData:
description: "The data related to the failure request"
$ref: "#/components/schemas/OpenServerRequestData"
FailureCode:
description: "The failure code"
type: "string"
FailureReason:
description: "The failure reason"
type: "string"
CloseServerRequestData:
description: "The entity that represents the data that the user pass to close a server"
properties:
ServerId:
description: "The server id"
type: "string"
Force:
description: "Force the close operation, if force is false the server is close only if no sessions are sunning on it. Defaults to false if not provided"
type: "boolean"
CloseServersResponse:
description: "The response to a closeServers request"
type: "object"
properties:
RequestId:
description: "CloseServers request id"
type: "string"
SuccessfulList:
type: "array"
description: "The array of servers successfully closed"
items:
$ref: "#/components/schemas/CloseServerSuccessfulResponse"
UnsuccessfulList:
type: "array"
description: "The array of servers that cannot be closed"
items:
$ref: "#/components/schemas/CloseServerUnsuccessfulResponse"
CloseServerSuccessfulResponse:
description: "Data representing a successful close server request"
type: "object"
properties:
ServerId:
description: "The server id"
type: "string"
CloseServerUnsuccessfulResponse:
description: "Data representing an unsuccessful close server request"
type: "object"
properties:
CloseServerRequestData:
description: "The data related to the failure request"
$ref: "#/components/schemas/CloseServerRequestData"
FailureCode:
description: "The failure code"
type: "string"
FailureReason:
description: "The failure reason"
type: "string"