Welcome to AgavePy’s documentation!¶
agavepy.actors¶
Summary: Create and manage actors.
add: Register an actor.¶
agavepy.actors.add(body)
Parameters:¶
- body: The description of the actor to add. (JSON, Actor)
Actor schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Actor.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"defaultEnvironment": {
"description": "Default environmental variables and values.",
"type": "dict"
},
"description": {
"description": "Description of this actor.",
"type": "string"
},
"id": {
"description": "The unique id of the actor.",
"type": "string"
},
"image": {
"description": "Docker image associated with the actor.",
"type": "string"
},
"owner": {
"description": "username of the owner of the actor.",
"type": "string"
},
"privileged": {
"description": "Whether this actor runs in privileged mode.",
"type": "boolean"
},
"stateless": {
"description": "Whether the actor stores private state.",
"type": "boolean"
},
"status": {
"description": "Current status of the actor.",
"type": "string"
}
},
"required": [],
"title": "AgavePy Actor schema",
"type": "object"
}
Response:¶
- A single Actor object
Actor schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Actor.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"defaultEnvironment": {
"description": "Default environmental variables and values.",
"type": "dict"
},
"description": {
"description": "Description of this actor.",
"type": "string"
},
"id": {
"description": "The unique id of the actor.",
"type": "string"
},
"image": {
"description": "Docker image associated with the actor.",
"type": "string"
},
"owner": {
"description": "username of the owner of the actor.",
"type": "string"
},
"privileged": {
"description": "Whether this actor runs in privileged mode.",
"type": "boolean"
},
"stateless": {
"description": "Whether the actor stores private state.",
"type": "boolean"
},
"status": {
"description": "Current status of the actor.",
"type": "string"
}
},
"required": [],
"title": "AgavePy Actor schema",
"type": "object"
}
list: List actors¶
agavepy.actors.list(limit=250, offset=0)
Parameters:¶
- limit: The max number of results. (integer)
- offset: The number of records to when returning the results. When paginating results, the page number = ceil(offset/limit) (integer)
Response:¶
- Array of Actor objects
Actor schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Actor.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"defaultEnvironment": {
"description": "Default environmental variables and values.",
"type": "dict"
},
"description": {
"description": "Description of this actor.",
"type": "string"
},
"id": {
"description": "The unique id of the actor.",
"type": "string"
},
"image": {
"description": "Docker image associated with the actor.",
"type": "string"
},
"owner": {
"description": "username of the owner of the actor.",
"type": "string"
},
"privileged": {
"description": "Whether this actor runs in privileged mode.",
"type": "boolean"
},
"stateless": {
"description": "Whether the actor stores private state.",
"type": "boolean"
},
"status": {
"description": "Current status of the actor.",
"type": "string"
}
},
"required": [],
"title": "AgavePy Actor schema",
"type": "object"
}
delete: Delete a specific actor.¶
agavepy.actors.delete(actorId)
Parameters:¶
- actorId: The id of the actor. (string)
Response:¶
- A single String object
get: Retrieve details about a specific actor.¶
agavepy.actors.get(actorId)
Parameters:¶
- actorId: The id of the actor. (string)
Response:¶
- A single Actor object
Actor schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Actor.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"defaultEnvironment": {
"description": "Default environmental variables and values.",
"type": "dict"
},
"description": {
"description": "Description of this actor.",
"type": "string"
},
"id": {
"description": "The unique id of the actor.",
"type": "string"
},
"image": {
"description": "Docker image associated with the actor.",
"type": "string"
},
"owner": {
"description": "username of the owner of the actor.",
"type": "string"
},
"privileged": {
"description": "Whether this actor runs in privileged mode.",
"type": "boolean"
},
"stateless": {
"description": "Whether the actor stores private state.",
"type": "boolean"
},
"status": {
"description": "Current status of the actor.",
"type": "string"
}
},
"required": [],
"title": "AgavePy Actor schema",
"type": "object"
}
update: Retrieve details about a specific actor.¶
agavepy.actors.update(actorId, body)
Parameters:¶
- actorId: The id of the actor. (string)
- body: The description of the actor to update. (JSON, Actor)
Actor schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Actor.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"defaultEnvironment": {
"description": "Default environmental variables and values.",
"type": "dict"
},
"description": {
"description": "Description of this actor.",
"type": "string"
},
"id": {
"description": "The unique id of the actor.",
"type": "string"
},
"image": {
"description": "Docker image associated with the actor.",
"type": "string"
},
"owner": {
"description": "username of the owner of the actor.",
"type": "string"
},
"privileged": {
"description": "Whether this actor runs in privileged mode.",
"type": "boolean"
},
"stateless": {
"description": "Whether the actor stores private state.",
"type": "boolean"
},
"status": {
"description": "Current status of the actor.",
"type": "string"
}
},
"required": [],
"title": "AgavePy Actor schema",
"type": "object"
}
Response:¶
- A single Actor object
Actor schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Actor.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"defaultEnvironment": {
"description": "Default environmental variables and values.",
"type": "dict"
},
"description": {
"description": "Description of this actor.",
"type": "string"
},
"id": {
"description": "The unique id of the actor.",
"type": "string"
},
"image": {
"description": "Docker image associated with the actor.",
"type": "string"
},
"owner": {
"description": "username of the owner of the actor.",
"type": "string"
},
"privileged": {
"description": "Whether this actor runs in privileged mode.",
"type": "boolean"
},
"stateless": {
"description": "Whether the actor stores private state.",
"type": "boolean"
},
"status": {
"description": "Current status of the actor.",
"type": "string"
}
},
"required": [],
"title": "AgavePy Actor schema",
"type": "object"
}
getMessages: Get the current number of messages for an actor.¶
agavepy.actors.getMessages(actorId)
Parameters:¶
- actorId: The id of the actor. (string)
Response:¶
- A single ActorMessages object
ActorMessages schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/ActorMessages.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"messages": {
"description": "The number of messages waiting in queue to be processed by this actor.",
"type": "int"
}
},
"required": [],
"title": "AgavePy ActorMessages schema",
"type": "object"
}
sendBinaryMessage: Send a message to an actor mailbox.¶
agavepy.actors.sendBinaryMessage(actorId, message, environment=None)
Parameters:¶
- actorId: The id of the actor. (string)
- environment: Optional dictionary of environmental variables (dict)
- message: The description of the message to add. (JSON, MessageRequest)
MessageRequest schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/MessageRequest.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"message": {
"description": "The message to send to the actor.",
"type": "string"
}
},
"required": [],
"title": "AgavePy MessageRequest schema",
"type": "object"
}
Response:¶
- A single ActorMessageResponse object
sendMessage: Send a message to an actor mailbox.¶
agavepy.actors.sendMessage(actorId, body, environment=None)
Parameters:¶
- actorId: The id of the actor. (string)
- environment: Optional dictionary of environmental variables (dict)
- body: The description of the message to add. (JSON, MessageRequest)
MessageRequest schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/MessageRequest.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"message": {
"description": "The message to send to the actor.",
"type": "string"
}
},
"required": [],
"title": "AgavePy MessageRequest schema",
"type": "object"
}
Response:¶
- A single ActorMessageResponse object
getState: Get the current state for an actor.¶
agavepy.actors.getState(actorId)
Parameters:¶
- actorId: The id of the actor. (string)
Response:¶
- A single ActorState object
ActorState schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/ActorState.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"state": {
"description": "The current state of the actor.",
"type": "string"
}
},
"required": [],
"title": "AgavePy ActorState schema",
"type": "object"
}
updateState: Update an actor’s state with a JSON-serializable object.¶
agavepy.actors.updateState(actorId, body)
Parameters:¶
- actorId: The id of the actor. (string)
- body: The value of the state. Should be JSON-serializable. (JSON, string)
Response:¶
- A single ActorState object
ActorState schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/ActorState.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"state": {
"description": "The current state of the actor.",
"type": "string"
}
},
"required": [],
"title": "AgavePy ActorState schema",
"type": "object"
}
getPermissions: Get the current permissions for an actor.¶
agavepy.actors.getPermissions(actorId)
Parameters:¶
- actorId: The id of the actor. (string)
Response:¶
- A single ActorPermissions object
ActorPermissions schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/ActorPermissions.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"permissions": {
"description": "The dictionary of permissions associated with the actor.",
"type": "string"
}
},
"required": [],
"title": "AgavePy ActorPermissions schema",
"type": "object"
}
updatePermissions: Update an actor’s permissions with a new permission for a user.¶
agavepy.actors.updatePermissions(actorId, body)
Parameters:¶
- actorId: The id of the actor. (string)
- body: The permission record; user and level fields required. (JSON, PermissionsUpdateRequest)
PermissionsUpdateRequest schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/PermissionsUpdateRequest.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"level": {
"description": "The level associated with the permission.",
"type": "string"
},
"user": {
"description": "The user associated with the permission.",
"type": "string"
}
},
"required": [],
"title": "AgavePy PermissionsUpdateRequest schema",
"type": "object"
}
Response:¶
- A single ActorPermissionsResponse object
addWorker: Add a worker to an actor.¶
agavepy.actors.addWorker(actorId, body)
Parameters:¶
- actorId: The id of the actor. (string)
- body: The description of the workers to add. (JSON, AddWorkersRequest)
AddWorkersRequest schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/AddWorkersRequest.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"num": {
"description": "The number of workers to ensure are running.",
"type": "int"
}
},
"required": [],
"title": "AgavePy AddWorkersRequest schema",
"type": "object"
}
Response:¶
- A single EmptyActorWorkerRequestResponse object
listWorkers: List the current workers for an actor.¶
agavepy.actors.listWorkers(actorId)
Parameters:¶
- actorId: The id of the actor. (string)
Response:¶
- Array of ActorWorker objects
ActorWorker schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/ActorWorker.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"cid": {
"description": "Container id of this worker.",
"type": "string"
},
"host_id": {
"description": "id of the host where this worker is running.",
"type": "string"
},
"host_ip": {
"description": "IP address of the host where this worker is running.",
"type": "string"
},
"id": {
"description": "The unique id of this worker.",
"type": "string"
},
"image": {
"description": "Docker image associated with the actor.",
"type": "string"
},
"last_execution": {
"description": "Last execution for this worker.",
"type": "int"
},
"location": {
"description": "Location of docker daemon that this worker is using.",
"type": "string"
},
"status": {
"description": "status of the worker.",
"type": "string"
},
"tenant": {
"description": "tenant this worker belongs to.",
"type": "string"
}
},
"required": [],
"title": "AgavePy ActorWorker schema",
"type": "object"
}
deleteWorker: Delete a worker.¶
agavepy.actors.deleteWorker(actorId, workerId)
Parameters:¶
- actorId: The id of the actor. (string)
- workerId: The id of the worker. (string)
Response:¶
- A single String object
getWorker: Get the details about a specific worker for an actor.¶
agavepy.actors.getWorker(actorId, workerId)
Parameters:¶
- actorId: The id of the actor. (string)
- workerId: The id of the worker. (string)
Response:¶
- A single ActorWorker object
ActorWorker schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/ActorWorker.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"cid": {
"description": "Container id of this worker.",
"type": "string"
},
"host_id": {
"description": "id of the host where this worker is running.",
"type": "string"
},
"host_ip": {
"description": "IP address of the host where this worker is running.",
"type": "string"
},
"id": {
"description": "The unique id of this worker.",
"type": "string"
},
"image": {
"description": "Docker image associated with the actor.",
"type": "string"
},
"last_execution": {
"description": "Last execution for this worker.",
"type": "int"
},
"location": {
"description": "Location of docker daemon that this worker is using.",
"type": "string"
},
"status": {
"description": "status of the worker.",
"type": "string"
},
"tenant": {
"description": "tenant this worker belongs to.",
"type": "string"
}
},
"required": [],
"title": "AgavePy ActorWorker schema",
"type": "object"
}
addNonce: Add a nonce to an actor.¶
agavepy.actors.addNonce(actorId, body=)
Parameters:¶
- actorId: The id of the actor. (string)
- body: The description of the nonce to add. (JSON, AddNonceRequest)
AddNonceRequest schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/AddNonceRequest.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"level": {
"description": "Permissions level associated with this nonce (default is EXECUTE).",
"type": "string"
},
"maxUses": {
"description": "Max number of times nonce can be redeemed.",
"type": "int"
}
},
"required": [],
"title": "AgavePy AddNonceRequest schema",
"type": "object"
}
Response:¶
- A single EmptyActorNonceRequestResponse object
listNonces: List the current nonces for an actor.¶
agavepy.actors.listNonces(actorId)
Parameters:¶
- actorId: The id of the actor. (string)
Response:¶
- Array of ActorNonce objects
ActorNonce schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/ActorNonce.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"actor_id": {
"description": "Actor id associated with nonce.",
"type": "string"
},
"create_time": {
"description": "Time stamp when nonce was created.",
"type": "string"
},
"id": {
"description": "The unique id of the nonce.",
"type": "string"
},
"last_use_time": {
"description": "Last time nonce was used.",
"type": "string"
},
"level": {
"description": "Permission level associated with nonce.",
"type": "string"
},
"max_uses": {
"description": "Max number of uses for this nonce.",
"type": "string"
},
"remaining_uses": {
"description": "Remaining uses of nonce.",
"type": "int"
}
},
"required": [],
"title": "AgavePy ActorNonce schema",
"type": "object"
}
deleteNonce: Delete a nonce.¶
agavepy.actors.deleteNonce(actorId, nonceId)
Parameters:¶
- actorId: The id of the actor. (string)
- nonceId: The id of the nonce. (string)
Response:¶
- A single String object
getNonce: Get the details about a specific nonce for an actor.¶
agavepy.actors.getNonce(actorId, nonceId)
Parameters:¶
- actorId: The id of the actor. (string)
- nonceId: The id of the nonce. (string)
Response:¶
- A single ActorNonce object
ActorNonce schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/ActorNonce.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"actor_id": {
"description": "Actor id associated with nonce.",
"type": "string"
},
"create_time": {
"description": "Time stamp when nonce was created.",
"type": "string"
},
"id": {
"description": "The unique id of the nonce.",
"type": "string"
},
"last_use_time": {
"description": "Last time nonce was used.",
"type": "string"
},
"level": {
"description": "Permission level associated with nonce.",
"type": "string"
},
"max_uses": {
"description": "Max number of uses for this nonce.",
"type": "string"
},
"remaining_uses": {
"description": "Remaining uses of nonce.",
"type": "int"
}
},
"required": [],
"title": "AgavePy ActorNonce schema",
"type": "object"
}
listExecutions: Summary data of all actor executions.¶
agavepy.actors.listExecutions(actorId, limit=250, offset=0)
Parameters:¶
- actorId: The id of the actor. (string)
- limit: The max number of results. (integer)
- offset: The number of records to when returning the results. When paginating results, the page number = ceil(offset/limit) (integer)
Response:¶
- A single ExecutionsSummary object
ExecutionsSummary schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/ExecutionsSummary.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"actorId": {
"description": "The id of the associated actor.",
"type": "string"
},
"ids": {
"description": "The ids of all executions.",
"type": "array"
},
"owner": {
"description": "username of the owner of the actor.",
"type": "string"
},
"totalCpu": {
"description": "CPU usage, in user jiffies, of all executions.",
"type": "int"
},
"totalIo": {
"description": "Block I/O usage, in number of 512-byte sectors read from and written to, by all executions.",
"type": "int"
},
"totalRuntime": {
"description": "Runtime, in milliseconds, of all executions.",
"type": "int"
}
},
"required": [],
"title": "AgavePy ExecutionsSummary schema",
"type": "object"
}
getExecution: Retrieve details about a specific actor execution.¶
agavepy.actors.getExecution(actorId, executionId)
Parameters:¶
- actorId: The id of the actor. (string)
- executionId: The id of the execution. (string)
Response:¶
- A single Execution object
Execution schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Execution.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"actorId": {
"description": "The id of the associated actor.",
"type": "string"
},
"cpu": {
"description": "CPU usage, in user jiffies, of this execution.",
"type": "int"
},
"id": {
"description": "The id of this executions.",
"type": "string"
},
"io": {
"description": "Block I/O usage, in number of 512-byte sectors read from and written to, by this execution.",
"type": "int"
},
"owner": {
"description": "username of the owner of the actor.",
"type": "string"
},
"runtime": {
"description": "Runtime, in milliseconds, of this execution.",
"type": "int"
},
"status": {
"description": "status of the execution.",
"type": "string"
}
},
"required": [],
"title": "AgavePy Execution schema",
"type": "object"
}
getOneExecutionResult: Get result for a specific actor execution.¶
agavepy.actors.getOneExecutionResult(actorId, executionId)
Parameters:¶
- actorId: The id of the actor. (string)
- executionId: The id of the execution. (string)
Response:¶
- None
getExecutionLogs: Get logs for a specific actor execution.¶
agavepy.actors.getExecutionLogs(actorId, executionId)
Parameters:¶
- actorId: The id of the actor. (string)
- executionId: The id of the execution. (string)
Response:¶
- A single ExecutionLogs object
ExecutionLogs schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/ExecutionLogs.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"logs": {
"description": "The logs (standard out) of this execution.",
"type": "string"
}
},
"required": [],
"title": "AgavePy ExecutionLogs schema",
"type": "object"
}
agavepy.apps¶
Summary: Register and manage apps
add: Register and update new applications.¶
agavepy.apps.add(body)
Parameters:¶
- body: The description of the app to add or update. (JSON, ApplicationRequest)
ApplicationRequest schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/ApplicationRequest.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"available": {
"description": "Whether the application is available.",
"type": "boolean"
},
"checkpointable": {
"description": "Whether the application supports checkpointing.",
"type": "boolean"
},
"defaultMaxRunTime": {
"description": "The max execution time that should be used if none is given in a job description. Ignore if the system does not support schedulers.",
"type": "int"
},
"defaultMemory": {
"description": "The default memory in GB to pass to the scheduler if none is given in the job description. This must be less than the max memory parameter in the target queue definition.",
"type": "string"
},
"defaultNodeCount": {
"description": "The number of nodes that should be used if none is given in a job description. Ignore if the system does not support schedulers.",
"type": "string"
},
"defaultProcessors": {
"description": "The number of processors to pass to the scheduler if none are given in the job description. This must be 1 if the app is serial.",
"type": "int"
},
"defaultQueue": {
"description": "The queue on the execution system that should be used if none is given in a job description. Ignore if the system does not support schedulers.",
"type": "string"
},
"deploymentPath": {
"description": "The location in the user's default storage system containing the application wrapper and dependencies.",
"type": "string"
},
"deploymentSystem": {
"description": "The system id of the storage system where this app should run.",
"type": "string"
},
"executionSystem": {
"description": "The system id of the execution system where this app should run.",
"type": "string"
},
"executionType": {
"description": "The execution type of the application. If you're unsure, it's probably HPC.",
"enum": [
"ATMOSPHERE",
"HPC",
"CONDOR",
"CLI"
],
"type": "string"
},
"helpURI": {
"description": "The URL where users can go for more information about the app.",
"type": "string"
},
"icon": {
"description": "The icon to associate with this app.",
"type": "string"
},
"inputs": {
"description": "The inputs files for this application. ",
"type": "array"
},
"label": {
"description": "The label to use when generating forms.",
"type": "string"
},
"longDescription": {
"description": "The full text description of this input to use when generating forms.",
"type": "string"
},
"modules": {
"description": "An array of modules to load prior to the execution of the application.",
"type": "array"
},
"name": {
"description": "The name of the application. The name does not have to be unique, but the combination of name and version does.",
"type": "string"
},
"ontology": {
"description": "An array of ontology values describing this application.",
"type": "array"
},
"outputs": {
"description": "The outputs files for this application. ",
"type": "array"
},
"parallelism": {
"description": "The parallelism type of the application. If you're unsure, it's probably SERIAL.",
"enum": [
"SERIAL",
"PARALLEL",
"PTHREAD"
],
"type": "string"
},
"parameters": {
"description": "The inputs parameters for this application. ",
"type": "array"
},
"shortDescription": {
"description": "The short description of this application.",
"type": "string"
},
"tags": {
"description": "An array of tags related to this application.",
"type": "array"
},
"templatePath": {
"description": "The path to the wrapper script relative to the deploymentPath.",
"type": "string"
},
"testPath": {
"description": "The path to the test script relative to the deploymentPath.",
"type": "string"
},
"version": {
"description": "The version of the application in #.#.# format. While the version does not need to be unique, the combination of name and version does have to be unique.",
"type": "string"
}
},
"required": [
"available",
"inputs",
"executionSystem",
"testPath",
"deploymentPath",
"templatePath",
"deploymentSystem",
"name",
"parameters",
"executionType",
"version"
],
"title": "AgavePy ApplicationRequest schema",
"type": "object"
}
Response:¶
- A single Application object
Application schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Application.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"available": {
"description": "Whether the application is available.",
"type": "boolean"
},
"checkpointable": {
"description": "Whether the application supports checkpointing.",
"type": "boolean"
},
"defaultMaxRunTime": {
"description": "The max execution time that should be used if none is given in a job description. Ignore if the system does not support schedulers.",
"type": "string"
},
"defaultMemoryPerNode": {
"description": "The default memory in GB to pass to the scheduler if none is given in the job description. This must be less than the max memory parameter in the target queue definition.",
"type": "string"
},
"defaultNodeCount": {
"description": "The number of nodes that should be used if none is given in a job description. Ignore if the system does not support schedulers.",
"type": "string"
},
"defaultProcessorsPerNode": {
"description": "The number of processors to pass to the scheduler if none are given in the job description. This must be 1 if the app is serial.",
"type": "string"
},
"defaultQueue": {
"description": "The queue on the execution system that should be used if none is given in a job description. Ignore if the system does not support schedulers.",
"type": "string"
},
"deploymentPath": {
"description": "The location in the user's default storage system containing the application wrapper and dependencies.",
"type": "string"
},
"deploymentSystem": {
"description": "The system id of the storage system where this app should run.",
"type": "string"
},
"executionSystem": {
"description": "The system id of the execution system where this app should run.",
"type": "string"
},
"executionType": {
"description": "The execution type of the application. If you're unsure, it's probably HPC.",
"enum": [
"ATMOSPHERE",
"HPC",
"CONDOR",
"CLI"
],
"type": "string"
},
"helpURI": {
"description": "The URL where users can go for more information about the app.",
"type": "string"
},
"icon": {
"description": "The icon to associate with this app.",
"type": "string"
},
"id": {
"description": "Unique id of this app. Comprised of the app name-version.",
"type": "string"
},
"inputs": {
"description": "The inputs files for this application. ",
"type": "array"
},
"isPublic": {
"description": "Whether the application is public or private.",
"type": "boolean"
},
"label": {
"description": "The label to use when generating forms.",
"type": "string"
},
"lastModified": {
"description": "The date this application was last modified in ISO 8601 format.",
"type": "string"
},
"longDescription": {
"description": "The full text description of this input to use when generating forms.",
"type": "string"
},
"modules": {
"description": "An array of modules to load prior to the execution of the application.",
"type": "array"
},
"name": {
"description": "The name of the application. The name does not have to be unique, but the combination of name and version does.",
"type": "string"
},
"ontology": {
"description": "An array of ontology values describing this application.",
"type": "array"
},
"outputs": {
"description": "The outputs files for this application. ",
"type": "array"
},
"parallelism": {
"description": "The parallelism type of the application. If you're unsure, it's probably SERIAL.",
"enum": [
"SERIAL",
"PARALLEL",
"PTHREAD"
],
"type": "string"
},
"parameters": {
"description": "The inputs parameters for this application. ",
"type": "array"
},
"revision": {
"description": "The number of times this application has been revised.",
"type": "integer"
},
"shortDescription": {
"description": "The short description of this application.",
"type": "string"
},
"tags": {
"description": "An array of tags related to this application.",
"type": "array"
},
"templatePath": {
"description": "The path to the wrapper script relative to the deploymentPath.",
"type": "string"
},
"testPath": {
"description": "The path to the test script relative to the deploymentPath.",
"type": "string"
},
"uuid": {
"description": "The UUID of this application. UUID are 36 alphanumeric string.",
"type": "string"
},
"version": {
"description": "The version of the application in #.#.# format. While the version does not need to be unique, the combination of name and version does have to be unique.",
"type": "string"
}
},
"required": [],
"title": "AgavePy Application schema",
"type": "object"
}
list: Get a list of available applications.¶
agavepy.apps.list(limit=250, offset=0, privateOnly=None, publicOnly=None)
Parameters:¶
- publicOnly: Whether to return only public apps. (boolean)
- privateOnly: Whether to return only private apps. (boolean)
- limit: The max number of results. (integer)
- offset: The number of records to when returning the results. When paginating results, the page number = ceil(offset/limit) (integer)
Response:¶
- Array of ApplicationSummary objects
ApplicationSummary schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/ApplicationSummary.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"executionSystem": {
"description": "The system id of the execution system where this app should run.",
"type": "string"
},
"id": {
"description": "Unique id of this app. Comprised of the app name-version.",
"type": "string"
},
"isPublic": {
"description": "Whether the application is public or private.",
"type": "boolean"
},
"lastModified": {
"description": "The date this application was last modified in ISO 8601 format.",
"type": "string"
},
"name": {
"description": "The name of the application. The name does not have to be unique, but the combination of name and version does.",
"type": "string"
},
"revision": {
"description": "The number of times this application has been revised.",
"type": "integer"
},
"shortDescription": {
"description": "The short description of this application.",
"type": "string"
},
"version": {
"description": "The version of the application in #.#.# format. While the version does not need to be unique, the combination of name and version does have to be unique.",
"type": "string"
}
},
"required": [],
"title": "AgavePy ApplicationSummary schema",
"type": "object"
}
delete: Deletes an application.¶
agavepy.apps.delete(appId)
Parameters:¶
- appId: The id of the application. The application id is made up of the name and version separated by a dash. (string)
Response:¶
- String
get: Get details of an application by it’s unique id.¶
agavepy.apps.get(appId)
Parameters:¶
- appId: The id of the application. The application id is made up of the name and version separated by a dash. (string)
Response:¶
- A single Application object
Application schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Application.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"available": {
"description": "Whether the application is available.",
"type": "boolean"
},
"checkpointable": {
"description": "Whether the application supports checkpointing.",
"type": "boolean"
},
"defaultMaxRunTime": {
"description": "The max execution time that should be used if none is given in a job description. Ignore if the system does not support schedulers.",
"type": "string"
},
"defaultMemoryPerNode": {
"description": "The default memory in GB to pass to the scheduler if none is given in the job description. This must be less than the max memory parameter in the target queue definition.",
"type": "string"
},
"defaultNodeCount": {
"description": "The number of nodes that should be used if none is given in a job description. Ignore if the system does not support schedulers.",
"type": "string"
},
"defaultProcessorsPerNode": {
"description": "The number of processors to pass to the scheduler if none are given in the job description. This must be 1 if the app is serial.",
"type": "string"
},
"defaultQueue": {
"description": "The queue on the execution system that should be used if none is given in a job description. Ignore if the system does not support schedulers.",
"type": "string"
},
"deploymentPath": {
"description": "The location in the user's default storage system containing the application wrapper and dependencies.",
"type": "string"
},
"deploymentSystem": {
"description": "The system id of the storage system where this app should run.",
"type": "string"
},
"executionSystem": {
"description": "The system id of the execution system where this app should run.",
"type": "string"
},
"executionType": {
"description": "The execution type of the application. If you're unsure, it's probably HPC.",
"enum": [
"ATMOSPHERE",
"HPC",
"CONDOR",
"CLI"
],
"type": "string"
},
"helpURI": {
"description": "The URL where users can go for more information about the app.",
"type": "string"
},
"icon": {
"description": "The icon to associate with this app.",
"type": "string"
},
"id": {
"description": "Unique id of this app. Comprised of the app name-version.",
"type": "string"
},
"inputs": {
"description": "The inputs files for this application. ",
"type": "array"
},
"isPublic": {
"description": "Whether the application is public or private.",
"type": "boolean"
},
"label": {
"description": "The label to use when generating forms.",
"type": "string"
},
"lastModified": {
"description": "The date this application was last modified in ISO 8601 format.",
"type": "string"
},
"longDescription": {
"description": "The full text description of this input to use when generating forms.",
"type": "string"
},
"modules": {
"description": "An array of modules to load prior to the execution of the application.",
"type": "array"
},
"name": {
"description": "The name of the application. The name does not have to be unique, but the combination of name and version does.",
"type": "string"
},
"ontology": {
"description": "An array of ontology values describing this application.",
"type": "array"
},
"outputs": {
"description": "The outputs files for this application. ",
"type": "array"
},
"parallelism": {
"description": "The parallelism type of the application. If you're unsure, it's probably SERIAL.",
"enum": [
"SERIAL",
"PARALLEL",
"PTHREAD"
],
"type": "string"
},
"parameters": {
"description": "The inputs parameters for this application. ",
"type": "array"
},
"revision": {
"description": "The number of times this application has been revised.",
"type": "integer"
},
"shortDescription": {
"description": "The short description of this application.",
"type": "string"
},
"tags": {
"description": "An array of tags related to this application.",
"type": "array"
},
"templatePath": {
"description": "The path to the wrapper script relative to the deploymentPath.",
"type": "string"
},
"testPath": {
"description": "The path to the test script relative to the deploymentPath.",
"type": "string"
},
"uuid": {
"description": "The UUID of this application. UUID are 36 alphanumeric string.",
"type": "string"
},
"version": {
"description": "The version of the application in #.#.# format. While the version does not need to be unique, the combination of name and version does have to be unique.",
"type": "string"
}
},
"required": [],
"title": "AgavePy Application schema",
"type": "object"
}
manage: Edit an application.¶
agavepy.apps.manage(appId, body)
Parameters:¶
- appId: The id of the application. The application id is made up of the name and version separated by a dash. (string)
- body: The operation to perform. (JSON, ApplicationOperationRequest)
ApplicationOperationRequest schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/ApplicationOperationRequest.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"action": {
"description": "Action to perform on the file or folder.",
"enum": [
"publish",
"clone"
],
"type": "string"
},
"deploymentPath": {
"description": "Path to the on cloned app's deployment folder on its storage system. Only used with the clone action.",
"type": "string"
},
"executionSystem": {
"description": "System on which the clone apps should run. Only used with the clone action.",
"type": "string"
},
"name": {
"description": "Name of cloned app. Only used with the clone action.",
"type": "string"
},
"storageSystem": {
"description": "Storage system on which the cloned app's assets resides. Only used with the clone action.",
"type": "string"
},
"version": {
"description": "Version of the cloned app. Only used with the clone action.",
"type": "string"
}
},
"required": [
"action"
],
"title": "AgavePy ApplicationOperationRequest schema",
"type": "object"
}
Response:¶
- A single Application object
Application schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Application.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"available": {
"description": "Whether the application is available.",
"type": "boolean"
},
"checkpointable": {
"description": "Whether the application supports checkpointing.",
"type": "boolean"
},
"defaultMaxRunTime": {
"description": "The max execution time that should be used if none is given in a job description. Ignore if the system does not support schedulers.",
"type": "string"
},
"defaultMemoryPerNode": {
"description": "The default memory in GB to pass to the scheduler if none is given in the job description. This must be less than the max memory parameter in the target queue definition.",
"type": "string"
},
"defaultNodeCount": {
"description": "The number of nodes that should be used if none is given in a job description. Ignore if the system does not support schedulers.",
"type": "string"
},
"defaultProcessorsPerNode": {
"description": "The number of processors to pass to the scheduler if none are given in the job description. This must be 1 if the app is serial.",
"type": "string"
},
"defaultQueue": {
"description": "The queue on the execution system that should be used if none is given in a job description. Ignore if the system does not support schedulers.",
"type": "string"
},
"deploymentPath": {
"description": "The location in the user's default storage system containing the application wrapper and dependencies.",
"type": "string"
},
"deploymentSystem": {
"description": "The system id of the storage system where this app should run.",
"type": "string"
},
"executionSystem": {
"description": "The system id of the execution system where this app should run.",
"type": "string"
},
"executionType": {
"description": "The execution type of the application. If you're unsure, it's probably HPC.",
"enum": [
"ATMOSPHERE",
"HPC",
"CONDOR",
"CLI"
],
"type": "string"
},
"helpURI": {
"description": "The URL where users can go for more information about the app.",
"type": "string"
},
"icon": {
"description": "The icon to associate with this app.",
"type": "string"
},
"id": {
"description": "Unique id of this app. Comprised of the app name-version.",
"type": "string"
},
"inputs": {
"description": "The inputs files for this application. ",
"type": "array"
},
"isPublic": {
"description": "Whether the application is public or private.",
"type": "boolean"
},
"label": {
"description": "The label to use when generating forms.",
"type": "string"
},
"lastModified": {
"description": "The date this application was last modified in ISO 8601 format.",
"type": "string"
},
"longDescription": {
"description": "The full text description of this input to use when generating forms.",
"type": "string"
},
"modules": {
"description": "An array of modules to load prior to the execution of the application.",
"type": "array"
},
"name": {
"description": "The name of the application. The name does not have to be unique, but the combination of name and version does.",
"type": "string"
},
"ontology": {
"description": "An array of ontology values describing this application.",
"type": "array"
},
"outputs": {
"description": "The outputs files for this application. ",
"type": "array"
},
"parallelism": {
"description": "The parallelism type of the application. If you're unsure, it's probably SERIAL.",
"enum": [
"SERIAL",
"PARALLEL",
"PTHREAD"
],
"type": "string"
},
"parameters": {
"description": "The inputs parameters for this application. ",
"type": "array"
},
"revision": {
"description": "The number of times this application has been revised.",
"type": "integer"
},
"shortDescription": {
"description": "The short description of this application.",
"type": "string"
},
"tags": {
"description": "An array of tags related to this application.",
"type": "array"
},
"templatePath": {
"description": "The path to the wrapper script relative to the deploymentPath.",
"type": "string"
},
"testPath": {
"description": "The path to the test script relative to the deploymentPath.",
"type": "string"
},
"uuid": {
"description": "The UUID of this application. UUID are 36 alphanumeric string.",
"type": "string"
},
"version": {
"description": "The version of the application in #.#.# format. While the version does not need to be unique, the combination of name and version does have to be unique.",
"type": "string"
}
},
"required": [],
"title": "AgavePy Application schema",
"type": "object"
}
update: Update an application.¶
agavepy.apps.update(appId, body)
Parameters:¶
- appId: The id of the application. The application id is made up of the name and version separated by a dash. (string)
- body: The description of the app to add or update. (JSON, ApplicationRequest)
ApplicationRequest schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/ApplicationRequest.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"available": {
"description": "Whether the application is available.",
"type": "boolean"
},
"checkpointable": {
"description": "Whether the application supports checkpointing.",
"type": "boolean"
},
"defaultMaxRunTime": {
"description": "The max execution time that should be used if none is given in a job description. Ignore if the system does not support schedulers.",
"type": "int"
},
"defaultMemory": {
"description": "The default memory in GB to pass to the scheduler if none is given in the job description. This must be less than the max memory parameter in the target queue definition.",
"type": "string"
},
"defaultNodeCount": {
"description": "The number of nodes that should be used if none is given in a job description. Ignore if the system does not support schedulers.",
"type": "string"
},
"defaultProcessors": {
"description": "The number of processors to pass to the scheduler if none are given in the job description. This must be 1 if the app is serial.",
"type": "int"
},
"defaultQueue": {
"description": "The queue on the execution system that should be used if none is given in a job description. Ignore if the system does not support schedulers.",
"type": "string"
},
"deploymentPath": {
"description": "The location in the user's default storage system containing the application wrapper and dependencies.",
"type": "string"
},
"deploymentSystem": {
"description": "The system id of the storage system where this app should run.",
"type": "string"
},
"executionSystem": {
"description": "The system id of the execution system where this app should run.",
"type": "string"
},
"executionType": {
"description": "The execution type of the application. If you're unsure, it's probably HPC.",
"enum": [
"ATMOSPHERE",
"HPC",
"CONDOR",
"CLI"
],
"type": "string"
},
"helpURI": {
"description": "The URL where users can go for more information about the app.",
"type": "string"
},
"icon": {
"description": "The icon to associate with this app.",
"type": "string"
},
"inputs": {
"description": "The inputs files for this application. ",
"type": "array"
},
"label": {
"description": "The label to use when generating forms.",
"type": "string"
},
"longDescription": {
"description": "The full text description of this input to use when generating forms.",
"type": "string"
},
"modules": {
"description": "An array of modules to load prior to the execution of the application.",
"type": "array"
},
"name": {
"description": "The name of the application. The name does not have to be unique, but the combination of name and version does.",
"type": "string"
},
"ontology": {
"description": "An array of ontology values describing this application.",
"type": "array"
},
"outputs": {
"description": "The outputs files for this application. ",
"type": "array"
},
"parallelism": {
"description": "The parallelism type of the application. If you're unsure, it's probably SERIAL.",
"enum": [
"SERIAL",
"PARALLEL",
"PTHREAD"
],
"type": "string"
},
"parameters": {
"description": "The inputs parameters for this application. ",
"type": "array"
},
"shortDescription": {
"description": "The short description of this application.",
"type": "string"
},
"tags": {
"description": "An array of tags related to this application.",
"type": "array"
},
"templatePath": {
"description": "The path to the wrapper script relative to the deploymentPath.",
"type": "string"
},
"testPath": {
"description": "The path to the test script relative to the deploymentPath.",
"type": "string"
},
"version": {
"description": "The version of the application in #.#.# format. While the version does not need to be unique, the combination of name and version does have to be unique.",
"type": "string"
}
},
"required": [
"available",
"inputs",
"executionSystem",
"testPath",
"deploymentPath",
"templatePath",
"deploymentSystem",
"name",
"parameters",
"executionType",
"version"
],
"title": "AgavePy ApplicationRequest schema",
"type": "object"
}
Response:¶
- A single Application object
Application schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Application.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"available": {
"description": "Whether the application is available.",
"type": "boolean"
},
"checkpointable": {
"description": "Whether the application supports checkpointing.",
"type": "boolean"
},
"defaultMaxRunTime": {
"description": "The max execution time that should be used if none is given in a job description. Ignore if the system does not support schedulers.",
"type": "string"
},
"defaultMemoryPerNode": {
"description": "The default memory in GB to pass to the scheduler if none is given in the job description. This must be less than the max memory parameter in the target queue definition.",
"type": "string"
},
"defaultNodeCount": {
"description": "The number of nodes that should be used if none is given in a job description. Ignore if the system does not support schedulers.",
"type": "string"
},
"defaultProcessorsPerNode": {
"description": "The number of processors to pass to the scheduler if none are given in the job description. This must be 1 if the app is serial.",
"type": "string"
},
"defaultQueue": {
"description": "The queue on the execution system that should be used if none is given in a job description. Ignore if the system does not support schedulers.",
"type": "string"
},
"deploymentPath": {
"description": "The location in the user's default storage system containing the application wrapper and dependencies.",
"type": "string"
},
"deploymentSystem": {
"description": "The system id of the storage system where this app should run.",
"type": "string"
},
"executionSystem": {
"description": "The system id of the execution system where this app should run.",
"type": "string"
},
"executionType": {
"description": "The execution type of the application. If you're unsure, it's probably HPC.",
"enum": [
"ATMOSPHERE",
"HPC",
"CONDOR",
"CLI"
],
"type": "string"
},
"helpURI": {
"description": "The URL where users can go for more information about the app.",
"type": "string"
},
"icon": {
"description": "The icon to associate with this app.",
"type": "string"
},
"id": {
"description": "Unique id of this app. Comprised of the app name-version.",
"type": "string"
},
"inputs": {
"description": "The inputs files for this application. ",
"type": "array"
},
"isPublic": {
"description": "Whether the application is public or private.",
"type": "boolean"
},
"label": {
"description": "The label to use when generating forms.",
"type": "string"
},
"lastModified": {
"description": "The date this application was last modified in ISO 8601 format.",
"type": "string"
},
"longDescription": {
"description": "The full text description of this input to use when generating forms.",
"type": "string"
},
"modules": {
"description": "An array of modules to load prior to the execution of the application.",
"type": "array"
},
"name": {
"description": "The name of the application. The name does not have to be unique, but the combination of name and version does.",
"type": "string"
},
"ontology": {
"description": "An array of ontology values describing this application.",
"type": "array"
},
"outputs": {
"description": "The outputs files for this application. ",
"type": "array"
},
"parallelism": {
"description": "The parallelism type of the application. If you're unsure, it's probably SERIAL.",
"enum": [
"SERIAL",
"PARALLEL",
"PTHREAD"
],
"type": "string"
},
"parameters": {
"description": "The inputs parameters for this application. ",
"type": "array"
},
"revision": {
"description": "The number of times this application has been revised.",
"type": "integer"
},
"shortDescription": {
"description": "The short description of this application.",
"type": "string"
},
"tags": {
"description": "An array of tags related to this application.",
"type": "array"
},
"templatePath": {
"description": "The path to the wrapper script relative to the deploymentPath.",
"type": "string"
},
"testPath": {
"description": "The path to the test script relative to the deploymentPath.",
"type": "string"
},
"uuid": {
"description": "The UUID of this application. UUID are 36 alphanumeric string.",
"type": "string"
},
"version": {
"description": "The version of the application in #.#.# format. While the version does not need to be unique, the combination of name and version does have to be unique.",
"type": "string"
}
},
"required": [],
"title": "AgavePy Application schema",
"type": "object"
}
deletePermissions: Deletes all permissions on an application.¶
agavepy.apps.deletePermissions(appId)
Parameters:¶
- appId: The id of the application. The application id is made up of the name and version separated by a dash. (string)
Response:¶
- String
listPermissions: Get the permission ACL for this application.¶
agavepy.apps.listPermissions(appId, limit=250, offset=0)
Parameters:¶
- appId: The id of the application. The application id is made up of the name and version separated by a dash. (string)
- limit: The max number of results. (integer)
- offset: The number of records to when returning the results. When paginating results, the page number = ceil(offset/limit) (integer)
Response:¶
- Array of ApplicationPermission objects
ApplicationPermission schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/ApplicationPermission.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"permission": {
"description": "",
"type": "ACL"
},
"username": {
"description": "Username associate with this permission",
"type": "string"
}
},
"required": [],
"title": "AgavePy ApplicationPermission schema",
"type": "object"
}
updateApplicationPermissions: Add or update a user’s permission for an application.¶
agavepy.apps.updateApplicationPermissions(appId, body)
Parameters:¶
- appId: The id of the application. The application id is made up of the name and version separated by a dash. (string)
- body: The permission add or update. (JSON, ApplicationPermissionRequest)
ApplicationPermissionRequest schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/ApplicationPermissionRequest.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"permission": {
"description": "The permission to set",
"enum": [
"READ",
"WRITE",
"EXECUTE",
"READ_WRITE",
"READ_EXECUTE",
"WRITE_EXECUTE",
"ALL",
"NONE"
],
"type": "string"
},
"username": {
"description": "The username of the api user whose permission is to be set.",
"type": "string"
}
},
"required": [
"username",
"permission"
],
"title": "AgavePy ApplicationPermissionRequest schema",
"type": "object"
}
Response:¶
- String
deletePermissionsForUser: Deletes all permissions for the given user on an application.¶
agavepy.apps.deletePermissionsForUser(appId, username)
Parameters:¶
- appId: The id of the application. The application id is made up of the name and version separated by a dash. (string)
- username: The username of the api user associated with the permission (string)
Response:¶
- String
listPermissionsForUser: Get a specific user’s permissions for an application.¶
agavepy.apps.listPermissionsForUser(appId, username, limit=250, offset=0)
Parameters:¶
- appId: The id of the application. The application id is made up of the name and version separated by a dash. (string)
- username: The username of the api user associated with the permission. (string)
- limit: The max number of results. (integer)
- offset: The number of records to when returning the results. When paginating results, the page number = ceil(offset/limit) (integer)
Response:¶
- Array of ApplicationPermission objects
ApplicationPermission schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/ApplicationPermission.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"permission": {
"description": "",
"type": "ACL"
},
"username": {
"description": "Username associate with this permission",
"type": "string"
}
},
"required": [],
"title": "AgavePy ApplicationPermission schema",
"type": "object"
}
updatePermissionsForUser: Add or update a user’s permission for an application.¶
agavepy.apps.updatePermissionsForUser(appId, body, username)
Parameters:¶
- appId: The id of the application. The application id is made up of the name and version separated by a dash. (string)
- username: The username of the api user associated with the permission (string)
- body: The permission add or update. (JSON, ApplicationPermissionRequest)
ApplicationPermissionRequest schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/ApplicationPermissionRequest.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"permission": {
"description": "The permission to set",
"enum": [
"READ",
"WRITE",
"EXECUTE",
"READ_WRITE",
"READ_EXECUTE",
"WRITE_EXECUTE",
"ALL",
"NONE"
],
"type": "string"
},
"username": {
"description": "The username of the api user whose permission is to be set.",
"type": "string"
}
},
"required": [
"username",
"permission"
],
"title": "AgavePy ApplicationPermissionRequest schema",
"type": "object"
}
Response:¶
- String
listByName: Get a list of applications with the given name.¶
agavepy.apps.listByName(name, limit=250, offset=0, privateOnly=None, publicOnly=None)
Parameters:¶
- name: The name of the application. This should not include the version number. (string)
- publicOnly: Whether to return only public apps. (boolean)
- privateOnly: Whether to return only private apps. (boolean)
- limit: The max number of results. (integer)
- offset: The number of records to when returning the results. When paginating results, the page number = ceil(offset/limit) (integer)
Response:¶
- Array of ApplicationSummary objects
ApplicationSummary schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/ApplicationSummary.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"executionSystem": {
"description": "The system id of the execution system where this app should run.",
"type": "string"
},
"id": {
"description": "Unique id of this app. Comprised of the app name-version.",
"type": "string"
},
"isPublic": {
"description": "Whether the application is public or private.",
"type": "boolean"
},
"lastModified": {
"description": "The date this application was last modified in ISO 8601 format.",
"type": "string"
},
"name": {
"description": "The name of the application. The name does not have to be unique, but the combination of name and version does.",
"type": "string"
},
"revision": {
"description": "The number of times this application has been revised.",
"type": "integer"
},
"shortDescription": {
"description": "The short description of this application.",
"type": "string"
},
"version": {
"description": "The version of the application in #.#.# format. While the version does not need to be unique, the combination of name and version does have to be unique.",
"type": "string"
}
},
"required": [],
"title": "AgavePy ApplicationSummary schema",
"type": "object"
}
listBySystemId: Get a list of applications with the given systemId as their executionHost.¶
agavepy.apps.listBySystemId(systemId, limit=250, offset=0, privateOnly=None, publicOnly=None)
Parameters:¶
- systemId: The system in question (string)
- publicOnly: Whether to return only public apps. (boolean)
- privateOnly: Whether to return only private apps. (boolean)
- limit: The max number of results. (integer)
- offset: The number of records to when returning the results. When paginating results, the page number = ceil(offset/limit) (integer)
Response:¶
- Array of ApplicationSummary objects
ApplicationSummary schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/ApplicationSummary.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"executionSystem": {
"description": "The system id of the execution system where this app should run.",
"type": "string"
},
"id": {
"description": "Unique id of this app. Comprised of the app name-version.",
"type": "string"
},
"isPublic": {
"description": "Whether the application is public or private.",
"type": "boolean"
},
"lastModified": {
"description": "The date this application was last modified in ISO 8601 format.",
"type": "string"
},
"name": {
"description": "The name of the application. The name does not have to be unique, but the combination of name and version does.",
"type": "string"
},
"revision": {
"description": "The number of times this application has been revised.",
"type": "integer"
},
"shortDescription": {
"description": "The short description of this application.",
"type": "string"
},
"version": {
"description": "The version of the application in #.#.# format. While the version does not need to be unique, the combination of name and version does have to be unique.",
"type": "string"
}
},
"required": [],
"title": "AgavePy ApplicationSummary schema",
"type": "object"
}
agavepy.files¶
Summary: Move and manage data
deleteFromDefaultSystem: Deletes a file or folder.¶
agavepy.files.deleteFromDefaultSystem(sourcefilePath)
Parameters:¶
- sourcefilePath: The path of the file relative to the user’s default storage location. (string)
Response:¶
- String
downloadFromDefaultSystem: Download a file from the user’s default storage location.¶
agavepy.files.downloadFromDefaultSystem(sourcefilePath)
Parameters:¶
- sourcefilePath: The path of the file relative to the user’s default storage location. (string)
Response:¶
- None
importToDefaultSystem: Import a file via direct upload or importing from a url to the user’s default storage location.¶
agavepy.files.importToDefaultSystem(sourcefilePath, callbackURL=None, fileName=None, fileToUpload=None, fileType=None, urlToIngest=None)
Parameters:¶
- sourcefilePath: The path of the file relative to the user’s default storage location. (string)
- fileType: The file format this file is in. Defaults to raw. This will be used in file transform operations. (string)
- callbackURL: The URI to notify when the import is complete. This can be an email address or http URL. If a URL is given, a GET will be made to this address. URL templating is supported. Valid template values are: ${NAME}, ${SOURCE_FORMAT}, ${DEST_FORMAT}, ${STATUS} (string)
- fileName: The name of the file after importing. If not specified, the uploaded file name will be used. (string)
- urlToIngest: The URL to import the file from. This parameter is used if not file is uploaded with this post. (string)
- fileToUpload: The file object to import. (void)
Response:¶
- A single RemoteFile object
RemoteFile schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/RemoteFile.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"format": {
"description": "The file type of the file.",
"type": "string"
},
"lastModified": {
"description": "The date this file was last modified in ISO 8601 format.",
"type": "string"
},
"length": {
"description": "The length of the file/folder.",
"type": "integer"
},
"mimeType": {
"description": "The mime type of the file/folder. If unknown, it defaults to application/binary.",
"type": "string"
},
"name": {
"description": "The name of the file/folder.",
"type": "string"
},
"path": {
"description": "The absolute path to the file/folder.",
"type": "string"
},
"permissions": {
"description": "The system permission of the invoking user on the file/folder.",
"type": "string"
},
"system": {
"description": "The systemId of the system where this file lives.",
"type": "string"
},
"type": {
"description": "Whether it is a file or folder.",
"type": "string"
}
},
"required": [],
"title": "AgavePy RemoteFile schema",
"type": "object"
}
manageOnDefaultSystem: Perform an action on a file or folder.¶
agavepy.files.manageOnDefaultSystem(body, sourcefilePath)
Parameters:¶
- sourcefilePath: The path of the file relative to the user’s default storage location. (string)
- body: The operation to perform. (JSON, FileOperationRequest)
FileOperationRequest schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/FileOperationRequest.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"action": {
"description": "Action to perform on the file or folder.",
"enum": [
"mkdir",
"rename",
"copy",
"move"
],
"type": "string"
},
"path": {
"description": "Destination file or folder.",
"type": "string"
}
},
"required": [
"action"
],
"title": "AgavePy FileOperationRequest schema",
"type": "object"
}
Response:¶
- String
delete: Deletes a file or folder.¶
agavepy.files.delete(filePath, systemId)
Parameters:¶
- systemId: The unique id of the system on which the data resides. (string)
- filePath: The path of the file relative to the user’s default storage location. (string)
Response:¶
- String
download: Download a file from the user’s default storage location.¶
agavepy.files.download(filePath, systemId)
Parameters:¶
- systemId: The unique id of the system on which the data resides. (string)
- filePath: The path of the file relative to the user’s default storage location. (string)
Response:¶
- None
importData: Import a file via direct upload or importing from a url to the user’s default storage location.¶
agavepy.files.importData(filePath, systemId, callbackURL=None, fileName=None, fileToUpload=None, fileType=None, notifications=[], urlToIngest=None)
Parameters:¶
- systemId: The unique id of the system on which the data resides. (string)
- filePath: The path of the file relative to the user’s default storage location. (string)
- fileType: The file format this file is in. Defaults to raw. This will be used in file transform operations. (string)
- callbackURL: The URI to notify when the import is complete. This can be an email address or http URL. If a URL is given, a GET will be made to this address. URL templating is supported. Valid template values are: ${NAME}, ${SOURCE_FORMAT}, ${DEST_FORMAT}, ${STATUS} (string)
- fileName: The name of the file after importing. If not specified, the uploaded file name will be used. (string)
- urlToIngest: The URL to import the file from. This parameter is used if not file is uploaded with this post. (string)
- fileToUpload: The file object to import. (void)
- notifications: A list of notification objects to apply to the transfer. (FileNotificationRequest)
Response:¶
- A single RemoteFile object
RemoteFile schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/RemoteFile.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"format": {
"description": "The file type of the file.",
"type": "string"
},
"lastModified": {
"description": "The date this file was last modified in ISO 8601 format.",
"type": "string"
},
"length": {
"description": "The length of the file/folder.",
"type": "integer"
},
"mimeType": {
"description": "The mime type of the file/folder. If unknown, it defaults to application/binary.",
"type": "string"
},
"name": {
"description": "The name of the file/folder.",
"type": "string"
},
"path": {
"description": "The absolute path to the file/folder.",
"type": "string"
},
"permissions": {
"description": "The system permission of the invoking user on the file/folder.",
"type": "string"
},
"system": {
"description": "The systemId of the system where this file lives.",
"type": "string"
},
"type": {
"description": "Whether it is a file or folder.",
"type": "string"
}
},
"required": [],
"title": "AgavePy RemoteFile schema",
"type": "object"
}
manage: Perform an action on a file or folder.¶
agavepy.files.manage(body, filePath, systemId)
Parameters:¶
- systemId: The unique id of the system on which the data resides. (string)
- filePath: The path of the file relative to the user’s default storage location. (string)
- body: The operation to perform. (JSON, FileOperationRequest)
FileOperationRequest schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/FileOperationRequest.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"action": {
"description": "Action to perform on the file or folder.",
"enum": [
"mkdir",
"rename",
"copy",
"move"
],
"type": "string"
},
"path": {
"description": "Destination file or folder.",
"type": "string"
}
},
"required": [
"action"
],
"title": "AgavePy FileOperationRequest schema",
"type": "object"
}
Response:¶
- String
listOnDefaultSystem: Get a remote directory listing.¶
agavepy.files.listOnDefaultSystem(filePath, limit=250, offset=0)
Parameters:¶
- filePath: The path of the file relative to the user’s default storage location. (string)
- limit: The max number of results. (integer)
- offset: The number of records to when returning the results. When paginating results, the page number = ceil(offset/limit) (integer)
Response:¶
- Array of RemoteFile objects
RemoteFile schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/RemoteFile.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"format": {
"description": "The file type of the file.",
"type": "string"
},
"lastModified": {
"description": "The date this file was last modified in ISO 8601 format.",
"type": "string"
},
"length": {
"description": "The length of the file/folder.",
"type": "integer"
},
"mimeType": {
"description": "The mime type of the file/folder. If unknown, it defaults to application/binary.",
"type": "string"
},
"name": {
"description": "The name of the file/folder.",
"type": "string"
},
"path": {
"description": "The absolute path to the file/folder.",
"type": "string"
},
"permissions": {
"description": "The system permission of the invoking user on the file/folder.",
"type": "string"
},
"system": {
"description": "The systemId of the system where this file lives.",
"type": "string"
},
"type": {
"description": "Whether it is a file or folder.",
"type": "string"
}
},
"required": [],
"title": "AgavePy RemoteFile schema",
"type": "object"
}
list: Get a remote directory listing on a specific system.¶
agavepy.files.list(filePath, systemId, limit=250, offset=0)
Parameters:¶
- systemId: The unique id of the system on which the data resides. (string)
- filePath: The path of the file relative to the user’s default storage location. (string)
- limit: The max number of results. (integer)
- offset: The number of records to when returning the results. When paginating results, the page number = ceil(offset/limit) (integer)
Response:¶
- Array of RemoteFile objects
RemoteFile schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/RemoteFile.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"format": {
"description": "The file type of the file.",
"type": "string"
},
"lastModified": {
"description": "The date this file was last modified in ISO 8601 format.",
"type": "string"
},
"length": {
"description": "The length of the file/folder.",
"type": "integer"
},
"mimeType": {
"description": "The mime type of the file/folder. If unknown, it defaults to application/binary.",
"type": "string"
},
"name": {
"description": "The name of the file/folder.",
"type": "string"
},
"path": {
"description": "The absolute path to the file/folder.",
"type": "string"
},
"permissions": {
"description": "The system permission of the invoking user on the file/folder.",
"type": "string"
},
"system": {
"description": "The systemId of the system where this file lives.",
"type": "string"
},
"type": {
"description": "Whether it is a file or folder.",
"type": "string"
}
},
"required": [],
"title": "AgavePy RemoteFile schema",
"type": "object"
}
getHistoryOnDefaultSystem: Download a file from the user’s default storage location.¶
agavepy.files.getHistoryOnDefaultSystem(filePath, limit=250, offset=0)
Parameters:¶
- filePath: The path of the file relative to the user’s default storage location. (string)
- limit: The max number of results. (integer)
- offset: The number of records to when returning the results. When paginating results, the page number = ceil(offset/limit) (integer)
Response:¶
- Array of FileHistory objects
FileHistory schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/FileHistory.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"created": {
"description": "The date of the event.",
"type": "string"
},
"description": {
"description": "A brief description of the event details.",
"type": "String"
},
"status": {
"description": "The status of the file/folder after this event.",
"type": "String"
}
},
"required": [],
"title": "AgavePy FileHistory schema",
"type": "object"
}
getHistory: Return history of api actions.¶
agavepy.files.getHistory(filePath, systemId, limit=250, offset=0)
Parameters:¶
- systemId: The unique id of the system on which the data resides. (string)
- filePath: The path of the file relative to the given system root location. (string)
- limit: The max number of results. (integer)
- offset: The number of records to when returning the results. When paginating results, the page number = ceil(offset/limit) (integer)
Response:¶
- Array of FileHistory objects
FileHistory schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/FileHistory.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"created": {
"description": "The date of the event.",
"type": "string"
},
"description": {
"description": "A brief description of the event details.",
"type": "String"
},
"status": {
"description": "The status of the file/folder after this event.",
"type": "String"
}
},
"required": [],
"title": "AgavePy FileHistory schema",
"type": "object"
}
updatePermissionsOnDefaultSystem: Update permissions for a single user.¶
agavepy.files.updatePermissionsOnDefaultSystem(body, filePath)
Parameters:¶
- filePath: The path of the file relative to the user’s default storage location. (string)
- body: The permission add or update. (JSON, FilePermissionRequest)
FilePermissionRequest schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/FilePermissionRequest.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"permission": {
"description": "The permission to set",
"enum": [
"READ",
"WRITE",
"EXECUTE",
"READ_WRITE",
"READ_EXECUTE",
"WRITE_EXECUTE",
"ALL",
"NONE"
],
"type": "string"
},
"recursive": {
"description": "Should updated permissions be applied recursively. Defaults to false.",
"type": "boolean"
},
"username": {
"description": "The username of the api user whose permission is to be set.",
"type": "string"
}
},
"required": [
"username",
"permission"
],
"title": "AgavePy FilePermissionRequest schema",
"type": "object"
}
Response:¶
- String
deletePermissions: Deletes all permissions on a file except those of the owner.¶
agavepy.files.deletePermissions(filePath, systemId)
Parameters:¶
- filePath: The path of the file relative to the user’s default storage location. (string)
- systemId: The unique id of the system on which the data resides. (string)
Response:¶
- String
updatePermissions: Update permissions for a single user.¶
agavepy.files.updatePermissions(body, filePath, systemId)
Parameters:¶
- filePath: The path of the file relative to the user’s default storage location. (string)
- systemId: The unique id of the system on which the data resides. (string)
- body: The permission add or update. (JSON, FilePermissionRequest)
FilePermissionRequest schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/FilePermissionRequest.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"permission": {
"description": "The permission to set",
"enum": [
"READ",
"WRITE",
"EXECUTE",
"READ_WRITE",
"READ_EXECUTE",
"WRITE_EXECUTE",
"ALL",
"NONE"
],
"type": "string"
},
"recursive": {
"description": "Should updated permissions be applied recursively. Defaults to false.",
"type": "boolean"
},
"username": {
"description": "The username of the api user whose permission is to be set.",
"type": "string"
}
},
"required": [
"username",
"permission"
],
"title": "AgavePy FilePermissionRequest schema",
"type": "object"
}
Response:¶
- Array of FilePermission objects
FilePermission schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/FilePermission.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"name": {
"description": "The name of the file/folder.",
"type": "string"
},
"owner": {
"description": "Local username of the owner.",
"type": "string"
},
"permissions": {
"description": "One or more permission objects",
"type": "array"
}
},
"required": [],
"title": "AgavePy FilePermission schema",
"type": "object"
}
agavepy.jobs¶
Summary: Run and manage jobs
list: Get a list of jobs the authenticated user had submitted.¶
agavepy.jobs.list(limit=250, offset=0)
Parameters:¶
- limit: The max number of results. (integer)
- offset: The number of records to when returning the results. When paginating results, the page number = ceil(offset/limit) (integer)
Response:¶
- Array of JobSummary objects
JobSummary schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/JobSummary.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"appId": {
"description": "The unique name of the application being run by this job. This must be a valid application that the calling user has permission to run.",
"type": "string"
},
"endTime": {
"description": "The date the job ended in ISO 8601 format.",
"type": "string"
},
"executionSystem": {
"description": "The system id of the execution system.",
"type": "string"
},
"id": {
"description": "The unique id of the job.",
"type": "string"
},
"name": {
"description": "The name of the job.",
"type": "string"
},
"owner": {
"description": "The job owner.",
"type": "string"
},
"startTime": {
"description": "The date the job started in ISO 8601 format.",
"type": "string"
},
"status": {
"description": "The status of the job. Possible values are: PENDING, STAGING_INPUTS, CLEANING_UP, ARCHIVING, STAGING_JOB, FINISHED, KILLED, FAILED, STOPPED, RUNNING, PAUSED, QUEUED, SUBMITTING, STAGED, PROCESSING_INPUTS, ARCHIVING_FINISHED, ARCHIVING_FAILED",
"type": "string"
}
},
"required": [],
"title": "AgavePy JobSummary schema",
"type": "object"
}
submit: Submit a new job request.¶
agavepy.jobs.submit(body)
Parameters:¶
- body: The description of the job to submit. This can be either a file upload or json posted to the request body. (JSON, JobRequest)
JobRequest schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/JobRequest.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"appId": {
"description": "The unique name of the application being run by this job. This must be a valid application that the calling user has permission to run.",
"type": "string"
},
"archive": {
"description": "Whether the output from this job should be archived. If true, all new files created by this application's execution will be archived to the archivePath in the user's default storage system.",
"type": "boolean"
},
"archivePath": {
"description": "The path of the archive folder for this job on the user's default storage sytem.",
"type": "string"
},
"archiveSystem": {
"description": "The unique id of the storage system on which this job's output will be staged.",
"type": "string"
},
"batchQueue": {
"description": "The queue to which this job should be submitted. This is optional and only applies when the execution system has a batch scheduler.",
"type": "string"
},
"inputs": {
"description": "The application specific input files needed for this job. These vary from application to application and should be entered as multiple individual parameters in the form. Inputs may be given as relative paths in the user's default storage system or as URI. If a URI is given, the data will be staged in by the IO service and made avaialble to the application at run time.",
"type": "JobInputs"
},
"maxRunTime": {
"description": "The requested compute time needed for this application to complete given in HH:mm:ss format.",
"type": "string"
},
"memoryPerNode": {
"description": "The requested memory for this application to run given in GB.",
"type": "string"
},
"name": {
"description": "The name of the job.",
"type": "string"
},
"nodeCount": {
"description": "The number of processors this application should utilize while running. If the application is not of executionType PARALLEL, this should be 1.",
"type": "integer"
},
"notifications": {
"description": "An array of notifications you wish to receive.",
"type": "array"
},
"parameters": {
"description": "The application specific parameters needed for this job. These vary from application to application and should be entered as multiple individual parameters in the form. The actual dataType will be determined by the application description.",
"type": "JobParameters"
},
"processorsPerNode": {
"description": "The number of processors this application should utilize while running. If the application is not of executionType PARALLEL, this should be 1.",
"type": "integer"
}
},
"required": [
"inputs",
"name",
"parameters",
"appId",
"archive"
],
"title": "AgavePy JobRequest schema",
"type": "object"
}
Response:¶
- A single Job object
Job schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Job.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"appId": {
"description": "The unique name of the application being run by this job. This must be a valid application that the calling user has permission to run.",
"type": "string"
},
"archive": {
"description": "Whether the output from this job should be archived. If true, all new files created by this application's execution will be archived to the archivePath in the user's default storage system.",
"type": "boolean"
},
"archivePath": {
"description": "The path of the archive folder for this job on the user's default storage sytem.",
"type": "string"
},
"archiveSystem": {
"description": "The unique id of the storage system on which this job's output will be staged.",
"type": "string"
},
"batchQueue": {
"description": "The queue to which this job should be submitted. This is optional and only applies when the execution system has a batch scheduler.",
"type": "string"
},
"endTime": {
"description": "The date the job stopped running due to termination, completion, or error in ISO 8601 format.",
"type": "string"
},
"executionSystem": {
"description": "The system id of the execution system.",
"type": "string"
},
"id": {
"description": "The unique id of the job.",
"type": "string"
},
"inputs": {
"description": "The application specific input files needed for this job. These vary from application to application and should be entered as multiple individual parameters in the form. Inputs may be given as relative paths in the user's default storage system or as URI. If a URI is given, the data will be staged in by the IO service and made avaialble to the application at run time.",
"type": "JobInputs"
},
"localId": {
"description": "The process or local job id of the job on the remote execution system.",
"type": "string"
},
"maxRunTime": {
"description": "The requested compute time needed for this application to complete given in HH:mm:ss format.",
"type": "string"
},
"memoryPerNode": {
"description": "The requested memory for this application to run given in GB.",
"type": "string"
},
"message": {
"description": "The error message incurred when the job failed.",
"type": "string"
},
"name": {
"description": "The name of the job.",
"type": "string"
},
"nodeCount": {
"description": "The number of processors this application should utilize while running. If the application is not of executionType PARALLEL, this should be 1.",
"type": "integer"
},
"notifications": {
"description": "An array of notifications you wish to receive.",
"type": "array"
},
"outputPath": {
"description": "Relative path of the job's output data.",
"type": "String"
},
"owner": {
"description": "The job owner.",
"type": "string"
},
"parameters": {
"description": "The application specific parameters needed for this job. These vary from application to application and should be entered as multiple individual parameters in the form. The actual dataType will be determined by the application description.",
"type": "JobParameters"
},
"processorsPerNode": {
"description": "The number of processors this application should utilize while running. If the application is not of executionType PARALLEL, this should be 1.",
"type": "integer"
},
"retries": {
"description": "The number of retires it took to submit this job.",
"type": "integer"
},
"startTime": {
"description": "The date the job started in ISO 8601 format.",
"type": "string"
},
"status": {
"description": "The status of the job. Possible values are: PENDING, STAGING_INPUTS, CLEANING_UP, ARCHIVING, STAGING_JOB, FINISHED, KILLED, FAILED, STOPPED, RUNNING, PAUSED, QUEUED, SUBMITTING, STAGED, PROCESSING_INPUTS, ARCHIVING_FINISHED, ARCHIVING_FAILED",
"type": "string"
},
"submitTime": {
"description": "The date the job was submitted in ISO 8601 format.",
"type": "string"
},
"workPath": {
"description": "The directory on the remote execution system from which the job is running.",
"type": "string"
}
},
"required": [],
"title": "AgavePy Job schema",
"type": "object"
}
delete: Deletes a job from the user’s history.¶
agavepy.jobs.delete(jobId)
Parameters:¶
- jobId: The id of the job. (string)
Response:¶
- String
get: Get details of the job with the specific job id.¶
agavepy.jobs.get(jobId)
Parameters:¶
- jobId: The id of the job. (string)
Response:¶
- A single Job object
Job schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Job.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"appId": {
"description": "The unique name of the application being run by this job. This must be a valid application that the calling user has permission to run.",
"type": "string"
},
"archive": {
"description": "Whether the output from this job should be archived. If true, all new files created by this application's execution will be archived to the archivePath in the user's default storage system.",
"type": "boolean"
},
"archivePath": {
"description": "The path of the archive folder for this job on the user's default storage sytem.",
"type": "string"
},
"archiveSystem": {
"description": "The unique id of the storage system on which this job's output will be staged.",
"type": "string"
},
"batchQueue": {
"description": "The queue to which this job should be submitted. This is optional and only applies when the execution system has a batch scheduler.",
"type": "string"
},
"endTime": {
"description": "The date the job stopped running due to termination, completion, or error in ISO 8601 format.",
"type": "string"
},
"executionSystem": {
"description": "The system id of the execution system.",
"type": "string"
},
"id": {
"description": "The unique id of the job.",
"type": "string"
},
"inputs": {
"description": "The application specific input files needed for this job. These vary from application to application and should be entered as multiple individual parameters in the form. Inputs may be given as relative paths in the user's default storage system or as URI. If a URI is given, the data will be staged in by the IO service and made avaialble to the application at run time.",
"type": "JobInputs"
},
"localId": {
"description": "The process or local job id of the job on the remote execution system.",
"type": "string"
},
"maxRunTime": {
"description": "The requested compute time needed for this application to complete given in HH:mm:ss format.",
"type": "string"
},
"memoryPerNode": {
"description": "The requested memory for this application to run given in GB.",
"type": "string"
},
"message": {
"description": "The error message incurred when the job failed.",
"type": "string"
},
"name": {
"description": "The name of the job.",
"type": "string"
},
"nodeCount": {
"description": "The number of processors this application should utilize while running. If the application is not of executionType PARALLEL, this should be 1.",
"type": "integer"
},
"notifications": {
"description": "An array of notifications you wish to receive.",
"type": "array"
},
"outputPath": {
"description": "Relative path of the job's output data.",
"type": "String"
},
"owner": {
"description": "The job owner.",
"type": "string"
},
"parameters": {
"description": "The application specific parameters needed for this job. These vary from application to application and should be entered as multiple individual parameters in the form. The actual dataType will be determined by the application description.",
"type": "JobParameters"
},
"processorsPerNode": {
"description": "The number of processors this application should utilize while running. If the application is not of executionType PARALLEL, this should be 1.",
"type": "integer"
},
"retries": {
"description": "The number of retires it took to submit this job.",
"type": "integer"
},
"startTime": {
"description": "The date the job started in ISO 8601 format.",
"type": "string"
},
"status": {
"description": "The status of the job. Possible values are: PENDING, STAGING_INPUTS, CLEANING_UP, ARCHIVING, STAGING_JOB, FINISHED, KILLED, FAILED, STOPPED, RUNNING, PAUSED, QUEUED, SUBMITTING, STAGED, PROCESSING_INPUTS, ARCHIVING_FINISHED, ARCHIVING_FAILED",
"type": "string"
},
"submitTime": {
"description": "The date the job was submitted in ISO 8601 format.",
"type": "string"
},
"workPath": {
"description": "The directory on the remote execution system from which the job is running.",
"type": "string"
}
},
"required": [],
"title": "AgavePy Job schema",
"type": "object"
}
manage: Perform an action on a job.¶
agavepy.jobs.manage(body, jobId)
Parameters:¶
- jobId: The id of the job. (string)
- body: The operation to perform. (JSON, JobOperationRequest)
JobOperationRequest schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/JobOperationRequest.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"action": {
"description": "Action to perform on the job.",
"enum": [
"resubmit",
"stop"
],
"type": "string"
}
},
"required": [
"action"
],
"title": "AgavePy JobOperationRequest schema",
"type": "object"
}
Response:¶
- A single Job object
Job schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Job.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"appId": {
"description": "The unique name of the application being run by this job. This must be a valid application that the calling user has permission to run.",
"type": "string"
},
"archive": {
"description": "Whether the output from this job should be archived. If true, all new files created by this application's execution will be archived to the archivePath in the user's default storage system.",
"type": "boolean"
},
"archivePath": {
"description": "The path of the archive folder for this job on the user's default storage sytem.",
"type": "string"
},
"archiveSystem": {
"description": "The unique id of the storage system on which this job's output will be staged.",
"type": "string"
},
"batchQueue": {
"description": "The queue to which this job should be submitted. This is optional and only applies when the execution system has a batch scheduler.",
"type": "string"
},
"endTime": {
"description": "The date the job stopped running due to termination, completion, or error in ISO 8601 format.",
"type": "string"
},
"executionSystem": {
"description": "The system id of the execution system.",
"type": "string"
},
"id": {
"description": "The unique id of the job.",
"type": "string"
},
"inputs": {
"description": "The application specific input files needed for this job. These vary from application to application and should be entered as multiple individual parameters in the form. Inputs may be given as relative paths in the user's default storage system or as URI. If a URI is given, the data will be staged in by the IO service and made avaialble to the application at run time.",
"type": "JobInputs"
},
"localId": {
"description": "The process or local job id of the job on the remote execution system.",
"type": "string"
},
"maxRunTime": {
"description": "The requested compute time needed for this application to complete given in HH:mm:ss format.",
"type": "string"
},
"memoryPerNode": {
"description": "The requested memory for this application to run given in GB.",
"type": "string"
},
"message": {
"description": "The error message incurred when the job failed.",
"type": "string"
},
"name": {
"description": "The name of the job.",
"type": "string"
},
"nodeCount": {
"description": "The number of processors this application should utilize while running. If the application is not of executionType PARALLEL, this should be 1.",
"type": "integer"
},
"notifications": {
"description": "An array of notifications you wish to receive.",
"type": "array"
},
"outputPath": {
"description": "Relative path of the job's output data.",
"type": "String"
},
"owner": {
"description": "The job owner.",
"type": "string"
},
"parameters": {
"description": "The application specific parameters needed for this job. These vary from application to application and should be entered as multiple individual parameters in the form. The actual dataType will be determined by the application description.",
"type": "JobParameters"
},
"processorsPerNode": {
"description": "The number of processors this application should utilize while running. If the application is not of executionType PARALLEL, this should be 1.",
"type": "integer"
},
"retries": {
"description": "The number of retires it took to submit this job.",
"type": "integer"
},
"startTime": {
"description": "The date the job started in ISO 8601 format.",
"type": "string"
},
"status": {
"description": "The status of the job. Possible values are: PENDING, STAGING_INPUTS, CLEANING_UP, ARCHIVING, STAGING_JOB, FINISHED, KILLED, FAILED, STOPPED, RUNNING, PAUSED, QUEUED, SUBMITTING, STAGED, PROCESSING_INPUTS, ARCHIVING_FINISHED, ARCHIVING_FAILED",
"type": "string"
},
"submitTime": {
"description": "The date the job was submitted in ISO 8601 format.",
"type": "string"
},
"workPath": {
"description": "The directory on the remote execution system from which the job is running.",
"type": "string"
}
},
"required": [],
"title": "AgavePy Job schema",
"type": "object"
}
getHistory: Get the history of this job.¶
agavepy.jobs.getHistory(jobId, limit=250, offset=0)
Parameters:¶
- jobId: The id of the job. (string)
- limit: The max number of results. (integer)
- offset: The number of records to when returning the results. When paginating results, the page number = ceil(offset/limit) (integer)
Response:¶
- Array of JobHistory objects
JobHistory schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/JobHistory.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"created": {
"description": "The date of the event.",
"type": "string"
},
"description": {
"description": "A brief description of the event details.",
"type": "String"
},
"status": {
"description": "The status of the job after this event.",
"type": "String"
}
},
"required": [],
"title": "AgavePy JobHistory schema",
"type": "object"
}
deletePermissions: Deletes all permissions on an job.¶
agavepy.jobs.deletePermissions(jobId)
Parameters:¶
- jobId: The id of the job. (string)
Response:¶
- String
listPermissions: Get the permission ACL for this job.¶
agavepy.jobs.listPermissions(jobId, limit=250, offset=0)
Parameters:¶
- jobId: The id of the job. (string)
- limit: The max number of results. (integer)
- offset: The number of records to when returning the results. When paginating results, the page number = ceil(offset/limit) (integer)
Response:¶
- Array of Permission objects
Permission schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Permission.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"permission": {
"description": "",
"type": "ACL"
},
"username": {
"description": "Username associate with this permission",
"type": "string"
}
},
"required": [],
"title": "AgavePy Permission schema",
"type": "object"
}
updatePermissions: Add or update a user’s permission for an application.¶
agavepy.jobs.updatePermissions(body, jobId)
Parameters:¶
- jobId: The id of the job. (string)
- body: The permission add or update. (JSON, JobPermissionRequest)
JobPermissionRequest schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/JobPermissionRequest.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"permission": {
"description": "The permission to set",
"enum": [
"READ",
"WRITE",
"EXECUTE",
"READ_WRITE",
"READ_EXECUTE",
"WRITE_EXECUTE",
"ALL",
"NONE"
],
"type": "string"
},
"username": {
"description": "The username of the api user whose permission is to be set.",
"type": "string"
}
},
"required": [
"username",
"permission"
],
"title": "AgavePy JobPermissionRequest schema",
"type": "object"
}
Response:¶
- String
deletePermissionsForUser: Deletes all permissions for the given user on an job.¶
agavepy.jobs.deletePermissionsForUser(uniqueName, username)
Parameters:¶
- uniqueName: The id of the application. The application id is made up of the name and version separated by a dash. (string)
- username: The username of the api user associated with the permission (string)
Response:¶
- None
listPermissionsForUser: Get a specific user’s permissions for a job.¶
agavepy.jobs.listPermissionsForUser(jobId, username, limit=250, offset=0)
Parameters:¶
- jobId: The id of the job. (string)
- username: The username of the api user associated with the permission. (string)
- limit: The max number of results. (integer)
- offset: The number of records to when returning the results. When paginating results, the page number = ceil(offset/limit) (integer)
Response:¶
- Array of Permission objects
Permission schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Permission.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"permission": {
"description": "",
"type": "ACL"
},
"username": {
"description": "Username associate with this permission",
"type": "string"
}
},
"required": [],
"title": "AgavePy Permission schema",
"type": "object"
}
updatePermissionsForUser: Add or update a user’s permission for an job.¶
agavepy.jobs.updatePermissionsForUser(body, jobId, username)
Parameters:¶
- jobId: The id of the job. (string)
- username: The username of the api user associated with the permission (string)
- body: The permission to update. (JSON, JobPermissionRequest)
JobPermissionRequest schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/JobPermissionRequest.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"permission": {
"description": "The permission to set",
"enum": [
"READ",
"WRITE",
"EXECUTE",
"READ_WRITE",
"READ_EXECUTE",
"WRITE_EXECUTE",
"ALL",
"NONE"
],
"type": "string"
},
"username": {
"description": "The username of the api user whose permission is to be set.",
"type": "string"
}
},
"required": [
"username",
"permission"
],
"title": "AgavePy JobPermissionRequest schema",
"type": "object"
}
Response:¶
- String
getStatus: Get the status of the job.¶
agavepy.jobs.getStatus(jobId)
Parameters:¶
- jobId: The id of the job. (string)
Response:¶
- A single JobStatus object
JobStatus schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/JobStatus.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"id": {
"description": "The unique id of the job.",
"type": "string"
},
"status": {
"description": "The status of the job. Possible values are: PENDING, STAGING_INPUTS, CLEANING_UP, ARCHIVING, STAGING_JOB, FINISHED, KILLED, FAILED, STOPPED, RUNNING, PAUSED, QUEUED, SUBMITTING, STAGED, PROCESSING_INPUTS, ARCHIVING_FINISHED, ARCHIVING_FAILED",
"type": "string"
}
},
"required": [],
"title": "AgavePy JobStatus schema",
"type": "object"
}
listOutputs: List contents of a job’s output directory.¶
agavepy.jobs.listOutputs(jobId, filePath=None, limit=250, offset=0)
Parameters:¶
- jobId: The id of the job. (string)
- filePath: Path to an output file or folder relative to the job output directory. This resource will follow data around as it moves from the execution system to archival storage. (string)
- limit: max number of results. (integer)
- offset: The number of records to when returning the results. When paginating results, the page number = ceil(offset/limit) (integer)
Response:¶
- Array of RemoteFile objects
RemoteFile schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/RemoteFile.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"format": {
"description": "The file type of the file.",
"type": "string"
},
"lastModified": {
"description": "The date this file was last modified in ISO 8601 format.",
"type": "string"
},
"length": {
"description": "The length of the file/folder.",
"type": "integer"
},
"mimeType": {
"description": "The mime type of the file/folder. If unknown, it defaults to application/binary.",
"type": "string"
},
"name": {
"description": "The name of the file/folder.",
"type": "string"
},
"path": {
"description": "The absolute path to the file/folder.",
"type": "string"
},
"permissions": {
"description": "The system permission of the invoking user on the file/folder.",
"type": "string"
},
"system": {
"description": "The systemId of the system where this file lives.",
"type": "string"
},
"type": {
"description": "Whether it is a file or folder.",
"type": "string"
}
},
"required": [],
"title": "AgavePy RemoteFile schema",
"type": "object"
}
downloadOutput: Download an output file from a specific job.¶
agavepy.jobs.downloadOutput(filePath, jobId)
Parameters:¶
- jobId: The id of the job. (string)
- filePath: Path to an output file relative to the job output directory. (string)
Response:¶
- None
search: Find jobs matching the given attribute/value combination(s).¶
agavepy.jobs.search(attribute, value, limit=250, offset=0)
Parameters:¶
- attribute: The attribute to query by. This can be any job field. (string)
- value: The value of the attribute to query for. (string)
- limit: The max number of results. (integer)
- offset: The number of records to when returning the results. When paginating results, the page number = ceil(offset/limit) (integer)
Response:¶
- Array of JobSummary objects
JobSummary schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/JobSummary.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"appId": {
"description": "The unique name of the application being run by this job. This must be a valid application that the calling user has permission to run.",
"type": "string"
},
"endTime": {
"description": "The date the job ended in ISO 8601 format.",
"type": "string"
},
"executionSystem": {
"description": "The system id of the execution system.",
"type": "string"
},
"id": {
"description": "The unique id of the job.",
"type": "string"
},
"name": {
"description": "The name of the job.",
"type": "string"
},
"owner": {
"description": "The job owner.",
"type": "string"
},
"startTime": {
"description": "The date the job started in ISO 8601 format.",
"type": "string"
},
"status": {
"description": "The status of the job. Possible values are: PENDING, STAGING_INPUTS, CLEANING_UP, ARCHIVING, STAGING_JOB, FINISHED, KILLED, FAILED, STOPPED, RUNNING, PAUSED, QUEUED, SUBMITTING, STAGED, PROCESSING_INPUTS, ARCHIVING_FINISHED, ARCHIVING_FAILED",
"type": "string"
}
},
"required": [],
"title": "AgavePy JobSummary schema",
"type": "object"
}
agavepy.meta¶
Summary: Create and manage metadata
addMetadata: Update or Add new Metadata.¶
agavepy.meta.addMetadata(body)
Parameters:¶
- body: The metadata to add. (JSON, MetadataRequest)
MetadataRequest schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/MetadataRequest.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"associationIds": {
"description": "UUIDs of associated Agave entities, including the Data to which this Metadata belongs.",
"type": "array"
},
"name": {
"description": "The name of this metadata",
"type": "string"
},
"schemaId": {
"description": "The UUID of the schema that should be used to validate this request.",
"type": "string"
},
"value": {
"description": "A free text or JSON string containing the metadata stored for the given associationIds",
"type": "string"
}
},
"required": [
"name",
"value"
],
"title": "AgavePy MetadataRequest schema",
"type": "object"
}
Response:¶
- A single Metadata object
Metadata schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Metadata.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"associationIds": {
"description": "UUIDs of associated Agave entities, including the Data to which this Metadata belongs.",
"type": "array"
},
"created": {
"description": "A timestamp indicating when this Metadata was created in the metadata store.",
"type": "string"
},
"internalUsername": {
"description": "The name of the Internal User, if any, who owns this metadata.",
"type": "string"
},
"lastUpdated": {
"description": "A timestamp indicating when this Metadata was last updated in the metadata store.",
"type": "string"
},
"name": {
"description": "The name of this metadata",
"type": "string"
},
"owner": {
"description": "The API user who owns this Metadata.",
"type": "string"
},
"uuid": {
"description": "The UUID for this Metadata.",
"type": "string"
},
"value": {
"description": "A free text or JSON string containing the metadata stored for the given associationIds",
"type": "string"
}
},
"required": [],
"title": "AgavePy Metadata schema",
"type": "object"
}
listMetadata: List and/or search metadata.¶
agavepy.meta.listMetadata(limit=250, offset=0, privileged=True, q=None)
Parameters:¶
- q: The query to perform. Traditional MongoDB queries are supported (string)
- limit: The max number of results. (integer)
- offset: The number of records to when returning the results. When paginating results, the page number = ceil(offset/limit) (integer)
- privileged: If false, implicit permissions are ignored and only records to which the user has explicit permissions are returned (boolean)
Response:¶
- Array of MetadataResponse objects
deleteMetadata: Remove Metadata from the system.¶
agavepy.meta.deleteMetadata(uuid)
Parameters:¶
- uuid: The uuid of the metadata item (string)
Response:¶
- A single EmptyMetadata object
EmptyMetadata schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/EmptyMetadata.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"required": [],
"title": "AgavePy EmptyMetadata schema",
"type": "object"
}
getMetadata: Retrieve Metadata.¶
agavepy.meta.getMetadata(uuid, limit=250, offset=0)
Parameters:¶
- uuid: The uuid of the metadata item (string)
- limit: The max number of results. (integer)
- offset: The number of records to when returning the results. When paginating results, the page number = ceil(offset/limit) (integer)
Response:¶
- A single Metadata object
Metadata schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Metadata.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"associationIds": {
"description": "UUIDs of associated Agave entities, including the Data to which this Metadata belongs.",
"type": "array"
},
"created": {
"description": "A timestamp indicating when this Metadata was created in the metadata store.",
"type": "string"
},
"internalUsername": {
"description": "The name of the Internal User, if any, who owns this metadata.",
"type": "string"
},
"lastUpdated": {
"description": "A timestamp indicating when this Metadata was last updated in the metadata store.",
"type": "string"
},
"name": {
"description": "The name of this metadata",
"type": "string"
},
"owner": {
"description": "The API user who owns this Metadata.",
"type": "string"
},
"uuid": {
"description": "The UUID for this Metadata.",
"type": "string"
},
"value": {
"description": "A free text or JSON string containing the metadata stored for the given associationIds",
"type": "string"
}
},
"required": [],
"title": "AgavePy Metadata schema",
"type": "object"
}
updateMetadata: Update or Add new Metadata.¶
agavepy.meta.updateMetadata(body, uuid)
Parameters:¶
- uuid: The uuid of the metadata item (string)
- body: The metadata to update. (JSON, MetadataRequest)
MetadataRequest schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/MetadataRequest.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"associationIds": {
"description": "UUIDs of associated Agave entities, including the Data to which this Metadata belongs.",
"type": "array"
},
"name": {
"description": "The name of this metadata",
"type": "string"
},
"schemaId": {
"description": "The UUID of the schema that should be used to validate this request.",
"type": "string"
},
"value": {
"description": "A free text or JSON string containing the metadata stored for the given associationIds",
"type": "string"
}
},
"required": [
"name",
"value"
],
"title": "AgavePy MetadataRequest schema",
"type": "object"
}
Response:¶
- A single Metadata object
Metadata schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Metadata.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"associationIds": {
"description": "UUIDs of associated Agave entities, including the Data to which this Metadata belongs.",
"type": "array"
},
"created": {
"description": "A timestamp indicating when this Metadata was created in the metadata store.",
"type": "string"
},
"internalUsername": {
"description": "The name of the Internal User, if any, who owns this metadata.",
"type": "string"
},
"lastUpdated": {
"description": "A timestamp indicating when this Metadata was last updated in the metadata store.",
"type": "string"
},
"name": {
"description": "The name of this metadata",
"type": "string"
},
"owner": {
"description": "The API user who owns this Metadata.",
"type": "string"
},
"uuid": {
"description": "The UUID for this Metadata.",
"type": "string"
},
"value": {
"description": "A free text or JSON string containing the metadata stored for the given associationIds",
"type": "string"
}
},
"required": [],
"title": "AgavePy Metadata schema",
"type": "object"
}
addSchema: Add a new Metadata Schema.¶
agavepy.meta.addSchema(body)
Parameters:¶
- body: A valid JSON Schema object (JSON, string)
Response:¶
- A single MetadataSchema object
MetadataSchema schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/MetadataSchema.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"created": {
"description": "A timestamp indicating when this Metadata was created in the metadata schema store.",
"type": "string"
},
"internalUsername": {
"description": "The name of the Internal User, if any, who owns this schema.",
"type": "string"
},
"lastUpdated": {
"description": "A timestamp indicating when this Metadata was last updated in the metadata schema store.",
"type": "string"
},
"owner": {
"description": "The API user who owns this Schema.",
"type": "string"
},
"schema": {
"description": "A JSON Schema",
"type": "string"
},
"uuid": {
"description": "The UUID for this Schema.",
"type": "string"
}
},
"required": [],
"title": "AgavePy MetadataSchema schema",
"type": "object"
}
searchSchema: Retrieve Metadata Schemata.¶
agavepy.meta.searchSchema(uuid, limit=250, offset=0)
Parameters:¶
- uuid: The uuid of the metadata schema item (string)
- limit: The max number of results. (integer)
- offset: The number of records to when returning the results. When paginating results, the page number = ceil(offset/limit) (integer)
Response:¶
- A single MetadataSchema object
MetadataSchema schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/MetadataSchema.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"created": {
"description": "A timestamp indicating when this Metadata was created in the metadata schema store.",
"type": "string"
},
"internalUsername": {
"description": "The name of the Internal User, if any, who owns this schema.",
"type": "string"
},
"lastUpdated": {
"description": "A timestamp indicating when this Metadata was last updated in the metadata schema store.",
"type": "string"
},
"owner": {
"description": "The API user who owns this Schema.",
"type": "string"
},
"schema": {
"description": "A JSON Schema",
"type": "string"
},
"uuid": {
"description": "The UUID for this Schema.",
"type": "string"
}
},
"required": [],
"title": "AgavePy MetadataSchema schema",
"type": "object"
}
deleteSchema: Remove Metadata Schema from the system.¶
agavepy.meta.deleteSchema(uuid)
Parameters:¶
- uuid: The uuid of the metadata schema item (string)
Response:¶
- A single EmptyMetadata object
EmptyMetadata schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/EmptyMetadata.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"required": [],
"title": "AgavePy EmptyMetadata schema",
"type": "object"
}
getSchema: Retrieve Metadata Schemata.¶
agavepy.meta.getSchema(uuid, limit=250, offset=0)
Parameters:¶
- uuid: The uuid of the metadata schema item (string)
- limit: The max number of results. (integer)
- offset: The number of records to when returning the results. When paginating results, the page number = ceil(offset/limit) (integer)
Response:¶
- A single MetadataSchema object
MetadataSchema schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/MetadataSchema.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"created": {
"description": "A timestamp indicating when this Metadata was created in the metadata schema store.",
"type": "string"
},
"internalUsername": {
"description": "The name of the Internal User, if any, who owns this schema.",
"type": "string"
},
"lastUpdated": {
"description": "A timestamp indicating when this Metadata was last updated in the metadata schema store.",
"type": "string"
},
"owner": {
"description": "The API user who owns this Schema.",
"type": "string"
},
"schema": {
"description": "A JSON Schema",
"type": "string"
},
"uuid": {
"description": "The UUID for this Schema.",
"type": "string"
}
},
"required": [],
"title": "AgavePy MetadataSchema schema",
"type": "object"
}
updateSchema: Update or Add a new Metadata Schema.¶
agavepy.meta.updateSchema(body, uuid)
Parameters:¶
- uuid: The uuid of the metadata schema item (string)
- body: A valid JSON Schema object (JSON, string)
Response:¶
- A single MetadataSchema object
MetadataSchema schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/MetadataSchema.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"created": {
"description": "A timestamp indicating when this Metadata was created in the metadata schema store.",
"type": "string"
},
"internalUsername": {
"description": "The name of the Internal User, if any, who owns this schema.",
"type": "string"
},
"lastUpdated": {
"description": "A timestamp indicating when this Metadata was last updated in the metadata schema store.",
"type": "string"
},
"owner": {
"description": "The API user who owns this Schema.",
"type": "string"
},
"schema": {
"description": "A JSON Schema",
"type": "string"
},
"uuid": {
"description": "The UUID for this Schema.",
"type": "string"
}
},
"required": [],
"title": "AgavePy MetadataSchema schema",
"type": "object"
}
deleteMetadataPermission: Deletes all permissions on the given metadata.¶
agavepy.meta.deleteMetadataPermission(uuid)
Parameters:¶
- uuid: The uuid of the metadata item (string)
Response:¶
- A single EmptyMetadata object
EmptyMetadata schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/EmptyMetadata.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"required": [],
"title": "AgavePy EmptyMetadata schema",
"type": "object"
}
listMetadataPermissions: Get the permission ACL for this metadata.¶
agavepy.meta.listMetadataPermissions(uuid, limit=250, offset=0)
Parameters:¶
- uuid: The uuid of the metadata item (string)
- limit: The max number of results. (integer)
- offset: The number of records to when returning the results. When paginating results, the page number = ceil(offset/limit) (integer)
Response:¶
- Array of Permission objects
Permission schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Permission.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"permission": {
"description": "",
"type": "ACL"
},
"username": {
"description": "Username associate with this permission",
"type": "string"
}
},
"required": [],
"title": "AgavePy Permission schema",
"type": "object"
}
updateMetadataPermissions: Add or update a user’s permission for the given metadata.¶
agavepy.meta.updateMetadataPermissions(body, uuid)
Parameters:¶
- uuid: The uuid of the metadata item (string)
- body: The metadata permission to update. (JSON, MetadataPermissionRequest)
MetadataPermissionRequest schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/MetadataPermissionRequest.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"permission": {
"description": "The permission to set",
"enum": [
"READ",
"WRITE",
"READ_WRITE",
"ALL",
"NONE"
],
"type": "string"
},
"username": {
"description": "The username of the api user whose permission is to be set.",
"type": "string"
}
},
"required": [
"username",
"permission"
],
"title": "AgavePy MetadataPermissionRequest schema",
"type": "object"
}
Response:¶
- A single Permission object
Permission schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Permission.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"permission": {
"description": "",
"type": "ACL"
},
"username": {
"description": "Username associate with this permission",
"type": "string"
}
},
"required": [],
"title": "AgavePy Permission schema",
"type": "object"
}
deleteMetadataPermissionsForUser: Deletes all permissions on the given metadata.¶
agavepy.meta.deleteMetadataPermissionsForUser(username, uuid)
Parameters:¶
- uuid: The uuid of the metadata item (string)
- username: The username of the permission owner (string)
Response:¶
- A single EmptyMetadata object
EmptyMetadata schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/EmptyMetadata.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"required": [],
"title": "AgavePy EmptyMetadata schema",
"type": "object"
}
listMetadataPermissionsForUser: Get the permission ACL for this metadata.¶
agavepy.meta.listMetadataPermissionsForUser(username, uuid)
Parameters:¶
- uuid: The uuid of the metadata item (string)
- username: The username of the permission owner (string)
Response:¶
- A single Permission object
Permission schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Permission.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"permission": {
"description": "",
"type": "ACL"
},
"username": {
"description": "Username associate with this permission",
"type": "string"
}
},
"required": [],
"title": "AgavePy Permission schema",
"type": "object"
}
updateMetadataPermissionsForUser: Add or update a user’s permission for the given metadata.¶
agavepy.meta.updateMetadataPermissionsForUser(body, username, uuid)
Parameters:¶
- uuid: The uuid of the metadata item (string)
- username: The username of the permission owner (string)
- body: The metadata permission to update. (JSON, MetadataPermissionRequest)
MetadataPermissionRequest schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/MetadataPermissionRequest.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"permission": {
"description": "The permission to set",
"enum": [
"READ",
"WRITE",
"READ_WRITE",
"ALL",
"NONE"
],
"type": "string"
},
"username": {
"description": "The username of the api user whose permission is to be set.",
"type": "string"
}
},
"required": [
"username",
"permission"
],
"title": "AgavePy MetadataPermissionRequest schema",
"type": "object"
}
Response:¶
- A single Permission object
Permission schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Permission.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"permission": {
"description": "",
"type": "ACL"
},
"username": {
"description": "Username associate with this permission",
"type": "string"
}
},
"required": [],
"title": "AgavePy Permission schema",
"type": "object"
}
deleteSchemaPermissions: Deletes all permissions on the given schema.¶
agavepy.meta.deleteSchemaPermissions(uuid)
Parameters:¶
- uuid: The uuid of the metadata schema item (string)
Response:¶
- A single EmptyMetadata object
EmptyMetadata schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/EmptyMetadata.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"required": [],
"title": "AgavePy EmptyMetadata schema",
"type": "object"
}
listSchemaPermissions: Get the permission ACL for this schema.¶
agavepy.meta.listSchemaPermissions(uuid, limit=250, offset=0)
Parameters:¶
- uuid: The uuid of the metadata schema item (string)
- limit: The max number of results. (integer)
- offset: The number of records to when returning the results. When paginating results, the page number = ceil(offset/limit) (integer)
Response:¶
- Array of Permission objects
Permission schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Permission.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"permission": {
"description": "",
"type": "ACL"
},
"username": {
"description": "Username associate with this permission",
"type": "string"
}
},
"required": [],
"title": "AgavePy Permission schema",
"type": "object"
}
updateSchemaPermissions: Add or update a user’s permission for the given schema.¶
agavepy.meta.updateSchemaPermissions(body, uuid)
Parameters:¶
- uuid: The uuid of the metadata schema item (string)
- body: The schema permission to update. (JSON, MetadataPermissionRequest)
MetadataPermissionRequest schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/MetadataPermissionRequest.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"permission": {
"description": "The permission to set",
"enum": [
"READ",
"WRITE",
"READ_WRITE",
"ALL",
"NONE"
],
"type": "string"
},
"username": {
"description": "The username of the api user whose permission is to be set.",
"type": "string"
}
},
"required": [
"username",
"permission"
],
"title": "AgavePy MetadataPermissionRequest schema",
"type": "object"
}
Response:¶
- A single Permission object
Permission schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Permission.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"permission": {
"description": "",
"type": "ACL"
},
"username": {
"description": "Username associate with this permission",
"type": "string"
}
},
"required": [],
"title": "AgavePy Permission schema",
"type": "object"
}
deleteSchemaPermissionsForUser: Deletes all permissions on the given metadata.¶
agavepy.meta.deleteSchemaPermissionsForUser(username, uuid)
Parameters:¶
- uuid: The uuid of the metadata schema item (string)
- username: The username of the permission owner (string)
Response:¶
- A single EmptyMetadata object
EmptyMetadata schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/EmptyMetadata.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"required": [],
"title": "AgavePy EmptyMetadata schema",
"type": "object"
}
listSchemaPermissionsForUser: Get the permission ACL for this schema.¶
agavepy.meta.listSchemaPermissionsForUser(username, uuid)
Parameters:¶
- uuid: The uuid of the metadata schema item (string)
- username: The username of the permission owner (string)
Response:¶
- A single Permission object
Permission schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Permission.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"permission": {
"description": "",
"type": "ACL"
},
"username": {
"description": "Username associate with this permission",
"type": "string"
}
},
"required": [],
"title": "AgavePy Permission schema",
"type": "object"
}
updateSchemaPermissionsForUser: Add or update a user’s permission for the given metadata schema.¶
agavepy.meta.updateSchemaPermissionsForUser(body, username, uuid)
Parameters:¶
- uuid: The uuid of the metadata schema item (string)
- username: The username of the permission owner (string)
- body: The schema permission to update. (JSON, MetadataPermissionRequest)
MetadataPermissionRequest schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/MetadataPermissionRequest.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"permission": {
"description": "The permission to set",
"enum": [
"READ",
"WRITE",
"READ_WRITE",
"ALL",
"NONE"
],
"type": "string"
},
"username": {
"description": "The username of the api user whose permission is to be set.",
"type": "string"
}
},
"required": [
"username",
"permission"
],
"title": "AgavePy MetadataPermissionRequest schema",
"type": "object"
}
Response:¶
- A single Permission object
Permission schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Permission.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"permission": {
"description": "",
"type": "ACL"
},
"username": {
"description": "Username associate with this permission",
"type": "string"
}
},
"required": [],
"title": "AgavePy Permission schema",
"type": "object"
}
agavepy.notifications¶
Summary: Subscribe to and manage notifications
add: Update or Add new notification.¶
agavepy.notifications.add(body)
Parameters:¶
- body: The notification to add. (JSON, NotificationRequest)
NotificationRequest schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/NotificationRequest.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"associatedUuid": {
"description": "UUID of resource to whome the event applies.",
"type": "string"
},
"persistent": {
"description": "Whether this notification should stay active after it fires the first time.",
"type": "boolean"
},
"url": {
"description": "The url or email address that will be notified of the event.",
"type": "string"
}
},
"required": [
"url",
"associatedUuid",
"persistent"
],
"title": "AgavePy NotificationRequest schema",
"type": "object"
}
Response:¶
- A single Notification object
Notification schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Notification.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"associatedUuid": {
"description": "UUID of resource to whome the event applies.",
"type": "string"
},
"attempts": {
"description": "The number of times this notification has been attempted to be fulfilled.",
"type": "integer"
},
"created": {
"description": "A timestamp indicating when this notification was created in the notification store.",
"type": "string"
},
"lastSent": {
"description": "A timestamp indicating the last time this notification was sent.",
"type": "string"
},
"owner": {
"description": "The API user who owns this notification.",
"type": "string"
},
"persistent": {
"description": "Whether this notification should stay active after it fires the first time.",
"type": "boolean"
},
"responseCode": {
"description": "The response code from POSTing to the url or sending an email.",
"type": "integer"
},
"success": {
"description": "Whether this notification was sent successfully.",
"type": "boolean"
},
"url": {
"description": "The url or email address that will be notified of the event.",
"type": "string"
},
"uuid": {
"description": "The UUID for this notification.",
"type": "string"
}
},
"required": [],
"title": "AgavePy Notification schema",
"type": "object"
}
list: Retrieve notification for a specific resource.¶
agavepy.notifications.list(associatedUuid=None, limit=250, offset=0)
Parameters:¶
- associatedUuid: The uuid of the associated resource. All notifications for this resource visible to the user will be returned. (string)
- limit: The max number of results. (integer)
- offset: The number of records to when returning the results. When paginating results, the page number = ceil(offset/limit) (integer)
Response:¶
- Array of Notification objects
Notification schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Notification.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"associatedUuid": {
"description": "UUID of resource to whome the event applies.",
"type": "string"
},
"attempts": {
"description": "The number of times this notification has been attempted to be fulfilled.",
"type": "integer"
},
"created": {
"description": "A timestamp indicating when this notification was created in the notification store.",
"type": "string"
},
"lastSent": {
"description": "A timestamp indicating the last time this notification was sent.",
"type": "string"
},
"owner": {
"description": "The API user who owns this notification.",
"type": "string"
},
"persistent": {
"description": "Whether this notification should stay active after it fires the first time.",
"type": "boolean"
},
"responseCode": {
"description": "The response code from POSTing to the url or sending an email.",
"type": "integer"
},
"success": {
"description": "Whether this notification was sent successfully.",
"type": "boolean"
},
"url": {
"description": "The url or email address that will be notified of the event.",
"type": "string"
},
"uuid": {
"description": "The UUID for this notification.",
"type": "string"
}
},
"required": [],
"title": "AgavePy Notification schema",
"type": "object"
}
delete: Remove notification from the system.¶
agavepy.notifications.delete(uuid)
Parameters:¶
- uuid: The uuid of the notification item (string)
Response:¶
- A single EmptyNotification object
EmptyNotification schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/EmptyNotification.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"required": [],
"title": "AgavePy EmptyNotification schema",
"type": "object"
}
get: Retrieve notification.¶
agavepy.notifications.get(uuid)
Parameters:¶
- uuid: The uuid of the notification item (string)
Response:¶
- A single Notification object
Notification schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Notification.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"associatedUuid": {
"description": "UUID of resource to whome the event applies.",
"type": "string"
},
"attempts": {
"description": "The number of times this notification has been attempted to be fulfilled.",
"type": "integer"
},
"created": {
"description": "A timestamp indicating when this notification was created in the notification store.",
"type": "string"
},
"lastSent": {
"description": "A timestamp indicating the last time this notification was sent.",
"type": "string"
},
"owner": {
"description": "The API user who owns this notification.",
"type": "string"
},
"persistent": {
"description": "Whether this notification should stay active after it fires the first time.",
"type": "boolean"
},
"responseCode": {
"description": "The response code from POSTing to the url or sending an email.",
"type": "integer"
},
"success": {
"description": "Whether this notification was sent successfully.",
"type": "boolean"
},
"url": {
"description": "The url or email address that will be notified of the event.",
"type": "string"
},
"uuid": {
"description": "The UUID for this notification.",
"type": "string"
}
},
"required": [],
"title": "AgavePy Notification schema",
"type": "object"
}
update: Update or Add new notification.¶
agavepy.notifications.update(body, uuid)
Parameters:¶
- uuid: The uuid of the notification item (string)
- body: The notification to update. (JSON, NotificationRequest)
NotificationRequest schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/NotificationRequest.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"associatedUuid": {
"description": "UUID of resource to whome the event applies.",
"type": "string"
},
"persistent": {
"description": "Whether this notification should stay active after it fires the first time.",
"type": "boolean"
},
"url": {
"description": "The url or email address that will be notified of the event.",
"type": "string"
}
},
"required": [
"url",
"associatedUuid",
"persistent"
],
"title": "AgavePy NotificationRequest schema",
"type": "object"
}
Response:¶
- A single Notification object
Notification schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Notification.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"associatedUuid": {
"description": "UUID of resource to whome the event applies.",
"type": "string"
},
"attempts": {
"description": "The number of times this notification has been attempted to be fulfilled.",
"type": "integer"
},
"created": {
"description": "A timestamp indicating when this notification was created in the notification store.",
"type": "string"
},
"lastSent": {
"description": "A timestamp indicating the last time this notification was sent.",
"type": "string"
},
"owner": {
"description": "The API user who owns this notification.",
"type": "string"
},
"persistent": {
"description": "Whether this notification should stay active after it fires the first time.",
"type": "boolean"
},
"responseCode": {
"description": "The response code from POSTing to the url or sending an email.",
"type": "integer"
},
"success": {
"description": "Whether this notification was sent successfully.",
"type": "boolean"
},
"url": {
"description": "The url or email address that will be notified of the event.",
"type": "string"
},
"uuid": {
"description": "The UUID for this notification.",
"type": "string"
}
},
"required": [],
"title": "AgavePy Notification schema",
"type": "object"
}
agavepy.profiles¶
Summary: Create and manage application users
list: List user profiles¶
agavepy.profiles.list(email=None, first_name=None, full_name=None, last_name=None, limit=250, name=None, offset=0, status=None, username=None)
Parameters:¶
- limit: The max number of results. (integer)
- offset: The number of records to when returning the results. When paginating results, the page number = ceil(offset/limit) (integer)
- name: Filter results by name. (string)
- email: Filter results by email. (string)
- first_name: Filter results by first_name. (string)
- last_name: Filter results by last_name. (string)
- full_name: Filter results by full_name. (string)
- status: Filter results by status. (string)
- username: Filter results by username. (string)
Response:¶
- Array of Profile objects
Profile schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Profile.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"city": {
"description": "The api user's city.",
"type": "string"
},
"country": {
"description": "The api user's country.",
"type": "string"
},
"department": {
"description": "The api user's institutional department.",
"type": "string"
},
"email": {
"description": "The api user's unique email address.",
"type": "string"
},
"fax": {
"description": "The api user's fax number.",
"type": "string"
},
"firstName": {
"description": "The api user's first name.",
"type": "string"
},
"gender": {
"description": "The api user's gender. male or female.",
"type": "string"
},
"institution": {
"description": "The api user's home institution",
"type": "string"
},
"lastName": {
"description": "The api user's last name.",
"type": "string"
},
"phone": {
"description": "The api user's phone number.",
"type": "string"
},
"position": {
"description": "The api user's position of employment.",
"type": "string"
},
"researchArea": {
"description": "The api user's primary area of research.",
"type": "string"
},
"state": {
"description": "The api user's state.",
"type": "string"
},
"username": {
"description": "The api user's unique username.",
"type": "string"
}
},
"required": [],
"title": "AgavePy Profile schema",
"type": "object"
}
get: Find authenticated user profile¶
agavepy.profiles.get()
Parameters:¶
Response:¶
- A single Profile object
Profile schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Profile.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"city": {
"description": "The api user's city.",
"type": "string"
},
"country": {
"description": "The api user's country.",
"type": "string"
},
"department": {
"description": "The api user's institutional department.",
"type": "string"
},
"email": {
"description": "The api user's unique email address.",
"type": "string"
},
"fax": {
"description": "The api user's fax number.",
"type": "string"
},
"firstName": {
"description": "The api user's first name.",
"type": "string"
},
"gender": {
"description": "The api user's gender. male or female.",
"type": "string"
},
"institution": {
"description": "The api user's home institution",
"type": "string"
},
"lastName": {
"description": "The api user's last name.",
"type": "string"
},
"phone": {
"description": "The api user's phone number.",
"type": "string"
},
"position": {
"description": "The api user's position of employment.",
"type": "string"
},
"researchArea": {
"description": "The api user's primary area of research.",
"type": "string"
},
"state": {
"description": "The api user's state.",
"type": "string"
},
"username": {
"description": "The api user's unique username.",
"type": "string"
}
},
"required": [],
"title": "AgavePy Profile schema",
"type": "object"
}
listByUsername: Find api user profile by their api username¶
agavepy.profiles.listByUsername(username)
Parameters:¶
- username: The username of a valid api user (string)
Response:¶
- A single Profile object
Profile schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/Profile.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"city": {
"description": "The api user's city.",
"type": "string"
},
"country": {
"description": "The api user's country.",
"type": "string"
},
"department": {
"description": "The api user's institutional department.",
"type": "string"
},
"email": {
"description": "The api user's unique email address.",
"type": "string"
},
"fax": {
"description": "The api user's fax number.",
"type": "string"
},
"firstName": {
"description": "The api user's first name.",
"type": "string"
},
"gender": {
"description": "The api user's gender. male or female.",
"type": "string"
},
"institution": {
"description": "The api user's home institution",
"type": "string"
},
"lastName": {
"description": "The api user's last name.",
"type": "string"
},
"phone": {
"description": "The api user's phone number.",
"type": "string"
},
"position": {
"description": "The api user's position of employment.",
"type": "string"
},
"researchArea": {
"description": "The api user's primary area of research.",
"type": "string"
},
"state": {
"description": "The api user's state.",
"type": "string"
},
"username": {
"description": "The api user's unique username.",
"type": "string"
}
},
"required": [],
"title": "AgavePy Profile schema",
"type": "object"
}
agavepy.systems¶
Summary: Register and manage systems
add: Add or update a system.¶
agavepy.systems.add(body)
Parameters:¶
- body: The description of the system to add or update. (JSON, SystemRequest)
SystemRequest schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/SystemRequest.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"description": {
"description": "Verbose description of this system.",
"type": "string"
},
"environment": {
"description": "Environment variables to set upon login prior to job submission.",
"type": "string"
},
"executionType": {
"description": "The execution paradigm used to run jobs on this system.",
"enum": [
"HPC",
"CONDOR",
"CLI"
],
"type": "string"
},
"id": {
"description": "Unique identifier for this system.",
"type": "string"
},
"login": {
"description": "The login config defining how to connect to this system for job submission.",
"type": "LoginConfig"
},
"maxSystemJobs": {
"description": "The maximum number of jobs that can be simultaneously run on the system across all queues.",
"type": "int"
},
"maxSystemJobsPerUser": {
"description": "The maximum number of jobs that can be simultaneously run on the system across all queues by a single user.",
"type": "int"
},
"name": {
"description": "Common name for this system.",
"type": "string"
},
"queues": {
"description": "The execution paradigm used to run jobs on this system.",
"type": "array"
},
"scheduler": {
"description": "The type of scheduled used to run jobs.",
"enum": [
"COBALT",
"CONDOR",
"FORK",
"LOADLEVELER",
"LSF",
"MOAB",
"PBS",
"SGE",
"SLURM",
"TORQUE",
"UNKNOWN"
],
"type": "string"
},
"scratchDir": {
"description": "The scratch directory where job execution directories will be created at runtime. The workDir is used if this is not specified.",
"type": "string"
},
"site": {
"description": "The site associated with this system.",
"type": "string"
},
"startupScript": {
"description": "Script to be run after login and prior to execution.",
"type": "string"
},
"status": {
"description": "The status of this system. Systems must be in UP status to be used.",
"enum": [
"UP",
"DOWN",
"UNKNOWN"
],
"type": "string"
},
"storage": {
"description": "The storage config defining how to connect to this system for data staging.",
"type": "StorageConfig"
},
"type": {
"description": "The type of this system.",
"enum": [
"EXECUTION",
"STORAGE"
],
"type": "string"
},
"workDir": {
"description": "The work directory where job execution directories will be created at runtime. This is used if scratchDir is not specified. If neither are specified, the job directory will be created in the system homeDir.",
"type": "string"
}
},
"required": [
"status",
"scheduler",
"name",
"queues",
"storage",
"executionType",
"login",
"type"
],
"title": "AgavePy SystemRequest schema",
"type": "object"
}
Response:¶
- A single System object
System schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/System.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"default": {
"description": "Is the system the default for the authenticated user?",
"type": "boolean"
},
"description": {
"description": "Verbose description of this system.",
"type": "string"
},
"environment": {
"description": "Environment variables to set upon login prior to job submission.",
"type": "string"
},
"executionType": {
"description": "The execution paradigm used to run jobs on this system.",
"enum": [
"HPC",
"CONDOR",
"CLI"
],
"type": "string"
},
"id": {
"description": "Unique identifier for this system.",
"type": "string"
},
"lastModified": {
"description": "The date this system was last modified in ISO 8601 format.",
"type": "string"
},
"login": {
"description": "The login config defining how to connect to this system for job submission.",
"type": "LoginConfig"
},
"maxSystemJobs": {
"description": "The maximum number of jobs that can be simultaneously run on the system across all queues.",
"type": "int"
},
"maxSystemJobsPerUser": {
"description": "The maximum number of jobs that can be simultaneously run on the system across all queues by a single user.",
"type": "int"
},
"name": {
"description": "Common name for this system.",
"type": "string"
},
"public": {
"description": "Is the system publicly available?",
"type": "boolean"
},
"queues": {
"description": "The execution paradigm used to run jobs on this system.",
"type": "array"
},
"revision": {
"description": "The number of times this app has been updated.",
"type": "int"
},
"scheduler": {
"description": "The type of scheduled used to run jobs.",
"enum": [
"COBALT",
"CONDOR",
"FORK",
"LOADLEVELER",
"LSF",
"MOAB",
"PBS",
"SGE",
"SLURM",
"TORQUE",
"UNKNOWN"
],
"type": "string"
},
"scratchDir": {
"description": "The scratch directory where job execution directories will be created at runtime. The workDir is used if this is not specified.",
"type": "string"
},
"site": {
"description": "The site associated with this system.",
"type": "string"
},
"startupScript": {
"description": "Script to be run after login and prior to execution.",
"type": "string"
},
"status": {
"description": "The status of this system. Systems must be in UP status to be used.",
"enum": [
"UP",
"DOWN",
"UNKNOWN"
],
"type": "string"
},
"storage": {
"description": "The storage config defining how to connect to this system for data staging.",
"type": "StorageConfig"
},
"type": {
"description": "The type of this system.",
"enum": [
"EXECUTION",
"STORAGE"
],
"type": "string"
},
"uuid": {
"description": "The uuid of this system.",
"type": "string"
},
"workDir": {
"description": "The work directory where job execution directories will be created at runtime. This is used if scratchDir is not specified. If neither are specified, the job directory will be created in the system homeDir.",
"type": "string"
}
},
"required": [],
"title": "AgavePy System schema",
"type": "object"
}
list: Show all systems available to the user.¶
agavepy.systems.list(default=None, limit=250, offset=0, public=None, type=None)
Parameters:¶
- type: The type of system to return (string)
- default: Should only default systems be returned (boolean)
- public: Should only publicly available systems be returned (boolean)
- limit: The max number of results. (integer)
- offset: The number of records to when returning the results. When paginating results, the page number = ceil(offset/limit) (integer)
Response:¶
- Array of SystemSummary objects
SystemSummary schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/SystemSummary.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"default": {
"description": "Is the system the default for the authenticated user?",
"type": "boolean"
},
"description": {
"description": "Verbose description of this system.",
"type": "string"
},
"id": {
"description": "Unique identifier for this system.",
"type": "string"
},
"name": {
"description": "Common name for this system.",
"type": "string"
},
"public": {
"description": "Is the system publicly available?",
"type": "boolean"
},
"status": {
"description": "The status of this system. Systems must be in UP status to be used.",
"enum": [
"UP",
"DOWN",
"UNKNOWN"
],
"type": "string"
},
"type": {
"description": "The type of this system.",
"enum": [
"EXECUTION",
"STORAGE"
],
"type": "string"
}
},
"required": [],
"title": "AgavePy SystemSummary schema",
"type": "object"
}
delete: Delete a system.¶
agavepy.systems.delete(systemId)
Parameters:¶
- systemId: The unique id of the system (string)
Response:¶
- String
get: Find information about an individual system.¶
agavepy.systems.get(systemId)
Parameters:¶
- systemId: The unique id of the system (string)
Response:¶
- A single System object
System schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/System.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"default": {
"description": "Is the system the default for the authenticated user?",
"type": "boolean"
},
"description": {
"description": "Verbose description of this system.",
"type": "string"
},
"environment": {
"description": "Environment variables to set upon login prior to job submission.",
"type": "string"
},
"executionType": {
"description": "The execution paradigm used to run jobs on this system.",
"enum": [
"HPC",
"CONDOR",
"CLI"
],
"type": "string"
},
"id": {
"description": "Unique identifier for this system.",
"type": "string"
},
"lastModified": {
"description": "The date this system was last modified in ISO 8601 format.",
"type": "string"
},
"login": {
"description": "The login config defining how to connect to this system for job submission.",
"type": "LoginConfig"
},
"maxSystemJobs": {
"description": "The maximum number of jobs that can be simultaneously run on the system across all queues.",
"type": "int"
},
"maxSystemJobsPerUser": {
"description": "The maximum number of jobs that can be simultaneously run on the system across all queues by a single user.",
"type": "int"
},
"name": {
"description": "Common name for this system.",
"type": "string"
},
"public": {
"description": "Is the system publicly available?",
"type": "boolean"
},
"queues": {
"description": "The execution paradigm used to run jobs on this system.",
"type": "array"
},
"revision": {
"description": "The number of times this app has been updated.",
"type": "int"
},
"scheduler": {
"description": "The type of scheduled used to run jobs.",
"enum": [
"COBALT",
"CONDOR",
"FORK",
"LOADLEVELER",
"LSF",
"MOAB",
"PBS",
"SGE",
"SLURM",
"TORQUE",
"UNKNOWN"
],
"type": "string"
},
"scratchDir": {
"description": "The scratch directory where job execution directories will be created at runtime. The workDir is used if this is not specified.",
"type": "string"
},
"site": {
"description": "The site associated with this system.",
"type": "string"
},
"startupScript": {
"description": "Script to be run after login and prior to execution.",
"type": "string"
},
"status": {
"description": "The status of this system. Systems must be in UP status to be used.",
"enum": [
"UP",
"DOWN",
"UNKNOWN"
],
"type": "string"
},
"storage": {
"description": "The storage config defining how to connect to this system for data staging.",
"type": "StorageConfig"
},
"type": {
"description": "The type of this system.",
"enum": [
"EXECUTION",
"STORAGE"
],
"type": "string"
},
"uuid": {
"description": "The uuid of this system.",
"type": "string"
},
"workDir": {
"description": "The work directory where job execution directories will be created at runtime. This is used if scratchDir is not specified. If neither are specified, the job directory will be created in the system homeDir.",
"type": "string"
}
},
"required": [],
"title": "AgavePy System schema",
"type": "object"
}
manage: Perform a management action on the system.¶
agavepy.systems.manage(body, systemId)
Parameters:¶
- systemId: The unique id of the system (string)
- body: The description of the system to update. (JSON, SystemOperationRequest)
SystemOperationRequest schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/SystemOperationRequest.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"action": {
"description": "Action to perform on the system.",
"enum": [
"ENABLE",
"DISABLE",
"PUBLISH",
"UNPUBLISH",
"SETDEFAULT",
"UNSETDEFAULT",
"SETGLOBALDEFAULT",
"UNSETGLOBALDEFAULT",
"CLONE"
],
"type": "string"
},
"id": {
"description": "The new system id of the cloned system",
"type": "string"
}
},
"required": [
"action"
],
"title": "AgavePy SystemOperationRequest schema",
"type": "object"
}
Response:¶
- String
update: Find information about an individual system.¶
agavepy.systems.update(body, systemId)
Parameters:¶
- systemId: The unique id of the system (string)
- body: The description of the system to update. (JSON, SystemRequest)
SystemRequest schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/SystemRequest.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"description": {
"description": "Verbose description of this system.",
"type": "string"
},
"environment": {
"description": "Environment variables to set upon login prior to job submission.",
"type": "string"
},
"executionType": {
"description": "The execution paradigm used to run jobs on this system.",
"enum": [
"HPC",
"CONDOR",
"CLI"
],
"type": "string"
},
"id": {
"description": "Unique identifier for this system.",
"type": "string"
},
"login": {
"description": "The login config defining how to connect to this system for job submission.",
"type": "LoginConfig"
},
"maxSystemJobs": {
"description": "The maximum number of jobs that can be simultaneously run on the system across all queues.",
"type": "int"
},
"maxSystemJobsPerUser": {
"description": "The maximum number of jobs that can be simultaneously run on the system across all queues by a single user.",
"type": "int"
},
"name": {
"description": "Common name for this system.",
"type": "string"
},
"queues": {
"description": "The execution paradigm used to run jobs on this system.",
"type": "array"
},
"scheduler": {
"description": "The type of scheduled used to run jobs.",
"enum": [
"COBALT",
"CONDOR",
"FORK",
"LOADLEVELER",
"LSF",
"MOAB",
"PBS",
"SGE",
"SLURM",
"TORQUE",
"UNKNOWN"
],
"type": "string"
},
"scratchDir": {
"description": "The scratch directory where job execution directories will be created at runtime. The workDir is used if this is not specified.",
"type": "string"
},
"site": {
"description": "The site associated with this system.",
"type": "string"
},
"startupScript": {
"description": "Script to be run after login and prior to execution.",
"type": "string"
},
"status": {
"description": "The status of this system. Systems must be in UP status to be used.",
"enum": [
"UP",
"DOWN",
"UNKNOWN"
],
"type": "string"
},
"storage": {
"description": "The storage config defining how to connect to this system for data staging.",
"type": "StorageConfig"
},
"type": {
"description": "The type of this system.",
"enum": [
"EXECUTION",
"STORAGE"
],
"type": "string"
},
"workDir": {
"description": "The work directory where job execution directories will be created at runtime. This is used if scratchDir is not specified. If neither are specified, the job directory will be created in the system homeDir.",
"type": "string"
}
},
"required": [
"status",
"scheduler",
"name",
"queues",
"storage",
"executionType",
"login",
"type"
],
"title": "AgavePy SystemRequest schema",
"type": "object"
}
Response:¶
- A single System object
System schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/System.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"default": {
"description": "Is the system the default for the authenticated user?",
"type": "boolean"
},
"description": {
"description": "Verbose description of this system.",
"type": "string"
},
"environment": {
"description": "Environment variables to set upon login prior to job submission.",
"type": "string"
},
"executionType": {
"description": "The execution paradigm used to run jobs on this system.",
"enum": [
"HPC",
"CONDOR",
"CLI"
],
"type": "string"
},
"id": {
"description": "Unique identifier for this system.",
"type": "string"
},
"lastModified": {
"description": "The date this system was last modified in ISO 8601 format.",
"type": "string"
},
"login": {
"description": "The login config defining how to connect to this system for job submission.",
"type": "LoginConfig"
},
"maxSystemJobs": {
"description": "The maximum number of jobs that can be simultaneously run on the system across all queues.",
"type": "int"
},
"maxSystemJobsPerUser": {
"description": "The maximum number of jobs that can be simultaneously run on the system across all queues by a single user.",
"type": "int"
},
"name": {
"description": "Common name for this system.",
"type": "string"
},
"public": {
"description": "Is the system publicly available?",
"type": "boolean"
},
"queues": {
"description": "The execution paradigm used to run jobs on this system.",
"type": "array"
},
"revision": {
"description": "The number of times this app has been updated.",
"type": "int"
},
"scheduler": {
"description": "The type of scheduled used to run jobs.",
"enum": [
"COBALT",
"CONDOR",
"FORK",
"LOADLEVELER",
"LSF",
"MOAB",
"PBS",
"SGE",
"SLURM",
"TORQUE",
"UNKNOWN"
],
"type": "string"
},
"scratchDir": {
"description": "The scratch directory where job execution directories will be created at runtime. The workDir is used if this is not specified.",
"type": "string"
},
"site": {
"description": "The site associated with this system.",
"type": "string"
},
"startupScript": {
"description": "Script to be run after login and prior to execution.",
"type": "string"
},
"status": {
"description": "The status of this system. Systems must be in UP status to be used.",
"enum": [
"UP",
"DOWN",
"UNKNOWN"
],
"type": "string"
},
"storage": {
"description": "The storage config defining how to connect to this system for data staging.",
"type": "StorageConfig"
},
"type": {
"description": "The type of this system.",
"enum": [
"EXECUTION",
"STORAGE"
],
"type": "string"
},
"uuid": {
"description": "The uuid of this system.",
"type": "string"
},
"workDir": {
"description": "The work directory where job execution directories will be created at runtime. This is used if scratchDir is not specified. If neither are specified, the job directory will be created in the system homeDir.",
"type": "string"
}
},
"required": [],
"title": "AgavePy System schema",
"type": "object"
}
deleteRoles: Deletes all roles on a system.¶
agavepy.systems.deleteRoles(systemId)
Parameters:¶
- systemId: The id of the system. (string)
Response:¶
- String
listRoles: Get a list of all users and their roles on this system.¶
agavepy.systems.listRoles(systemId, limit=250, offset=0)
Parameters:¶
- systemId: The id of the system. (string)
- limit: The max number of results. (integer)
- offset: The number of records to when returning the results. When paginating results, the page number = ceil(offset/limit) (integer)
Response:¶
- Array of SystemRole objects
SystemRole schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/SystemRole.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"role": {
"description": "The role granted this user.",
"enum": [
"USER",
"PUBLISHER",
"ADMIN",
"OWNER"
],
"type": "string"
},
"username": {
"description": "The username of the api user granted this role.",
"type": "string"
}
},
"required": [],
"title": "AgavePy SystemRole schema",
"type": "object"
}
updateRole: Add or update a user’s role on a system.¶
agavepy.systems.updateRole(body, systemId)
Parameters:¶
- systemId: The id of the system. (string)
- body: The role to update. (JSON, SystemRole)
SystemRole schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/SystemRole.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"role": {
"description": "The role granted this user.",
"enum": [
"USER",
"PUBLISHER",
"ADMIN",
"OWNER"
],
"type": "string"
},
"username": {
"description": "The username of the api user granted this role.",
"type": "string"
}
},
"required": [],
"title": "AgavePy SystemRole schema",
"type": "object"
}
Response:¶
- String
deleteRoleForUser: Deletes all roles on a system.¶
agavepy.systems.deleteRoleForUser(systemId, username)
Parameters:¶
- systemId: The id of the system. (string)
- username: The username of the api user associated with the role (string)
Response:¶
- String
getRoleForUser: Get a specific user’s roles on this system.¶
agavepy.systems.getRoleForUser(systemId, username, limit=250, offset=0)
Parameters:¶
- systemId: The id of the system. (string)
- username: The username of the user about whose role you are inquiring. (string)
- limit: The max number of results. (integer)
- offset: The number of records to when returning the results. When paginating results, the page number = ceil(offset/limit) (integer)
Response:¶
- A single SystemRole object
SystemRole schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/SystemRole.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"role": {
"description": "The role granted this user.",
"enum": [
"USER",
"PUBLISHER",
"ADMIN",
"OWNER"
],
"type": "string"
},
"username": {
"description": "The username of the api user granted this role.",
"type": "string"
}
},
"required": [],
"title": "AgavePy SystemRole schema",
"type": "object"
}
updateRoleForUser: Add or update a user’s role on a system.¶
agavepy.systems.updateRoleForUser(body, systemId, username)
Parameters:¶
- systemId: The id of the system. (string)
- username: The username of the api user associated with the role (string)
- body: The role to update. (JSON, SystemRole)
SystemRole schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/SystemRole.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"role": {
"description": "The role granted this user.",
"enum": [
"USER",
"PUBLISHER",
"ADMIN",
"OWNER"
],
"type": "string"
},
"username": {
"description": "The username of the api user granted this role.",
"type": "string"
}
},
"required": [],
"title": "AgavePy SystemRole schema",
"type": "object"
}
Response:¶
- String
deleteCredentials: Deletes all credentials registered to a system.¶
agavepy.systems.deleteCredentials(systemId)
Parameters:¶
- systemId: The id of the system. (string)
Response:¶
- String
listCredentials: Get a list of all internal users and their credentials on this system.¶
agavepy.systems.listCredentials(systemId, limit=250, offset=0)
Parameters:¶
- systemId: The id of the system. (string)
- limit: The max number of results. (integer)
- offset: The number of records to when returning the results. When paginating results, the page number = ceil(offset/limit) (integer)
Response:¶
- A single StoredCredential object
StoredCredential schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/StoredCredential.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"credential": {
"description": "The credential used to authenticate to the remote system. Depending on the authentication protocol of the remote system, this could be an OAuth Token, X.509 certificate, Kerberose token, or an private key..",
"type": "string"
},
"default": {
"description": "Is this the default credential for this internal user of this type on this system?",
"type": "boolean"
},
"expirationDate": {
"description": "The date the credential expires in ISO 8601 format.",
"type": "string"
},
"internalUsername": {
"description": "The username of the internal user associated with this credential.",
"type": "string"
},
"parentType": {
"description": "The system type this credential is associated with.",
"enum": [
"STORAGE",
"EXECUTION"
],
"type": "string"
},
"password": {
"description": "The password on the remote system used to authenticate.",
"type": "string"
},
"privateKey": {
"description": "The public ssh key used to authenticate to the remote system..",
"type": "string"
},
"publicKey": {
"description": "The public ssh key used to authenticate to the remote system.",
"type": "string"
},
"server": {
"description": "The server from which a credential may be obtained.",
"type": "UserCredentialServer"
},
"type": {
"description": "The authentication type.",
"enum": [
"LOCAL",
"PAM",
"PASSWORD",
"SSHKEYS",
"TOKEN",
"X509"
],
"type": "string"
},
"username": {
"description": "The local username on the remote system used to authenticate.",
"type": "string"
},
"valid": {
"description": "Is the credential still valid or has it expired?.",
"type": "boolean"
}
},
"required": [
"username",
"type"
],
"title": "AgavePy StoredCredential schema",
"type": "object"
}
updateCredentials: Add or update a user’s credential on a system. This applies both to data and, if applicable, login credenitals.¶
agavepy.systems.updateCredentials(body, systemId)
Parameters:¶
- systemId: The id of the system. (string)
- body: The description of the internal user credential to add or update. (JSON, UserCredential)
UserCredential schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/UserCredential.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"credential": {
"description": "The credential used to authenticate to the remote system. Depending on the authentication protocol of the remote system, this could be an OAuth Token, X.509 certificate, Kerberose token, or an private key..",
"type": "string"
},
"internalUsername": {
"description": "The username of the internal user associated with this credential.",
"type": "string"
},
"password": {
"description": "The password on the remote system used to authenticate.",
"type": "string"
},
"privateKey": {
"description": "The public ssh key used to authenticate to the remote system..",
"type": "string"
},
"publicKey": {
"description": "The public ssh key used to authenticate to the remote system.",
"type": "string"
},
"server": {
"description": "The server from which a credential may be obtained.",
"type": "UserCredentialServer"
},
"type": {
"description": "The authentication type.",
"enum": [
"LOCAL",
"PAM",
"PASSWORD",
"SSHKEYS",
"TOKEN",
"X509"
],
"type": "string"
},
"username": {
"description": "The local username on the remote system used to authenticate.",
"type": "string"
}
},
"required": [
"type"
],
"title": "AgavePy UserCredential schema",
"type": "object"
}
Response:¶
- String
deleteCredentialsForInternalUser: Deletes all credentials registered to a system.¶
agavepy.systems.deleteCredentialsForInternalUser(internalUsername, systemId)
Parameters:¶
- systemId: The id of the system. (string)
- internalUsername: The username of a internal user on this system. (string)
Response:¶
- String
listCredentialsForInternalUser: Get a list of all internal users and their credentials on this system.¶
agavepy.systems.listCredentialsForInternalUser(internalUsername, systemId, limit=250, offset=0)
Parameters:¶
- systemId: The id of the system. (string)
- internalUsername: The username of a internal user on this system. (string)
- limit: The max number of results. (integer)
- offset: The number of records to when returning the results. When paginating results, the page number = ceil(offset/limit) (integer)
Response:¶
- A single StoredCredential object
StoredCredential schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/StoredCredential.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"credential": {
"description": "The credential used to authenticate to the remote system. Depending on the authentication protocol of the remote system, this could be an OAuth Token, X.509 certificate, Kerberose token, or an private key..",
"type": "string"
},
"default": {
"description": "Is this the default credential for this internal user of this type on this system?",
"type": "boolean"
},
"expirationDate": {
"description": "The date the credential expires in ISO 8601 format.",
"type": "string"
},
"internalUsername": {
"description": "The username of the internal user associated with this credential.",
"type": "string"
},
"parentType": {
"description": "The system type this credential is associated with.",
"enum": [
"STORAGE",
"EXECUTION"
],
"type": "string"
},
"password": {
"description": "The password on the remote system used to authenticate.",
"type": "string"
},
"privateKey": {
"description": "The public ssh key used to authenticate to the remote system..",
"type": "string"
},
"publicKey": {
"description": "The public ssh key used to authenticate to the remote system.",
"type": "string"
},
"server": {
"description": "The server from which a credential may be obtained.",
"type": "UserCredentialServer"
},
"type": {
"description": "The authentication type.",
"enum": [
"LOCAL",
"PAM",
"PASSWORD",
"SSHKEYS",
"TOKEN",
"X509"
],
"type": "string"
},
"username": {
"description": "The local username on the remote system used to authenticate.",
"type": "string"
},
"valid": {
"description": "Is the credential still valid or has it expired?.",
"type": "boolean"
}
},
"required": [
"username",
"type"
],
"title": "AgavePy StoredCredential schema",
"type": "object"
}
updateCredentialsForInternalUser: Add or update a user’s credentials on a system.¶
agavepy.systems.updateCredentialsForInternalUser(body, internalUsername, systemId)
Parameters:¶
- systemId: The id of the system. (string)
- internalUsername: The username of a internal user on this system. (string)
- body: The description of the internal user credential to add or update. (JSON, UserCredential)
UserCredential schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/UserCredential.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"credential": {
"description": "The credential used to authenticate to the remote system. Depending on the authentication protocol of the remote system, this could be an OAuth Token, X.509 certificate, Kerberose token, or an private key..",
"type": "string"
},
"internalUsername": {
"description": "The username of the internal user associated with this credential.",
"type": "string"
},
"password": {
"description": "The password on the remote system used to authenticate.",
"type": "string"
},
"privateKey": {
"description": "The public ssh key used to authenticate to the remote system..",
"type": "string"
},
"publicKey": {
"description": "The public ssh key used to authenticate to the remote system.",
"type": "string"
},
"server": {
"description": "The server from which a credential may be obtained.",
"type": "UserCredentialServer"
},
"type": {
"description": "The authentication type.",
"enum": [
"LOCAL",
"PAM",
"PASSWORD",
"SSHKEYS",
"TOKEN",
"X509"
],
"type": "string"
},
"username": {
"description": "The local username on the remote system used to authenticate.",
"type": "string"
}
},
"required": [
"type"
],
"title": "AgavePy UserCredential schema",
"type": "object"
}
Response:¶
- String
deleteCredentialsForInternalUserByType: Deletes the internal user credentials for the given credential type on a system.¶
agavepy.systems.deleteCredentialsForInternalUserByType(credentialType, internalUsername, systemId)
Parameters:¶
- systemId: The id of the system. (string)
- internalUsername: The username of a internal user on this system. (string)
- credentialType: The configuration type to which to apply this credential. (string)
Response:¶
- String
listCredentialsForInternalUserByType: Get the internal user credential of the given type on the system.¶
agavepy.systems.listCredentialsForInternalUserByType(credentialType, internalUsername, systemId, limit=250, offset=0)
Parameters:¶
- systemId: The id of the system. (string)
- internalUsername: The username of a internal user on this system. (string)
- credentialType: The configuration type to which to apply this credential. (string)
- limit: The max number of results. (integer)
- offset: The number of records to when returning the results. When paginating results, the page number = ceil(offset/limit) (integer)
Response:¶
- A single StoredCredential object
StoredCredential schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/StoredCredential.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"credential": {
"description": "The credential used to authenticate to the remote system. Depending on the authentication protocol of the remote system, this could be an OAuth Token, X.509 certificate, Kerberose token, or an private key..",
"type": "string"
},
"default": {
"description": "Is this the default credential for this internal user of this type on this system?",
"type": "boolean"
},
"expirationDate": {
"description": "The date the credential expires in ISO 8601 format.",
"type": "string"
},
"internalUsername": {
"description": "The username of the internal user associated with this credential.",
"type": "string"
},
"parentType": {
"description": "The system type this credential is associated with.",
"enum": [
"STORAGE",
"EXECUTION"
],
"type": "string"
},
"password": {
"description": "The password on the remote system used to authenticate.",
"type": "string"
},
"privateKey": {
"description": "The public ssh key used to authenticate to the remote system..",
"type": "string"
},
"publicKey": {
"description": "The public ssh key used to authenticate to the remote system.",
"type": "string"
},
"server": {
"description": "The server from which a credential may be obtained.",
"type": "UserCredentialServer"
},
"type": {
"description": "The authentication type.",
"enum": [
"LOCAL",
"PAM",
"PASSWORD",
"SSHKEYS",
"TOKEN",
"X509"
],
"type": "string"
},
"username": {
"description": "The local username on the remote system used to authenticate.",
"type": "string"
},
"valid": {
"description": "Is the credential still valid or has it expired?.",
"type": "boolean"
}
},
"required": [
"username",
"type"
],
"title": "AgavePy StoredCredential schema",
"type": "object"
}
updateCredentialsForInternalUserByType: Add or update a credential of the given type on a system.¶
agavepy.systems.updateCredentialsForInternalUserByType(body, credentialType, internalUsername, systemId)
Parameters:¶
- systemId: The id of the system. (string)
- internalUsername: The username of a internal user on this system. (string)
- credentialType: The configuration type to which to apply this credential. (string)
- body: The description of the internal user credential to add or update. (JSON, UserCredential)
UserCredential schema
{
"$id": "http://agavepy.readthedocs.io/en/latest/UserCredential.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"credential": {
"description": "The credential used to authenticate to the remote system. Depending on the authentication protocol of the remote system, this could be an OAuth Token, X.509 certificate, Kerberose token, or an private key..",
"type": "string"
},
"internalUsername": {
"description": "The username of the internal user associated with this credential.",
"type": "string"
},
"password": {
"description": "The password on the remote system used to authenticate.",
"type": "string"
},
"privateKey": {
"description": "The public ssh key used to authenticate to the remote system..",
"type": "string"
},
"publicKey": {
"description": "The public ssh key used to authenticate to the remote system.",
"type": "string"
},
"server": {
"description": "The server from which a credential may be obtained.",
"type": "UserCredentialServer"
},
"type": {
"description": "The authentication type.",
"enum": [
"LOCAL",
"PAM",
"PASSWORD",
"SSHKEYS",
"TOKEN",
"X509"
],
"type": "string"
},
"username": {
"description": "The local username on the remote system used to authenticate.",
"type": "string"
}
},
"required": [
"type"
],
"title": "AgavePy UserCredential schema",
"type": "object"
}
Response:¶
- String