Skip to content

Commit

Permalink
Merge 02d716c into 7f43648
Browse files Browse the repository at this point in the history
  • Loading branch information
davidangb committed Oct 31, 2019
2 parents 7f43648 + 02d716c commit 47cd03a
Showing 1 changed file with 159 additions and 65 deletions.
224 changes: 159 additions & 65 deletions src/main/resources/swagger/api-docs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2620,6 +2620,10 @@ paths:
responses:
200:
description: List of workspaces.
schema:
type: array
items:
$ref: '#/definitions/WorkspaceListResponse'
400:
description: Unrecognized query parameters
post:
Expand All @@ -2635,12 +2639,12 @@ paths:
required: true
in: body
schema:
$ref: '#/definitions/WorkspaceIngest'
$ref: '#/definitions/WorkspaceRequest'
responses:
201:
description: Successful Request
schema:
$ref: '#/definitions/CreateWorkspaceResponse'
$ref: '#/definitions/WorkspaceDetails'
400:
description: Bad request
403:
Expand Down Expand Up @@ -2679,6 +2683,8 @@ paths:
responses:
200:
description: Successful Request
schema:
$ref: '#/definitions/WorkspaceResponse'
400:
description: Unrecognized query parameters
404:
Expand Down Expand Up @@ -2937,12 +2943,12 @@ paths:
required: true
in: body
schema:
$ref: '#/definitions/WorkspaceIngest'
$ref: '#/definitions/WorkspaceRequestClone'
responses:
201:
description: Successful Request
schema:
$ref: '#/definitions/CreateWorkspaceResponse'
$ref: '#/definitions/WorkspaceDetails'
400:
description: Unable to create resources for workspace
404:
Expand Down Expand Up @@ -4391,6 +4397,8 @@ paths:
responses:
200:
description: Success
schema:
$ref: '#/definitions/WorkspaceDetails'
400:
description: Invalid operation
404:
Expand Down Expand Up @@ -5656,59 +5664,6 @@ definitions:
type: string
description: The fully qualified name of the GCP service perimeter to put this project into in the form accessPolicies/[POLICY NUMBER]/servicePerimeters/[NAME]. Caller must have the add_project action for this service perimeter in Sam.

CreateWorkspaceResponse:
description: payload returned from create- or clone-workspace
required:
- attributes
- authorizationDomain
- bucketName
- createdBy
- createdDate
- isLocked
- lastModified
- name
- namespace
- workspaceId
type: object
properties:
attributes:
type: object
description: Map[String, Attribute]
authorizationDomain:
type: array
items:
$ref: '#/definitions/ManagedGroupRef'
description: The list of groups to form the Authorization Domain (empty if no Authorization Domain is set)
bucketName:
type: string
description: The name of the bucket associated with the workspace
createdBy:
type: string
description: The user who created the workspace
createdDate:
type: string
format: date-time
description: 'The date the workspace was created in yyyy-MM-ddTHH:mm:ss.SSSZZ format'
isLocked:
type: boolean
description: Can the Workspace currently be modified?
lastModified:
type: string
format: date-time
description: 'The date the workspace was last modified in yyyy-MM-ddTHH:mm:ss.SSSZZ format'
name:
type: string
description: The name of the workspace
namespace:
type: string
description: The namespace the workspace belongs to
workflowCollectionName:
type: string
description: Workflow collection name
workspaceId:
type: string
description: A UUID associated with the workspace

CuratorStatus:
description: is the user a curator?
required:
Expand Down Expand Up @@ -7517,6 +7472,16 @@ definitions:
type: boolean
description: True if the user can launch compute in this workspace, false otherwise

WorkspaceAccessLevel:
description: 'The level of access a user or group has on a Workspace. NoAccess, Read, Write, Owner, ProjectOwner'
type: string
enum:
- PROJECT_OWNER
- OWNER
- WRITER
- READER
- NO ACCESS

WorkspaceBucketOptions:
description: 'Extra information about a GCS bucket attached to a workspace'
required:
Expand Down Expand Up @@ -7572,29 +7537,158 @@ definitions:
items:
type: string

