-
Notifications
You must be signed in to change notification settings - Fork 188
/
Copy pathopenapi.json
1 lines (1 loc) · 213 KB
/
openapi.json
1
{"openapi":"3.0.1","paths":{"/api/auth/user":{"get":{"tags":["Auth"],"summary":"Get information about the currently authenticated user","operationId":"getUser","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularityUserHolder"}}}}}}},"/api/auth/token":{"post":{"tags":["Auth"],"summary":"Generate a new auth token for the provided user data, or for current authed user if no user provided in post body. Only one token can be active for a user at a time","operationId":"generateToken","requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/SingularityTokenRequest"}}}},"responses":{"200":{"description":"the user data and generated token"}}}},"/api/auth/token/{user}":{"delete":{"tags":["Auth"],"summary":"Clear tokens for a user","operationId":"generateToken_1","parameters":[{"name":"user","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"tokens cleared successfully"}}}},"/api/auth/{requestId}/auth-check":{"get":{"tags":["Auth"],"summary":"Check if the specified user is authorized for a request","operationId":"checkReadOnlyAuth","parameters":[{"name":"requestId","in":"path","description":"Request id to check","required":true,"schema":{"type":"string"}},{"name":"scope","in":"query","description":"Scope to check for","schema":{"type":"string","enum":["READ","WRITE","ADMIN","DEPLOY"],"default":"READ"}}],"responses":{"200":{"description":"The user is authorized for the request and scope provided"}}}},"/api/auth/{requestId}/auth-check/{userId}":{"get":{"tags":["Auth"],"summary":"Check if the specified user is authorized for a request","operationId":"checkReadOnlyAuth_1","parameters":[{"name":"requestId","in":"path","description":"Request id to check","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"User id to check","required":true,"schema":{"type":"string"}},{"name":"scope","in":"query","description":"Scope to check for","schema":{"type":"string","enum":["READ","WRITE","ADMIN","DEPLOY"],"default":"READ"}}],"responses":{"200":{"description":"The user is authorized for the request and scope provided"}}}},"/api/deploys":{"post":{"tags":["Deploys"],"summary":"Start a new deployment for a Request","operationId":"deploy","requestBody":{"description":"Deploy data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularityDeployRequest"}}},"required":true},"responses":{"400":{"description":"Deploy object is invalid"},"409":{"description":"Deploys are disabled or a current deploy is in progress. It may be canceled by calling DELETE"}}}},"/api/deploys/deploy/{deployId}/request/{requestId}":{"delete":{"tags":["Deploys"],"summary":"Cancel a pending deployment (best effort - the deploy may still succeed or fail)","operationId":"cancelDeploy","parameters":[{"name":"requestId","in":"path","description":"The Singularity Request Id from which the deployment is removed.","required":true,"schema":{"type":"string"}},{"name":"deployId","in":"path","description":"The Singularity Deploy Id that should be removed.","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Deploy is not in the pending state pending or is not not present"}}}},"/api/deploys/update":{"post":{"tags":["Deploys"],"summary":"Update the target active instance count for a pending deploy","operationId":"updatePendingDeploy","requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/SingularityUpdatePendingDeployRequest"}}},"required":true},"responses":{"400":{"description":"Deploy is not in the pending state pending or is not not present"}}}},"/api/deploys/pending":{"get":{"tags":["Deploys"],"description":"Retrieve the list of current pending deploys","operationId":"getPendingDeploys","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityPendingDeploy"}}}}}}}},"/api/disasters/active/{type}":{"post":{"tags":["Disasters"],"summary":"Create a new active disaster","operationId":"newDisaster","parameters":[{"name":"type","in":"path","description":"The type of disaster to operate on","required":true,"schema":{"type":"string","enum":["EXCESSIVE_TASK_LAG","LOST_SLAVES","LOST_TASKS","USER_INITIATED"]}}],"responses":{"default":{"description":"default response","content":{"application/json":{}}}}},"delete":{"tags":["Disasters"],"summary":"Remove an active disaster (make it inactive)","operationId":"removeDisaster","parameters":[{"name":"type","in":"path","description":"The type of disaster to operate on","required":true,"schema":{"type":"string","enum":["EXCESSIVE_TASK_LAG","LOST_SLAVES","LOST_TASKS","USER_INITIATED"]}}],"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/api/disasters/active":{"get":{"tags":["Disasters"],"summary":"Get a list of current active disasters","operationId":"activeDisasters","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","enum":["EXCESSIVE_TASK_LAG","LOST_SLAVES","LOST_TASKS","USER_INITIATED"]}}}}}}}},"/api/disasters/disabled-actions/{action}":{"post":{"tags":["Disasters"],"summary":"Disable a specific action","operationId":"disableAction","parameters":[{"name":"action","in":"path","description":"The action to disable","required":true,"schema":{"type":"string","enum":["BOUNCE_REQUEST","SCALE_REQUEST","REMOVE_REQUEST","CREATE_REQUEST","UPDATE_REQUEST","VIEW_REQUEST","PAUSE_REQUEST","KILL_TASK","BOUNCE_TASK","RUN_SHELL_COMMAND","ADD_METADATA","DEPLOY","CANCEL_DEPLOY","ADD_WEBHOOK","REMOVE_WEBHOOK","VIEW_WEBHOOKS","TASK_RECONCILIATION","STARTUP_TASK_RECONCILIATION","RUN_HEALTH_CHECKS","ADD_DISASTER","REMOVE_DISASTER","DISABLE_ACTION","ENABLE_ACTION","VIEW_DISASTERS","FREEZE_SLAVE","ACTIVATE_SLAVE","DECOMMISSION_SLAVE","VIEW_SLAVES","FREEZE_RACK","ACTIVATE_RACK","DECOMMISSION_RACK","VIEW_RACKS","SEND_EMAIL","PROCESS_OFFERS","CACHE_OFFERS","EXPENSIVE_API_CALLS","RUN_CLEANUP_POLLER","RUN_DEPLOY_POLLER","RUN_SCHEDULER_POLLER","RUN_EXPIRING_ACTION_POLLER","RUN_UPSTREAM_POLLER","TASK_SHUFFLE"]}}],"requestBody":{"description":"Notes related to a particular disabled action","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SingularityDisabledActionRequest"}}}},"responses":{"default":{"description":"default response","content":{"application/json":{}}}}},"delete":{"tags":["Disasters"],"summary":"Re-enable a specific action if it has been disabled","operationId":"enableAction","parameters":[{"name":"action","in":"path","description":"The action to enable","required":true,"schema":{"type":"string","enum":["BOUNCE_REQUEST","SCALE_REQUEST","REMOVE_REQUEST","CREATE_REQUEST","UPDATE_REQUEST","VIEW_REQUEST","PAUSE_REQUEST","KILL_TASK","BOUNCE_TASK","RUN_SHELL_COMMAND","ADD_METADATA","DEPLOY","CANCEL_DEPLOY","ADD_WEBHOOK","REMOVE_WEBHOOK","VIEW_WEBHOOKS","TASK_RECONCILIATION","STARTUP_TASK_RECONCILIATION","RUN_HEALTH_CHECKS","ADD_DISASTER","REMOVE_DISASTER","DISABLE_ACTION","ENABLE_ACTION","VIEW_DISASTERS","FREEZE_SLAVE","ACTIVATE_SLAVE","DECOMMISSION_SLAVE","VIEW_SLAVES","FREEZE_RACK","ACTIVATE_RACK","DECOMMISSION_RACK","VIEW_RACKS","SEND_EMAIL","PROCESS_OFFERS","CACHE_OFFERS","EXPENSIVE_API_CALLS","RUN_CLEANUP_POLLER","RUN_DEPLOY_POLLER","RUN_SCHEDULER_POLLER","RUN_EXPIRING_ACTION_POLLER","RUN_UPSTREAM_POLLER","TASK_SHUFFLE"]}}],"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/api/disasters/failover":{"post":{"tags":["Disasters"],"summary":"Force the leading Singularity instance to restart and give up leadership","operationId":"forceFailover","responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/api/disasters/disable":{"post":{"tags":["Disasters"],"summary":"Do not allow the automated poller to disable actions when a disaster is detected","operationId":"disableAutomatedDisasterCreation","responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/api/disasters/enable":{"post":{"tags":["Disasters"],"summary":"Allow the automated poller to disable actions when a disaster is detected","operationId":"enableAutomatedDisasterCreation","responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/api/disasters/disabled-actions":{"get":{"tags":["Disasters"],"summary":"Get a list of actions that are currently disable","operationId":"disabledActions","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityDisabledAction"}}}}}}}},"/api/disasters/stats":{"get":{"tags":["Disasters"],"summary":"Get current data related to disaster detection","operationId":"disasterStats","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularityDisastersData"}}}}}}},"/api/history/request/{requestId}/deploy/{deployId}":{"get":{"tags":["History"],"summary":"Retrieve the history for a specific deploy","operationId":"getDeploy","parameters":[{"name":"requestId","in":"path","description":"Request ID for deploy","required":true,"schema":{"type":"string"}},{"name":"deployId","in":"path","description":"Deploy ID","required":true,"schema":{"type":"string"}}],"responses":{"404":{"description":"Deploy with specified id was not found"}}}},"/api/history/tasks":{"get":{"tags":["History"],"summary":"Retrieve the history sorted by startedAt for all inactive tasks","operationId":"getTaskHistory","parameters":[{"name":"requestId","in":"query","description":"Optional Request ID to match","schema":{"type":"string"}},{"name":"deployId","in":"query","description":"Optional deploy ID to match","schema":{"type":"string"}},{"name":"runId","in":"query","description":"Optional runId to match","schema":{"type":"string"}},{"name":"host","in":"query","description":"Optional host to match","schema":{"type":"string"}},{"name":"lastTaskStatus","in":"query","description":"Optional last task status to match","schema":{"type":"string","enum":["TASK_LAUNCHED","TASK_STAGING","TASK_STARTING","TASK_RUNNING","TASK_CLEANING","TASK_KILLING","TASK_FINISHED","TASK_FAILED","TASK_KILLED","TASK_LOST","TASK_LOST_WHILE_DOWN","TASK_ERROR","TASK_DROPPED","TASK_GONE","TASK_UNREACHABLE","TASK_GONE_BY_OPERATOR","TASK_UNKNOWN"]}},{"name":"startedBefore","in":"query","description":"Optionally match only tasks started before","schema":{"type":"integer","format":"int64"}},{"name":"startedAfter","in":"query","description":"Optionally match only tasks started after","schema":{"type":"integer","format":"int64"}},{"name":"updatedBefore","in":"query","description":"Optionally match tasks last updated before","schema":{"type":"integer","format":"int64"}},{"name":"updatedAfter","in":"query","description":"Optionally match tasks last updated after","schema":{"type":"integer","format":"int64"}},{"name":"orderDirection","in":"query","description":"Sort direction","schema":{"type":"string","enum":["ASC","DESC"]}},{"name":"count","in":"query","description":"Maximum number of items to return","schema":{"type":"integer","format":"int32"}},{"name":"page","in":"query","description":"Which page of items to view","schema":{"type":"integer","format":"int32"}},{"name":"skipZk","in":"query","description":"Skip checking zookeeper, items that have not been persisted yet may not appear","schema":{"type":"boolean","default":true}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityTaskIdHistory"}}}}}}}},"/api/history/request/{requestId}/tasks":{"get":{"tags":["History"],"summary":"Retrieve the history sorted by startedAt for all inactive tasks of a specific request","operationId":"getTaskHistoryForRequest","parameters":[{"name":"requestId","in":"path","description":"Request ID to match","required":true,"schema":{"type":"string"}},{"name":"deployId","in":"query","description":"Optional deploy ID to match","schema":{"type":"string"}},{"name":"runId","in":"query","description":"Optional runId to match","schema":{"type":"string"}},{"name":"host","in":"query","description":"Optional host to match","schema":{"type":"string"}},{"name":"lastTaskStatus","in":"query","description":"Optional last task status to match","schema":{"type":"string","enum":["TASK_LAUNCHED","TASK_STAGING","TASK_STARTING","TASK_RUNNING","TASK_CLEANING","TASK_KILLING","TASK_FINISHED","TASK_FAILED","TASK_KILLED","TASK_LOST","TASK_LOST_WHILE_DOWN","TASK_ERROR","TASK_DROPPED","TASK_GONE","TASK_UNREACHABLE","TASK_GONE_BY_OPERATOR","TASK_UNKNOWN"]}},{"name":"startedBefore","in":"query","description":"Optionally match only tasks started before","schema":{"type":"integer","format":"int64"}},{"name":"startedAfter","in":"query","description":"Optionally match only tasks started after","schema":{"type":"integer","format":"int64"}},{"name":"updatedBefore","in":"query","description":"Optionally match tasks last updated before","schema":{"type":"integer","format":"int64"}},{"name":"updatedAfter","in":"query","description":"Optionally match tasks last updated after","schema":{"type":"integer","format":"int64"}},{"name":"orderDirection","in":"query","description":"Sort direction","schema":{"type":"string","enum":["ASC","DESC"]}},{"name":"count","in":"query","description":"Maximum number of items to return","schema":{"type":"integer","format":"int32"}},{"name":"page","in":"query","description":"Which page of items to view","schema":{"type":"integer","format":"int32"}},{"name":"skipZk","in":"query","description":"Skip checking zookeeper, items that have not been persisted yet may not appear","schema":{"type":"boolean","default":false}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityTaskIdHistory"}}}}}}}},"/api/history/request/{requestId}/tasks/active":{"get":{"tags":["History"],"summary":"Retrieve the history for all active tasks of a specific request","operationId":"getTaskHistoryForRequest_1","parameters":[{"name":"requestId","in":"path","description":"Request ID to look up","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityTaskIdHistory"}}}}}}}},"/api/history/request/{requestId}/deploy/{deployId}/tasks/active":{"get":{"tags":["History"],"summary":"Retrieve the task history for a specific deploy","operationId":"getActiveDeployTasks","parameters":[{"name":"requestId","in":"path","description":"Request ID for deploy","required":true,"schema":{"type":"string"}},{"name":"deployId","in":"path","description":"Deploy ID","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityTaskIdHistory"}}}}}}}},"/api/history/request/{requestId}/deploy/{deployId}/tasks/inactive":{"get":{"tags":["History"],"summary":"Retrieve the task history for a specific deploy","operationId":"getInactiveDeployTasks","parameters":[{"name":"requestId","in":"path","description":"Request ID for deploy","required":true,"schema":{"type":"string"}},{"name":"deployId","in":"path","description":"Deploy ID","required":true,"schema":{"type":"string"}},{"name":"count","in":"query","description":"Maximum number of items to return","schema":{"type":"integer","format":"int32"}},{"name":"page","in":"query","description":"Which page of items to view","schema":{"type":"integer","format":"int32"}},{"name":"skipZk","in":"query","description":"Skip checking zookeeper, items that have not been persisted yet may not appear","schema":{"type":"boolean","default":true}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityTaskIdHistory"}}}}}}}},"/api/history/request/{requestId}/deploy/{deployId}/tasks/inactive/withmetadata":{"get":{"tags":["History"],"summary":"Retrieve the task history for a specific deploy","operationId":"getInactiveDeployTasksWithMetadata","parameters":[{"name":"requestId","in":"path","description":"Request ID for deploy","required":true,"schema":{"type":"string"}},{"name":"deployId","in":"path","description":"Deploy ID","required":true,"schema":{"type":"string"}},{"name":"count","in":"query","description":"Maximum number of items to return","schema":{"type":"integer","format":"int32"}},{"name":"page","in":"query","description":"Which page of items to view","schema":{"type":"integer","format":"int32"}},{"name":"skipZk","in":"query","description":"Skip checking zookeeper, items that have not been persisted yet may not appear","schema":{"type":"boolean","default":true}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularityPaginatedResponseSingularityTaskIdHistory"}}}}}}},"/api/history/task/{taskId}":{"get":{"tags":["History"],"summary":"Retrieve the history for a specific task","operationId":"getHistoryForTask","parameters":[{"name":"taskId","in":"path","description":"Task ID to look up","required":true,"schema":{"type":"string"}}],"responses":{"404":{"description":"Task with specified id was not found"}}}},"/api/history/tasks/withmetadata":{"get":{"tags":["History"],"summary":"Retrieve the history sorted by startedAt for all inactive tasks","operationId":"getTaskHistoryWithMetadata","parameters":[{"name":"requestId","in":"query","description":"Optional Request ID to match","schema":{"type":"string"}},{"name":"deployId","in":"query","description":"Optional deploy ID to match","schema":{"type":"string"}},{"name":"runId","in":"query","description":"Optional runId to match","schema":{"type":"string"}},{"name":"host","in":"query","description":"Optional host to match","schema":{"type":"string"}},{"name":"lastTaskStatus","in":"query","description":"Optional last task status to match","schema":{"type":"string","enum":["TASK_LAUNCHED","TASK_STAGING","TASK_STARTING","TASK_RUNNING","TASK_CLEANING","TASK_KILLING","TASK_FINISHED","TASK_FAILED","TASK_KILLED","TASK_LOST","TASK_LOST_WHILE_DOWN","TASK_ERROR","TASK_DROPPED","TASK_GONE","TASK_UNREACHABLE","TASK_GONE_BY_OPERATOR","TASK_UNKNOWN"]}},{"name":"startedBefore","in":"query","description":"Optionally match only tasks started before","schema":{"type":"integer","format":"int64"}},{"name":"startedAfter","in":"query","description":"Optionally match only tasks started after","schema":{"type":"integer","format":"int64"}},{"name":"updatedBefore","in":"query","description":"Optionally match tasks last updated before","schema":{"type":"integer","format":"int64"}},{"name":"updatedAfter","in":"query","description":"Optionally match tasks last updated after","schema":{"type":"integer","format":"int64"}},{"name":"orderDirection","in":"query","description":"Sort direction","schema":{"type":"string","enum":["ASC","DESC"]}},{"name":"count","in":"query","description":"Maximum number of items to return","schema":{"type":"integer","format":"int32"}},{"name":"page","in":"query","description":"Which page of items to view","schema":{"type":"integer","format":"int32"}},{"name":"skipZk","in":"query","description":"Skip checking zookeeper, items that have not been persisted yet may not appear","schema":{"type":"boolean","default":true}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularityPaginatedResponseSingularityTaskIdHistory"}}}}}}},"/api/history/request/{requestId}/tasks/withmetadata":{"get":{"tags":["History"],"summary":"Retrieve the history count for all inactive tasks of a specific request","operationId":"getTaskHistoryForRequestWithMetadata","parameters":[{"name":"requestId","in":"path","description":"Request ID to match","required":true,"schema":{"type":"string"}},{"name":"deployId","in":"query","description":"Optional deploy ID to match","schema":{"type":"string"}},{"name":"runId","in":"query","description":"Optional runId to match","schema":{"type":"string"}},{"name":"host","in":"query","description":"Optional host to match","schema":{"type":"string"}},{"name":"lastTaskStatus","in":"query","description":"Optional last task status to match","schema":{"type":"string","enum":["TASK_LAUNCHED","TASK_STAGING","TASK_STARTING","TASK_RUNNING","TASK_CLEANING","TASK_KILLING","TASK_FINISHED","TASK_FAILED","TASK_KILLED","TASK_LOST","TASK_LOST_WHILE_DOWN","TASK_ERROR","TASK_DROPPED","TASK_GONE","TASK_UNREACHABLE","TASK_GONE_BY_OPERATOR","TASK_UNKNOWN"]}},{"name":"startedBefore","in":"query","description":"Optionally match only tasks started before","schema":{"type":"integer","format":"int64"}},{"name":"startedAfter","in":"query","description":"Optionally match only tasks started after","schema":{"type":"integer","format":"int64"}},{"name":"updatedBefore","in":"query","description":"Optionally match tasks last updated before","schema":{"type":"integer","format":"int64"}},{"name":"updatedAfter","in":"query","description":"Optionally match tasks last updated after","schema":{"type":"integer","format":"int64"}},{"name":"orderDirection","in":"query","description":"Sort direction","schema":{"type":"string","enum":["ASC","DESC"]}},{"name":"count","in":"query","description":"Maximum number of items to return","schema":{"type":"integer","format":"int32"}},{"name":"page","in":"query","description":"Which page of items to view","schema":{"type":"integer","format":"int32"}},{"name":"skipZk","in":"query","description":"Skip checking zookeeper, items that have not been persisted yet may not appear","schema":{"type":"boolean","default":true}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularityPaginatedResponseSingularityTaskIdHistory"}}}}}}},"/api/history/request/{requestId}/run/{runId}":{"get":{"tags":["History"],"summary":"Retrieve the history for a task by runId","operationId":"getTaskHistoryForRequestAndRunId","parameters":[{"name":"requestId","in":"path","description":"Request ID to look up","required":true,"schema":{"type":"string"}},{"name":"runId","in":"path","description":"runId to look up","required":true,"schema":{"type":"string"}}],"responses":{"404":{"description":"Task with specified run id was not found for request"}}}},"/api/history/request/{requestId}/deploys":{"get":{"tags":["History"],"summary":"Get deploy history for a single request","operationId":"getDeploys","parameters":[{"name":"requestId","in":"path","description":"Request ID to look up","required":true,"schema":{"type":"string"}},{"name":"count","in":"query","description":"Maximum number of items to return","schema":{"type":"integer","format":"int32"}},{"name":"page","in":"query","description":"Which page of items to view","schema":{"type":"integer","format":"int32"}},{"name":"skipZk","in":"query","description":"Skip checking zookeeper, items that have not been persisted yet may not appear","schema":{"type":"boolean","default":false}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityDeployHistory"}}}}}}}},"/api/history/request/{requestId}/deploys/withmetadata":{"get":{"tags":["History"],"summary":"Get deploy history with metadata for a single request","operationId":"getDeploysWithMetadata","parameters":[{"name":"requestId","in":"path","description":"Request ID to look up","required":true,"schema":{"type":"string"}},{"name":"count","in":"query","description":"Maximum number of items to return","schema":{"type":"integer","format":"int32"}},{"name":"page","in":"query","description":"Which page of items to view","schema":{"type":"integer","format":"int32"}},{"name":"skipZk","in":"query","description":"Skip checking zookeeper, items that have not been persisted yet may not appear","schema":{"type":"boolean","default":true}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularityPaginatedResponseSingularityDeployHistory"}}}}}}},"/api/history/request/{requestId}/requests":{"get":{"tags":["History"],"summary":"Get request history for a single request","operationId":"getRequestHistoryForRequest","parameters":[{"name":"requestId","in":"path","description":"Request ID to look up","required":true,"schema":{"type":"string"}},{"name":"count","in":"query","description":"Maximum number of items to return","schema":{"type":"integer","format":"int32"}},{"name":"page","in":"query","description":"Which page of items to view","schema":{"type":"integer","format":"int32"}},{"name":"skipZk","in":"query","description":"Skip checking zookeeper, items that have not been persisted yet may not appear","schema":{"type":"boolean","default":false}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityRequestHistory"}}}}}}}},"/api/history/request/{requestId}/requests/withmetadata":{"get":{"tags":["History"],"summary":"Get request history for a single request","operationId":"getRequestHistoryForRequestWithMetadata","parameters":[{"name":"requestId","in":"path","description":"Request ID to look up","required":true,"schema":{"type":"string"}},{"name":"count","in":"query","description":"Maximum number of items to return","schema":{"type":"integer","format":"int32"}},{"name":"page","in":"query","description":"Which page of items to view","schema":{"type":"integer","format":"int32"}},{"name":"skipZk","in":"query","description":"Skip checking zookeeper, items that have not been persisted yet may not appear","schema":{"type":"boolean","default":true}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularityPaginatedResponseSingularityRequestHistory"}}}}}}},"/api/history/requests/search":{"get":{"tags":["History"],"summary":"Search for requests","operationId":"getRequestHistoryForRequestLike","parameters":[{"name":"requestIdLike","in":"query","description":"Request ID prefix to search for","required":true,"schema":{"type":"string"}},{"name":"count","in":"query","description":"Maximum number of items to return","schema":{"type":"integer","format":"int32"}},{"name":"page","in":"query","description":"Which page of items to view","schema":{"type":"integer","format":"int32"}},{"name":"useWebCache","in":"query","description":"Fetched a cached version of this data to limit expensive operations","schema":{"type":"boolean"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/history/request/{requestId}/command-line-args":{"get":{"tags":["History"],"summary":"Get a list of recently used command line args for an on-demand or scheduled request","operationId":"getRecentCommandLineArgs","parameters":[{"name":"requestId","in":"path","description":"Request ID to look up","required":true,"schema":{"type":"string"}},{"name":"count","in":"query","description":"Max number of recent args to return","schema":{"type":"integer","format":"int32"}},{"name":"skipZk","in":"query","description":"Skip checking zookeeper, items that have not been persisted yet may not appear","schema":{"type":"boolean","default":true}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"uniqueItems":true,"type":"array","items":{"type":"array","items":{"type":"string"}}}}}}}}},"/api/history/sql-backfill":{"post":{"tags":["History"],"summary":"For upgrades to version 0.23.0, start the json column backfill in sql","operationId":"startSqlBackfill","parameters":[{"name":"batchSize","in":"query","description":"batch size for sql SELECTs","schema":{"type":"integer","format":"int32","default":20}}],"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/api/inactive":{"get":{"tags":["Inactive Machines"],"summary":"Retrieve a list of slaves marked as inactive","operationId":"getInactiveSlaves","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}}}}}},"post":{"tags":["Inactive Machines"],"summary":"Mark a slave as inactive","operationId":"deactivateSlave","parameters":[{"name":"host","in":"query","description":"The host to deactivate","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{}}}}},"delete":{"tags":["Inactive Machines"],"summary":"Remove a host from teh deactivated list","operationId":"reactivateSlave","parameters":[{"name":"host","in":"query","description":"The host to remove from the deactivated list","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/api/inactive/all":{"delete":{"tags":["Inactive Machines"],"operationId":"clearAllInactiveHosts","requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/SingularityUser"}}}},"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/api/metrics":{"get":{"tags":["Metrics"],"summary":"Retrieve metrics from this scheduler instance","operationId":"getRegistry","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularityMetricsContainer"}}}}}}},"/api/metrics/zk-bytes":{"get":{"tags":["Metrics"],"operationId":"getZkBytesMetrics","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"integer","format":"int64"}}}}}}}},"/api/notifications/blacklist":{"get":{"tags":["Notifications"],"summary":"Retrieve the list of blacklisted emails","operationId":"getBlacklist","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/notifications/subscribe":{"post":{"tags":["Notifications"],"summary":"Delete an unsubscription for an email address","operationId":"subscribe","requestBody":{"description":"The email address to re-subscribe","content":{"*/*":{"schema":{"type":"string"}}},"required":true},"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/api/notifications/unsubscribe":{"post":{"tags":["Notifications"],"summary":"Unsubscribe from Singularity emails.","operationId":"unsubscribe","requestBody":{"description":"The email address to unsubscribe","content":{"*/*":{"schema":{"type":"string"}}},"required":true},"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/api/priority/freeze":{"get":{"tags":["Task Priorities"],"summary":"Get information about the active priority freeze","operationId":"getActivePriorityFreeze","responses":{"200":{"description":"The active priority freeze"},"404":{"description":"There was no active priority freeze"}}},"post":{"tags":["Task Priorities"],"summary":"Stop scheduling tasks below a certain priority level","operationId":"createPriorityFreeze","requestBody":{"description":"the new priority freeze to create","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SingularityPriorityFreeze"}}}},"responses":{"200":{"description":"The priority freeze request was accepted"},"400":{"description":"There was a validation error with the priority freeze request"}}},"delete":{"tags":["Task Priorities"],"summary":"Stops the active priority freeze","operationId":"deleteActivePriorityFreeze","responses":{"202":{"description":"The active priority freeze was deleted"},"400":{"description":"There was no active priority freeze to delete"}}}},"/api/racks":{"get":{"tags":["Racks"],"summary":"Retrieve the list of all known racks, optionally filtering by a particular state","operationId":"getRacks","parameters":[{"name":"state","in":"query","description":"Optionally specify a particular state to filter racks by","schema":{"type":"string","enum":["MISSING_ON_STARTUP","ACTIVE","STARTING_DECOMMISSION","DECOMMISSIONING","DECOMMISSIONED","DEAD","FROZEN"]}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityRack"}}}}}}}},"/api/racks/rack/{rackId}":{"get":{"tags":["Racks"],"summary":"Retrieve the history of a given rack","operationId":"getRackHistory","parameters":[{"name":"rackId","in":"path","description":"Rack ID","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityMachineStateHistoryUpdate"}}}}}}},"delete":{"tags":["Racks"],"summary":"Remove a known rack, erasing history. This operation will cancel decommissioning of racks","operationId":"removeRack","parameters":[{"name":"rackId","in":"path","description":"Rack ID","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/api/racks/rack/{rackId}/activate":{"post":{"tags":["Racks"],"summary":"Activate a decomissioning rack, canceling decomission without erasing history","operationId":"activateRack","parameters":[{"name":"rackId","in":"path","description":"Rack ID","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Settings related to changing the state of a slave","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SingularityMachineChangeRequest"}}}},"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/api/racks/rack/{rackId}/decommission":{"post":{"tags":["Racks"],"summary":"Begin decommissioning a specific active rack","operationId":"decommissionRack","parameters":[{"name":"rackId","in":"path","description":"Rack ID","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Settings related to changing the state of a rack","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SingularityMachineChangeRequest"}}}},"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/api/racks/rack/{rackId}/expiring":{"delete":{"tags":["Racks"],"summary":"Delete any expiring machine state changes for this rack","operationId":"deleteExpiringStateChange","parameters":[{"name":"rackId","in":"path","description":"Rack ID","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/api/racks/expiring":{"get":{"tags":["Racks"],"summary":"Get all expiring state changes for all racks","operationId":"getExpiringStateChanges","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityExpiringMachineState"}}}}}}}},"/api/racks/rack/{rackId}/freeze":{"post":{"tags":["Racks"],"summary":"Freeze a specific rack","operationId":"freezeRack","parameters":[{"name":"rackId","in":"path","description":"Rack ID","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Settings related to changing the state of a slave","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SingularityMachineChangeRequest"}}}},"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/api/groups":{"get":{"tags":["Request Groups"],"summary":"Get a list of Singularity request groups","operationId":"getRequestGroupIds","parameters":[{"name":"useWebCache","in":"query","description":"Use a cached version of this data to limit expensive api calls","schema":{"type":"boolean"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityRequestGroup"}}}}}}},"post":{"tags":["Request Groups"],"summary":"Create a Singularity request group","operationId":"saveRequestGroup","requestBody":{"description":"The new request group to create","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SingularityRequestGroup"}}},"required":true},"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularityRequestGroup"}}}}}}},"/api/groups/group/{requestGroupId}":{"get":{"tags":["Request Groups"],"summary":"Get a specific Singularity request group by ID","operationId":"getRequestGroup","parameters":[{"name":"requestGroupId","in":"path","description":"The id of the request group","required":true,"schema":{"type":"string"}}],"responses":{"404":{"description":"The specified request group was not found"}}},"delete":{"tags":["Request Groups"],"summary":"Delete a specific Singularity request group by ID","operationId":"deleteRequestGroup","parameters":[{"name":"requestGroupId","in":"path","description":"The id of the request group","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/api/requests/request/{requestId}":{"get":{"tags":["Requests"],"summary":"Retrieve a specific Request by ID","operationId":"getRequest","parameters":[{"name":"requestId","in":"path","description":"Request ID","required":true,"schema":{"type":"string"}},{"name":"useWebCache","in":"query","description":"Fetched a cached version of this data to limit expensive operations","schema":{"type":"boolean"}}],"responses":{"404":{"description":"No Request with that ID"}}},"delete":{"tags":["Requests"],"summary":"Delete a specific Request by ID and return the deleted Request","operationId":"deleteRequest","parameters":[{"name":"requestId","in":"path","description":"The request ID to delete","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Delete options","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularityDeleteRequestRequest"}}}},"responses":{"404":{"description":"No Request with that ID"}}}},"/api/requests":{"get":{"tags":["Requests"],"summary":"Retrieve the list of all requests","operationId":"getRequests","parameters":[{"name":"useWebCache","in":"query","description":"Fetched a cached version of this data to limit expensive operations","schema":{"type":"boolean"}},{"name":"filterRelevantForUser","in":"query","description":"Only include requests that the user has operated on or is in a group for","schema":{"type":"boolean"}},{"name":"includeFullRequestData","in":"query","description":"Return full data, including deploy data and active task ids","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"The maximum number of results to return","schema":{"type":"integer","format":"int32"}},{"name":"requestType","in":"query","description":"Only return requests of these types","schema":{"type":"array","items":{"type":"string","enum":["SERVICE","WORKER","SCHEDULED","ON_DEMAND","RUN_ONCE"]}}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityRequestParent"}}}}}}},"post":{"tags":["Requests"],"summary":"Create or update a Singularity Request","operationId":"postRequest","requestBody":{"description":"The Singularity request to create or update","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularityRequest"}}},"required":true},"responses":{"400":{"description":"Request object is invalid"},"409":{"description":"Request object is being cleaned. Try again shortly"}}}},"/api/requests/request/{requestId}/bounce":{"post":{"tags":["Requests"],"summary":"Trigger a bounce for a request","operationId":"bounce_1","parameters":[{"name":"requestId","in":"path","description":"The request to bounce","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularityRequestParent"}}}}}},"delete":{"tags":["Requests"],"summary":"Delete/cancel the expiring bounce. This makes the bounce request permanent","operationId":"deleteExpiringBounce","parameters":[{"name":"requestId","in":"path","description":"The Request ID","required":true,"schema":{"type":"string"}}],"responses":{"404":{"description":"No Request or expiring bounce request for that ID"}}}},"/api/requests/request/{requestId}/skip-healthchecks":{"put":{"tags":["Requests"],"summary":"Update the skipHealthchecks field for the request, possibly temporarily","operationId":"skipHealthchecks","parameters":[{"name":"requestId","in":"path","description":"The Request ID to skip healthchecks for","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"SkipHealtchecks options","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularitySkipHealthchecksRequest"}}}},"responses":{"404":{"description":"No Request with that ID"}}},"delete":{"tags":["Requests"],"summary":"Delete/cancel the expiring skipHealthchecks. This makes the skipHealthchecks request permanent","operationId":"deleteExpiringSkipHealthchecks","parameters":[{"name":"requestId","in":"path","description":"The Request ID","required":true,"schema":{"type":"string"}}],"responses":{"404":{"description":"No Request or expiring skipHealthchecks request for that ID"}}}},"/api/requests/request/{requestId}/unpause":{"post":{"tags":["Requests"],"operationId":"unpauseNoBody","parameters":[{"name":"requestId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularityRequestParent"}}}}}}},"/api/requests/ids":{"get":{"tags":["Requests"],"summary":"Retrieve the list of all request ids","operationId":"getAllRequestIds","parameters":[{"name":"useWebCache","in":"query","description":"Fetched a cached version of this data to limit expensive operations","schema":{"type":"boolean"}},{"name":"requestIdLike","in":"query","description":"Filter to request ids that match this string (case insensitive)","schema":{"type":"string"}},{"name":"state","in":"query","description":"Filter by request state","schema":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["ACTIVE","DELETING","DELETED","PAUSED","SYSTEM_COOLDOWN","FINISHED","DEPLOYING_TO_UNPAUSE"]}}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/requests/request/{requestId}/pause":{"post":{"tags":["Requests"],"summary":"Pause a Singularity request, future tasks will not run until it is manually unpaused. API can optionally choose to kill existing tasks","operationId":"pause_1","parameters":[{"name":"requestId","in":"path","description":"The request ID to pause","required":true,"schema":{"type":"string"}}],"responses":{"409":{"description":"Request is already paused or being cleaned"}}},"delete":{"tags":["Requests"],"summary":"Delete/cancel the expiring pause. This makes the pause request permanent","operationId":"deleteExpiringPause","parameters":[{"name":"requestId","in":"path","description":"The Request ID","required":true,"schema":{"type":"string"}}],"responses":{"404":{"description":"No Request or expiring pause request for that ID"}}}},"/api/requests/request/{requestId}/exit-cooldown":{"post":{"tags":["Requests"],"summary":"Immediately exits cooldown, scheduling new tasks immediately","operationId":"exitCooldown_1","parameters":[{"name":"requestId","in":"path","description":"The request to operate on","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Settings related to how an exit cooldown should behave","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularityExitCooldownRequest"}}}},"responses":{"409":{"description":"Request is not in cooldown"}}}},"/api/requests/queued/cleanup":{"get":{"tags":["Requests"],"summary":"Retrieve the list of requests being cleaned up","operationId":"getCleanupRequests","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityRequestCleanup"}}}}}}}},"/api/requests/paused":{"get":{"tags":["Requests"],"summary":"Retrieve the list of paused requests","operationId":"getPausedRequests","parameters":[{"name":"useWebCache","in":"query","description":"Fetched a cached version of this data to limit expensive operations","schema":{"type":"boolean"}},{"name":"filterRelevantForUser","in":"query","description":"Only include requests that the user has operated on or is in a group for","schema":{"type":"boolean"}},{"name":"includeFullRequestData","in":"query","description":"Return full data, including deploy data and active task ids","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"The maximum number of results to return","schema":{"type":"integer","format":"int32"}},{"name":"requestType","in":"query","description":"Only return requests of these types","schema":{"type":"array","items":{"type":"string","enum":["SERVICE","WORKER","SCHEDULED","ON_DEMAND","RUN_ONCE"]}}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityRequestParent"}}}}}}}},"/api/requests/active":{"get":{"tags":["Requests"],"summary":"Retrieve the list of active requests","operationId":"getActiveRequests","parameters":[{"name":"useWebCache","in":"query","description":"Fetched a cached version of this data to limit expensive operations","schema":{"type":"boolean"}},{"name":"filterRelevantForUser","in":"query","description":"Only include requests that the user has operated on or is in a group for","schema":{"type":"boolean"}},{"name":"includeFullRequestData","in":"query","description":"Return full data, including deploy data and active task ids","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"The maximum number of results to return","schema":{"type":"integer","format":"int32"}},{"name":"requestType","in":"query","description":"Only return requests of these types","schema":{"type":"array","items":{"type":"string","enum":["SERVICE","WORKER","SCHEDULED","ON_DEMAND","RUN_ONCE"]}}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityRequestParent"}}}}}}}},"/api/requests/cooldown":{"get":{"tags":["Requests"],"summary":"Retrieve the list of requests in system cooldown","operationId":"getCooldownRequests","parameters":[{"name":"useWebCache","in":"query","description":"Fetched a cached version of this data to limit expensive operations","schema":{"type":"boolean"}},{"name":"filterRelevantForUser","in":"query","description":"Only include requests that the user has operated on or is in a group for","schema":{"type":"boolean"}},{"name":"includeFullRequestData","in":"query","description":"Return full data, including deploy data and active task ids","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"The maximum number of results to return","schema":{"type":"integer","format":"int32"}},{"name":"requestType","in":"query","description":"Only return requests of these types","schema":{"type":"array","items":{"type":"string","enum":["SERVICE","WORKER","SCHEDULED","ON_DEMAND","RUN_ONCE"]}}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityRequestParent"}}}}}}}},"/api/requests/finished":{"get":{"tags":["Requests"],"summary":"Retreive the list of finished requests (Scheduled requests which have exhausted their schedules)","operationId":"getFinishedRequests","parameters":[{"name":"useWebCache","in":"query","description":"Fetched a cached version of this data to limit expensive operations","schema":{"type":"boolean"}},{"name":"filterRelevantForUser","in":"query","schema":{"type":"boolean"}},{"name":"includeFullRequestData","in":"query","schema":{"type":"boolean"}},{"name":"limit","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"requestType","in":"query","schema":{"type":"array","items":{"type":"string","enum":["SERVICE","WORKER","SCHEDULED","ON_DEMAND","RUN_ONCE"]}}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityRequestParent"}}}}}}}},"/api/requests/lbcleanup":{"get":{"tags":["Requests"],"summary":"Retrieve the list of tasks being cleaned from load balancers.","operationId":"getLbCleanupRequests","parameters":[{"name":"useWebCache","in":"query","description":"Fetched a cached version of this data to limit expensive operations","schema":{"type":"boolean"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/requests/request/{requestId}/crashloops":{"get":{"tags":["Requests"],"summary":"Retrieve a map of all open crash loop details for all requests","operationId":"getCrashLoopsForRequest","parameters":[{"name":"requestId","in":"path","description":"The Request ID to fetch crash loops for","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CrashLoopInfo"}}}}}}}},"/api/requests/crashloops":{"get":{"tags":["Requests"],"summary":"Retrieve a map of all open crash loop details for all requests","operationId":"getAllCrashLoops","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/CrashLoopInfo"}}}}}}}}},"/api/requests/request/{requestId}/run/{runId}":{"get":{"tags":["Requests"],"summary":"Retrieve an active task by runId","operationId":"getTaskByRunId","parameters":[{"name":"requestId","in":"path","description":"Id of the request","required":true,"schema":{"type":"string"}},{"name":"runId","in":"path","description":"Run id to search for","required":true,"schema":{"type":"string"}}],"responses":{"404":{"description":"A task with the specified runID was not found"}}}},"/api/requests/queued/pending":{"get":{"tags":["Requests"],"summary":"Retrieve the list of pending requests","operationId":"getPendingRequests","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityPendingRequest"}}}}}}}},"/api/requests/batch":{"get":{"tags":["Requests"],"summary":"Retrieve a specific batch of requests","operationId":"getRequestsBatch","parameters":[{"name":"id","in":"query","description":"List of request ids to fetch","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularityRequestBatch"}}}}}}},"/api/requests/ids/active":{"get":{"tags":["Requests"],"summary":"Retrieve the list of active request ids","operationId":"getActiveRequestIds","parameters":[{"name":"useWebCache","in":"query","description":"Fetched a cached version of this data to limit expensive operations","schema":{"type":"boolean"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/requests/request/{requestId}/simple":{"get":{"tags":["Requests"],"summary":"Retrieve a specific Request by ID without additional deploy/task information","operationId":"getRequestSimple","parameters":[{"name":"requestId","in":"path","description":"Request ID","required":true,"schema":{"type":"string"}},{"name":"useWebCache","in":"query","description":"Fetched a cached version of this data to limit expensive operations","schema":{"type":"boolean"}}],"responses":{"404":{"description":"No Request with that ID"}}}},"/api/requests/request/{requestId}/scale":{"put":{"tags":["Requests"],"summary":"Scale the number of instances up or down for a specific Request","operationId":"scale","parameters":[{"name":"requestId","in":"path","description":"The Request ID to scale","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Object to hold number of instances to request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularityScaleRequest"}}},"required":true},"responses":{"404":{"description":"No Request with that ID"}}},"delete":{"tags":["Requests"],"summary":"Delete/cancel the expiring scale. This makes the scale request permanent","operationId":"deleteExpiringScale","parameters":[{"name":"requestId","in":"path","description":"The Request ID","required":true,"schema":{"type":"string"}}],"responses":{"404":{"description":"No Request or expiring scale request for that ID"}}}},"/api/requests/request/{requestId}/skipHealthchecks":{"put":{"tags":["Requests"],"summary":"Update the skipHealthchecks field for the request, possibly temporarily","operationId":"skipHealthchecksDeprecated","parameters":[{"name":"requestId","in":"path","description":"The Request ID to scale","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"SkipHealtchecks options","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularitySkipHealthchecksRequest"}}}},"responses":{"404":{"description":"No Request with that ID"}}},"delete":{"tags":["Requests"],"summary":"Delete/cancel the expiring skipHealthchecks. This makes the skipHealthchecks request permanent","operationId":"deleteExpiringSkipHealthchecksDeprecated","parameters":[{"name":"requestId","in":"path","description":"The Request ID","required":true,"schema":{"type":"string"}}],"responses":{"404":{"description":"No Request or expiring skipHealthchecks request for that ID"}}}},"/api/requests/request/{requestId}/groups":{"post":{"tags":["Requests"],"summary":"Update the group, readOnlyGroups, and readWriteGroups for a SingularityRequest","operationId":"updateAuthorizedGroups","parameters":[{"name":"requestId","in":"path","description":"The id of the request to update","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Updated group settings","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SingularityUpdateGroupsRequest"}}},"required":true},"responses":{"400":{"description":"Request object is invalid"},"401":{"description":"User is not authorized to make these updates"}}}},"/api/requests/request/{requestId}/groups/auth-check":{"post":{"tags":["Requests"],"summary":"Check authorization for updating the group, readOnlyGroups, and readWriteGroups for a SingularityRequest, without committing the change","operationId":"checkAuthForGroupsUpdate","parameters":[{"name":"requestId","in":"path","description":"The id of the request to update","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Updated group settings","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SingularityUpdateGroupsRequest"}}},"required":true},"responses":{"400":{"description":"Request object is invalid"},"401":{"description":"User is not authorized to make these updates"}}}},"/api/requests/request/{requestId}/run":{"post":{"tags":["Requests"],"summary":"Schedule a one-off or scheduled Singularity request for immediate or delayed execution","operationId":"scheduleImmediately","parameters":[{"name":"requestId","in":"path","description":"The request ID to run","required":true,"schema":{"type":"string"}},{"name":"minimal","in":"query","schema":{"type":"boolean"}}],"requestBody":{"description":"Settings specific to this run of the request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularityRunNowRequest"}}}},"responses":{"400":{"description":"Singularity Request is not scheduled or one-off"}}}},"/api/logs/task/{taskId}":{"get":{"tags":["S3 Logs"],"summary":"Retrieve the list of logs stored in S3 for a specific task","operationId":"getS3LogsForTask","parameters":[{"name":"taskId","in":"path","description":"The task ID to search for","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start timestamp (millis, 13 digit)","schema":{"type":"integer","format":"int64"}},{"name":"end","in":"query","description":"End timestamp (mills, 13 digit)","schema":{"type":"integer","format":"int64"}},{"name":"excludeMetadata","in":"query","description":"Exclude custom object metadata","schema":{"type":"boolean","default":false}},{"name":"list","in":"query","description":"Do not generate download/get urls, only list the files and metadata","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returns a list of metadata about log files for the specified task","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityS3Log"}}}}},"404":{"description":"S3 configuration is not present"}}}},"/api/logs/request/{requestId}":{"get":{"tags":["S3 Logs"],"summary":"Retrieve the list of logs stored in S3 for a specific request","operationId":"getS3LogsForRequest","parameters":[{"name":"requestId","in":"path","description":"The request ID to search for","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start timestamp (millis, 13 digit)","schema":{"type":"integer","format":"int64"}},{"name":"end","in":"query","description":"End timestamp (mills, 13 digit)","schema":{"type":"integer","format":"int64"}},{"name":"excludeMetadata","in":"query","description":"Exclude custom object metadata","schema":{"type":"boolean","default":false}},{"name":"list","in":"query","description":"Do not generate download/get urls, only list the files and metadata","schema":{"type":"boolean","default":false}},{"name":"maxPerPage","in":"query","description":"Max number of results to return per bucket searched","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Returns a list of metadata about log files for the specified task","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityS3Log"}}}}},"404":{"description":"S3 configuration is not present"}}}},"/api/logs/request/{requestId}/deploy/{deployId}":{"get":{"tags":["S3 Logs"],"summary":"Retrieve the list of logs stored in S3 for a specific deploy","operationId":"getS3LogsForDeploy","parameters":[{"name":"requestId","in":"path","description":"The request ID to search for","required":true,"schema":{"type":"string"}},{"name":"deployId","in":"path","description":"The deploy ID to search for","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start timestamp (millis, 13 digit)","schema":{"type":"integer","format":"int64"}},{"name":"end","in":"query","description":"End timestamp (mills, 13 digit)","schema":{"type":"integer","format":"int64"}},{"name":"excludeMetadata","in":"query","description":"Exclude custom object metadata","schema":{"type":"boolean","default":false}},{"name":"list","in":"query","description":"Do not generate download/get urls, only list the files and metadata","schema":{"type":"boolean","default":false}},{"name":"maxPerPage","in":"query","description":"Max number of results to return per bucket searched","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Returns a list of metadata about log files for the specified task","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityS3Log"}}}}},"404":{"description":"S3 configuration is not present"}}}},"/api/logs/search":{"post":{"tags":["S3 Logs"],"summary":"Retrieve a paginated list of logs stored in S3","operationId":"getPaginatedS3Logs","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularityS3SearchRequest"}}},"required":true},"responses":{"200":{"description":"Returns a list of metadata about log files for the specified task","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityS3Log"}}}}},"404":{"description":"S3 configuration is not present"},"400":{"description":"Missing required data for search"}}}},"/api/sandbox/{taskId}/browse":{"get":{"tags":["Sandbox"],"summary":"Retrieve information about a specific task's sandbox","operationId":"browse","parameters":[{"name":"taskId","in":"path","description":"The task ID to browse","required":true,"schema":{"type":"string"}},{"name":"path","in":"query","description":"The path to browse from","required":true,"schema":{"type":"string"}}],"responses":{"404":{"description":"A slave or task with the specified id was not found"}}}},"/api/sandbox/{taskId}/read":{"get":{"tags":["Sandbox"],"summary":"Retrieve part of the contents of a file in a specific task's sandbox","operationId":"read","parameters":[{"name":"taskId","in":"path","description":"The task ID of the sandbox to read from","required":true,"schema":{"type":"string"}},{"name":"path","in":"query","description":"The path to the file to be read","required":true,"schema":{"type":"string"}},{"name":"grep","in":"query","description":"Optional string to grep for","schema":{"type":"string"}},{"name":"offset","in":"query","description":"Byte offset to start reading from","schema":{"type":"integer","format":"int64"}},{"name":"length","in":"query","description":"Maximum number of bytes to read","schema":{"type":"integer","format":"int64"}}],"responses":{"404":{"description":"A slave, task, or file with the specified id was not found"}}}},"/api/shuffle/blacklist":{"get":{"tags":["Shuffle"],"summary":"Retrieve the set of request IDs that should not be shuffled.","operationId":"getShuffleBlacklist","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/shuffle/blacklist/{requestId}":{"get":{"tags":["Shuffle"],"summary":"Check if a request ID is on the shuffle blacklist.","operationId":"isOnShuffleBlacklist","parameters":[{"name":"requestId","in":"path","description":"The Request ID to fetch crash loops for","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"boolean"}}}}}},"post":{"tags":["Shuffle"],"summary":"Add a request ID to the shuffle blacklist. No effect if already present.","operationId":"addToShuffleBlacklist","parameters":[{"name":"requestId","in":"path","description":"The Request ID to fetch crash loops for","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{}}}}},"delete":{"tags":["Shuffle"],"summary":"Remove a request ID from the shuffle blacklist. No effect if not present.","operationId":"removeFromShuffleBlacklist","parameters":[{"name":"requestId","in":"path","description":"The Request ID to fetch crash loops for","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/api/slaves/slave/{slaveId}/details":{"get":{"tags":["Slaves"],"summary":"Get information about a particular slave","operationId":"getSlave","parameters":[{"name":"slaveId","in":"path","description":"Slave ID","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularitySlave"}}}}}}},"/api/slaves":{"get":{"tags":["Slaves"],"summary":"Retrieve the list of all known slaves, optionally filtering by a particular state","operationId":"getSlaves","parameters":[{"name":"state","in":"query","description":"Optionally specify a particular state to filter slaves by","schema":{"type":"string","enum":["MISSING_ON_STARTUP","ACTIVE","STARTING_DECOMMISSION","DECOMMISSIONING","DECOMMISSIONED","DEAD","FROZEN"]}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularitySlave"}}}}}}}},"/api/slaves/slave/{slaveId}":{"get":{"tags":["Slaves"],"summary":"Retrieve the history of a given slave","operationId":"getSlaveHistory","parameters":[{"name":"slaveId","in":"path","description":"Slave ID","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityMachineStateHistoryUpdate"}}}}}}},"delete":{"tags":["Slaves"],"summary":"Remove a known slave, erasing history. This operation will cancel decomissioning of the slave","operationId":"removeSlave","parameters":[{"name":"slaveId","in":"path","description":"Active SlaveId","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/api/slaves/slave/{slaveId}/activate":{"post":{"tags":["Slaves"],"summary":"Activate a decomissioning slave, canceling decomission without erasing history","operationId":"activateSlave","parameters":[{"name":"slaveId","in":"path","description":"Active slaveId","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Settings related to changing the state of a slave","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularityMachineChangeRequest"}}}},"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/api/slaves/slave/{slaveId}/expiring":{"delete":{"tags":["Slaves"],"summary":"Delete any expiring machine state changes for this slave","operationId":"deleteExpiringStateChange_1","parameters":[{"name":"slaveId","in":"path","description":"Active slaveId","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/api/slaves/expiring":{"get":{"tags":["Slaves"],"summary":"Get all expiring state changes for all slaves","operationId":"getExpiringStateChanges_1","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityExpiringMachineState"}}}}}}}},"/api/slaves/slave/{slaveId}/decommission":{"post":{"tags":["Slaves"],"summary":"Begin decommissioning a specific active slave","operationId":"decommissionSlave","parameters":[{"name":"slaveId","in":"path","description":"Active slaveId","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Settings related to changing the state of a slave","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularityMachineChangeRequest"}}}},"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/api/slaves/dead":{"delete":{"tags":["Slaves"],"operationId":"clearAllDeadSlaves","requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/SingularityUser"}}}},"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/api/slaves/slave/{slaveId}/freeze":{"post":{"tags":["Slaves"],"summary":"Freeze tasks on a specific slave","operationId":"freezeSlave","parameters":[{"name":"slaveId","in":"path","description":"Slave ID","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Settings related to changing the state of a slave","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularityMachineChangeRequest"}}}},"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/api/state/task-reconciliation":{"get":{"tags":["State"],"summary":"Retrieve information about the most recent task reconciliation","operationId":"getTaskReconciliationStatistics","responses":{"404":{"description":"No reconciliation statistics are present"}}}},"/api/state/requests/under-provisioned":{"get":{"tags":["State"],"summary":"Retrieve the list of under-provisioned request IDs.","operationId":"getUnderProvisionedRequestIds","parameters":[{"name":"skipCache","in":"query","schema":{"type":"boolean"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/state/requests/over-provisioned":{"get":{"tags":["State"],"summary":"Retrieve the list of over-provisioned request IDs.","operationId":"getOverProvisionedRequestIds","parameters":[{"name":"skipCache","in":"query","schema":{"type":"boolean"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/state":{"get":{"tags":["State"],"summary":"Retrieve information about the current state of Singularity.","operationId":"getState","parameters":[{"name":"skipCache","in":"query","schema":{"type":"boolean"}},{"name":"includeRequestIds","in":"query","schema":{"type":"boolean"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularityState"}}}}}}},"/api/tasks/scheduled/task/{pendingTaskId}":{"get":{"tags":["Tasks"],"summary":"Retrieve information about a pending task","operationId":"getPendingTask","parameters":[{"name":"pendingTaskId","in":"path","description":"The unique id of the pending task","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularityTaskRequest"}}}}}}},"/api/tasks/killed":{"get":{"tags":["Tasks"],"summary":"Retrieve the list of killed task ids for all requests","description":"A list of task ids where the task has been sent a kill but has not yet sent a status update with a terminal state","operationId":"getKilledTasks","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityKilledTaskIdRecord"}}}}}}}},"/api/tasks/ids/request/{requestId}":{"get":{"tags":["Tasks"],"summary":"Retrieve a list of task ids separated by status","description":"Includes pending, active, and cleaning tasks","operationId":"getTaskIdsByStatusForRequest","parameters":[{"name":"requestId","in":"path","description":"The request id to retrieve tasks for","required":true,"schema":{"type":"string"}}],"responses":{"404":{"description":"A request with the specified id was not found"}}}},"/api/tasks/scheduled/ids":{"get":{"tags":["Tasks"],"summary":"Retrieve list of pending task IDs","description":"A list of tasks that are scheduled and waiting to be launched","operationId":"getScheduledTaskIds","parameters":[{"name":"useWebCache","in":"query","description":"Use the cached version of this data to limit expensive api calls","schema":{"type":"boolean"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityPendingTaskId"}}}}}}}},"/api/tasks/active/ids":{"get":{"tags":["Tasks"],"summary":"Retrieve the list of active task ids for all requests","operationId":"getActiveTaskIds","parameters":[{"name":"useWebCache","in":"query","description":"Use the cached version of this data to limit expensive api calls","schema":{"type":"boolean"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityTaskId"}}}}}}}},"/api/tasks/task/{taskId}/cleanup":{"get":{"tags":["Tasks"],"summary":"Get the cleanup object for the task, if it exists","operationId":"getTaskCleanup","parameters":[{"name":"taskId","in":"path","description":"Id of the task","required":true,"schema":{"type":"string"}}],"responses":{"404":{"description":"No cleanup exists for this task, or no task with this id exists"}}}},"/api/tasks/active":{"get":{"tags":["Tasks"],"summary":"Retrieve the list of active tasks for all requests","operationId":"getActiveTasks","parameters":[{"name":"useWebCache","in":"query","description":"Use the cached version of this data to limit expensive api calls","schema":{"type":"boolean"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityTask"}}}}}}}},"/api/tasks/scheduled":{"get":{"tags":["Tasks"],"summary":"Retrieve list of scheduled tasks","operationId":"getScheduledTasks","parameters":[{"name":"useWebCache","in":"query","description":"Use the cached version of this data to limit expensive api calls","schema":{"type":"boolean"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityTaskRequest"}}}}}}}},"/api/tasks/scheduled/task/{scheduledTaskId}":{"delete":{"tags":["Tasks"],"summary":"Delete a scheduled task by id","operationId":"deleteScheduledTask","parameters":[{"name":"scheduledTaskId","in":"path","description":"The id of the scheduled/pending task to delete","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Deletion has been enqueued and the task will be deleted when the scheduler poller runs next"},"404":{"description":"A request with the specified id did not exist or the pending task with the specified id was not found"},"400":{"description":"The request is not of a type that allows pending task deletes (only ON_DEMAND requests allow deletes)"}}}},"/api/tasks/scheduled/request/{requestId}":{"get":{"tags":["Tasks"],"summary":"Retrieve list of pending/scheduled tasks for a specific request","operationId":"getScheduledTasksForRequest","parameters":[{"name":"requestId","in":"path","description":"The request id to retrieve pending tasks for","required":true,"schema":{"type":"string"}},{"name":"useWebCache","in":"query","description":"Use the cached version of this data to limit expensive api calls","schema":{"type":"boolean"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityTaskRequest"}}}}}}}},"/api/tasks/active/slave/{slaveId}":{"get":{"tags":["Tasks"],"summary":"Retrieve list of active tasks on a specific slave","operationId":"getTasksForSlave","parameters":[{"name":"slaveId","in":"path","description":"The mesos slave id to retrieve tasks for","required":true,"schema":{"type":"string"}},{"name":"useWebCache","in":"query","description":"Use the cached version of this data to limit expensive api calls","schema":{"type":"boolean"}}],"responses":{"404":{"description":"A slave with the specified id was not found"}}}},"/api/tasks/active/slave/{slaveId}/ids":{"get":{"tags":["Tasks"],"summary":"Retrieve list of active tasks on a specific slave","operationId":"getTaskIdsForSlave","parameters":[{"name":"slaveId","in":"path","description":"The mesos slave id to retrieve task ids for","required":true,"schema":{"type":"string"}},{"name":"useWebCache","in":"query","description":"Use the cached version of this data to limit expensive api calls","schema":{"type":"boolean"}}],"responses":{"404":{"description":"A slave with the specified id was not found"}}}},"/api/tasks/active/states":{"get":{"tags":["Tasks"],"summary":"Retrieve the list of active task ids for all requests","operationId":"getActiveTaskStates","parameters":[{"name":"useWebCache","in":"query","description":"Use the cached version of this data to limit expensive api calls","schema":{"type":"boolean"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/SingularityTaskHistoryUpdate"}}}}}}}}},"/api/tasks/cleaning":{"get":{"tags":["Tasks"],"summary":"Retrieve the list of cleaning tasks for all requests","operationId":"getCleaningTasks","parameters":[{"name":"useWebCache","in":"query","description":"Use the cached version of this data to limit expensive api calls","schema":{"type":"boolean"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityTaskCleanup"}}}}}}}},"/api/tasks/lbcleanup":{"get":{"tags":["Tasks"],"summary":"Retrieve the list of task ids being cleaned from load balancers","operationId":"getLbCleanupTasks","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityTaskId"}}}}}}}},"/api/tasks/task/{taskId}":{"get":{"tags":["Tasks"],"summary":"Retrieve information about a specific active task","operationId":"getActiveTask","parameters":[{"name":"taskId","in":"path","description":"Id of the task","required":true,"schema":{"type":"string"}}],"responses":{"404":{"description":"A task with this id was not found"}}},"delete":{"tags":["Tasks"],"summary":"Attempt to kill task, optionally overriding an existing cleanup request (that may be waiting for replacement tasks to become healthy)","operationId":"killTask","parameters":[{"name":"taskId","in":"path","description":"Id of the task to kill","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Overrides related to how the task kill is performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularityKillTaskRequest"}}}},"responses":{"200":{"description":"Returns the cleanup created to trigger a task kill"},"409":{"description":"Task already has a cleanup request (can be overridden with override=true)"}}}},"/api/tasks/task/{taskId}/statistics":{"get":{"tags":["Tasks"],"summary":"Retrieve resource usage statistics about a specific active task","operationId":"getTaskStatistics","parameters":[{"name":"taskId","in":"path","description":"Id of the task","required":true,"schema":{"type":"string"}}],"responses":{"404":{"description":"A task with this id, or slave and executor with matching statistics was not found"}}}},"/api/tasks/commands/queued":{"get":{"tags":["Tasks"],"summary":"Retrieve a list of all the shell commands queued for execution","operationId":"getQueuedShellCommands","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityTaskShellCommandRequest"}}}}}}}},"/api/tasks/task/{taskId}/metadata":{"post":{"tags":["Tasks"],"summary":"Post metadata about a task that will be persisted along with it and displayed in the UI","operationId":"postTaskMetadata","parameters":[{"name":"taskId","in":"path","description":"Id of the task","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Metadata to attach to the task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularityTaskMetadataRequest"}}},"required":true},"responses":{"400":{"description":"Invalid metadata object or doesn't match allowed types"},"404":{"description":"Task doesn't exist"},"409":{"description":"Metadata with this type/timestamp already existed"}}}},"/api/tasks/task/{taskId}/command":{"get":{"tags":["Tasks"],"summary":"Retrieve a list of shell commands that have run for a task","operationId":"getShellCommandHisotry","parameters":[{"name":"taskId","in":"path","description":"Id of the task","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityTaskShellCommandHistory"}}}}}}},"post":{"tags":["Tasks"],"summary":"Run a configured shell command against the given task","operationId":"runShellCommand","parameters":[{"name":"taskId","in":"path","description":"Id of the task","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Object describing the command to be run","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularityShellCommand"}}},"required":true},"responses":{"400":{"description":"Given shell command option doesn't exist"},"403":{"description":"Given shell command doesn't exist"}}}},"/api/tasks/task/{taskId}/command/{commandName}/{commandTimestamp}":{"get":{"tags":["Tasks"],"summary":"Retrieve a list of shell commands updates for a particular shell command on a task","operationId":"getShellCommandHisotryUpdates","parameters":[{"name":"taskId","in":"path","description":"Id of the task","required":true,"schema":{"type":"string"}},{"name":"commandName","in":"path","description":"name of the command that was run","required":true,"schema":{"type":"string"}},{"name":"commandTimestamp","in":"path","description":"Timestamp of the original shell command request","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityTaskShellCommandUpdate"}}}}}}}},"/api/tasks/download":{"get":{"tags":["Tasks"],"summary":"Proxy a file download from a Mesos Slave through Singularity","operationId":"downloadFileOverProxy","parameters":[{"name":"slaveHostname","in":"query","description":"Mesos slave hostname","required":true,"schema":{"type":"string"}},{"name":"path","in":"query","description":"Full file path to file on Mesos slave to be downloaded","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/octet-stream":{}}}}}},"/api/tasks/open":{"get":{"tags":["Tasks"],"summary":"Open a file from a Mesos Slave through Singularity","operationId":"openFileOverProxy","parameters":[{"name":"slaveHostname","in":"query","description":"Mesos slave hostname","required":true,"schema":{"type":"string"}},{"name":"path","in":"query","description":"Full file path to file on Mesos slave to be downloaded","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"*/*":{}}}}}},"/api/tasks/reconcile/{taskId}":{"post":{"tags":["Tasks"],"summary":"Force a reconciliation with the mesos master state for this task","operationId":"forceReconcile","parameters":[{"name":"taskId","in":"path","description":"Id of the task","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/api/track/task/{taskId}":{"get":{"tags":["Task Tracking"],"summary":"Get the current state of a task by taskId whether it is active, or inactive","operationId":"getTaskState","parameters":[{"name":"taskId","in":"path","description":"the task id to search for","required":true,"schema":{"type":"string"}}],"responses":{"404":{"description":"Task with this id does not exist"}}}},"/api/track/run/{requestId}/{runId}":{"get":{"tags":["Task Tracking"],"summary":"Get the current state of a task by taskId whether it is pending, active, or inactive","operationId":"getTaskStateByRunId","parameters":[{"name":"requestId","in":"path","description":"the request id to search for tasks","required":true,"schema":{"type":"string"}},{"name":"runId","in":"path","description":"the run id to search for","required":true,"schema":{"type":"string"}}],"responses":{"404":{"description":"Task with this runId does not exist"}}}},"/api/test/abort":{"post":{"tags":["Test"],"summary":"Abort the Mesos scheduler","operationId":"abort","responses":{"403":{"description":"Test resource calls are currently not enabled, set `allowTestResourceCalls` to `true` in config yaml to enable"}}}},"/api/test/reconnect-mesos":{"post":{"tags":["Test"],"summary":"Trigger a reconnect to the mesos master","operationId":"reconnectMesos","responses":{"403":{"description":"Test resource calls are currently not enabled, set `allowTestResourceCalls` to `true` in config yaml to enable"}}}},"/api/test/scheduler/statusUpdate/{taskId}/{taskState}":{"post":{"tags":["Test"],"summary":"Force an update for a specific task","operationId":"statusUpdate","parameters":[{"name":"taskId","in":"path","required":true,"schema":{"type":"string"}},{"name":"taskState","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"403":{"description":"Test resource calls are currently not enabled, set `allowTestResourceCalls` to `true` in config yaml to enable"}}}},"/api/test/notleader":{"post":{"tags":["Test"],"summary":"Make this instanceo of Singularity believe it's lost leadership","operationId":"setNotLeader","responses":{"403":{"description":"Test resource calls are currently not enabled, set `allowTestResourceCalls` to `true` in config yaml to enable"}}}},"/api/test/leader":{"post":{"tags":["Test"],"summary":"Make this instance of Singularity believe it's elected leader","operationId":"setLeader","responses":{"403":{"description":"Test resource calls are currently not enabled, set `allowTestResourceCalls` to `true` in config yaml to enable"}}}},"/api/test/reconcile":{"post":{"tags":["Test"],"summary":"Start task reconciliation","operationId":"startTaskReconciliation","responses":{"403":{"description":"Test resource calls are currently not enabled, set `allowTestResourceCalls` to `true` in config yaml to enable"}}}},"/api/test/purge-history":{"post":{"tags":["Test"],"summary":"Run a history purge","operationId":"runHistoryPurge","responses":{"403":{"description":"Test resource calls are currently not enabled, set `allowTestResourceCalls` to `true` in config yaml to enable"}}}},"/api/test/purge-history/request":{"post":{"tags":["Test"],"summary":"Run a request history purge","operationId":"runRequestHistoryPurge","responses":{"403":{"description":"Test resource calls are currently not enabled, set `allowTestResourceCalls` to `true` in config yaml to enable"}}}},"/api/test/purge-history/deploy":{"post":{"tags":["Test"],"summary":"Run a request history purge","operationId":"runDeployHistoryPurge","responses":{"403":{"description":"Test resource calls are currently not enabled, set `allowTestResourceCalls` to `true` in config yaml to enable"}}}},"/api/test/exception":{"post":{"tags":["Test"],"summary":"Trigger an exception","operationId":"throwException","parameters":[{"name":"message","in":"query","description":"Exception message","schema":{"type":"string","default":"test exception"}}],"responses":{"403":{"description":"Test resource calls are currently not enabled, set `allowTestResourceCalls` to `true` in config yaml to enable"}}}},"/api/test/start":{"post":{"tags":["Test"],"summary":"Start the Mesos scheduler driver","operationId":"start","responses":{"403":{"description":"Test resource calls are currently not enabled, set `allowTestResourceCalls` to `true` in config yaml to enable"}}}},"/api/test/stop":{"post":{"tags":["Test"],"summary":"Stop the Mesos scheduler subscriber","operationId":"stop","responses":{"403":{"description":"Test resource calls are currently not enabled, set `allowTestResourceCalls` to `true` in config yaml to enable"}}}},"/api/usage/cluster/utilization":{"get":{"tags":["Resource Usage"],"summary":"GET a summary of utilization for all slaves and requests in the mesos cluster","operationId":"getClusterUtilization","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularityClusterUtilization"}}}}}}},"/api/usage/requests":{"get":{"tags":["Resource Usage"],"operationId":"getRequestUtilizations","parameters":[{"name":"useWebCache","in":"query","schema":{"type":"boolean"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/SingularityUser"}}}},"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RequestUtilization"}}}}}}}},"/api/usage/requests/request/{requestId}":{"get":{"tags":["Resource Usage"],"operationId":"getRequestUtilization","parameters":[{"name":"requestId","in":"path","required":true,"schema":{"type":"string"}},{"name":"useWebCache","in":"query","schema":{"type":"boolean"}}],"requestBody":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/SingularityUser"}}}},"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestUtilization"}}}}}}},"/api/usage/slaves":{"get":{"tags":["Resource Usage"],"summary":"Retrieve a list of slave resource usage models with slave ids","operationId":"getSlavesWithUsage","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularitySlaveUsageWithId"}}}}}}}},"/api/usage/tasks/{taskId}/history":{"get":{"tags":["Resource Usage"],"summary":"Retrieve the usage history for a particular task","description":"Empty if the task usage has not been collected or has been cleaned up","operationId":"getTaskUsageHistory","parameters":[{"name":"taskId","in":"path","description":"The id of the task to retrieve usage history for","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityTaskUsage"}}}}}}}},"/api/users/settings":{"get":{"tags":["Users"],"summary":"Retrieve the settings for the current authenticated user","operationId":"getUserSettings","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularityUserSettings"}}}}}},"post":{"tags":["Users"],"summary":"Update the settings for the current authenticated user","operationId":"setUserSettings","requestBody":{"description":"The new settings to be saved for the currently authenticated user","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SingularityUserSettings"}}},"required":true},"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/api/users/settings/starred-requests":{"post":{"tags":["Users"],"summary":"Add starred requests for the current authenticated user","operationId":"addStarredRequests","requestBody":{"description":"A SingularityUserSettings object containing the new starred requests for the currently authenticated user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularityUserSettings"}}},"required":true},"responses":{"default":{"description":"default response","content":{"application/json":{}}}}},"delete":{"tags":["Users"],"summary":"Remove starred requests for the current authenticated user","operationId":"deleteStarredRequests","requestBody":{"description":"A SingularityUserSettings object containing starred requests to remove for the currently authenticated user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularityUserSettings"}}},"required":true},"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/api/webhooks":{"get":{"tags":["Webhooks"],"summary":"Retrieve a list of active webhooks.","operationId":"getActiveWebhooks","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityWebhook"}}}}}}},"post":{"tags":["Webhooks"],"summary":"Add a new webhook","operationId":"addWebhook","requestBody":{"description":"SingularityWebhook object describing the new webhook to be added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingularityWebhook"}}},"required":true},"responses":{"409":{"description":"Adding new webhooks is currently disabled"}}},"delete":{"tags":["Webhooks"],"summary":"Delete a specific webhook by id","operationId":"deleteWebhook","parameters":[{"name":"webhookId","in":"query","description":"Id of the webhook to delete","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"string","enum":["DELETED","DIDNT_EXIST"]}}}}}}},"/api/webhooks/summary":{"get":{"tags":["Webhooks"],"summary":"Retrieve a summary of each active webhook","operationId":"getWebhooksWithQueueSize","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityWebhookSummary"}}}}}}}},"/api/webhooks/{webhookId}":{"delete":{"tags":["Webhooks"],"summary":"Delete a specific webhook","operationId":"deleteWebhookDeprecated","parameters":[{"name":"webhookId","in":"path","description":"Id of the webhook to delete","required":true,"schema":{"type":"string"}}],"responses":{"409":{"description":"Deleting webhooks is currently disabled"}}}},"/api/webhooks/deploy/{webhookId}":{"get":{"tags":["Webhooks"],"summary":"Retrieve a list of queued deploy updates for a specific webhook","operationId":"getQueuedDeployUpdatesDeprecated","parameters":[{"name":"webhookId","in":"path","description":"Id of the webhook to get deploy updates for","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityDeployUpdate"}}}}}}}},"/api/webhooks/request/{webhookId}":{"get":{"tags":["Webhooks"],"summary":"Retrieve a list of queued request updates for a specific webhook","operationId":"getQueuedRequestUpdatesDeprecated","parameters":[{"name":"webhookId","in":"path","description":"Id of the webhook to get request updates for","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityRequestHistory"}}}}}}}},"/api/webhooks/task/{webhookId}":{"get":{"tags":["Webhooks"],"summary":"Retrieve a list of queued task updates for a specific webhook","operationId":"getQueuedTaskUpdatesDeprecated","parameters":[{"name":"webhookId","in":"path","description":"Id of the webhook to get task updates for","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityTaskHistoryUpdate"}}}}}}}},"/api/webhooks/deploy":{"get":{"tags":["Webhooks"],"summary":"Retrieve a list of queued deploy updates for a specific webhook","operationId":"getQueuedDeployUpdates","parameters":[{"name":"webhookId","in":"query","description":"Id of the webhook to get deploy updates for","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityDeployUpdate"}}}}}}}},"/api/webhooks/request":{"get":{"tags":["Webhooks"],"summary":"Retrieve a list of queued request updates for a specific webhook.","operationId":"getQueuedRequestUpdates","parameters":[{"name":"webhookId","in":"query","description":"Id of the webhook to get request updates for","schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityRequestHistory"}}}}}}}},"/api/webhooks/task":{"get":{"tags":["Webhooks"],"summary":"Retrieve a list of queued task updates for a specific webhook.","operationId":"getQueuedTaskUpdates","parameters":[{"name":"webhookId","in":"query","description":"Id of the webhook to get task updates for","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SingularityTaskHistoryUpdate"}}}}}}}},"/{uiPath}":{"get":{"operationId":"getIndex","responses":{"default":{"description":"default response","content":{"text/html":{"schema":{"$ref":"#/components/schemas/IndexView"}}}}}}}},"components":{"schemas":{"SingularitySandbox":{"type":"object","properties":{"files":{"type":"array","description":"List of files inside sandbox","items":{"$ref":"#/components/schemas/SingularitySandboxFile"}},"fullPathToRoot":{"type":"string","description":"Full path to the root of the Mesos task sandbox"},"currentDirectory":{"type":"string","description":"Current directory"},"slaveHostname":{"type":"string","description":"Hostname of tasks's slave"}},"description":"Represents the path to a specific task's Mesos sandbox"},"SingularityPendingRequest":{"type":"object","properties":{"requestId":{"type":"string"},"deployId":{"type":"string"},"timestamp":{"type":"integer","format":"int64"},"user":{"type":"string"},"pendingType":{"type":"string","enum":["IMMEDIATE","ONEOFF","BOUNCE","NEW_DEPLOY","NEXT_DEPLOY_STEP","UNPAUSED","RETRY","UPDATED_REQUEST","DECOMISSIONED_SLAVE_OR_RACK","TASK_DONE","STARTUP","CANCEL_BOUNCE","TASK_BOUNCE","DEPLOY_CANCELLED","DEPLOY_FAILED","DEPLOY_FINISHED","TASK_RECOVERED"]},"cmdLineArgsList":{"type":"array","items":{"type":"string"}},"runId":{"type":"string"},"skipHealthchecks":{"type":"boolean"},"message":{"type":"string"},"actionId":{"type":"string"},"resources":{"$ref":"#/components/schemas/Resources"},"s3UploaderAdditionalFiles":{"type":"array","items":{"$ref":"#/components/schemas/SingularityS3UploaderFile"}},"runAsUserOverride":{"type":"string"},"envOverrides":{"type":"object","additionalProperties":{"type":"string"}},"requiredSlaveAttributeOverrides":{"type":"object","additionalProperties":{"type":"string"}},"allowedSlaveAttributeOverrides":{"type":"object","additionalProperties":{"type":"string"}},"extraArtifacts":{"type":"array","items":{"$ref":"#/components/schemas/SingularityMesosArtifact"}},"runAt":{"type":"integer","format":"int64"}},"description":"Describes a task that is waiting to be launched"},"SingularityDeployMarker":{"type":"object","properties":{"requestId":{"type":"string","description":"The request associated with thsi deploy"},"deployId":{"type":"string","description":"A unique ID for this deploy"},"timestamp":{"type":"integer","description":"The time this deploy was created","format":"int64"},"user":{"type":"string","description":"The user associated with this deploy","nullable":true},"message":{"type":"string","description":"An optional message associated with this deploy","nullable":true}},"description":"Uniquely identifies a deploy"},"SingularityPriorityFreezeParent":{"type":"object","properties":{"priorityFreeze":{"$ref":"#/components/schemas/SingularityPriorityFreeze"},"timestamp":{"type":"integer","format":"int64"},"user":{"type":"string"}}},"MesosStringValue":{"type":"object","properties":{"value":{"type":"string"}}},"SingularityDockerImage":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"Docker image name, expected format: [REGISTRY_HOST[:REGISTRY_PORT]/]REPOSITORY[:TAG|@TYPE:DIGEST]"}},"description":"Describes a docker image"},"SingularityDockerPortMapping":{"required":["containerPort","hostPort"],"type":"object","properties":{"containerPortType":{"type":"string","description":"Container port. Use the port number provided (LITERAL) or the dynamically allocated port at this index (FROM_OFFER)","enum":["LITERAL","FROM_OFFER"]},"containerPort":{"type":"integer","description":"Port number, or index of port from offer within the container","format":"int32"},"hostPortType":{"type":"string","description":"Host port. Use the port number provided (LITERAL) or the dynamically allocated port at this index (FROM_OFFER)","enum":["LITERAL","FROM_OFFER"]},"hostPort":{"type":"integer","description":"Port number, or index of port from offer on the host","format":"int32"},"protocol":{"type":"string","description":"Protocol for binding the port. Default is tcp"}},"description":"Describes a docker port mapping"},"SingularityExpiringScale":{"type":"object","properties":{"requestId":{"type":"string","description":"The request this future action is in reference to"},"user":{"type":"string","description":"User who initially triggered the future action","nullable":true},"startMillis":{"type":"integer","description":"Time the future action was created","format":"int64"},"expiringAPIRequestObject":{"$ref":"#/components/schemas/SingularityScaleRequest"},"revertToInstances":{"type":"integer","description":"The instance count to update to when time has elapsed","format":"int32","nullable":true},"actionId":{"type":"string","description":"A unique id for this future action"},"bounce":{"type":"boolean","description":"If the scale action when updating instance count should also trigger a bounce","nullable":true,"default":false}},"description":"Details about a scale action that will eventually revert","nullable":true},"SingularityS3UploaderFile":{"type":"object","properties":{"filename":{"type":"string","description":"The name of the file"},"s3UploaderBucket":{"title":"The s3 bucket to upload to","type":"string","nullable":true,"default":"The default bucket configured in the S3Uploader"},"s3UploaderKeyPattern":{"title":"The pattern to use when generating the S3 key for the object that is uploaded","type":"string","nullable":true,"default":"The default pattern configured in the S3Uploader"},"s3UploaderFilenameHint":{"title":"An optional suffix appended to the uploader metadata file for easier debugging","type":"string","nullable":true},"directory":{"title":"The directory to search for files to upload","type":"string","nullable":true,"default":"The task sandbox directory"},"s3StorageClass":{"title":"The aws storage class to use for files uploaded","type":"string","nullable":true,"default":"The storage class as configured in the S3Uploader depending on file size"},"applyS3StorageClassAfterBytes":{"title":"The size of file required in order to apply the `s3StorageClass` if present","type":"integer","format":"int64","nullable":true},"checkSubdirectories":{"title":"Recursively check directories for matching files","type":"boolean","default":false}},"description":"Describes a file that shouldbe uploaded by the SingularityS3Uploader"},"SingularityS3SearchResult":{"required":["lastPage"],"type":"object","properties":{"continuationTokens":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/ContinuationToken"},"description":"S3 continuation tokens, return these to Singularity to continue searching subsequent pages of results"},"lastPage":{"type":"boolean","description":"If true, there are no further results for any bucket + prefix being searched"},"results":{"type":"array","description":"List of S3 log metadata","items":{"$ref":"#/components/schemas/SingularityS3LogMetadata"}}},"description":"Results from searching for task logs in S3"},"SingularityWebhook":{"required":["type","uri"],"type":"object","properties":{"uri":{"type":"string","description":"URI to POST to"},"timestamp":{"type":"integer","description":"Webhook creation timestamp","format":"int64"},"user":{"type":"string","description":"User that created webhook"},"type":{"type":"string","description":"Webhook type","enum":["TASK","REQUEST","DEPLOY","CRASHLOOP"]},"id":{"type":"string","description":"Unique ID for webhook"}},"description":"Representation of a destination for a specific type of webhook"},"SingularityTaskShellCommandUpdate":{"type":"object","properties":{"shellRequestId":{"$ref":"#/components/schemas/SingularityTaskShellCommandRequestId"},"timestamp":{"type":"integer","format":"int64"},"message":{"type":"string"},"outputFilename":{"type":"string"},"updateType":{"type":"string","enum":["INVALID","ACKED","STARTED","FINISHED","FAILED"]}}},"SingularityTaskCleanup":{"type":"object","properties":{"user":{"type":"string","description":"The user who triggered this cleanup","nullable":true},"cleanupType":{"type":"string","description":"The enum reason for this cleanup","enum":["BOUNCING","DECOMMISSION_TIMEOUT","DECOMISSIONING","DEPLOY_CANCELED","DEPLOY_FAILED","DEPLOY_STEP_FINISHED","INCREMENTAL_BOUNCE","INCREMENTAL_DEPLOY_CANCELLED","INCREMENTAL_DEPLOY_FAILED","NEW_DEPLOY_SUCCEEDED","OVERDUE_NEW_TASK","PAUSE","PAUSING","PRIORITY_KILL","REBALANCE_CPU_USAGE","REBALANCE_MEMORY_USAGE","REBALANCE_RACKS","REBALANCE_SLAVE_ATTRIBUTES","REQUEST_DELETING","SCALING_DOWN","TASK_EXCEEDED_TIME_LIMIT","UNHEALTHY_NEW_TASK","USER_REQUESTED","USER_REQUESTED_DESTROY","USER_REQUESTED_TASK_BOUNCE"]},"timestamp":{"type":"integer","description":"The time this cleanup was created","format":"int64"},"taskId":{"$ref":"#/components/schemas/SingularityTaskId"},"message":{"type":"string","description":"An optional message describing the reason this task was cleaned","nullable":true},"actionId":{"type":"string","description":"An optional unique id associted with the cleanup of this task","nullable":true},"runBeforeKillId":{"$ref":"#/components/schemas/SingularityTaskShellCommandRequestId"},"removeFromLoadBalancer":{"title":"If a request is being deleted and this is the final task, trigger deletion of the request from the load balancer","type":"boolean","default":true}},"description":"Describes the cleanup or shutdown of a singularity task"},"SingularityMesosInfo":{"type":"object","properties":{"image":{"$ref":"#/components/schemas/SingularityMesosImage"}},"description":"Holds the description of an image to be launched in mesos"},"SingularityTaskId":{"type":"object","properties":{"requestId":{"type":"string","description":"The request associated with this task"},"deployId":{"type":"string","description":"The deploy associated with this task"},"nextRunAt":{"type":"integer","format":"int64","writeOnly":true},"startedAt":{"type":"integer","description":"The time at which this task was started","format":"int64"},"instanceNo":{"minimum":1,"type":"integer","description":"The instance number for this task","format":"int32"},"host":{"type":"string","description":"The hostname of the machine where this task was launched"},"sanitizedHost":{"title":"The hostname of the machine where this task was launched","type":"string","description":"- characters are repalced with _ in this id due to the fact that sections of the task id are delimited by -'s"},"sanitizedRackId":{"title":"The id of the rack where this task was launched","type":"string","description":"- characters are repalced with _ in this id due to the fact that sections of the task id are delimited by -'s"},"rackId":{"type":"string","description":"The id of the rack where this task was launched"},"id":{"type":"string"}},"description":"The unique id for a singularity task"},"TaskFailureEvent":{"type":"object","properties":{"instance":{"type":"integer","format":"int32"},"timestamp":{"type":"integer","format":"int64"},"type":{"type":"string","enum":["OOM","OUT_OF_DISK_SPACE","BAD_EXIT_CODE","UNEXPECTED_EXIT","LOST_SLAVE","MESOS_ERROR","STARTUP_FAILURE"]}},"description":"Timestamps and descriptions of failed tasks by instance number"},"SingularitySandboxFile":{"type":"object","properties":{"name":{"type":"string","description":"Filename"},"mtime":{"type":"integer","description":"Last modified time","format":"int64"},"size":{"type":"integer","description":"File size (in bytes)","format":"int64"},"mode":{"type":"string","description":"File mode"}},"description":"Represents a file in a Mesos sandbox"},"SingularityDisastersData":{"type":"object","properties":{"stats":{"type":"array","description":"Previous data points for disaster metrics","items":{"$ref":"#/components/schemas/SingularityDisasterDataPoint"}},"disasterStates":{"type":"array","writeOnly":true,"items":{"$ref":"#/components/schemas/SingularityDisaster"}},"automatedActionDisabled":{"type":"boolean","writeOnly":true},"disasters":{"type":"array","description":"A list of active disasters","items":{"$ref":"#/components/schemas/SingularityDisaster"}},"automatedActionsDisabled":{"type":"boolean","description":"`true` if automated disaster actions are currently disabled"}},"description":"Information about currently active disasters"},"CrashLoopInfo":{"type":"object","properties":{"requestId":{"type":"string"},"deployId":{"type":"string"},"start":{"type":"integer","format":"int64"},"end":{"type":"integer","format":"int64"},"type":{"type":"string","enum":["FAST_FAILURE_LOOP","SINGLE_INSTANCE_FAILURE_LOOP","MULTI_INSTANCE_FAILURE","UNEXPECTED_EXITS","OOM","SLOW_FAILURES","STARTUP_FAILURE_LOOP"]}}},"SingularityTaskUsage":{"type":"object","properties":{"memoryTotalBytes":{"type":"integer","description":"Current total memory usage in bytes","format":"int64"},"timestamp":{"type":"integer","description":"Timestamp this usage was recorded (epoch millis)","format":"int64"},"cpuSeconds":{"type":"number","description":"Seconds of cpu time consumed by this task","format":"double"},"diskTotalBytes":{"type":"integer","description":"Total disk usage in bytes for this task","format":"int64"},"cpusNrPeriods":{"type":"integer","description":"Number of cpu periods used by this task (from cgroups)","format":"int64"},"cpusNrThrottled":{"type":"integer","description":"Number of cpu periods throttled for this task (from cgroups)","format":"int64"},"cpusThrottledTimeSecs":{"type":"number","description":"Total cpu time throttled for this task(from cgroups)","format":"double"}},"description":"Current usage for a task"},"SingularityExpiringMachineState":{"title":"Represents a future update to the state of a rack or slave","type":"object","properties":{"user":{"type":"string","description":"User who initially triggered the future action","nullable":true},"startMillis":{"type":"integer","description":"Time the future action was created","format":"int64"},"actionId":{"type":"string","description":"A unique id for this future action"},"expiringAPIRequestObject":{"$ref":"#/components/schemas/SingularityMachineChangeRequest"},"machineId":{"type":"string","description":"Id of the machine being updated"},"revertToState":{"type":"string","description":"State the machine will transition to","enum":["MISSING_ON_STARTUP","ACTIVE","STARTING_DECOMMISSION","DECOMMISSIONING","DECOMMISSIONED","DEAD","FROZEN"]},"killTasksOnDecommissionTimeout":{"title":"if true, kill all remaining tasks on the slave if the decommission has timed out","type":"boolean","default":false}}},"IndexView":{"type":"object","properties":{"appRoot":{"type":"string"},"apiDocs":{"type":"string"},"staticRoot":{"type":"string"},"apiRoot":{"type":"string"},"navColor":{"type":"string"},"defaultMemory":{"type":"integer","format":"int32"},"defaultCpus":{"type":"integer","format":"int32"},"defaultDisk":{"type":"integer","format":"int32"},"hideNewDeployButton":{"type":"boolean"},"hideNewRequestButton":{"type":"boolean"},"loadBalancingEnabled":{"type":"boolean"},"title":{"type":"string"},"slaveHttpPort":{"type":"integer","format":"int32"},"slaveHttpsPort":{"type":"integer","format":"int32"},"defaultBounceExpirationMinutes":{"type":"integer","format":"int32"},"defaultHealthcheckIntervalSeconds":{"type":"integer","format":"int64"},"defaultHealthcheckTimeoutSeconds":{"type":"integer","format":"int64"},"defaultHealthcheckMaxRetries":{"type":"integer","format":"int32"},"defaultStartupTimeoutSeconds":{"type":"integer","format":"int32"},"runningTaskLogPath":{"type":"string"},"finishedTaskLogPath":{"type":"string"},"commonHostnameSuffixToOmit":{"type":"string"},"taskS3LogOmitPrefix":{"type":"string"},"warnIfScheduledJobIsRunningPastNextRunPct":{"type":"integer","format":"int32"},"shellCommands":{"type":"string"},"shortenSlaveUsageHostname":{"type":"boolean"},"timestampFormat":{"type":"string"},"showTaskDiskResource":{"type":"boolean"},"timestampWithSecondsFormat":{"type":"string"},"redirectOnUnauthorizedUrl":{"type":"string"},"extraScript":{"type":"string"},"generateAuthHeader":{"type":"boolean"},"authCookieName":{"type":"string"},"authTokenKey":{"type":"string"},"quickLinks":{"type":"string"},"navTitleLinks":{"type":"string"},"lessTerminalPath":{"type":"string"},"appJsPath":{"type":"string"},"appCssPath":{"type":"string"},"vendorJsPath":{"type":"string"}}},"SingularityDisabledActionRequest":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"The type of action to disable","enum":["BOUNCE_REQUEST","SCALE_REQUEST","REMOVE_REQUEST","CREATE_REQUEST","UPDATE_REQUEST","VIEW_REQUEST","PAUSE_REQUEST","KILL_TASK","BOUNCE_TASK","RUN_SHELL_COMMAND","ADD_METADATA","DEPLOY","CANCEL_DEPLOY","ADD_WEBHOOK","REMOVE_WEBHOOK","VIEW_WEBHOOKS","TASK_RECONCILIATION","STARTUP_TASK_RECONCILIATION","RUN_HEALTH_CHECKS","ADD_DISASTER","REMOVE_DISASTER","DISABLE_ACTION","ENABLE_ACTION","VIEW_DISASTERS","FREEZE_SLAVE","ACTIVATE_SLAVE","DECOMMISSION_SLAVE","VIEW_SLAVES","FREEZE_RACK","ACTIVATE_RACK","DECOMMISSION_RACK","VIEW_RACKS","SEND_EMAIL","PROCESS_OFFERS","CACHE_OFFERS","EXPENSIVE_API_CALLS","RUN_CLEANUP_POLLER","RUN_DEPLOY_POLLER","RUN_SCHEDULER_POLLER","RUN_EXPIRING_ACTION_POLLER","RUN_UPSTREAM_POLLER","TASK_SHUFFLE"]},"message":{"type":"string","description":"An optional message/reason for disabling the action specified"}},"description":"Notes related to a particular disabled action"},"SingularityPendingTaskId":{"title":"A unique id describing a task that is waiting to launch","type":"object","properties":{"requestId":{"type":"string","description":"The request associated with this task"},"deployId":{"type":"string","description":"The deploy associated with this task"},"nextRunAt":{"type":"integer","description":"The time at which this task should be launched","format":"int64"},"instanceNo":{"minimum":1,"type":"integer","description":"The instance number for this task","format":"int32"},"pendingType":{"type":"string","description":"The reason this task was requested to launch","enum":["IMMEDIATE","ONEOFF","BOUNCE","NEW_DEPLOY","NEXT_DEPLOY_STEP","UNPAUSED","RETRY","UPDATED_REQUEST","DECOMISSIONED_SLAVE_OR_RACK","TASK_DONE","STARTUP","CANCEL_BOUNCE","TASK_BOUNCE","DEPLOY_CANCELLED","DEPLOY_FAILED","DEPLOY_FINISHED","TASK_RECOVERED"]},"createdAt":{"type":"integer","description":"The time the pending task was created","format":"int64"},"id":{"type":"string"}},"description":"A unique id describing a task that is waiting to launch","nullable":true},"MesosTaskStatisticsObject":{"type":"object","properties":{"cpus_limit":{"type":"integer","format":"int32","writeOnly":true},"cpus_nr_periods":{"type":"integer","format":"int64","writeOnly":true},"cpus_nr_throttled":{"type":"integer","format":"int64","writeOnly":true},"cpus_system_time_secs":{"type":"number","format":"double","writeOnly":true},"cpus_throttled_time_secs":{"type":"number","format":"double","writeOnly":true},"cpus_user_time_secs":{"type":"number","format":"double","writeOnly":true},"mem_anon_bytes":{"type":"integer","format":"int64","writeOnly":true},"mem_file_bytes":{"type":"integer","format":"int64","writeOnly":true},"mem_limit_bytes":{"type":"integer","format":"int64","writeOnly":true},"mem_mapped_file_bytes":{"type":"integer","format":"int64","writeOnly":true},"mem_rss_bytes":{"type":"integer","format":"int64","writeOnly":true},"mem_total_bytes":{"type":"integer","format":"int64","writeOnly":true},"disk_limit_bytes":{"type":"integer","format":"int64","writeOnly":true},"disk_used_bytes":{"type":"integer","format":"int64","writeOnly":true},"timestamp":{"type":"number","description":"Timestamp in seconds at which this usage was collected","format":"double"},"cpusLimit":{"type":"integer","description":"The cpu limit for this task","format":"int32"},"cpusNrPeriods":{"type":"integer","description":"From cgroups cpu.stat","format":"int64"},"cpusNrThrottled":{"type":"integer","description":"From cgroups cpu.stat","format":"int64"},"cpusSystemTimeSecs":{"type":"number","description":"From cgroups cpu.stat","format":"double"},"cpusThrottledTimeSecs":{"type":"number","description":"From cgroups cpu.stat","format":"double"},"cpusUserTimeSecs":{"type":"number","description":"The cpu seconds consumed by this task","format":"double"},"memAnonBytes":{"type":"integer","description":"Bytes of anonymous memory","format":"int64"},"memFileBytes":{"type":"integer","description":"File memory used in bytes","format":"int64"},"memLimitBytes":{"type":"integer","description":"Memory limit of this task in bytes","format":"int64"},"memMappedFileBytes":{"type":"integer","description":"Mapped file memory used in bytes","format":"int64"},"memRssBytes":{"type":"integer","description":"rss used in bytes","format":"int64"},"memTotalBytes":{"type":"integer","description":"Total memory used in bytes","format":"int64"},"diskLimitBytes":{"type":"integer","description":"Disk space limit for this task in bytes","format":"int64"},"diskUsedBytes":{"type":"integer","description":"Disk space used by this task in bytes","format":"int64"}},"description":"Describes the current resource usage for a task"},"SingularitySlaveUsageWithId":{"type":"object","properties":{"cpusUsed":{"type":"number","description":"Total cpus used by tasks","format":"double"},"cpusReserved":{"type":"number","description":"Total cpus reserved by tasks","format":"double"},"cpusTotal":{"title":"Total cpus available to allocate","type":"number","description":"If oversubscribing a resource, this is the oversubscribed value, not the true value","format":"double","nullable":true},"memoryBytesUsed":{"type":"number","description":"Total memory used by tasks in bytes","format":"double"},"memoryMbReserved":{"type":"number","description":"Total memory reserved by tasks in MB","format":"double"},"memoryMbTotal":{"title":"Total memory available to allocate in bytes","type":"integer","description":"If oversubscribing a resource, this is the oversubscribed value, not the true value","format":"int64","nullable":true},"diskBytesUsed":{"type":"number","description":"Total disk currently used by tasks in bytes","format":"double"},"diskMbReserved":{"type":"number","description":"Total disk currently reserved by tasks in MB","format":"double"},"diskMbTotal":{"title":"Total disk available to allocate in MB","type":"integer","description":"If oversubscribing a resource, this is the oversubscribed value, not the true value","format":"int64","nullable":true},"numTasks":{"type":"integer","description":"Number of active tasks on this salve","format":"int32"},"timestamp":{"type":"integer","description":"Timestamp when usage data was collected","format":"int64"},"systemMemTotalBytes":{"type":"number","description":"Total memory in bytes","format":"double"},"systemMemFreeBytes":{"type":"number","description":"Free memory in bytes","format":"double"},"systemCpusTotal":{"type":"number","description":"Number of CPUs available in this agent node","format":"double"},"systemLoad1Min":{"type":"number","description":"Load average for the past minute","format":"double"},"systemLoad5Min":{"type":"number","description":"Load average for the past 5 minutes","format":"double"},"systemLoad15Min":{"type":"number","description":"Load average for the past 15 minutes","format":"double"},"slaveDiskUsed":{"title":"Total disk space used on the agent in bytes","type":"number","description":"Disk usage is only collected when disk enforcement is enable and disk resources for a task are > 0","format":"double"},"slaveDiskTotal":{"type":"number","description":"Total disk spave available on the agent in bytes","format":"double"},"slaveId":{"type":"string","description":"The id as assigned by mesos for this particualr slave"},"memoryBytesTotal":{"title":"Total memory available to allocate in bytes","type":"integer","description":"If oversubscribing a resource, this is the oversubscribed value, not the true value","format":"int64","nullable":true},"diskBytesTotal":{"title":"Total disk available to allocate in bytes","type":"integer","description":"If oversubscribing a resource, this is the oversubscribed value, not the true value","format":"int64","nullable":true}},"description":"A description of resources used on a mesos slave"},"SingularitySlave":{"type":"object","properties":{"slaveId":{"type":"string","writeOnly":true},"firstSeenAt":{"type":"integer","description":"Timestamp of the first time this machine was seen","format":"int64"},"currentState":{"$ref":"#/components/schemas/SingularityMachineStateHistoryUpdate"},"host":{"type":"string","description":"agent hostname"},"rackId":{"type":"string","description":"agent rack ID"},"attributes":{"type":"object","additionalProperties":{"type":"string","description":"Mesos attributes associated with this agent"},"description":"Mesos attributes associated with this agent"},"resources":{"$ref":"#/components/schemas/MesosResourcesObject"},"id":{"type":"string","description":"The machine id"}},"description":"Singularity's view of a Mesos agent"},"SingularityS3Log":{"title":"Represents a task sandbox file that was uploaded to S3","type":"object","properties":{"getUrl":{"type":"string","description":"URL to file in S3"},"downloadUrl":{"type":"string","description":"URL to file in S3 containing headers that will force file to be downloaded instead of viewed"}},"allOf":[{"$ref":"#/components/schemas/SingularityS3LogMetadata"}]},"SingularityMesosArtifact":{"required":["uri"],"type":"object","properties":{"uri":{"type":"string","description":"The uri of the artifact to download"},"cache":{"type":"boolean","description":"Cache this artifact to avoid multiple downloads on the same host","default":false},"executable":{"type":"boolean","description":"If true, chmod the download file so it is executable","default":false},"extract":{"title":"If true, unpack the downloaded artifact in teh sandbox directory","type":"boolean","description":"Recognized file types: .tar, .tar.gz, .tar.bz2, .tar.xz, .gz, .tgz, .tbz2, .txz, .zip","default":true},"outputFile":{"title":"The destination filename for the download","type":"string","nullable":true,"default":"original name of the file"}},"description":"Describes an artifact to be downloaded","nullable":true},"Resources":{"type":"object","properties":{"cpus":{"type":"number","description":"The number of cpus requested","format":"double"},"memoryMb":{"type":"number","description":"The amount of memory request in MB","format":"double"},"numPorts":{"type":"integer","description":"the number of ports requested","format":"int32"},"diskMb":{"type":"number","description":"The amount of disk space requested in MB","format":"double"}},"description":"Describes the resources requested by a particular task","nullable":true},"SingularityAppcImage":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"Appc image name"},"id":{"type":"string","description":"The image id"}},"description":"Settings for an appc image"},"SingularityTaskShellCommandRequestId":{"type":"object","properties":{"taskId":{"$ref":"#/components/schemas/SingularityTaskId"},"name":{"type":"string"},"timestamp":{"type":"integer","format":"int64"}}},"S3Artifact":{"type":"object","properties":{"name":{"type":"string","description":"Name of the artifact"},"filename":{"type":"string","description":"Name of the file"},"md5sum":{"type":"string","description":"md5 sum of the file","nullable":true},"filesize":{"type":"integer","description":"Size of the artifact","format":"int64"},"s3Bucket":{"type":"string"},"s3ObjectKey":{"type":"string"},"targetFolderRelativeToTask":{"type":"string","description":"Target folder for the file, relative to the task sandbox directory"},"isArtifactList":{"type":"boolean","description":"If true, this file is a list of other `Artifact`s to download, represented as json","nullable":true,"default":false}},"description":"List of s3 artifacts for the executor to download"},"SingularityMesosTaskLabel":{"type":"object","properties":{"key":{"type":"string","description":"Label key"},"value":{"type":"string","description":"Optional label value","nullable":true}},"description":"A label for a mesos task","nullable":true},"SingularityVolumeSource":{"type":"object","properties":{"type":{"type":"string","description":"Volume source type","enum":["UNKNOWN","DOCKER_VOLUME"]},"dockerVolume":{"$ref":"#/components/schemas/SingularityDockerVolume"}},"description":"The source of a docker volume"},"SingularityUserHolder":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/SingularityUser"},"settings":{"$ref":"#/components/schemas/SingularityUserSettings"},"authenticated":{"type":"boolean","description":"true if the user is authenticated"},"authEnabled":{"type":"boolean","description":"true if authentication is enabled"}},"description":"Describes the attributes of a Singularity user"},"SingularityRequestCleanup":{"type":"object","properties":{"user":{"type":"string","description":"The user that triggered this cleanup","nullable":true},"cleanupType":{"type":"string","description":"The type of cleanup","enum":["DELETING","PAUSING","BOUNCE","INCREMENTAL_BOUNCE"]},"timestamp":{"type":"integer","description":"The time this cleanup was created","format":"int64"},"killTasks":{"type":"boolean","description":"Override the system default behavior for immediately kiiling a task (relevant for pause-related cleanups)","nullable":true},"removeFromLoadBalancer":{"type":"boolean","description":"For deletes, remove the service from the load balancer when all tasks are cleaned","nullable":true},"requestId":{"type":"string","description":"The request this cleanup relates to"},"deployId":{"type":"string","description":"A specific deploy related to this cleanup","nullable":true},"skipHealthchecks":{"type":"boolean","description":"If `true`, skip health checks for new tasks created","nullable":true},"message":{"type":"string","description":"An optional message stating the reason for this cleanup","nullable":true},"actionId":{"type":"string","description":"An optional unique id for this cleanup action","nullable":true},"runShellCommandBeforeKill":{"$ref":"#/components/schemas/SingularityShellCommand"}},"description":"Represents an action requiring tasks for a request to possibly be cleaned or replaced"},"ContinuationToken":{"required":["lastPage","value"],"type":"object","properties":{"value":{"type":"string","description":"S3 continuation token specific to a bucket + prefix being searched"},"lastPage":{"type":"boolean","description":"If true, there are no further results for this bucket + prefix"}},"description":"Describes parameters to fetch the next page of results from s3"},"MesosResourcesObject":{"type":"object","description":"Resources available to allocate on this agent"},"SingularityS3SearchRequest":{"type":"object","properties":{"requestsAndDeploys":{"type":"object","additionalProperties":{"type":"array","description":"A map of request IDs to a list of deploy ids to search","items":{"type":"string","description":"A map of request IDs to a list of deploy ids to search"}},"description":"A map of request IDs to a list of deploy ids to search"},"fileNamePrefixWhitelist":{"type":"array","description":"A whitelist of file name prefixes which should be returned","items":{"type":"string","description":"A whitelist of file name prefixes which should be returned"}},"taskIds":{"type":"array","description":"A list of task IDs to search for","items":{"type":"string","description":"A list of task IDs to search for"}},"start":{"type":"integer","description":"Start timestamp (millis, 13 digit)","format":"int64","nullable":true},"end":{"type":"integer","description":"End timestamp (millis, 13 digit)","format":"int64","nullable":true},"excludeMetadata":{"type":"boolean","description":"if true, do not query for custom start/end time metadata","default":false},"listOnly":{"type":"boolean","description":"If true, do not generate download/get urls, only list objects","default":false},"maxPerPage":{"type":"integer","description":"Target number of results to return","format":"int32","nullable":true},"continuationTokens":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/ContinuationToken"},"description":"S3 continuation tokens, return these to Singularity to continue searching subsequent pages of results"}},"description":"Describes a request to search for task logs in s3"},"SingularityRack":{"type":"object","properties":{"rackId":{"type":"string","writeOnly":true},"firstSeenAt":{"type":"integer","description":"Timestamp of the first time this machine was seen","format":"int64"},"currentState":{"$ref":"#/components/schemas/SingularityMachineStateHistoryUpdate"},"id":{"type":"string","description":"The machine id"}},"description":"Describes a singularity rack"},"SingularityUser":{"type":"object","properties":{"id":{"type":"string","description":"The user's id"},"name":{"type":"string","description":"The user's name, or id if name not specified"},"email":{"type":"string","description":"The user's email","nullable":true},"groups":{"uniqueItems":true,"type":"array","description":"Groups this user is a part of","items":{"type":"string","description":"Groups this user is a part of"}},"scopes":{"uniqueItems":true,"type":"array","description":"Scopes this user has","items":{"type":"string","description":"Scopes this user has"}},"authenticated":{"type":"boolean","description":"True if the user was successfully authenticated"}},"description":"Information about a user"},"SingularityUpdatePendingDeployRequest":{"required":["deployId","requestId","targetActiveInstances"],"type":"object","properties":{"requestId":{"type":"string","description":"Request id"},"deployId":{"type":"string","description":"Deploy id"},"targetActiveInstances":{"type":"integer","description":"Updated target instance count for the active deploy","format":"int32"}},"description":"A request to update a pending deploy"},"SingularityHostState":{"type":"object","properties":{"master":{"type":"boolean","description":"`true` if this host is currently the leading singularity instance"},"uptime":{"type":"integer","description":"Uptime for this scheduler instance","format":"int64"},"driverStatus":{"type":"string","description":"Status of the mesos driver for this scheduler instance"},"millisSinceLastOffer":{"type":"integer","description":"Time since the last offer was received from mesos in milliseconds","format":"int64"},"hostAddress":{"type":"string","description":"Address for this scheduler instance (host:port)"},"hostname":{"type":"string","description":"hostname of this scheduler instance"},"mesosMaster":{"type":"string","description":"uri of the mesos master this host is connected to"},"mesosConnected":{"type":"boolean","description":"`true` if currently connected to the mesos master (should only be true on the leading instance)"},"offerCacheSize":{"type":"integer","description":"Number of offers currently in the cache","format":"int32"},"availableCachedCpus":{"type":"number","description":"Total cpus from cached offers","format":"double"},"availableCachedMemory":{"type":"number","description":"Total memory in MB from cached offers","format":"double"}},"description":"Describes the state of a singularity scheduler instance"},"SingularityDeleteRequestRequest":{"type":"object","properties":{"message":{"type":"string","description":"A message to show to users about why this action was taken","nullable":true},"actionId":{"type":"string","description":"An id to associate with this action for metadata purposes","nullable":true},"deleteFromLoadBalancer":{"type":"boolean","description":"Should the service associated with the request be removed from the load balancer","nullable":true}},"description":"Settings related to deleting a request"},"SingularityExpiringSkipHealthchecks":{"type":"object","properties":{"requestId":{"type":"string","description":"The request this future action is in reference to"},"user":{"type":"string","description":"User who initially triggered the future action","nullable":true},"startMillis":{"type":"integer","description":"Time the future action was created","format":"int64"},"expiringAPIRequestObject":{"$ref":"#/components/schemas/SingularitySkipHealthchecksRequest"},"revertToSkipHealthchecks":{"type":"boolean","description":"If the revert should update skipHealthchecks to a `true` or `false` state","nullable":true},"actionId":{"type":"string","description":"A unique id for this future action"}},"description":"Details about a skip healthchecks action that will eventually revert","nullable":true},"MesosResourceObject":{"type":"object","properties":{"name":{"type":"string"},"ranges":{"$ref":"#/components/schemas/MesosRangesObject"}}},"SingularityTaskHistoryUpdate":{"type":"object","properties":{"taskId":{"$ref":"#/components/schemas/SingularityTaskId"},"timestamp":{"type":"integer","description":"The time at which this state update occured","format":"int64"},"taskState":{"type":"string","description":"The new state of the task","enum":["TASK_LAUNCHED","TASK_STAGING","TASK_STARTING","TASK_RUNNING","TASK_CLEANING","TASK_KILLING","TASK_FINISHED","TASK_FAILED","TASK_KILLED","TASK_LOST","TASK_LOST_WHILE_DOWN","TASK_ERROR","TASK_DROPPED","TASK_GONE","TASK_UNREACHABLE","TASK_GONE_BY_OPERATOR","TASK_UNKNOWN"]},"statusMessage":{"type":"string","description":"An optional message describing update","nullable":true},"statusReason":{"type":"string","description":"An optional message describing the reason for the update","nullable":true},"previous":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/SingularityTaskHistoryUpdate"}}},"description":"Describes an update to the state of a task"},"SingularityTokenRequest":{"type":"object","properties":{"token":{"type":"string","description":"Optional token, will be auto-genearted if not specified"},"user":{"$ref":"#/components/schemas/SingularityUser"}},"description":"Request to create a new long lived auth token"},"SingularityTaskShellCommandRequest":{"type":"object","properties":{"taskId":{"$ref":"#/components/schemas/SingularityTaskId"},"user":{"type":"string","description":"The user who initiated this shell command","nullable":true},"timestamp":{"type":"integer","description":"Time the shell command execution was requested","format":"int64"},"shellCommand":{"$ref":"#/components/schemas/SingularityShellCommand"}},"description":"A request to run a shell command against a task"},"SingularityRequestWithState":{"type":"object","properties":{"request":{"$ref":"#/components/schemas/SingularityRequest"},"state":{"type":"string","enum":["ACTIVE","DELETING","DELETED","PAUSED","SYSTEM_COOLDOWN","FINISHED","DEPLOYING_TO_UNPAUSE"]},"timestamp":{"type":"integer","format":"int64"}}},"MesosFileChunkObject":{"type":"object","properties":{"data":{"type":"string","description":"Content of this portion of the file"},"offset":{"type":"integer","description":"Offset in bytes of this content","format":"int64"},"nextOffset":{"type":"integer","description":"The next offset to fetch to continue from the end of the content in this object","format":"int64","nullable":true}},"description":"A portion of a file from a task sandbox"},"SingularityClusterUtilization":{"type":"object","properties":{"numRequestsWithUnderUtilizedCpu":{"type":"integer","format":"int32"},"numRequestsWithOverUtilizedCpu":{"type":"integer","format":"int32"},"numRequestsWithUnderUtilizedMemBytes":{"type":"integer","format":"int32"},"numRequestsWithUnderUtilizedDiskBytes":{"type":"integer","format":"int32"},"totalUnderUtilizedCpu":{"type":"number","format":"double"},"totalOverUtilizedCpu":{"type":"number","format":"double"},"totalUnderUtilizedMemBytes":{"type":"integer","format":"int64"},"totalUnderUtilizedDiskBytes":{"type":"integer","format":"int64"},"avgUnderUtilizedCpu":{"type":"number","format":"double"},"avgOverUtilizedCpu":{"type":"number","format":"double"},"avgUnderUtilizedMemBytes":{"type":"integer","format":"int64"},"avgUnderUtilizedDiskBytes":{"type":"integer","format":"int64"},"maxUnderUtilizedCpu":{"type":"number","format":"double"},"maxOverUtilizedCpu":{"type":"number","format":"double"},"maxUnderUtilizedMemBytes":{"type":"integer","format":"int64"},"maxUnderUtilizedDiskBytes":{"type":"integer","format":"int64"},"maxUnderUtilizedCpuRequestId":{"type":"string"},"maxOverUtilizedCpuRequestId":{"type":"string"},"maxUnderUtilizedMemBytesRequestId":{"type":"string"},"maxUnderUtilizedDiskBytesRequestId":{"type":"string"},"minUnderUtilizedCpu":{"type":"number","format":"double"},"minOverUtilizedCpu":{"type":"number","format":"double"},"minUnderUtilizedMemBytes":{"type":"integer","format":"int64"},"minUnderUtilizedDiskBytes":{"type":"integer","format":"int64"},"totalMemBytesUsed":{"type":"integer","format":"int64"},"totalMemBytesAvailable":{"type":"integer","format":"int64"},"totalDiskBytesUsed":{"type":"integer","format":"int64"},"totalDiskBytesAvailable":{"type":"integer","format":"int64"},"totalCpuUsed":{"type":"number","format":"double"},"totalCpuAvailable":{"type":"number","format":"double"},"timestamp":{"type":"integer","format":"int64"}}},"SingularityDisasterDataPoint":{"type":"object","properties":{"timestamp":{"type":"integer","description":"The time this data was collected","format":"int64"},"numActiveTasks":{"type":"integer","description":"A count of active tasks","format":"int32"},"numPendingTasks":{"type":"integer","description":"A count of pending tasks","format":"int32"},"numLateTasks":{"type":"integer","description":"A count of late tasks","format":"int32"},"avgTaskLagMillis":{"type":"integer","description":"The average task lag for all pending tasks","format":"int64"},"numLostTasks":{"type":"integer","description":"A count of lost tasks","format":"int32"},"numActiveSlaves":{"type":"integer","description":"A count of active agents","format":"int32"},"numLostSlaves":{"type":"integer","description":"A count of agents lost since the last data point was collected","format":"int32"}},"description":"Data collected to identify disasters"},"SingularityPaginatedResponseSingularityDeployHistory":{"type":"object","properties":{"dataCount":{"type":"integer","description":"The total number of rows on all pages","format":"int32","nullable":true},"pageCount":{"type":"integer","description":"The total number of pages","format":"int32"},"page":{"type":"integer","description":"Current page number","format":"int32"},"objects":{"type":"array","description":"Data for this page","items":{"$ref":"#/components/schemas/SingularityDeployHistory"}}},"description":"Holds a page of responses and metadata"},"SingularityUnpauseRequest":{"type":"object","properties":{"message":{"type":"string","description":"A message to show to users about why this action was taken","nullable":true},"actionId":{"type":"string","description":"An id to associate with this action for metadata purposes","nullable":true},"skipHealthchecks":{"type":"boolean","description":"If set to true, instructs new tasks that are scheduled immediately while unpausing to skip healthchecks","nullable":true}},"description":"Settings for how an unpause should behave"},"SingularityTaskMetadataRequest":{"required":["title","type"],"type":"object","properties":{"type":{"type":"string","description":"A type to be associated with this metadata"},"title":{"type":"string","description":"A title to be associated with this metadata"},"message":{"type":"string","description":"An optional message"},"level":{"type":"string","description":"Level of metadata, can be INFO, WARN, or ERROR","nullable":true,"enum":["INFO","WARN","ERROR"]}},"description":"Request to add custom metadata to a task"},"SingularityRequestBatch":{"type":"object","properties":{"requests":{"type":"array","description":"List of found reqeusts from the batch","items":{"$ref":"#/components/schemas/SingularityRequestParent"}},"notFound":{"uniqueItems":true,"type":"array","description":"List of request ids from the requested batch that were not found","items":{"type":"string","description":"List of request ids from the requested batch that were not found"}}},"description":"Batch response for multiple requests"},"SingularityTaskShellCommandHistory":{"type":"object","properties":{"shellRequest":{"$ref":"#/components/schemas/SingularityTaskShellCommandRequest"},"shellUpdates":{"type":"array","description":"Updates on the execution of the shell command","items":{"$ref":"#/components/schemas/SingularityTaskShellCommandUpdate"}}},"description":"Describes a shell command run against a task"},"MesosExecutorInfo":{"type":"object","properties":{"executorId":{"$ref":"#/components/schemas/MesosStringValue"}}},"SingularityTaskState":{"type":"object","properties":{"taskId":{"$ref":"#/components/schemas/SingularityTaskId"},"pendingTaskId":{"$ref":"#/components/schemas/SingularityPendingTaskId"},"runId":{"title":"The run id associated with this task if one is present","type":"string","nullable":true},"currentState":{"title":"The current state of this task","type":"string","description":"Present if the task has already been launched","nullable":true,"enum":["TASK_LAUNCHED","TASK_STAGING","TASK_STARTING","TASK_RUNNING","TASK_CLEANING","TASK_KILLING","TASK_FINISHED","TASK_FAILED","TASK_KILLED","TASK_LOST","TASK_LOST_WHILE_DOWN","TASK_ERROR","TASK_DROPPED","TASK_GONE","TASK_UNREACHABLE","TASK_GONE_BY_OPERATOR","TASK_UNKNOWN"]},"taskHistory":{"title":"A list of state updates for this task","type":"array","description":"Empty if the task has not yet been launched","items":{"$ref":"#/components/schemas/SingularityTaskHistoryUpdate"}},"pending":{"type":"boolean","description":"true if the task is still waiting to be launched"}},"description":"Describes the current state of a task"},"SingularityContainerInfo":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"Container type, can be MESOS or DOCKER. Default is MESOS","enum":["MESOS","DOCKER"]},"volumes":{"type":"array","description":"List of volumes to mount. Applicable only to DOCKER container type","items":{"$ref":"#/components/schemas/SingularityVolume"}},"docker":{"$ref":"#/components/schemas/SingularityDockerInfo"},"mesos":{"$ref":"#/components/schemas/SingularityMesosInfo"},"networkInfos":{"type":"array","description":"Mesos container network configuration","items":{"$ref":"#/components/schemas/SingularityNetworkInfo"}}},"description":"Settings for launching a container in mesos","nullable":true},"SingularityPendingDeploy":{"type":"object","properties":{"deployMarker":{"$ref":"#/components/schemas/SingularityDeployMarker"},"lastLoadBalancerUpdate":{"$ref":"#/components/schemas/SingularityLoadBalancerUpdate"},"currentDeployState":{"type":"string","description":"Current state of this deploy","enum":["SUCCEEDED","FAILED_INTERNAL_STATE","CANCELING","WAITING","OVERDUE","FAILED","CANCELED"]},"deployProgress":{"$ref":"#/components/schemas/SingularityDeployProgress"},"updatedRequest":{"$ref":"#/components/schemas/SingularityRequest"}},"description":"Describes an in-progress deploy","nullable":true},"SingularityDeployUpdate":{"type":"object","properties":{"deployMarker":{"$ref":"#/components/schemas/SingularityDeployMarker"},"deploy":{"$ref":"#/components/schemas/SingularityDeploy"},"eventType":{"type":"string","description":"Starting or Finished","enum":["STARTING","FINISHED"]},"deployResult":{"$ref":"#/components/schemas/SingularityDeployResult"}},"description":"A webhook event representing an update to deploy data"},"HealthcheckOptions":{"required":["uri"],"type":"object","properties":{"uri":{"type":"string","description":"Healthcheck uri to hit"},"portIndex":{"type":"integer","description":"Perform healthcheck on this dynamically allocated port (e.g. 0 for first port); defaults to first port","format":"int32"},"portNumber":{"type":"integer","description":"Perform healthcheck on this port (portIndex cannot also be used when using this setting)","format":"int64"},"protocol":{"type":"string","description":"Healthcheck protocol - HTTP or HTTPS for HTTP/1, HTTP2 or HTTPS2 for HTTP/2","enum":["HTTP","HTTPS","HTTP2","HTTPS2"]},"method":{"type":"string","description":"Healthcheck HTTP method - GET or POST; GET by default","enum":["GET","POST"]},"startupTimeoutSeconds":{"type":"integer","description":"Consider the task unhealthy/failed if the app has not started responding to healthchecks in this amount of time","format":"int32"},"startupDelaySeconds":{"type":"integer","description":"Wait this long before issuing the first healthcheck","format":"int32"},"startupIntervalSeconds":{"type":"integer","description":"Time to wait after a failed healthcheck to try again in seconds.","format":"int32"},"intervalSeconds":{"type":"integer","description":"Time to wait after a valid but failed healthcheck response to try again in seconds.","format":"int32"},"responseTimeoutSeconds":{"type":"integer","description":"Single healthcheck HTTP timeout in seconds.","format":"int32"},"maxRetries":{"type":"integer","description":"Maximum number of times to retry an individual healthcheck before failing the deploy.","format":"int32"},"failureStatusCodes":{"type":"array","description":"Fail the healthcheck with no further retries if one of these status codes is returned","items":{"type":"integer","description":"Fail the healthcheck with no further retries if one of these status codes is returned","format":"int32"}},"healthcheckResultFilePath":{"type":"string","description":"File path that indicates successful non-web health checks."}},"description":"Describes health check behavior for tasks associated with a deploy"},"SingularityMachineStateHistoryUpdate":{"type":"object","properties":{"objectId":{"type":"string","description":"The id of the machine"},"state":{"type":"string","description":"The state of the machine","enum":["MISSING_ON_STARTUP","ACTIVE","STARTING_DECOMMISSION","DECOMMISSIONING","DECOMMISSIONED","DEAD","FROZEN"]},"timestamp":{"type":"integer","description":"the timestamp of this state update","format":"int64"},"user":{"type":"string","description":"The user who triggered this update","nullable":true},"message":{"type":"string","description":"An optional message describing this update","nullable":true}},"description":"Describes an update to the state of a rack or agent"},"SingularityBounceRequest":{"type":"object","properties":{"incremental":{"type":"boolean","description":"If present and set to true, old tasks will be killed as soon as replacement tasks are available, instead of waiting for all replacement tasks to be healthy"},"skipHealthchecks":{"type":"boolean","description":"Instruct replacement tasks for this bounce only to skip healthchecks"},"durationMillis":{"type":"integer","description":"The number of milliseconds to wait before reversing the effects of this action (letting it expire)","format":"int64","nullable":true},"actionId":{"type":"string","description":"An id to associate with this action for metadata purposes","nullable":true},"message":{"type":"string","description":"A message to show to users about why this action was taken","nullable":true},"runShellCommandBeforeKill":{"$ref":"#/components/schemas/SingularityShellCommand"}},"description":"Settings for how a bounce will behave"},"MesosLabels":{"type":"object","properties":{"labels":{"type":"array","items":{"$ref":"#/components/schemas/MesosParameter"}}}},"SingularityTaskIdsByStatus":{"type":"object","properties":{"healthy":{"type":"array","description":"Active tasks whose healthchecks and load balancer updates (when applicable) have finished successfully","items":{"$ref":"#/components/schemas/SingularityTaskId"}},"notYetHealthy":{"type":"array","description":"Active tasks whose healthchecks and load balancer updates (when applicable) have not yet finished successfully","items":{"$ref":"#/components/schemas/SingularityTaskId"}},"pending":{"type":"array","description":"Tasks that have not yet been launched","items":{"$ref":"#/components/schemas/SingularityPendingTaskId"}},"cleaning":{"type":"array","description":"Active tasks in a cleaning state","items":{"$ref":"#/components/schemas/SingularityTaskId"}},"loadBalanced":{"type":"array","description":"Tasks that are currently active in the load balancer","items":{"$ref":"#/components/schemas/SingularityTaskId"}},"killed":{"type":"array","description":"Tasks which have been sent a kill signal","items":{"$ref":"#/components/schemas/SingularityTaskId"}}},"description":"Tasks in all states for a particular request"},"SingularityTaskIdHistory":{"type":"object","properties":{"taskId":{"$ref":"#/components/schemas/SingularityTaskId"},"updatedAt":{"type":"integer","description":"The timestamp of the latest update for the task","format":"int64"},"lastStatus":{"type":"string","writeOnly":true,"enum":["TASK_LAUNCHED","TASK_STAGING","TASK_STARTING","TASK_RUNNING","TASK_CLEANING","TASK_KILLING","TASK_FINISHED","TASK_FAILED","TASK_KILLED","TASK_LOST","TASK_LOST_WHILE_DOWN","TASK_ERROR","TASK_DROPPED","TASK_GONE","TASK_UNREACHABLE","TASK_GONE_BY_OPERATOR","TASK_UNKNOWN"]},"runId":{"type":"string","description":"A runId associated with this task","nullable":true},"lastTaskState":{"type":"string","description":"The latest state of the task","nullable":true,"enum":["TASK_LAUNCHED","TASK_STAGING","TASK_STARTING","TASK_RUNNING","TASK_CLEANING","TASK_KILLING","TASK_FINISHED","TASK_FAILED","TASK_KILLED","TASK_LOST","TASK_LOST_WHILE_DOWN","TASK_ERROR","TASK_DROPPED","TASK_GONE","TASK_UNREACHABLE","TASK_GONE_BY_OPERATOR","TASK_UNKNOWN"]}},"description":"A task id and latest state for a task"},"MesosRangeObject":{"type":"object","properties":{"begin":{"type":"integer","format":"int64"},"end":{"type":"integer","format":"int64"}}},"SingularityTaskReconciliationStatistics":{"type":"object","properties":{"taskReconciliationStartedAt":{"type":"integer","description":"Start time of the last reconciliation","format":"int64"},"taskReconciliationDurationMillis":{"type":"integer","description":"Duration in milliseconds of the last reconciliation","format":"int64"},"taskReconciliationIterations":{"type":"integer","description":"Number of iterations required for the last reconciliation","format":"int32"},"taskReconciliationResponseCount":{"type":"integer","description":"Responses counted for the last reconciliation","format":"int64"},"taskReconciliationResponseMax":{"type":"integer","description":"Max time taken for a response during the last reconciliation","format":"int64"},"taskReconciliationResponseMean":{"type":"number","description":"Average time taken for a response during the last reconciliation","format":"double"},"taskReconciliationResponseMin":{"type":"integer","description":"Minimum time taken for a response during the last reconciliation","format":"int64"},"taskReconciliationResponseP50":{"type":"number","description":"50th percentile time taken for a response during the last reconciliation","format":"double"},"taskReconciliationResponseP75":{"type":"number","description":"75th percentile time taken for a response during the last reconciliation","format":"double"},"taskReconciliationResponseP95":{"type":"number","description":"95th percentile time taken for a response during the last reconciliation","format":"double"},"taskReconciliationResponseP98":{"type":"number","description":"98th percentile time taken for a response during the last reconciliation","format":"double"},"taskReconciliationResponseP99":{"type":"number","description":"99th percentile time taken for a response during the last reconciliation","format":"double"},"taskReconciliationResponseP999":{"type":"number","description":"99.9th percentile time taken for a response during the last reconciliation","format":"double"},"taskReconciliationResponseStddev":{"type":"number","description":"Standard deviation in response time during the last reconciliation","format":"double"}},"description":"Describes the last run of task reconciliation with the mesos master"},"SingularityRequestHistory":{"type":"object","properties":{"createdAt":{"type":"integer","description":"The time the request update occured","format":"int64"},"user":{"type":"string","description":"The user associated with the request update","nullable":true},"eventType":{"type":"string","description":"The type of request history update","enum":["CREATED","UPDATED","DELETING","DELETED","PAUSED","UNPAUSED","ENTERED_COOLDOWN","EXITED_COOLDOWN","FINISHED","DEPLOYED_TO_UNPAUSE","BOUNCED","SCALED","SCALE_REVERTED"]},"request":{"$ref":"#/components/schemas/SingularityRequest"},"message":{"type":"string","description":"An optional message accompanying the update","nullable":true}},"description":"Describes an update or action on a Singularity request"},"SingularityPendingRequestParent":{"type":"object","properties":{"request":{"$ref":"#/components/schemas/SingularityRequest"},"state":{"type":"string","description":"Current state of the request","enum":["ACTIVE","DELETING","DELETED","PAUSED","SYSTEM_COOLDOWN","FINISHED","DEPLOYING_TO_UNPAUSE"]},"requestDeployState":{"$ref":"#/components/schemas/SingularityRequestDeployState"},"activeDeploy":{"$ref":"#/components/schemas/SingularityDeploy"},"pendingDeploy":{"$ref":"#/components/schemas/SingularityDeploy"},"pendingDeployState":{"$ref":"#/components/schemas/SingularityPendingDeploy"},"pendingRequest":{"$ref":"#/components/schemas/SingularityPendingRequest"},"expiringBounce":{"$ref":"#/components/schemas/SingularityExpiringBounce"},"expiringPause":{"$ref":"#/components/schemas/SingularityExpiringPause"},"expiringScale":{"$ref":"#/components/schemas/SingularityExpiringScale"},"expiringSkipHealthchecks":{"$ref":"#/components/schemas/SingularityExpiringSkipHealthchecks"},"taskIds":{"$ref":"#/components/schemas/SingularityTaskIdsByStatus"}}},"SingularityMetricsContainer":{"title":"A container for metrics","type":"object","properties":{"metrics":{"title":"A map of metric name to metric content","type":"object","additionalProperties":{"$ref":"#/components/schemas/Metric"}}}},"SingularityPriorityFreeze":{"required":["killTasks","minimumPriorityLevel"],"type":"object","properties":{"minimumPriorityLevel":{"type":"number","description":"Kill (if killTasks is true) or do not launch (if killTasks is false) tasks below this priority level","format":"double"},"killTasks":{"type":"boolean","description":"If true, kill currently running tasks, and do not launch new tasks below the minimumPriorityLevel. If false, do not launch new tasks below minimumPriorityLevel"},"message":{"type":"string","description":"An optional message/reason for creating the priority kill","nullable":true},"actionId":{"type":"string","description":"A unique ID for this priority kill","nullable":true}},"description":"Describes a freeze on task launches based on task priority"},"RequestUtilization":{"type":"object","properties":{"requestId":{"type":"string"},"deployId":{"type":"string"},"memBytesUsed":{"type":"integer","format":"int64"},"memBytesReserved":{"type":"integer","format":"int64"},"cpuUsed":{"type":"number","format":"double"},"cpuReserved":{"type":"number","format":"double"},"diskBytesUsed":{"type":"integer","format":"int64"},"diskBytesReserved":{"type":"integer","format":"int64"},"numTasks":{"type":"integer","format":"int32"},"maxMemBytesUsed":{"type":"integer","format":"int64"},"maxMemTimestamp":{"type":"integer","format":"int64"},"minMemBytesUsed":{"type":"integer","format":"int64"},"minMemTimestamp":{"type":"integer","format":"int64"},"maxCpuUsed":{"type":"number","format":"double"},"maxCpusTimestamp":{"type":"integer","format":"int64"},"minCpuUsed":{"type":"number","format":"double"},"minCpusTimestamp":{"type":"integer","format":"int64"},"maxDiskBytesUsed":{"type":"integer","format":"int64"},"maxDiskTimestamp":{"type":"integer","format":"int64"},"minDiskBytesUsed":{"type":"integer","format":"int64"},"minDiskTimestamp":{"type":"integer","format":"int64"},"cpuBurstRating":{"type":"number","format":"double"},"percentCpuTimeThrottled":{"type":"number","format":"double"},"maxPercentCpuTimeThrottled":{"type":"number","format":"double"},"maxCpuThrottledTimestamp":{"type":"integer","format":"int64"},"minPercentCpuTimeThrottled":{"type":"number","format":"double"},"minCpuThrottledTimestamp":{"type":"integer","format":"int64"}}},"SingularityVolume":{"type":"object","properties":{"containerPath":{"type":"string","description":"The path within the container"},"hostPath":{"type":"string","description":"The path on on the host"},"mode":{"type":"string","description":"Read write or read only mode","enum":["RO","RW"]},"source":{"$ref":"#/components/schemas/SingularityVolumeSource"}},"description":"Represents a volume to be mounted into a docker container"},"SingularityPaginatedResponseSingularityRequestHistory":{"type":"object","properties":{"dataCount":{"type":"integer","description":"The total number of rows on all pages","format":"int32","nullable":true},"pageCount":{"type":"integer","description":"The total number of pages","format":"int32"},"page":{"type":"integer","description":"Current page number","format":"int32"},"objects":{"type":"array","description":"Data for this page","items":{"$ref":"#/components/schemas/SingularityRequestHistory"}}},"description":"Holds a page of responses and metadata"},"SingularityRequestParent":{"type":"object","properties":{"request":{"$ref":"#/components/schemas/SingularityRequest"},"state":{"type":"string","description":"Current state of the request","enum":["ACTIVE","DELETING","DELETED","PAUSED","SYSTEM_COOLDOWN","FINISHED","DEPLOYING_TO_UNPAUSE"]},"requestDeployState":{"$ref":"#/components/schemas/SingularityRequestDeployState"},"activeDeploy":{"$ref":"#/components/schemas/SingularityDeploy"},"pendingDeploy":{"$ref":"#/components/schemas/SingularityDeploy"},"pendingDeployState":{"$ref":"#/components/schemas/SingularityPendingDeploy"},"expiringBounce":{"$ref":"#/components/schemas/SingularityExpiringBounce"},"expiringPause":{"$ref":"#/components/schemas/SingularityExpiringPause"},"expiringScale":{"$ref":"#/components/schemas/SingularityExpiringScale"},"expiringSkipHealthchecks":{"$ref":"#/components/schemas/SingularityExpiringSkipHealthchecks"},"taskIds":{"$ref":"#/components/schemas/SingularityTaskIdsByStatus"}},"description":"Holds a SingularityRequest and its current state"},"SingularityDeploy":{"required":["id","requestId"],"type":"object","properties":{"requestId":{"type":"string","description":"Singularity Request Id which is associated with this deploy"},"id":{"type":"string","description":"Singularity deploy id"},"command":{"type":"string","description":"Command to execute for this deployment","nullable":true},"arguments":{"type":"array","description":"Command arguments","nullable":true,"items":{"type":"string","description":"Command arguments","nullable":true}},"containerInfo":{"$ref":"#/components/schemas/SingularityContainerInfo"},"customExecutorCmd":{"type":"string","description":"Custom Mesos executor","nullable":true},"customExecutorId":{"type":"string","description":"Custom Mesos executor id","nullable":true},"customExecutorSource":{"type":"string","description":"Custom Mesos executor source","nullable":true},"customExecutorResources":{"$ref":"#/components/schemas/Resources"},"resources":{"$ref":"#/components/schemas/Resources"},"env":{"type":"object","additionalProperties":{"type":"string","description":"Map of environment variable definitions","nullable":true},"description":"Map of environment variable definitions","nullable":true},"taskEnv":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"string","description":"Map of environment variable overrides for specific task instances (task instance number -> Map<String, String> of environment variables","nullable":true},"description":"Map of environment variable overrides for specific task instances (task instance number -> Map<String, String> of environment variables","nullable":true},"description":"Map of environment variable overrides for specific task instances (task instance number -> Map<String, String> of environment variables","nullable":true},"runImmediately":{"$ref":"#/components/schemas/SingularityRunNowRequest"},"uris":{"type":"array","description":"List of URIs to download before executing the deploy command","nullable":true,"items":{"$ref":"#/components/schemas/SingularityMesosArtifact"}},"metadata":{"type":"object","additionalProperties":{"type":"string","description":"Map of metadata key/value pairs associated with the deployment","nullable":true},"description":"Map of metadata key/value pairs associated with the deployment","nullable":true},"executorData":{"$ref":"#/components/schemas/ExecutorData"},"version":{"type":"string","description":"Deploy version","nullable":true},"timestamp":{"type":"integer","description":"Deploy timestamp","format":"int64","nullable":true},"labels":{"type":"object","additionalProperties":{"type":"string","description":"Labels for all tasks associated with this deploy","nullable":true},"description":"Labels for all tasks associated with this deploy","nullable":true},"mesosLabels":{"type":"array","description":"Labels for all tasks associated with this deploy","nullable":true,"items":{"$ref":"#/components/schemas/SingularityMesosTaskLabel"}},"taskLabels":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"string","description":"(Deprecated) Labels for specific tasks associated with this deploy, indexed by instance number","nullable":true},"description":"(Deprecated) Labels for specific tasks associated with this deploy, indexed by instance number","nullable":true},"description":"(Deprecated) Labels for specific tasks associated with this deploy, indexed by instance number","nullable":true},"mesosTaskLabels":{"type":"object","additionalProperties":{"type":"array","description":"Labels for specific tasks associated with this deploy, indexed by instance number","nullable":true,"items":{"$ref":"#/components/schemas/SingularityMesosTaskLabel"}},"description":"Labels for specific tasks associated with this deploy, indexed by instance number","nullable":true},"deployHealthTimeoutSeconds":{"type":"integer","description":"Number of seconds that Singularity waits for this service to become healthy (for it to download artifacts, start running, and optionally pass healthchecks)","format":"int64","nullable":true},"healthcheckUri":{"type":"string","description":"Deployment Healthcheck URI, if specified will be called after TASK_RUNNING","nullable":true},"healthcheckIntervalSeconds":{"type":"integer","description":"Time to wait after a failed healthcheck to try again in seconds","format":"int64","nullable":true},"healthcheckTimeoutSeconds":{"type":"integer","description":"Single healthcheck HTTP timeout in seconds","format":"int64","nullable":true},"healthcheckPortIndex":{"type":"integer","description":"Perform healthcheck on this dynamically allocated port (e.g. 0 for first port), defaults to first port","format":"int32","nullable":true},"healthcheckMaxRetries":{"type":"integer","description":"Maximum number of times to retry an individual healthcheck before failing the deploy.","format":"int32","nullable":true},"healthcheckMaxTotalTimeoutSeconds":{"type":"integer","description":"Maximum amount of time to wait before failing a deploy for healthchecks to pass.","format":"int64","nullable":true},"healthcheck":{"$ref":"#/components/schemas/HealthcheckOptions"},"serviceBasePath":{"type":"string","description":"The base path for the API exposed by the deploy. Used in conjunction with the Load balancer API","nullable":true},"loadBalancerGroups":{"uniqueItems":true,"type":"array","description":"List of load balancer groups associated with this deployment","nullable":true,"items":{"type":"string","description":"List of load balancer groups associated with this deployment","nullable":true}},"loadBalancerPortIndex":{"type":"integer","description":"Send this port to the load balancer api (e.g. 0 for first port), defaults to first port","format":"int32","nullable":true},"considerHealthyAfterRunningForSeconds":{"type":"integer","description":"Number of seconds that a service must be healthy to consider the deployment to be successful","format":"int64","nullable":true},"loadBalancerOptions":{"type":"object","additionalProperties":{"type":"object","description":"Map (Key/Value) of options for the load balancer","nullable":true},"description":"Map (Key/Value) of options for the load balancer","nullable":true},"loadBalancerDomains":{"uniqueItems":true,"type":"array","description":"List of domains to host this service on, for use with the load balancer api","nullable":true,"items":{"type":"string","description":"List of domains to host this service on, for use with the load balancer api","nullable":true}},"loadBalancerAdditionalRoutes":{"type":"array","description":"Additional routes besides serviceBasePath used by this service","nullable":true,"items":{"type":"string","description":"Additional routes besides serviceBasePath used by this service","nullable":true}},"loadBalancerTemplate":{"type":"string","description":"Name of load balancer template to use if not using the default template","nullable":true},"loadBalancerServiceIdOverride":{"type":"string","description":"Name of load balancer Service ID to use instead of the Request ID","nullable":true},"loadBalancerUpstreamGroup":{"type":"string","description":"Group name to tag all upstreams with in load balancer","nullable":true},"skipHealthchecksOnDeploy":{"type":"boolean","description":"Allows skipping of health checks when deploying.","nullable":true},"healthCheckProtocol":{"type":"string","writeOnly":true,"enum":["HTTP","HTTPS","HTTP2","HTTPS2"]},"deployInstanceCountPerStep":{"type":"integer","description":"deploy this many instances at a time","format":"int32","nullable":true},"deployStepWaitTimeMs":{"type":"integer","description":"wait this long between deploy steps","format":"int32","nullable":true},"autoAdvanceDeploySteps":{"type":"boolean","description":"automatically advance to the next target instance count after `deployStepWaitTimeMs` seconds","nullable":true},"maxTaskRetries":{"type":"integer","description":"allowed at most this many failed tasks to be retried before failing the deploy","format":"int32","nullable":true},"shell":{"type":"boolean","description":"Override the shell property on the mesos task","nullable":true},"user":{"type":"string","description":"Run tasks as this user","nullable":true},"s3UploaderAdditionalFiles":{"type":"array","description":"Specify additional sandbox files to upload to S3 for this deploy","items":{"$ref":"#/components/schemas/SingularityS3UploaderFile"}},"healthcheckProtocol":{"type":"string","description":"Healthcheck protocol - HTTP or HTTPS","nullable":true,"enum":["HTTP","HTTPS","HTTP2","HTTPS2"]}},"description":"A set of instructions for launching tasks associated with a request","nullable":true},"SingularityState":{"type":"object","properties":{"activeTasks":{"type":"integer","description":"The count of active tasks","format":"int32"},"launchingTasks":{"type":"integer","description":"The count of tasks in launching state","format":"int32"},"activeRequests":{"type":"integer","description":"The count of requests in active state","format":"int32"},"cooldownRequests":{"type":"integer","description":"The count of requests in cooldown state","format":"int32"},"pausedRequests":{"type":"integer","description":"Count of requests in paused state","format":"int32"},"scheduledTasks":{"type":"integer","description":"The count of tasks waiting to be launched","format":"int32"},"pendingRequests":{"title":"The count of pending requests","type":"integer","description":"A pending request is a trigger for the scheduler to perform an action for a request (create a cleanup, launch a task, etc)","format":"int32"},"lbCleanupTasks":{"type":"integer","description":"The count of tasks with associated load balancer cleanups","format":"int32"},"lbCleanupRequests":{"type":"integer","description":"The count of requests with associated load balancer cleanups","format":"int32"},"cleaningRequests":{"type":"integer","description":"The count of requests with associated cleanups (e.g. due to a bounce)","format":"int32"},"activeSlaves":{"type":"integer","description":"The count of active agents","format":"int32"},"deadSlaves":{"type":"integer","description":"The count of dead agents (no longer reachable or considered lost by mesos)","format":"int32"},"decommissioningSlaves":{"type":"integer","description":"The count of agents currently decommissioning","format":"int32"},"activeRacks":{"type":"integer","description":"The count of active racks","format":"int32"},"deadRacks":{"type":"integer","description":"The count of racks considered dead","format":"int32"},"decommissioningRacks":{"type":"integer","description":"The count of racks that are currently decommissioning","format":"int32"},"cleaningTasks":{"type":"integer","description":"The count of cleaning tasks","format":"int32"},"hostStates":{"type":"array","description":"Describes the state of all Singularity scheduler instances","items":{"$ref":"#/components/schemas/SingularityHostState"}},"oldestDeploy":{"type":"integer","description":"Timestamp of the oldest running deploy","format":"int64"},"numDeploys":{"type":"integer","description":"Number of active/in-progress deploys","format":"int32"},"oldestDeployStep":{"title":"Timestamp of the oldest single step for a deploy","type":"integer","description":"For incremental deploys this is a measure of the time taken for a single step of the deploy","format":"int64"},"activeDeploys":{"type":"array","description":"List of active deploy identifiers","items":{"$ref":"#/components/schemas/SingularityDeployMarker"}},"lateTasks":{"type":"integer","description":"The count of tasks that have not been launched in time, excluding the on-demand tasks","format":"int32"},"listLateTasks":{"type":"array","description":"The list of all late tasks that have not been launched in time, excluding the on-demand tasks","items":{"$ref":"#/components/schemas/SingularityPendingTaskId"}},"onDemandLateTasks":{"type":"integer","description":"The count of on-demand tasks that have not been launched in time","format":"int32"},"onDemandListLateTasks":{"type":"array","description":"The list of all on-demand late tasks that have not been launched in time","items":{"$ref":"#/components/schemas/SingularityPendingTaskId"}},"futureTasks":{"type":"integer","description":"The count of pending tasks that will be launched at a future time","format":"int32"},"maxTaskLag":{"type":"integer","description":"The maximum delay in launching any pending task","format":"int64"},"generatedAt":{"type":"integer","description":"Time this state was generated","format":"int64"},"overProvisionedRequestIds":{"type":"array","description":"The count of requests running too many instances","items":{"type":"string","description":"The count of requests running too many instances"}},"underProvisionedRequestIds":{"type":"array","description":"The ids of requests running too many instances","items":{"type":"string","description":"The ids of requests running too many instances"}},"overProvisionedRequests":{"type":"integer","description":"The count of requests running too few instances","format":"int32"},"underProvisionedRequests":{"type":"integer","description":"The ids of requests running too few instances","format":"int32"},"finishedRequests":{"type":"integer","description":"Count of requests in finished state","format":"int32"},"unknownRacks":{"type":"integer","description":"The count of racks in an unknown state","format":"int32"},"unknownSlaves":{"type":"integer","description":"The count of agents in an unknown state","format":"int32"},"authDatastoreHealthy":{"type":"boolean","description":"`true` if the auth datastore is reachable (when auth is configured)","nullable":true},"minimumPriorityLevel":{"type":"number","description":"The minimum priority level for launching tasks if a priority freeze is active, empty otherwise","format":"double","nullable":true},"avgStatusUpdateDelayMs":{"type":"integer","description":"The average delay (in millis) for processing status updates from mesos","format":"int64"},"lastHeartbeatAt":{"type":"integer","description":"Time in UTC millis at which Singularity received the most recent HEARTBEAT event from the Mesos Master","format":"int64"},"decomissioningRacks":{"type":"integer","description":"The count of racks that are currently decommissioning","format":"int32"},"allRequests":{"type":"integer","description":"The count of all requests in all states","format":"int32"},"decomissioningSlaves":{"type":"integer","description":"The count of agents currently decommissioning","format":"int32"}},"description":"Describes the current state of singularity"},"MesosTaskObject":{"type":"object","properties":{"taskId":{"$ref":"#/components/schemas/MesosStringValue"},"executor":{"$ref":"#/components/schemas/MesosExecutorInfo"},"labels":{"$ref":"#/components/schemas/MesosLabels"},"agentId":{"$ref":"#/components/schemas/MesosStringValue"},"slaveId":{"$ref":"#/components/schemas/MesosStringValue"},"resources":{"type":"array","items":{"$ref":"#/components/schemas/MesosResourceObject"}},"name":{"type":"string"}},"description":"The mesos protos representation of a task"},"SingularityWebhookSummary":{"type":"object","properties":{"webhook":{"$ref":"#/components/schemas/SingularityWebhook"},"queueSize":{"type":"integer","description":"The number of pending webhook sends in the queue for this webhook destination","format":"int32"}}},"SingularityDeployRequest":{"type":"object","properties":{"deploy":{"$ref":"#/components/schemas/SingularityDeploy"},"unpauseOnSuccessfulDeploy":{"type":"boolean","description":"If deploy is successful, also unpause the request","nullable":true,"default":false},"message":{"type":"string","description":"A message to show users about this deploy (metadata)","nullable":true},"updatedRequest":{"$ref":"#/components/schemas/SingularityRequest"}},"description":"Describes a new deploy"},"SingularityShellCommand":{"required":["name"],"type":"object","properties":{"name":{"title":"Name of the shell command to run","type":"string"},"options":{"type":"array","description":"Additional options related to the shell command","items":{"type":"string","description":"Additional options related to the shell command"}},"user":{"type":"string","description":"User who requested the shell command"},"logfileName":{"type":"string","description":"File name for shell command output"}},"description":"Describes a command to run against an active task"},"SingularityScaleRequest":{"type":"object","properties":{"instances":{"type":"integer","description":"The number of instances to scale to","format":"int32","nullable":true},"durationMillis":{"type":"integer","description":"The number of milliseconds to wait before reversing the effects of this action (letting it expire)","format":"int64","nullable":true},"skipHealthchecks":{"type":"boolean","description":"If set to true, healthchecks will be skipped while scaling this request (only)","nullable":true},"actionId":{"type":"string","description":"An id to associate with this action for metadata purposes","nullable":true},"message":{"type":"string","description":"A message to show to users about why this action was taken","nullable":true},"bounce":{"type":"boolean","description":"Bounce the request to get to the new scale","nullable":true},"incremental":{"type":"boolean","description":"If present and set to true, old tasks will be killed as soon as replacement tasks are available, instead of waiting for all replacement tasks to be healthy","nullable":true},"skipEmailNotification":{"type":"boolean","description":"If set to true, no email notification will be sent out for this specific scale event","nullable":true}},"description":"Describes the new scale for a request"},"SingularityS3LogMetadata":{"title":"Metadata about a log file stored in s3","type":"object","properties":{"key":{"type":"string","description":"S3 key"},"lastModified":{"type":"integer","description":"Last modified time","format":"int64"},"size":{"type":"integer","description":"File size (in bytes)","format":"int64"},"startTime":{"type":"integer","description":"Time the log file started being written to","format":"int64","nullable":true},"endTime":{"type":"integer","description":"Time the log file was finished being written to","format":"int64","nullable":true}},"description":"List of S3 log metadata"},"SingularityDockerVolume":{"type":"object","properties":{"driver":{"type":"string","description":"Docker volume driver name"},"name":{"type":"string","description":"Volume name '%i' will be replaced with the instance index"},"driverOptions":{"type":"object","additionalProperties":{"type":"string","description":"Volume driver options"},"description":"Volume driver options"}},"description":"Describes a volume to be mounted in a docker container","nullable":true},"ListMultimapIntegerLong":{"type":"object","properties":{"empty":{"type":"boolean"}},"description":"Timestamps of failed tasks by instance number"},"LoadBalancerRequestId":{"type":"object","properties":{"id":{"type":"string"},"requestType":{"type":"string","enum":["ADD","REMOVE","DEPLOY","DELETE"]},"attemptNumber":{"type":"integer","format":"int32"}},"description":"A unique id describing this load balancer update"},"SingularityKilledTaskIdRecord":{"type":"object","properties":{"taskId":{"$ref":"#/components/schemas/SingularityTaskId"},"timestamp":{"type":"integer","description":"the time at which the signal was triggered","format":"int64"},"originalTimestamp":{"type":"integer","description":"The original time when the task kill was triggered (in case multiple kills have been issued)","format":"int64"},"requestCleanupType":{"type":"string","description":"An optional enum cleanup type associated with this task kill","nullable":true,"enum":["DELETING","PAUSING","BOUNCE","INCREMENTAL_BOUNCE"]},"taskCleanupType":{"type":"string","description":"An optional enum cleanup type associated with this task kill","nullable":true,"enum":["BOUNCING","DECOMMISSION_TIMEOUT","DECOMISSIONING","DEPLOY_CANCELED","DEPLOY_FAILED","DEPLOY_STEP_FINISHED","INCREMENTAL_BOUNCE","INCREMENTAL_DEPLOY_CANCELLED","INCREMENTAL_DEPLOY_FAILED","NEW_DEPLOY_SUCCEEDED","OVERDUE_NEW_TASK","PAUSE","PAUSING","PRIORITY_KILL","REBALANCE_CPU_USAGE","REBALANCE_MEMORY_USAGE","REBALANCE_RACKS","REBALANCE_SLAVE_ATTRIBUTES","REQUEST_DELETING","SCALING_DOWN","TASK_EXCEEDED_TIME_LIMIT","UNHEALTHY_NEW_TASK","USER_REQUESTED","USER_REQUESTED_DESTROY","USER_REQUESTED_TASK_BOUNCE"]},"retries":{"type":"integer","description":"The number of attempts to kill this task so far","format":"int32"}},"description":"Describes a task that has been sent a kill signal"},"SingularityRequest":{"required":["id","requestType"],"type":"object","properties":{"id":{"title":"A unique id for the request","pattern":"a-zA-Z0-9_-","type":"string","description":"Max length is set in configuration yaml as maxRequestIdSize"},"requestType":{"title":"The type of request, can be SERVICE, WORKER, SCHEDULED, ON_DEMAND, or RUN_ONCE","type":"string","enum":["SERVICE","WORKER","SCHEDULED","ON_DEMAND","RUN_ONCE"]},"owners":{"type":"array","description":"A list of emails for the owners of this request","nullable":true,"items":{"type":"string","description":"A list of emails for the owners of this request","nullable":true}},"numRetriesOnFailure":{"type":"integer","description":"For scheduled jobs, retry up to this many times if the job fails","format":"int32","nullable":true},"schedule":{"type":"string","description":"A schedule in cron, RFC5545, or quartz format","nullable":true},"instances":{"type":"integer","description":"A count of tasks to run for long-running requests or the limit on the number of concurrent tasks for on-demand requests","format":"int32","nullable":true},"rackSensitive":{"type":"boolean","description":"Spread instances for this request evenly across separate racks","nullable":true},"loadBalanced":{"type":"boolean","description":"Indicates that a SERVICE should be load balanced","nullable":true},"killOldNonLongRunningTasksAfterMillis":{"type":"integer","description":"For non-long-running request types, kill a task after this amount of time if it has been put into CLEANING and has not shut down","format":"int64","nullable":true},"taskExecutionTimeLimitMillis":{"type":"integer","description":"If set, don't allow any taks for this request to run for longer than this amount of time","format":"int64","nullable":true},"scheduleType":{"type":"string","description":"The type of schedule associated with the scheduled field. Can be CRON, QUARTZ, or RFC5545","nullable":true,"enum":["CRON","QUARTZ","RFC5545"]},"quartzSchedule":{"type":"string","description":"A schedule in quartz format","nullable":true},"scheduleTimeZone":{"type":"string","description":"Time zone to use when running the","nullable":true},"rackAffinity":{"type":"array","description":"If set, prefer this specific rack when launching tasks","nullable":true,"items":{"type":"string","description":"If set, prefer this specific rack when launching tasks","nullable":true}},"slavePlacement":{"type":"string","description":"Strategy for determining where to place new tasks. Can be SEPARATE, OPTIMISTIC, GREEDY, SEPARATE_BY_DEPLOY, or SEPARATE_BY_REQUEST","nullable":true,"enum":["SEPARATE","OPTIMISTIC","GREEDY","SEPARATE_BY_DEPLOY","SEPARATE_BY_REQUEST","SPREAD_ALL_SLAVES"]},"requiredSlaveAttributes":{"type":"object","additionalProperties":{"type":"string","description":"Only allow tasks for this request to run on slaves which have these attributes","nullable":true},"description":"Only allow tasks for this request to run on slaves which have these attributes","nullable":true},"allowedSlaveAttributes":{"type":"object","additionalProperties":{"type":"string","description":"Allow tasks to run on slaves with these attributes, but do not restrict them to only these slaves","nullable":true},"description":"Allow tasks to run on slaves with these attributes, but do not restrict them to only these slaves","nullable":true},"slaveAttributeMinimums":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"integer","description":"Require running on at least this percentage of slaves with these attributes","format":"int32","nullable":true},"description":"Require running on at least this percentage of slaves with these attributes","nullable":true},"description":"Require running on at least this percentage of slaves with these attributes","nullable":true},"scheduledExpectedRuntimeMillis":{"type":"integer","description":"Expected time for a non-long-running task to run. Singularity will notify owners if a task exceeds this time","format":"int64","nullable":true},"waitAtLeastMillisAfterTaskFinishesForReschedule":{"type":"integer","description":"When a scheduled job finishes, wait at least this long before rescheduling it","format":"int64","nullable":true},"group":{"type":"string","description":"Auth group associated with this request. Users in this group are allowed read/write access to this request","nullable":true},"readWriteGroups":{"uniqueItems":true,"type":"array","description":"Users in these groups are allowed read/write access to this request","nullable":true,"items":{"type":"string","description":"Users in these groups are allowed read/write access to this request","nullable":true}},"readOnlyGroups":{"uniqueItems":true,"type":"array","description":"Users in these groups are allowed read only access to this request","nullable":true,"items":{"type":"string","description":"Users in these groups are allowed read only access to this request","nullable":true}},"bounceAfterScale":{"type":"boolean","description":"Used for SingularityUI. If true, automatically trigger a bounce after changing the request's instance count","nullable":true},"skipHealthchecks":{"type":"boolean","description":"If true, do not run healthchecks","nullable":true},"emailConfigurationOverrides":{"type":"object","additionalProperties":{"type":"array","description":"Overrides for email recipients by email type for this request","nullable":true,"items":{"type":"string","description":"Overrides for email recipients by email type for this request","nullable":true,"enum":["OWNERS","ACTION_TAKER","ADMINS"]}},"description":"Overrides for email recipients by email type for this request","nullable":true},"daemon":{"type":"boolean","writeOnly":true},"hideEvenNumberAcrossRacks":{"type":"boolean","writeOnly":true},"taskLogErrorRegex":{"type":"string","description":"Searching for errors in task logs to include in emails using this regex","nullable":true},"taskLogErrorRegexCaseSensitive":{"type":"boolean","description":"Determines if taskLogErrorRegex is case sensitive","nullable":true},"taskPriorityLevel":{"type":"number","description":"a priority level from 0.0 to 1.0 for all tasks associated with the request","format":"double","nullable":true},"maxTasksPerOffer":{"type":"integer","description":"Do not schedule more than this many tasks using a single offer from a single mesos slave","format":"int32","nullable":true},"allowBounceToSameHost":{"type":"boolean","description":"If set to true, allow tasks to be scheduled on the same host as an existing active task when bouncing","nullable":true},"requiredRole":{"type":"string","description":"Mesos Role required for this request. Only offers with the required role will be accepted to execute the tasks associated with the request","nullable":true},"dataCenter":{"type":"string","description":"the data center associated with this request","nullable":true},"hideEvenNumberAcrossRacksHint":{"type":"boolean","description":"Do not show the UI hint about evenly distributing intances accross racks when scaling","nullable":true}},"description":"Settings that apply to all tasks and deploys assocaited with this request"},"ExecutorData":{"required":["cmd"],"type":"object","properties":{"cmd":{"type":"string","description":"Command for the custom executor to run"},"embeddedArtifacts":{"type":"array","description":"A list of the full content of any embedded artifacts","items":{"$ref":"#/components/schemas/EmbeddedArtifact"}},"externalArtifacts":{"type":"array","description":"A list of external artifacts for the executor to download","items":{"$ref":"#/components/schemas/ExternalArtifact"}},"s3Artifacts":{"type":"array","description":"List of s3 artifacts for the executor to download","items":{"$ref":"#/components/schemas/S3Artifact"}},"successfulExitCodes":{"type":"array","description":"Allowable exit codes for the task to be considered FINISHED instead of FAILED","items":{"type":"integer","description":"Allowable exit codes for the task to be considered FINISHED instead of FAILED","format":"int32"}},"user":{"type":"string","description":"Run the task process as this user"},"runningSentinel":{"type":"string"},"extraCmdLineArgs":{"type":"array","description":"Extra arguments in addition to any provided in the cmd field","items":{"type":"string","description":"Extra arguments in addition to any provided in the cmd field"}},"loggingTag":{"type":"string"},"loggingExtraFields":{"type":"object","additionalProperties":{"type":"string"}},"sigKillProcessesAfterMillis":{"type":"integer","description":"Send a sigkill to a process if it has not shut down this many millis after being sent a term signal","format":"int64"},"maxTaskThreads":{"type":"integer","description":"Maximum number of threads a task is allowed to use","format":"int32"},"preserveTaskSandboxAfterFinish":{"type":"boolean","description":"If true, do not delete files in the task sandbox after the task process has terminated"},"maxOpenFiles":{"type":"integer","description":"Maximum number of open files the task process is allowed","format":"int32"},"skipLogrotateAndCompress":{"type":"boolean","description":"If true, do not run logrotate or compress old log files"},"s3ArtifactSignatures":{"type":"array","description":"A list of signatures use to verify downloaded s3artifacts","items":{"$ref":"#/components/schemas/S3ArtifactSignature"}},"logrotateFrequency":{"type":"string","description":"Run logrotate this often. Can be HOURLY, DAILY, WEEKLY, MONTHLY","enum":["HOURLY","DAILY","WEEKLY","MONTHLY"]}},"description":"Custom executor settings","nullable":true},"SingularityUserSettings":{"type":"object","properties":{"starredRequestIds":{"uniqueItems":true,"type":"array","description":"The list of starred request ids for a particular user","items":{"type":"string","description":"The list of starred request ids for a particular user"}}},"description":"Describes the settings for a particular user"},"SingularityPortMapping":{"required":["containerPort","hostPort"],"type":"object","properties":{"hostPort":{"type":"integer","description":"the port to map from on the host network interface","format":"int32"},"containerPort":{"type":"integer","description":"the port to map to on the container network interface","format":"int32"},"protocol":{"type":"string","description":"the protocol e.g. 'tcp' or 'udp'"}},"description":"Represents a docker port mapping"},"SingularityRunNowRequest":{"type":"object","properties":{"message":{"type":"string","description":"A message to show to users about why this action was taken","nullable":true},"skipHealthchecks":{"type":"boolean","description":"If set to true, healthchecks will be skipped for this task run","nullable":true},"runId":{"type":"string","description":"An id to associate with this request which will be associated with the corresponding launched tasks","nullable":true},"commandLineArgs":{"type":"array","description":"Command line arguments to be passed to the task","nullable":true,"items":{"type":"string","description":"Command line arguments to be passed to the task","nullable":true}},"resources":{"$ref":"#/components/schemas/Resources"},"s3UploaderAdditionalFiles":{"type":"array","description":"Specify additional sandbox files to upload to S3 for this run","items":{"$ref":"#/components/schemas/SingularityS3UploaderFile"}},"runAsUserOverride":{"type":"string","description":"Override the user under which this task's command will be launched","nullable":true},"envOverrides":{"type":"object","additionalProperties":{"type":"string","description":"Override the environment variables for launched tasks"},"description":"Override the environment variables for launched tasks"},"requiredSlaveAttributeOverrides":{"type":"object","additionalProperties":{"type":"string","description":"Override the required agent attributes for launched tasks"},"description":"Override the required agent attributes for launched tasks"},"allowedSlaveAttributeOverrides":{"type":"object","additionalProperties":{"type":"string","description":"Override the allowed agent attributes for launched tasks"},"description":"Override the allowed agent attributes for launched tasks"},"extraArtifacts":{"type":"array","description":"Additional artifacts to download for this run","items":{"$ref":"#/components/schemas/SingularityMesosArtifact"}},"runAt":{"type":"integer","description":"Schedule this task to run at a specified time","format":"int64","nullable":true}},"description":"Settings for a specific run of a request","nullable":true},"SingularityTaskHealthcheckResult":{"type":"object","properties":{"statusCode":{"type":"integer","description":"Status code if a response was received","format":"int32","nullable":true},"duration":{"type":"integer","format":"int64","writeOnly":true},"timestamp":{"type":"integer","description":"Timestamp of this healthcheck","format":"int64","nullable":true},"responseBody":{"type":"string","description":"response body if a response was received","nullable":true},"errorMessage":{"type":"string","description":"Error message if the check failed","nullable":true},"taskId":{"$ref":"#/components/schemas/SingularityTaskId"},"startup":{"type":"boolean","description":"`true` if the healthcheck was running during the startup phase"},"durationMillis":{"type":"integer","description":"Response time of the check if a response was received","format":"int64","nullable":true}},"description":"A Healthcheck result for a particular task"},"SingularityPauseRequest":{"type":"object","properties":{"killTasks":{"type":"boolean","description":"If set to false, tasks will be allowed to finish instead of killed immediately","nullable":true},"durationMillis":{"type":"integer","description":"The number of milliseconds to wait before reversing the effects of this action (letting it expire)","format":"int64","nullable":true},"actionId":{"type":"string","description":"An id to associate with this action for metadata purposes","nullable":true},"message":{"type":"string","description":"A message to show to users about why this action was taken","nullable":true},"runShellCommandBeforeKill":{"$ref":"#/components/schemas/SingularityShellCommand"}},"description":"Settings for how a pause should behave"},"SingularitySkipHealthchecksRequest":{"type":"object","properties":{"skipHealthchecks":{"type":"boolean","description":"If set to true, healthchecks will be skipped for all tasks for this request until reversed","nullable":true},"durationMillis":{"type":"integer","description":"The number of milliseconds to wait before reversing the effects of this action (letting it expire)","format":"int64","nullable":true},"actionId":{"type":"string","description":"An id to associate with this action for metadata purposes","nullable":true},"message":{"type":"string","description":"A message to show to users about why this action was taken","nullable":true}},"description":"Settings related to skipping healthchecks for a request"},"SingularityPendingTask":{"type":"object","properties":{"pendingTaskId":{"$ref":"#/components/schemas/SingularityPendingTaskId"},"cmdLineArgsList":{"type":"array","description":"Extra command line arguments for this particular task","items":{"type":"string","description":"Extra command line arguments for this particular task"}},"user":{"type":"string","description":"The user who triggered the launch of this task","nullable":true},"runId":{"type":"string","description":"An optional unique run id associated with this task","nullable":true},"skipHealthchecks":{"title":"If `true`, do not run healthchecks for this task and immediately consider it healthy","type":"boolean","nullable":true,"default":false},"message":{"type":"string","description":"An optional message for the launch of this task"},"resources":{"$ref":"#/components/schemas/Resources"},"s3UploaderAdditionalFiles":{"type":"array","description":"A list of additional files for the SingularityS3Uploader to upload","items":{"$ref":"#/components/schemas/SingularityS3UploaderFile"}},"runAsUserOverride":{"type":"string","description":"Override the system user this task will be run as","nullable":true},"envOverrides":{"type":"object","additionalProperties":{"type":"string","description":"Environment variable overrides for this particular task"},"description":"Environment variable overrides for this particular task"},"requiredSlaveAttributeOverrides":{"type":"object","additionalProperties":{"type":"string","description":"Required slave attribute overrides for this particular task. These will be applied on top of any requiredSlaveAttributes that are defined at the SingularityRequest level."},"description":"Required slave attribute overrides for this particular task. These will be applied on top of any requiredSlaveAttributes that are defined at the SingularityRequest level."},"allowedSlaveAttributeOverrides":{"type":"object","additionalProperties":{"type":"string","description":"Allowed slave attribute overrides for this particular task. These will be applied on top of any allowedSlaveAttributes that are defined at the SingularityRequest level."},"description":"Allowed slave attribute overrides for this particular task. These will be applied on top of any allowedSlaveAttributes that are defined at the SingularityRequest level."},"extraArtifacts":{"type":"array","description":"A list of additional artifacts to download for this particular task","items":{"$ref":"#/components/schemas/SingularityMesosArtifact"}},"actionId":{"type":"string","description":"An optional unique id associated with the launch of this task","nullable":true}},"description":"Overrides and settings for a particular task being launched"},"SingularityTaskHistory":{"type":"object","properties":{"taskUpdates":{"type":"array","description":"A list of status updates for this task","items":{"$ref":"#/components/schemas/SingularityTaskHistoryUpdate"}},"directory":{"type":"string","description":"The directory of the task sandbox on teh mesos slave","nullable":true},"containerId":{"type":"string","description":"If a docker task, the docker container id","nullable":true},"healthcheckResults":{"type":"array","description":"Healthcheck results for this task","items":{"$ref":"#/components/schemas/SingularityTaskHealthcheckResult"}},"task":{"$ref":"#/components/schemas/SingularityTask"},"loadBalancerUpdates":{"type":"array","description":"A list of load balancer updates for this task","items":{"$ref":"#/components/schemas/SingularityLoadBalancerUpdate"}},"shellCommandHistory":{"type":"array","description":"A list of shell commands that have been run against this task","items":{"$ref":"#/components/schemas/SingularityTaskShellCommandHistory"}},"taskMetadata":{"type":"array","description":"A list of custom metadata associated with this task","items":{"$ref":"#/components/schemas/SingularityTaskMetadata"}}},"description":"Describes the full history of a Singularity task"},"SingularityTaskRequest":{"type":"object","properties":{"request":{"$ref":"#/components/schemas/SingularityRequest"},"deploy":{"$ref":"#/components/schemas/SingularityDeploy"},"pendingTask":{"$ref":"#/components/schemas/SingularityPendingTask"}},"description":"Describes a task that is waiting to be launched"},"SingularityDeployStatistics":{"type":"object","properties":{"requestId":{"type":"string","description":"Request id"},"deployId":{"type":"string","description":"Deploy id"},"numSuccess":{"type":"integer","description":"Number of sequential successful tasks (used in cooldown calculations)","format":"int32"},"numFailures":{"type":"integer","description":"Number of sequential failed tasks (used in cooldown calculations)","format":"int32"},"numSequentialRetries":{"type":"integer","description":"Number of retries for tasks in this deploy, relevant for scheduled request types","format":"int32"},"lastFinishAt":{"type":"integer","description":"Time of the last finished task for this deploy","format":"int64","nullable":true},"lastTaskState":{"type":"string","description":"The most recent task state for this deploy","nullable":true,"enum":["TASK_LAUNCHED","TASK_STAGING","TASK_STARTING","TASK_RUNNING","TASK_CLEANING","TASK_KILLING","TASK_FINISHED","TASK_FAILED","TASK_KILLED","TASK_LOST","TASK_LOST_WHILE_DOWN","TASK_ERROR","TASK_DROPPED","TASK_GONE","TASK_UNREACHABLE","TASK_GONE_BY_OPERATOR","TASK_UNKNOWN"]},"instanceSequentialFailureTimestamps":{"$ref":"#/components/schemas/ListMultimapIntegerLong"},"numTasks":{"type":"integer","description":"The number of tasks associated with this deploy","format":"int32"},"averageRuntimeMillis":{"type":"integer","description":"Average runtime of tasks associated with this deploy","format":"int64","nullable":true},"averageSchedulingDelayMillis":{"type":"integer","description":"Average delay launching tasks for this deploy","format":"int64","nullable":true},"taskFailureEvents":{"type":"array","description":"Timestamps and descriptions of failed tasks by instance number","items":{"$ref":"#/components/schemas/TaskFailureEvent"}}},"description":"Task statistics related to a particular deploy"},"MesosRangesObject":{"type":"object","properties":{"range":{"type":"array","items":{"$ref":"#/components/schemas/MesosRangeObject"}}}},"SingularityLoadBalancerUpdate":{"type":"object","properties":{"state":{"type":"string","writeOnly":true,"enum":["UNKNOWN","FAILED","WAITING","SUCCESS","CANCELING","CANCELED","INVALID_REQUEST_NOOP"]},"loadBalancerRequestId":{"$ref":"#/components/schemas/LoadBalancerRequestId"},"message":{"type":"string","description":"An optional message accompanying the load balancer update"},"timestamp":{"type":"integer","description":"The time at which this update occured","format":"int64"},"method":{"type":"string","description":"Describes the reason for this load balancer update","enum":["PRE_ENQUEUE","ENQUEUE","CHECK_STATE","CANCEL","DELETE"]},"uri":{"type":"string","description":"The uri used to update the load balancer configuration"},"loadBalancerState":{"type":"string","description":"The current state of the request to update load balancer configuration","enum":["UNKNOWN","FAILED","WAITING","SUCCESS","CANCELING","CANCELED","INVALID_REQUEST_NOOP"]}},"description":"An updated to load balancer configuration","nullable":true},"SingularityDisabledAction":{"type":"object","properties":{"type":{"type":"string","enum":["BOUNCE_REQUEST","SCALE_REQUEST","REMOVE_REQUEST","CREATE_REQUEST","UPDATE_REQUEST","VIEW_REQUEST","PAUSE_REQUEST","KILL_TASK","BOUNCE_TASK","RUN_SHELL_COMMAND","ADD_METADATA","DEPLOY","CANCEL_DEPLOY","ADD_WEBHOOK","REMOVE_WEBHOOK","VIEW_WEBHOOKS","TASK_RECONCILIATION","STARTUP_TASK_RECONCILIATION","RUN_HEALTH_CHECKS","ADD_DISASTER","REMOVE_DISASTER","DISABLE_ACTION","ENABLE_ACTION","VIEW_DISASTERS","FREEZE_SLAVE","ACTIVATE_SLAVE","DECOMMISSION_SLAVE","VIEW_SLAVES","FREEZE_RACK","ACTIVATE_RACK","DECOMMISSION_RACK","VIEW_RACKS","SEND_EMAIL","PROCESS_OFFERS","CACHE_OFFERS","EXPENSIVE_API_CALLS","RUN_CLEANUP_POLLER","RUN_DEPLOY_POLLER","RUN_SCHEDULER_POLLER","RUN_EXPIRING_ACTION_POLLER","RUN_UPSTREAM_POLLER","TASK_SHUFFLE"]},"message":{"type":"string"},"user":{"type":"string"},"automaticallyClearable":{"type":"boolean"},"expiresAt":{"type":"integer","format":"int64"}}},"SingularityKillTaskRequest":{"type":"object","properties":{"override":{"type":"boolean","description":"If set to true, instructs the executor to attempt to immediately kill the task, rather than waiting gracefully","nullable":true},"message":{"type":"string","description":"A message to show to users about why this action was taken","nullable":true},"actionId":{"type":"string","description":"An id to associate with this action for metadata purposes","nullable":true},"waitForReplacementTask":{"type":"boolean","description":"If set to true, treats this task kill as a bounce - launching another task and waiting for it to become healthy","nullable":true},"runShellCommandBeforeKill":{"$ref":"#/components/schemas/SingularityShellCommand"}},"description":"Overrides related to how a task kill is performed"},"SingularityTokenResponse":{"required":["token"],"type":"object","properties":{"token":{"type":"string","description":"The generated/saved token"},"user":{"$ref":"#/components/schemas/SingularityUser"}},"description":"Response containing the generated long lived auth token and associated user data"},"MesosParameter":{"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}}},"SingularityDisaster":{"type":"object","properties":{"type":{"type":"string","description":"The enum type of disaster, indicative of cause","enum":["EXCESSIVE_TASK_LAG","LOST_SLAVES","LOST_TASKS","USER_INITIATED"]},"boolean":{"type":"boolean","writeOnly":true},"active":{"type":"boolean","description":"`true` if a disaster of this type is currently active"}},"description":"Representation of an active disaster"},"SingularityRequestDeployState":{"type":"object","properties":{"requestId":{"type":"string","description":"The request these deploys belong to"},"activeDeploy":{"$ref":"#/components/schemas/SingularityDeployMarker"},"pendingDeploy":{"$ref":"#/components/schemas/SingularityDeployMarker"}},"description":"Data about active and pending deploys","nullable":true},"SingularityUpdateGroupsRequest":{"type":"object","properties":{"group":{"type":"string","description":"The primary request group","nullable":true},"readWriteGroups":{"uniqueItems":true,"type":"array","description":"Groups allowed read/write access to a request","items":{"type":"string","description":"Groups allowed read/write access to a request"}},"readOnlyGroups":{"uniqueItems":true,"type":"array","description":"Groups allowed read only access to a request","items":{"type":"string","description":"Groups allowed read only access to a request"}},"message":{"type":"string","description":"An option message detailing the reason for the group updates","nullable":true}},"description":"Represents updates to the groups for a request"},"MesosOfferObject":{"type":"object","properties":{"agentId":{"$ref":"#/components/schemas/MesosStringValue"},"slaveId":{"$ref":"#/components/schemas/MesosStringValue"},"frameworkId":{"$ref":"#/components/schemas/MesosStringValue"},"hostname":{"type":"string"},"id":{"$ref":"#/components/schemas/MesosStringValue"}},"description":"The mesos protos representation of an offer"},"S3ArtifactSignature":{"type":"object","properties":{"name":{"type":"string","description":"Name of the artifact"},"filename":{"type":"string","description":"Name of the file"},"md5sum":{"type":"string","description":"md5 sum of the file","nullable":true},"filesize":{"type":"integer","description":"Size of the artifact","format":"int64"},"s3Bucket":{"type":"string"},"s3ObjectKey":{"type":"string"},"artifactFilename":{"type":"string","description":"File name for the artifact"},"targetFolderRelativeToTask":{"type":"string","description":"Target folder for the file, relative to the task sandbox directory"},"isArtifactList":{"type":"boolean","description":"If true, this file is a list of other `Artifact`s to download, represented as json","nullable":true,"default":false}},"description":"A file with name `filename` containing the signature (e.g. gpg signature) for an artifact with the specified `artifactFilename`. Used to verify the validity of the artifact being downloaded"},"ExternalArtifact":{"type":"object","properties":{"name":{"type":"string","description":"Name of the artifact"},"filename":{"type":"string","description":"Name of the file"},"md5sum":{"type":"string","description":"md5 sum of the file","nullable":true},"url":{"type":"string","description":"URL to download the artifact"},"filesize":{"type":"integer","description":"Size of the artifact","format":"int64"},"targetFolderRelativeToTask":{"type":"string","description":"Target folder for the file, relative to the task sandbox directory"},"isArtifactList":{"type":"boolean","description":"If true, this file is a list of other `Artifact`s to download, represented as json","nullable":true,"default":false}},"description":"An artifact identified by url"},"SingularityExpiringBounce":{"type":"object","properties":{"requestId":{"type":"string","description":"The request this future action is in reference to"},"deployId":{"type":"string","description":"The deploy associated with this expiring bounce"},"user":{"type":"string","description":"User who initially triggered the future action","nullable":true},"startMillis":{"type":"integer","description":"Time the future action was created","format":"int64"},"expiringAPIRequestObject":{"$ref":"#/components/schemas/SingularityBounceRequest"},"actionId":{"type":"string","description":"A unique id for this future action"}},"description":"Details about a bounce that will eventually expire/give up","nullable":true},"SingularityMesosImage":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"Mesos image type","enum":["APPC","DOCKER"]},"appc":{"$ref":"#/components/schemas/SingularityAppcImage"},"docker":{"$ref":"#/components/schemas/SingularityDockerImage"},"cached":{"type":"boolean","description":"Determines if a cached image is considered up to date"}},"description":"Describes a container image to be launched in mesos"},"SingularityExpiringSlaveState":{"type":"object","description":"Represents a future update to the state of an agent","allOf":[{"$ref":"#/components/schemas/SingularityExpiringMachineState"}]},"SingularityNetworkInfo":{"type":"object","properties":{"name":{"type":"string","description":"Name of the network for the network driver to use"},"groups":{"type":"array","description":"List of network groups for the container","items":{"type":"string","description":"List of network groups for the container"}},"portMappings":{"type":"array","description":"List of ip port mappings to expose","items":{"$ref":"#/components/schemas/SingularityPortMapping"}}},"description":"Optional network settings for a container being launched in mesos"},"SingularityDeployFailure":{"type":"object","properties":{"reason":{"type":"string","description":"The enum reason for deploy failure","enum":["TASK_FAILED_ON_STARTUP","TASK_FAILED_HEALTH_CHECKS","TASK_COULD_NOT_BE_SCHEDULED","TASK_NEVER_ENTERED_RUNNING","TASK_EXPECTED_RUNNING_FINISHED","DEPLOY_CANCELLED","DEPLOY_OVERDUE","FAILED_TO_SAVE_DEPLOY_STATE","LOAD_BALANCER_UPDATE_FAILED","PENDING_DEPLOY_REMOVED"]},"taskId":{"$ref":"#/components/schemas/SingularityTaskId"},"message":{"type":"string","description":"Extra details associated with the deploy failure","nullable":true}},"description":"Details about a failed deploy","nullable":true},"SingularityDeployHistory":{"type":"object","properties":{"deployResult":{"$ref":"#/components/schemas/SingularityDeployResult"},"deployMarker":{"$ref":"#/components/schemas/SingularityDeployMarker"},"deploy":{"$ref":"#/components/schemas/SingularityDeploy"},"deployStatistics":{"$ref":"#/components/schemas/SingularityDeployStatistics"}},"description":"Describes a completed deploy"},"SingularityDeployResult":{"type":"object","properties":{"deployState":{"type":"string","description":"The current state of the deploy","enum":["SUCCEEDED","FAILED_INTERNAL_STATE","CANCELING","WAITING","OVERDUE","FAILED","CANCELED"]},"message":{"type":"string","description":"An optional message accompanying the deploy result","nullable":true},"lbUpdate":{"$ref":"#/components/schemas/SingularityLoadBalancerUpdate"},"deployFailures":{"type":"array","description":"Details about a failed deploy","nullable":true,"items":{"$ref":"#/components/schemas/SingularityDeployFailure"}},"timestamp":{"type":"integer","description":"The time of this deploy update","format":"int64"}},"description":"The result of a deploy for a particular request","nullable":true},"SingularityExitCooldownRequest":{"type":"object","properties":{"message":{"type":"string","description":"A message to show to users about why this action was taken","nullable":true},"actionId":{"type":"string","description":"An id to associate with this action for metadata purposes","nullable":true},"skipHealthchecks":{"type":"boolean","description":"Instruct new tasks that are scheduled immediately while executing cooldown to skip healthchecks","nullable":true}},"description":"Settings related to how an exit cooldown should behave"},"SingularityMachineChangeRequest":{"type":"object","properties":{"durationMillis":{"type":"integer","description":"The number of milliseconds to wait before reversing the effects of this action (letting it expire)","format":"int64","nullable":true},"actionId":{"type":"string","description":"An id to associate with this action for metadata purposes","nullable":true},"message":{"type":"string","description":"A message to show to users about why this action was taken","nullable":true},"revertToState":{"type":"string","description":"If a durationMillis is specified, return to this state when time has elapsed","nullable":true,"enum":["MISSING_ON_STARTUP","ACTIVE","STARTING_DECOMMISSION","DECOMMISSIONING","DECOMMISSIONED","DEAD","FROZEN"]},"killTasksOnDecommissionTimeout":{"type":"boolean","description":"If a machine has not successfully decommissioned in durationMillis, kill the remaining tasks on the machine"}},"description":"Settings related to changing the state of a rack or agent"},"SingularityDockerParameter":{"type":"object","properties":{"key":{"type":"string","description":"Argument name"},"value":{"type":"string","description":"Argument value"}},"description":"Other docker run command line options to be set","default":"Describes an argument to docker run"},"SingularityPaginatedResponseSingularityTaskIdHistory":{"type":"object","properties":{"dataCount":{"type":"integer","description":"The total number of rows on all pages","format":"int32","nullable":true},"pageCount":{"type":"integer","description":"The total number of pages","format":"int32"},"page":{"type":"integer","description":"Current page number","format":"int32"},"objects":{"type":"array","description":"Data for this page","items":{"$ref":"#/components/schemas/SingularityTaskIdHistory"}}},"description":"Holds a page of responses and metadata"},"SingularityDeployProgress":{"type":"object","properties":{"targetActiveInstances":{"type":"integer","description":"The desired number of instances for the current deploy step","format":"int32"},"currentActiveInstances":{"type":"integer","description":"The current number of active tasks for this deploy","format":"int32"},"deployInstanceCountPerStep":{"type":"integer","description":"The number of instances to increment each time a deploy step completes","format":"int32"},"deployStepWaitTimeMs":{"type":"integer","description":"The time to wait between deploy steps in milliseconds","format":"int64"},"stepComplete":{"type":"boolean","description":"`true` if the current deploy step has completed"},"autoAdvanceDeploySteps":{"type":"boolean","description":"If `true` automatically move to the next deploy step when reaching the target active instances for the current step"},"failedDeployTasks":{"uniqueItems":true,"type":"array","description":"Tasks for this deploy that have failed so far","items":{"$ref":"#/components/schemas/SingularityTaskId"}},"timestamp":{"type":"integer","description":"The timestamp of this deploy progress update","format":"int64"}},"description":"Describes the progress a deploy has made","nullable":true},"SingularityDockerInfo":{"required":["image","privileged"],"type":"object","properties":{"image":{"type":"string","description":"Docker image name"},"privileged":{"type":"boolean","description":"Controls use of the docker --privleged flag"},"network":{"type":"string","description":"Docker netowkr type. Value can be BRIDGE, HOST, or NONE","enum":["BRIDGE","HOST","NONE"]},"portMappings":{"type":"array","description":"List of port mappings","items":{"$ref":"#/components/schemas/SingularityDockerPortMapping"}},"forcePullImage":{"type":"boolean","description":"Always run docker pull even if the image already exists locally","default":false},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"dockerParameters":{"type":"array","description":"Other docker run command line options to be set","items":{"$ref":"#/components/schemas/SingularityDockerParameter"}}},"description":"Describes how a docker image should be launched"},"SingularityExpiringPause":{"type":"object","properties":{"requestId":{"type":"string","description":"The request this future action is in reference to"},"user":{"type":"string","description":"User who initially triggered the future action","nullable":true},"startMillis":{"type":"integer","description":"Time the future action was created","format":"int64"},"expiringAPIRequestObject":{"$ref":"#/components/schemas/SingularityPauseRequest"},"actionId":{"type":"string","description":"A unique id for this future action"}},"description":"Details about a pause action that will eventually revert","nullable":true},"SingularityTask":{"type":"object","properties":{"taskRequest":{"$ref":"#/components/schemas/SingularityTaskRequest"},"taskId":{"$ref":"#/components/schemas/SingularityTaskId"},"offer":{"$ref":"#/components/schemas/MesosOfferObject"},"offers":{"type":"array","writeOnly":true,"items":{"$ref":"#/components/schemas/MesosOfferObject"}},"mesosTask":{"$ref":"#/components/schemas/MesosTaskObject"},"rackId":{"type":"string","description":"The id of the rack where this task was launched"}},"description":"Describes a singularity task"},"SingularityTaskMetadata":{"required":["type"],"type":"object","properties":{"taskId":{"$ref":"#/components/schemas/SingularityTaskId"},"timestamp":{"type":"integer","description":"Timestamp this metadata was created","format":"int64"},"type":{"title":"Type of metadata","type":"string","description":"Cannot contain a '/'"},"title":{"type":"string","description":"Title for this metadata"},"message":{"type":"string","description":"Optional metadata message","nullable":true},"user":{"type":"string","description":"The user who added this metadata","nullable":true},"level":{"type":"string","description":"Metadata level","enum":["INFO","WARN","ERROR"]}},"description":"Custom metadata associated with a Singularity task"},"SingularityRequestGroup":{"type":"object","properties":{"id":{"title":"A unique id for this request group","pattern":"a-zA-Z0-9_-","type":"string","description":"Max length is set in configuration yaml as maxRequestIdSize"},"requestIds":{"type":"array","description":"The list of request ids that belong to this group","items":{"type":"string","description":"The list of request ids that belong to this group"}},"metadata":{"type":"object","additionalProperties":{"type":"string","description":"Metadata related to this request group"},"description":"Metadata related to this request group"}},"description":"Describes a request grouping"},"Metric":{"title":"A map of metric name to metric content","type":"object"},"EmbeddedArtifact":{"type":"object","properties":{"name":{"type":"string","description":"Name of the artifact"},"filename":{"type":"string","description":"Name of the file"},"md5sum":{"type":"string","description":"md5 sum of the file","nullable":true},"content":{"type":"array","description":"Raw content for the file","items":{"type":"string","description":"Raw content for the file","format":"byte"}},"targetFolderRelativeToTask":{"type":"string","description":"Target folder for the file, relative to the task sandbox directory"}},"description":"Raw content used to create an artifact in the task sandbox"}}}}