openapi: 3.0.1
info:
title: Coscine Web Admin ProjectResource API
description: Coscine (short for COllaborative SCientific INtegration Environment) is the research data management platform for your research project.
termsOfService: https://about.coscine.de/en/termsofuse/
contact:
name: Coscine Team
email: servicedesk@rwth-aachen.de
version: '2.0'
servers:
- url: https://coscine.rwth-aachen.de/coscine
security:
- Bearer: []
tags:
- name: ProjectResource
description: Endpoints for the project resources.
paths:
/api/v2/projects/{projectId}/resources:
post:
tags:
- ProjectResource
summary: Creates a new resource for a specified project.
operationId: CreateResourceForProject
parameters:
- name: projectId
in: path
description: The Id or slug of the project.
required: true
schema:
type: string
requestBody:
description: The resource data for creation.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceForCreationDto'
text/json:
schema:
$ref: '#/components/schemas/ResourceForCreationDto'
application/*+json:
schema:
$ref: '#/components/schemas/ResourceForCreationDto'
responses:
'201':
description: Resource created.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/ResourceDtoResponse'
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
get:
tags:
- ProjectResource
summary: Retrieves all resources for a specified project.
operationId: GetResourcesForProject
parameters:
- name: projectId
in: path
description: The Id or slug of the project.
required: true
schema:
type: string
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default is 10.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
responses:
'200':
description: Returns the resources.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/ResourceDtoPagedResponse'
'403':
description: User is missing authorization requirements.
options:
tags:
- ProjectResource
summary: Responds with the HTTP methods allowed for the endpoint.
parameters:
- name: projectId
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
/api/v2/projects/{projectId}/resources/{resourceId}:
get:
tags:
- ProjectResource
summary: Retrieves a resource for a specified project.
operationId: GetResourceForProject
parameters:
- name: projectId
in: path
description: The Id or slug of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The ID of the resource to retrieve.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Returns the resource.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceDtoResponse'
text/json:
schema:
$ref: '#/components/schemas/ResourceDtoResponse'
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format.
'404':
description: Resource does not exist or has been deleted.
put:
tags:
- ProjectResource
summary: Updates a resource for a specified project.
operationId: UpdateResourceForProject
parameters:
- name: projectId
in: path
description: The Id or slug of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The ID of the resource to update.
required: true
schema:
type: string
format: uuid
requestBody:
description: The updated resource data.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceForUpdateDto'
text/json:
schema:
$ref: '#/components/schemas/ResourceForUpdateDto'
application/*+json:
schema:
$ref: '#/components/schemas/ResourceForUpdateDto'
responses:
'204':
description: Resource updated.
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format or the resource is write-protected due to its archived status.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
delete:
tags:
- ProjectResource
summary: Deletes a resource for a specified project.
operationId: DeleteResourceForProject
parameters:
- name: projectId
in: path
description: The Id or slug of the project.
required: true
schema:
type: string
- name: resourceId
in: path
description: The ID of the resource to delete.
required: true
schema:
type: string
format: uuid
responses:
'204':
description: Resource deleted.
'403':
description: User is missing authorization requirements.
'400':
description: Provided input has a bad format or the resource is write-protected due to its archived status.
'404':
description: Provided input refers to entries that do not exist or have been deleted.
components:
schemas:
VisibilityDto:
type: object
properties:
id:
type: string
description: The identifier for the visibility setting.
format: uuid
displayName:
type: string
description: The display name for the visibility setting.
additionalProperties: false
description: Represents a Data Transfer Object (DTO) for visibility settings.
LicenseDto:
type: object
properties:
id:
type: string
description: Gets or sets the unique identifier for the license.
format: uuid
displayName:
type: string
description: Gets or sets the display name of the license.
url:
type: string
description: Gets or sets the Uri of the license.
format: uri
additionalProperties: false
description: Represents a Data Transfer Object (DTO) for license details.
QuotaUnit:
enum:
- https://qudt.org/vocab/unit/BYTE
- https://qudt.org/vocab/unit/KibiBYTE
- https://qudt.org/vocab/unit/MebiBYTE
- https://qudt.org/vocab/unit/GibiBYTE
- https://qudt.org/vocab/unit/TebiBYTE
- https://qudt.org/vocab/unit/PebiBYTE
type: string
description: Specifies the unit of quota.
ResourceDto:
required:
- applicationProfile
- description
- disciplines
- displayName
- fixedValues
- name
- pid
- type
- visibility
type: object
properties:
id:
type: string
description: Unique identifier for the resource.
format: uuid
pid:
type: string
description: Persistent identifier for the resource.
type:
$ref: '#/components/schemas/ResourceTypeDto'
name:
type: string
description: Name of the resource.
displayName:
type: string
description: Display name of the resource.
description:
type: string
description: Description of the resource.
keywords:
type: array
items:
type: string
description: Keywords associated with the resource.
nullable: true
license:
$ref: '#/components/schemas/LicenseDto'
usageRights:
type: string
description: Usage rights associated with the resource.
nullable: true
metadataLocalCopy:
type: boolean
description: Indicates whether a local copy of the metadata is available for the resource.
metadataExtraction:
type: boolean
description: Indicates whether metadata extraction is enabled for the resource.
applicationProfile:
$ref: '#/components/schemas/ApplicationProfileMinimalDto'
fixedValues:
type: object
additionalProperties:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/FixedValueForResourceManipulationDto'
description: "Fixed values associated with resource manipulation.\r\nThis dictionary may contain multiple levels and is structured as follows:\r\nDictionary (Key: string) -> Dictionary (Key: string) -> List of FixedValueForResourceManipulationDto."
disciplines:
type: array
items:
$ref: '#/components/schemas/DisciplineDto'
description: Disciplines associated with the resource.
visibility:
$ref: '#/components/schemas/VisibilityDto'
dateCreated:
type: string
description: Date when the resource was created.
format: date-time
nullable: true
creator:
$ref: '#/components/schemas/UserMinimalDto'
archived:
type: boolean
description: Indicates whether the resource is archived.
maintenanceMode:
type: boolean
description: Indicates whether the resource is in maintenance mode.
projects:
type: array
items:
$ref: '#/components/schemas/ProjectMinimalDto'
description: The projects associated with the resource.
nullable: true
additionalProperties: false
description: Represents a Data Transfer Object (DTO) for resource details.
DataStorageNrwS3ResourceTypeOptionsForManipulationDto:
required:
- quota
type: object
properties:
quota:
$ref: '#/components/schemas/QuotaForManipulationDto'
lifecycleOptions:
$ref: '#/components/schemas/LifecycleOptionsForManipulationDto'
replicationGroup:
$ref: '#/components/schemas/DsNrwReplicationGroupDto'
additionalProperties: false
description: Represents the data transfer object (DTO) for manipulating DataStorage.nrw S3 resource type options.
ResourceTypeDto:
required:
- generalType
- specificType
type: object
properties:
id:
type: string
description: The unique identifier of the resource type.
format: uuid
generalType:
type: string
description: The general type of the resource.
specificType:
type: string
description: The specific type of the resource.
options:
$ref: '#/components/schemas/ResourceTypeOptionsDto'
additionalProperties: false
description: Represents a resource type.
DataStorageNrwS3WormResourceTypeOptionsForManipulationDto:
required:
- quota
type: object
properties:
quota:
$ref: '#/components/schemas/QuotaForManipulationDto'
lifecycleOptions:
$ref: '#/components/schemas/LifecycleOptionsForManipulationDto'
replicationGroup:
$ref: '#/components/schemas/DsNrwReplicationGroupDto'
additionalProperties: false
description: Represents the data transfer object (DTO) for manipulating DataStorage.nrw S3 WORM resource type options.
DsNrwReplicationGroupDto:
enum:
- RWTH-UDE
- UZK-UPB
type: string
description: Possible replication groups for the DS NRW.
RdsOptionsDto:
required:
- bucketName
type: object
properties:
bucketName:
type: string
description: The name of the bucket associated with RDS.
size:
$ref: '#/components/schemas/QuotaDto'
additionalProperties: false
description: Represents the data transfer object (DTO) for RDS options.
FileSystemStorageOptionsDto:
required:
- directory
type: object
properties:
directory:
type: string
description: The directory where the files are stored.
additionalProperties: false
description: Represents the data transfer object (DTO) for FileSystemStorage options.
DataStorageNrwS3WormOptionsDto:
required:
- accessKeyRead
- accessKeyWrite
- bucketName
- endpoint
- secretKeyRead
- secretKeyWrite
type: object
properties:
bucketName:
type: string
description: The name of the bucket associated with DataStorage.nrw S3 WORM.
accessKeyRead:
type: string
description: The access key for reading from the DataStorage.nrw S3 WORM bucket.
secretKeyRead:
type: string
description: The secret key for reading from the DataStorage.nrw S3 WORM bucket.
accessKeyWrite:
type: string
description: The access key for writing to the DataStorage.nrw S3 WORM bucket.
secretKeyWrite:
type: string
description: The secret key for writing to the DataStorage.nrw S3 WORM bucket.
endpoint:
type: string
description: The endpoint for the RDS DataStorage.nrw WORM bucket.
size:
$ref: '#/components/schemas/QuotaDto'
additionalProperties: false
description: Represents the data transfer object (DTO) for DataStorage.nrw S3 WORM options.
RdsS3WormOptionsDto:
required:
- accessKeyRead
- accessKeyWrite
- bucketName
- endpoint
- secretKeyRead
- secretKeyWrite
type: object
properties:
bucketName:
type: string
description: The name of the bucket associated with RDS S3 WORM.
accessKeyRead:
type: string
description: The access key for reading from the RDS S3 WORM bucket.
secretKeyRead:
type: string
description: The secret key for reading from the RDS S3 WORM bucket.
accessKeyWrite:
type: string
description: The access key for writing to the RDS S3 WORM bucket.
secretKeyWrite:
type: string
description: The secret key for writing to the RDS S3 WORM bucket.
endpoint:
type: string
description: The endpoint for the RDS S3 WORM bucket.
size:
$ref: '#/components/schemas/QuotaDto'
additionalProperties: false
description: Represents the data transfer object (DTO) for RDS S3 WORM options.
ApplicationProfileMinimalDto:
required:
- uri
type: object
properties:
uri:
type: string
description: The URI associated with the application profile.
format: uri
additionalProperties: false
description: Represents a minimalistic application profile data transfer object.
RdsS3WormResourceTypeOptionsForManipulationDto:
required:
- quota
type: object
properties:
quota:
$ref: '#/components/schemas/QuotaForManipulationDto'
additionalProperties: false
description: Represents the data transfer object (DTO) for manipulating RDS S3 WORM resource type options.
LinkedDataOptionsDto:
type: object
additionalProperties: false
description: Represents the data transfer object (DTO) for Linked Data options.
LinkedDataResourceTypeOptionsForManipulationDto:
type: object
additionalProperties: false
description: Represents the data transfer object (DTO) for manipulating linked data resource type options.
ResourceForUpdateDto:
required:
- archived
- description
- disciplines
- name
- visibility
type: object
properties:
name:
maxLength: 200
minLength: 1
type: string
description: The name of the resource.
displayName:
maxLength: 25
type: string
description: The display name of the resource.
nullable: true
description:
maxLength: 10000
minLength: 1
type: string
description: The description of the resource.
keywords:
type: array
items:
type: string
description: The keywords associated with the resource.
nullable: true
fixedValues:
type: object
additionalProperties:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/FixedValueForResourceManipulationDto'
description: Fixed values associated with the resource.
nullable: true
license:
$ref: '#/components/schemas/LicenseForResourceManipulationDto'
usageRights:
maxLength: 200
type: string
description: The usage rights description of the resource.
nullable: true
metadataLocalCopy:
type: boolean
description: If a local copy for the metadata should be created.
nullable: true
visibility:
$ref: '#/components/schemas/VisibilityForResourceManipulationDto'
disciplines:
type: array
items:
$ref: '#/components/schemas/DisciplineForResourceManipulationDto'
description: The disciplines associated with the resource.
archived:
type: boolean
description: Indicates whether the resource is archived.
resourceTypeOptions:
$ref: '#/components/schemas/ResourceTypeOptionsForUpdateDto'
maintenanceMode:
type: boolean
description: Indicates whether the resource is in maintenance mode.
nullable: true
additionalProperties: false
description: "Represents the data transfer object (DTO) used for updating a resource.\r\nInherits properties from Coscine.Api.Core.Shared.DataTransferObjects.ParameterObjects.ResourceForManipulationDto."
Pagination:
type: object
properties:
currentPage:
type: integer
description: Gets or sets the current page number.
format: int32
totalPages:
type: integer
description: Gets or sets the total number of pages.
format: int32
pageSize:
type: integer
description: Gets or sets the number of items per page.
format: int32
totalCount:
type: integer
description: Gets or sets the total count of items across all pages.
format: int64
hasPrevious:
type: boolean
description: Gets a value indicating whether there is a previous page.
readOnly: true
hasNext:
type: boolean
description: Gets a value indicating whether there is a next page.
readOnly: true
additionalProperties: false
description: Represents pagination information for a collection of items.
ResourceDtoResponse:
type: object
properties:
data:
$ref: '#/components/schemas/ResourceDto'
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
UserMinimalDto:
required:
- id
type: object
properties:
id:
type: string
description: The unique identifier for the user.
format: uuid
additionalProperties: false
description: Represents a minimal Data Transfer Object (DTO) for user information.
DisciplineForResourceManipulationDto:
required:
- id
type: object
properties:
id:
type: string
description: Gets or initializes the identifier of the discipline.
format: uuid
additionalProperties: false
description: Data transfer object (DTO) representing a discipline for resource manipulation.
GitlabResourceTypeOptionsForCreationDto:
required:
- accessToken
- branch
- projectId
- repoUrl
- tosAccepted
type: object
properties:
branch:
minLength: 1
type: string
description: The branch associated with the GitLab resource.
accessToken:
minLength: 1
type: string
description: The access token for authentication with GitLab.
repoUrl:
type: string
description: The repository URL for the GitLab resource.
format: uri
projectId:
maximum: 2147483647
minimum: 1
type: integer
description: The project ID associated with the GitLab resource.
format: int32
tosAccepted:
type: boolean
description: Indicates whether the terms of service for the GitLab resource are accepted.
additionalProperties: false
description: Represents the data transfer object (DTO) for creating GitLab resource type options.
ResourceTypeOptionsDto:
type: object
properties:
linkedData:
$ref: '#/components/schemas/LinkedDataOptionsDto'
gitLab:
$ref: '#/components/schemas/GitLabOptionsDto'
rds:
$ref: '#/components/schemas/RdsOptionsDto'
rdsS3:
$ref: '#/components/schemas/RdsS3OptionsDto'
rdsS3Worm:
$ref: '#/components/schemas/RdsS3WormOptionsDto'
fileSystemStorage:
$ref: '#/components/schemas/FileSystemStorageOptionsDto'
dataStorageNrwWeb:
$ref: '#/components/schemas/DataStorageNrwWebOptionsDto'
dataStorageNrwS3:
$ref: '#/components/schemas/DataStorageNrwS3OptionsDto'
dataStorageNrwS3Worm:
$ref: '#/components/schemas/DataStorageNrwS3WormOptionsDto'
additionalProperties: false
description: Represents the options available for different resource types.
ApplicationProfileForResourceCreationDto:
required:
- uri
type: object
properties:
uri:
type: string
description: Gets or initializes the URI of the resource for the application profile.
format: uri
additionalProperties: false
description: Data transfer object (DTO) representing the creation of an application profile for a resource.
DataStorageNrwWebOptionsDto:
required:
- bucketName
type: object
properties:
bucketName:
type: string
description: The name of the bucket associated with DataStorage.nrw Web.
size:
$ref: '#/components/schemas/QuotaDto'
additionalProperties: false
description: Represents the data transfer object (DTO) for DataStorage.nrw Web options.
QuotaDto:
required:
- unit
- value
type: object
properties:
value:
type: number
description: The value of the quota.
format: float
unit:
$ref: '#/components/schemas/QuotaUnit'
additionalProperties: false
description: Represents a Data Transfer Object (DTO) for quota values.
RdsResourceTypeOptionsForManipulationDto:
required:
- quota
type: object
properties:
quota:
$ref: '#/components/schemas/QuotaForManipulationDto'
additionalProperties: false
description: Represents the data transfer object (DTO) for manipulating RDS Web resource type options.
ResourceTypeOptionsForCreationDto:
type: object
properties:
linkedResourceTypeOptions:
$ref: '#/components/schemas/LinkedDataResourceTypeOptionsForManipulationDto'
gitlabResourceTypeOptions:
$ref: '#/components/schemas/GitlabResourceTypeOptionsForCreationDto'
rdsResourceTypeOptions:
$ref: '#/components/schemas/RdsResourceTypeOptionsForManipulationDto'
rdsS3ResourceTypeOptions:
$ref: '#/components/schemas/RdsS3ResourceTypeOptionsForManipulationDto'
rdsS3WormResourceTypeOptions:
$ref: '#/components/schemas/RdsS3WormResourceTypeOptionsForManipulationDto'
dataStorageNrwWebResourceTypeOptions:
$ref: '#/components/schemas/DataStorageNrwWebResourceTypeOptionsForManipulationDto'
dataStorageNrwS3ResourceTypeOptions:
$ref: '#/components/schemas/DataStorageNrwS3ResourceTypeOptionsForManipulationDto'
dataStorageNrwS3WormResourceTypeOptions:
$ref: '#/components/schemas/DataStorageNrwS3WormResourceTypeOptionsForManipulationDto'
additionalProperties: false
description: Represents the data transfer object (DTO) for creating options related to any resource type.
GitlabResourceTypeOptionsForUpdateDto:
required:
- accessToken
- branch
type: object
properties:
branch:
minLength: 1
type: string
description: The branch associated with the GitLab resource.
accessToken:
minLength: 1
type: string
description: The access token for authentication with GitLab.
additionalProperties: false
description: Represents the data transfer object (DTO) for updating GitLab resource type options.
GitLabOptionsDto:
type: object
properties:
projectId:
type: integer
description: The project ID associated with GitLab.
format: int32
repoUrl:
type: string
description: The repository URL for GitLab.
nullable: true
accessToken:
type: string
description: The access token for GitLab.
nullable: true
branch:
type: string
description: The branch for GitLab.
nullable: true
additionalProperties: false
description: Represents the data transfer object (DTO) for GitLab options.
VisibilityForResourceManipulationDto:
required:
- id
type: object
properties:
id:
type: string
description: The unique identifier of the visibility setting.
format: uuid
additionalProperties: false
description: Represents the data transfer object (DTO) for manipulating the visibility of a resource.
DataStorageNrwS3OptionsDto:
required:
- accessKeyRead
- accessKeyWrite
- bucketName
- endpoint
- secretKeyRead
- secretKeyWrite
type: object
properties:
bucketName:
type: string
description: The name of the bucket associated with DataStorage.nrw S3.
accessKeyRead:
type: string
description: The access key for reading from the DataStorage.nrw S3 bucket.
secretKeyRead:
type: string
description: The secret key for reading from the DataStorage.nrw S3 bucket.
accessKeyWrite:
type: string
description: The access key for writing to the DataStorage.nrw S3 bucket.
secretKeyWrite:
type: string
description: The secret key for writing to the DataStorage.nrw S3 bucket.
endpoint:
type: string
description: The endpoint for the DataStorage.nrw S3 bucket.
size:
$ref: '#/components/schemas/QuotaDto'
additionalProperties: false
description: Represents the data transfer object (DTO) for DataStorage.nrw S3 options.
ResourceTypeOptionsForUpdateDto:
type: object
properties:
linkedResourceTypeOptions:
$ref: '#/components/schemas/LinkedDataResourceTypeOptionsForManipulationDto'
gitlabResourceTypeOptions:
$ref: '#/components/schemas/GitlabResourceTypeOptionsForUpdateDto'
rdsResourceTypeOptions:
$ref: '#/components/schemas/RdsResourceTypeOptionsForManipulationDto'
rdsS3ResourceTypeOptions:
$ref: '#/components/schemas/RdsS3ResourceTypeOptionsForManipulationDto'
rdsS3WormResourceTypeOptions:
$ref: '#/components/schemas/RdsS3WormResourceTypeOptionsForManipulationDto'
dataStorageNrwWebResourceTypeOptions:
$ref: '#/components/schemas/DataStorageNrwWebResourceTypeOptionsForManipulationDto'
dataStorageNrwS3ResourceTypeOptions:
$ref: '#/components/schemas/DataStorageNrwS3ResourceTypeOptionsForManipulationDto'
dataStorageNrwS3WormResourceTypeOptions:
$ref: '#/components/schemas/DataStorageNrwS3WormResourceTypeOptionsForManipulationDto'
additionalProperties: false
description: Represents the data transfer object (DTO) used for updating options related to any resource type.
LicenseForResourceManipulationDto:
required:
- id
type: object
properties:
id:
type: string
description: Gets or initializes the identifier of the license.
format: uuid
additionalProperties: false
description: Data transfer object (DTO) representing a license for resource manipulation.
RdsS3OptionsDto:
required:
- accessKeyRead
- accessKeyWrite
- bucketName
- endpoint
- secretKeyRead
- secretKeyWrite
type: object
properties:
bucketName:
type: string
description: The name of the bucket associated with RDS S3.
accessKeyRead:
type: string
description: The access key for reading from the RDS S3 bucket.
secretKeyRead:
type: string
description: The secret key for reading from the RDS S3 bucket.
accessKeyWrite:
type: string
description: The access key for writing to the RDS S3 bucket.
secretKeyWrite:
type: string
description: The secret key for writing to the RDS S3 bucket.
endpoint:
type: string
description: The endpoint for the RDS S3 bucket.
size:
$ref: '#/components/schemas/QuotaDto'
additionalProperties: false
description: Represents the data transfer object (DTO) for RDS S3 options.
ResourceDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ResourceDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
FixedValueForResourceManipulationDto:
type: object
properties:
value:
type: string
description: Gets or initializes the value of the fixed resource value.
nullable: true
type:
type: string
description: Gets or initializes the type of the fixed resource value.
nullable: true
datatype:
type: string
description: Gets or initializes the data type URI of the fixed resource value.
format: uri
nullable: true
targetClass:
type: string
description: Gets the target class of the provided value (e.g., "https://purl.org/coscine/ap/base/").
nullable: true
additionalProperties: false
description: Data transfer object (DTO) representing the manipulation of a fixed value associated with a resource.
RdsS3ResourceTypeOptionsForManipulationDto:
required:
- quota
type: object
properties:
quota:
$ref: '#/components/schemas/QuotaForManipulationDto'
additionalProperties: false
description: Represents the data transfer object (DTO) for manipulating RDS S3 resource type options.
ResourceForCreationDto:
required:
- applicationProfile
- description
- disciplines
- name
- resourceTypeId
- resourceTypeOptions
- visibility
type: object
properties:
name:
maxLength: 200
minLength: 1
type: string
description: The name of the resource.
displayName:
maxLength: 25
type: string
description: The display name of the resource.
nullable: true
description:
maxLength: 10000
minLength: 1
type: string
description: The description of the resource.
keywords:
type: array
items:
type: string
description: The keywords associated with the resource.
nullable: true
fixedValues:
type: object
additionalProperties:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/FixedValueForResourceManipulationDto'
description: Fixed values associated with the resource.
nullable: true
license:
$ref: '#/components/schemas/LicenseForResourceManipulationDto'
usageRights:
maxLength: 200
type: string
description: The usage rights description of the resource.
nullable: true
metadataLocalCopy:
type: boolean
description: If a local copy for the metadata should be created.
nullable: true
visibility:
$ref: '#/components/schemas/VisibilityForResourceManipulationDto'
disciplines:
type: array
items:
$ref: '#/components/schemas/DisciplineForResourceManipulationDto'
description: The disciplines associated with the resource.
resourceTypeId:
type: string
description: The identifier of the resource type associated with the resource.
format: uuid
applicationProfile:
$ref: '#/components/schemas/ApplicationProfileForResourceCreationDto'
resourceTypeOptions:
$ref: '#/components/schemas/ResourceTypeOptionsForCreationDto'
additionalProperties: false
description: "Represents the data transfer object (DTO) used for creating a resource.\r\nInherits properties from Coscine.Api.Core.Shared.DataTransferObjects.ParameterObjects.ResourceForManipulationDto."
LifecycleOptionsForManipulationDto:
type: object
properties:
abortIncompleteMultipartAfterDays:
maximum: 365
minimum: 7
type: integer
description: "Gets the number of days after which incomplete multipart uploads are automatically aborted.\r\nA value of `null` means no rule is applied."
format: int32
nullable: true
noncurrentVersionExpireAfterDays:
maximum: 365
minimum: 7
type: integer
description: "Gets the number of days after which noncurrent (previous) object versions expire.\r\nA value of `null` means no rule is applied."
format: int32
nullable: true
additionalProperties: false
description: Represents the data transfer object (DTO) for manipulating lifecycle options on an S3 bucket.
DataStorageNrwWebResourceTypeOptionsForManipulationDto:
required:
- quota
type: object
properties:
quota:
$ref: '#/components/schemas/QuotaForManipulationDto'
lifecycleOptions:
$ref: '#/components/schemas/LifecycleOptionsForManipulationDto'
replicationGroup:
$ref: '#/components/schemas/DsNrwReplicationGroupDto'
additionalProperties: false
description: Represents the data transfer object (DTO) for manipulating DataStorage.nrw Web resource type options.
DisciplineDto:
type: object
properties:
id:
type: string
description: The unique identifier for the discipline.
format: uuid
uri:
type: string
description: The URI associated with the discipline.
displayNameDe:
type: string
description: The display name of the discipline in German.
displayNameEn:
type: string
description: The display name of the discipline in English.
additionalProperties: false
description: Represents the data transfer object for a discipline.
ProjectMinimalDto:
required:
- id
type: object
properties:
id:
type: string
description: Unique identifier for the project.
format: uuid
additionalProperties: false
description: Represents a minimal data transfer object (DTO) for a project.
QuotaForManipulationDto:
required:
- unit
- value
type: object
properties:
value:
minimum: 0
type: integer
description: The numerical value of the quota. Must be a positive System.Int64.
format: int64
unit:
$ref: '#/components/schemas/QuotaUnit'
additionalProperties: false
description: Represents a data transfer object (DTO) used for manipulating quota values.
securitySchemes:
Bearer:
type: apiKey
description: JWT Authorization header using the Bearer scheme.
name: Authorization
in: header