WorkspaceIngest:
WorkspaceDetails:
description: ''
required:
- bucketName
- createdBy
- createdDate
- isLocked
- lastModified
- name
- namespace
- workspaceId
properties:
attributes:
type: object
description: Map[String, Attribute]
authorizationDomain:
type: array
items:
$ref: '#/definitions/ManagedGroupRef'
description: The list of groups in the Authorization Domain (empty if no AD is set)
bucketName:
type: string
description: The name of the bucket associated with the workspace
createdBy:
type: string
description: The user who created the workspace
createdDate:
type: string
format: date-time
description: 'The date the workspace was created in yyyy-MM-ddTHH:mm:ss.SSSZZ format'
isLocked:
type: boolean
description: Can the Workspace currently be modified?
lastModified:
type: string
format: date-time
description: 'The date the workspace was last modified in yyyy-MM-ddTHH:mm:ss.SSSZZ format'
name:
type: string
description: The name of the workspace
namespace:
type: string
description: The namespace the workspace belongs to
workflowCollectionName:
type: string
description: The name of the workflow collection associated with the workspace
workspaceId:
type: string
description: A UUID associated with the workspace

WorkspaceListResponse:
description: ''
properties:
accessLevel:
$ref: '#/definitions/WorkspaceAccessLevel'
public:
type: boolean
workspace:
$ref: '#/definitions/WorkspaceDetails'
workspaceSubmissionStats:
$ref: '#/definitions/WorkspaceSubmissionStats'

# clone- and create-workspace both use the WorkspaceRequest Scala class, but create-workspace ignores the
# copyFilesWithPrefix property. This is difficult to represent in swagger-ui, so here we use two different models
WorkspaceRequest:
description: ''
required:
- namespace
- name
- attributes
type: object
properties:
namespace:
type: string
description: New workspace namespace
description: The namespace (billing project) the workspace belongs to
name:
type: string
description: New workspace name
description: The name of the workspace
authorizationDomain:
type: array
items:
$ref: '#/definitions/ManagedGroupRef'
description: The list of groups in the Authorization Domain (empty if no AD is set)
attributes:
type: object
additionalProperties:
type: string
description: Map of attributes

# clone- and create-workspace both use the WorkspaceRequest Scala class, but create-workspace ignores the
# copyFilesWithPrefix property. This is difficult to represent in swagger-ui, so here we use two different models
WorkspaceRequestClone:
description: ''
required:
- namespace
- name
- attributes
properties:
namespace:
type: string
description: The namespace (billing project) the workspace belongs to
name:
type: string
description: The name of the workspace
authorizationDomain:
type: array
items:
$ref: '#/definitions/ManagedGroupRef'
description: The list of groups to form the Authorization Domain (empty if no Authorization Domain is set)
description: The list of groups in the Authorization Domain (empty if no AD is set)
attributes:
type: object
copyFilesWithPrefix:
type: string
description: Used for clone operations only; the prefix for files to copy between source and destination workspace buckets

WorkspaceResponse:
description: ''
properties:
accessLevel:
$ref: '#/definitions/WorkspaceAccessLevel'
bucketOptions:
$ref: '#/definitions/WorkspaceBucketOptions'
canCompute:
type: boolean
canShare:
type: boolean
catalog:
type: boolean
owners:
type: array
items:
type: string
description: >
Owners of this workspace. This API only lists owners; use the get-workspace-ACL API to get the full list of
all users at all permission levels.
workspace:
$ref: '#/definitions/WorkspaceDetails'
workspaceSubmissionStats:
$ref: '#/definitions/WorkspaceSubmissionStats'

WorkspaceSubmissionStats:
description: Statistics about submissions in a workspace
required:
- runningSubmissionsCount
properties:
lastSuccessDate:
type: string
format: date-time
description: The date of the last successful submission
lastFailureDate:
type: string
format: date-time
description: The date of the last failed submission
runningSubmissionsCount:
type: integer
description: Count of all the running submissions

WorkspaceTag:
required:
Expand Down

0 comments on commit 47cd03a

Please sign in to comment.