{"openapi":"3.0.2","info":{"title":"Service Workspaces","description":"Service Workspaces","version":"2.2.7"},"paths":{"/v1/health/":{"get":{"tags":["Health","Health"],"summary":"Health check","operationId":"get_v1_health__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/":{"get":{"summary":"Get","description":"For testing if service's up.","operationId":"get_v1__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/guacamole/connection":{"get":{"tags":["Connection"],"summary":"Get connections for a project","operationId":"get_v1_guacamole_connection_get","parameters":[{"required":true,"schema":{"title":"Container Code","type":"string"},"name":"container_code","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetConnectionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Connection"],"summary":"Add a new connection","operationId":"post_v1_guacamole_connection_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostConnection"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Connection"],"summary":"Get a connection by container_code","operationId":"delete_v1_guacamole_connection_delete","parameters":[{"required":true,"schema":{"title":"Container Code","type":"string"},"name":"container_code","in":"query"},{"required":true,"schema":{"title":"Connection Name","type":"string"},"name":"connection_name","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteConnectionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/guacamole/permission":{"get":{"tags":["Permission"],"summary":"Get permissons on a connection for a user","operationId":"get_v1_guacamole_permission_get","parameters":[{"required":true,"schema":{"title":"Container Code","type":"string"},"name":"container_code","in":"query"},{"required":true,"schema":{"title":"Username","type":"string"},"name":"username","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPermissionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Permission"],"summary":"Add permissions for a user on a connection","operationId":"post_v1_guacamole_permission_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostPermission"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/guacamole/users":{"post":{"tags":["Permission"],"summary":"Create a new user in guacamole","operationId":"post_v1_guacamole_users_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUser"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/guacamole/project/users":{"post":{"tags":["Permission"],"summary":"Create a new user in guacamole","operationId":"post_v1_guacamole_project_users_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUserBulk"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUserBulkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"CreateUser":{"title":"CreateUser","required":["container_code","username"],"type":"object","properties":{"container_code":{"title":"Container Code","type":"string"},"username":{"title":"Username","type":"string"}}},"CreateUserBulk":{"title":"CreateUserBulk","required":["container_code"],"type":"object","properties":{"container_code":{"title":"Container Code","type":"string"}}},"CreateUserBulkResponse":{"title":"CreateUserBulkResponse","type":"object","properties":{"code":{"allOf":[{"$ref":"#/components/schemas/EAPIResponseCode"}],"default":200},"error_msg":{"title":"Error Msg","type":"string","default":""},"page":{"title":"Page","type":"integer","default":0},"total":{"title":"Total","type":"integer","default":1},"num_of_pages":{"title":"Num Of Pages","type":"integer","default":1},"result":{"title":"Result","type":"object","default":"","example":"success"}}},"CreateUserResponse":{"title":"CreateUserResponse","type":"object","properties":{"code":{"allOf":[{"$ref":"#/components/schemas/EAPIResponseCode"}],"default":200},"error_msg":{"title":"Error Msg","type":"string","default":""},"page":{"title":"Page","type":"integer","default":0},"total":{"title":"Total","type":"integer","default":1},"num_of_pages":{"title":"Num Of Pages","type":"integer","default":1},"result":{"title":"Result","type":"object","default":"","example":"success"}}},"DeleteConnectionResponse":{"title":"DeleteConnectionResponse","type":"object","properties":{"code":{"allOf":[{"$ref":"#/components/schemas/EAPIResponseCode"}],"default":200},"error_msg":{"title":"Error Msg","type":"string","default":""},"page":{"title":"Page","type":"integer","default":0},"total":{"title":"Total","type":"integer","default":1},"num_of_pages":{"title":"Num Of Pages","type":"integer","default":1},"result":{"title":"Result","type":"string","default":"","example":"success"}}},"EAPIResponseCode":{"title":"EAPIResponseCode","enum":[200,500,400,404,403,401,409,503],"description":"An enumeration."},"GetConnectionResponse":{"title":"GetConnectionResponse","type":"object","properties":{"code":{"allOf":[{"$ref":"#/components/schemas/EAPIResponseCode"}],"default":200},"error_msg":{"title":"Error Msg","type":"string","default":""},"page":{"title":"Page","type":"integer","default":0},"total":{"title":"Total","type":"integer","default":1},"num_of_pages":{"title":"Num Of Pages","type":"integer","default":1},"result":{"title":"Result","type":"object","default":{},"example":{"id":"9","name":"workspace_indoctestproject","protocol":"ssh"}}}},"GetPermissionResponse":{"title":"GetPermissionResponse","type":"object","properties":{"code":{"allOf":[{"$ref":"#/components/schemas/EAPIResponseCode"}],"default":200},"error_msg":{"title":"Error Msg","type":"string","default":""},"page":{"title":"Page","type":"integer","default":0},"total":{"title":"Total","type":"integer","default":1},"num_of_pages":{"title":"Num Of Pages","type":"integer","default":1},"result":{"title":"Result","type":"object","default":{},"example":{}}}},"HTTPValidationError":{"title":"HTTPValidationError","type":"object","properties":{"detail":{"title":"Detail","type":"array","items":{"$ref":"#/components/schemas/ValidationError"}}}},"PostConnection":{"title":"PostConnection","required":["container_code","username","port","hostname"],"type":"object","properties":{"container_code":{"title":"Container Code","type":"string"},"connection_name":{"title":"Connection Name","type":"string","default":""},"username":{"title":"Username","type":"string"},"port":{"title":"Port","type":"integer"},"hostname":{"title":"Hostname","type":"string"}}},"PostPermission":{"title":"PostPermission","required":["connection_name","container_code","username","permissions","operation"],"type":"object","properties":{"connection_name":{"title":"Connection Name","type":"string"},"container_code":{"title":"Container Code","type":"string"},"username":{"title":"Username","type":"string"},"permissions":{"title":"Permissions","type":"array","items":{"type":"string"}},"operation":{"title":"Operation","type":"string"}}},"ValidationError":{"title":"ValidationError","required":["loc","msg","type"],"type":"object","properties":{"loc":{"title":"Location","type":"array","items":{"anyOf":[{"type":"string"},{"type":"integer"}]}},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}}}}}}