-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathapi-project.yaml
More file actions
156 lines (156 loc) · 4.65 KB
/
api-project.yaml
File metadata and controls
156 lines (156 loc) · 4.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
openapi: 3.0.3
info:
title: ODS API Server
description: API documentation for ODS (Open DevStack) API Service
contact:
name: ODS Team
version: v0.0.1
servers:
- url: http://{baseurl}/api/pub/v0
variables:
baseurl:
default: localhost:8080
description: Development environment
tags:
- name: Project
description: API for manage EDP projects.
paths:
/projects:
post:
tags:
- Projects
summary: Create a new project.
description: Creates a new project with the provided configuration. Generates a unique project key if not provided.
operationId: createProject
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateProjectRequest'
responses:
'200':
description: Project creation initiated successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/CreateProjectResponse'
'400':
description: Invalid request body or validation error.
content:
application/json:
schema:
$ref: '#/components/schemas/CreateProjectResponse'
"401":
description: Invalid client token on the request.
content:
application/json:
schema:
$ref: '#/components/schemas/RestErrorMessage'
"403":
description: Insufficient permissions for the client to access the resource.
content:
application/json:
schema:
$ref: '#/components/schemas/RestErrorMessage'
'409':
description: A project with the specified key already exists.
content:
application/json:
schema:
$ref: '#/components/schemas/CreateProjectResponse'
'500':
description: Internal server error during project creation.
content:
application/json:
schema:
$ref: '#/components/schemas/CreateProjectResponse'
/projects/{projectKey}:
get:
tags:
- Projects
summary: Get project status by project key.
description: Returns the current status and details of the project identified by the given project key.
operationId: getProject
parameters:
- name: projectKey
in: path
required: true
schema:
type: string
description: Project key to retrieve information.
responses:
'200':
description: Project information retrieved successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/CreateProjectResponse'
'404':
description: Project not found.
content:
application/json:
schema:
$ref: '#/components/schemas/CreateProjectResponse'
"401":
description: Invalid client token on the request.
content:
application/json:
schema:
$ref: '#/components/schemas/RestErrorMessage'
"403":
description: Insufficient permissions for the client to access the resource.
content:
application/json:
schema:
$ref: '#/components/schemas/RestErrorMessage'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/CreateProjectResponse'
components:
schemas:
RestErrorMessage:
properties:
message:
type: string
required:
- message
CreateProjectRequest:
type: object
properties:
projectKey:
type: string
description: Optional project key. If not provided, a unique key will be generated.
projectKeyPattern:
type: string
description: Optional pattern for generating the project key (e.g. 'SS%06d').
projectName:
type: string
description: Name of the project.
projectDescription:
type: string
description: Description of the project.
required:
- projectName
CreateProjectResponse:
type: object
properties:
projectKey:
type: string
status:
type: string
projectFlavor:
type: string
message:
type: string
error:
type: string
errorKey:
type: string
errorDescription:
type: string
location:
type: string