mirror of
https://github.com/immich-app/yucca.git
synced 2026-09-30 21:37:50 +08:00
2421 lines
53 KiB
JSON
2421 lines
53 KiB
JSON
{
|
|
"openapi": "3.0.0",
|
|
"paths": {
|
|
"/api/yucca/auth/oidc/device": {
|
|
"get": {
|
|
"operationId": "connectDeviceFlow",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DeviceFlowEventDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Auth"
|
|
]
|
|
}
|
|
},
|
|
"/api/yucca/auth/session/device": {
|
|
"get": {
|
|
"operationId": "sessionDeviceFlow",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DeviceFlowEventDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Auth"
|
|
]
|
|
}
|
|
},
|
|
"/api/yucca/auth/session": {
|
|
"post": {
|
|
"operationId": "createSession",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateSessionRequestDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"Auth"
|
|
]
|
|
}
|
|
},
|
|
"/api/yucca/auth/ticket": {
|
|
"post": {
|
|
"operationId": "createTicket",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TicketCreateRequestDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TicketCreateResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Auth"
|
|
]
|
|
}
|
|
},
|
|
"/api/yucca/backend": {
|
|
"get": {
|
|
"operationId": "getBackends",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BackendsResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Backend"
|
|
]
|
|
}
|
|
},
|
|
"/api/yucca/backend/local": {
|
|
"post": {
|
|
"operationId": "createLocalBackend",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateLocalBackendRequestDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BackendResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Backend"
|
|
]
|
|
}
|
|
},
|
|
"/api/yucca/debug/reset": {
|
|
"post": {
|
|
"operationId": "resetOrchestrator",
|
|
"parameters": [],
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"Development"
|
|
]
|
|
}
|
|
},
|
|
"/api/yucca/fs": {
|
|
"get": {
|
|
"operationId": "getFileListing",
|
|
"parameters": [
|
|
{
|
|
"name": "path",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/FilesystemListingResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Filesystem"
|
|
]
|
|
}
|
|
},
|
|
"/api/yucca/integrations": {
|
|
"get": {
|
|
"operationId": "getIntegrations",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/IntegrationsResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Integrations"
|
|
]
|
|
}
|
|
},
|
|
"/api/yucca/integrations/immich": {
|
|
"post": {
|
|
"operationId": "configureImmichIntegration",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ConfigureImmichIntegrationRequestDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"Integrations"
|
|
]
|
|
}
|
|
},
|
|
"/api/yucca/integrations/immich/rollback": {
|
|
"post": {
|
|
"operationId": "startImmichRollback",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ImmichRollbackRequestDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"Integrations"
|
|
]
|
|
}
|
|
},
|
|
"/api/yucca/onboarding": {
|
|
"get": {
|
|
"operationId": "onboardingStatus",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/OnboardingStatusResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Onboarding"
|
|
]
|
|
}
|
|
},
|
|
"/api/yucca/onboarding/recovery-key": {
|
|
"get": {
|
|
"operationId": "currentRecoveryKey",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CurrentRecoveryKeyResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Onboarding"
|
|
]
|
|
},
|
|
"put": {
|
|
"operationId": "importRecoveryKey",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ImportRecoveryKeyRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"Onboarding"
|
|
]
|
|
},
|
|
"post": {
|
|
"operationId": "confirmRecoveryKey",
|
|
"parameters": [],
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"Onboarding"
|
|
]
|
|
}
|
|
},
|
|
"/api/yucca/onboarding/skip": {
|
|
"post": {
|
|
"operationId": "skipOnboardingExtraConfig",
|
|
"parameters": [],
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"Onboarding"
|
|
]
|
|
}
|
|
},
|
|
"/api/yucca/onboarding/telemetry": {
|
|
"post": {
|
|
"operationId": "enableTelemetry",
|
|
"parameters": [],
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"Onboarding"
|
|
]
|
|
}
|
|
},
|
|
"/api/yucca/onboarding/report-error": {
|
|
"post": {
|
|
"operationId": "reportError",
|
|
"parameters": [],
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"Onboarding"
|
|
]
|
|
}
|
|
},
|
|
"/api/yucca/repository": {
|
|
"post": {
|
|
"operationId": "createRepository",
|
|
"parameters": [
|
|
{
|
|
"name": "backend",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RepositoryCreateRequestDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RepositoryCreateResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Repository"
|
|
]
|
|
},
|
|
"get": {
|
|
"operationId": "getRepositories",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RepositoryListResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Repository"
|
|
]
|
|
}
|
|
},
|
|
"/api/yucca/repository/inspect": {
|
|
"get": {
|
|
"operationId": "inspectRepositories",
|
|
"parameters": [
|
|
{
|
|
"name": "backend",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RepositoryInspectResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Repository"
|
|
]
|
|
}
|
|
},
|
|
"/api/yucca/repository/{id}": {
|
|
"patch": {
|
|
"operationId": "updateRepository",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "backend",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RepositoryUpdateRequestDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RepositoryUpdateResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Repository"
|
|
]
|
|
},
|
|
"delete": {
|
|
"operationId": "deleteRepository",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"Repository"
|
|
]
|
|
},
|
|
"post": {
|
|
"operationId": "createBackup",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/LogResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Repository"
|
|
]
|
|
}
|
|
},
|
|
"/api/yucca/repository/{id}/import": {
|
|
"get": {
|
|
"operationId": "checkImportRepository",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "backend",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RepositoryCheckImportResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Repository"
|
|
]
|
|
},
|
|
"post": {
|
|
"operationId": "importRepository",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "backend",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RepositoryCreateResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Repository"
|
|
]
|
|
}
|
|
},
|
|
"/api/yucca/repository/{id}/backend": {
|
|
"put": {
|
|
"operationId": "reconfigureRepositoryPrimaryBackend",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RepositoryPrimaryBackendReconfigureRequestDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RepositoryCreateResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Repository"
|
|
]
|
|
}
|
|
},
|
|
"/api/yucca/repository/{id}/runs": {
|
|
"get": {
|
|
"operationId": "getRunHistory",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RunHistoryResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Repository"
|
|
]
|
|
}
|
|
},
|
|
"/api/yucca/repository/{id}/snapshots": {
|
|
"get": {
|
|
"operationId": "getSnapshots",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ListSnapshotsResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Repository"
|
|
]
|
|
}
|
|
},
|
|
"/api/yucca/repository/{id}/snapshots/prune": {
|
|
"post": {
|
|
"operationId": "pruneRepository",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/LogResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Repository"
|
|
]
|
|
}
|
|
},
|
|
"/api/yucca/repository/{id}/snapshots/{snapshot}": {
|
|
"post": {
|
|
"operationId": "restoreSnapshot",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "snapshot",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RepositorySnapshotRestoreRequestDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/LogResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Repository"
|
|
]
|
|
},
|
|
"delete": {
|
|
"operationId": "forgetSnapshot",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "snapshot",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ListSnapshotsResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Repository"
|
|
]
|
|
}
|
|
},
|
|
"/api/yucca/repository/{id}/snapshots/{snapshot}/restore-from-point": {
|
|
"post": {
|
|
"operationId": "restoreFromPoint",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "snapshot",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "backend",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RepositorySnapshotRestoreFromPointRequestDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/LogResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Repository"
|
|
]
|
|
}
|
|
},
|
|
"/api/yucca/repository/{id}/snapshots/{snapshot}/listing": {
|
|
"get": {
|
|
"operationId": "getSnapshotListing",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "snapshot",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "path",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/FilesystemListingResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Repository"
|
|
]
|
|
}
|
|
},
|
|
"/api/yucca/logs/{id}": {
|
|
"get": {
|
|
"operationId": "getRun",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RunResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"RunHistory"
|
|
]
|
|
}
|
|
},
|
|
"/api/yucca/logs/{id}/stream": {
|
|
"get": {
|
|
"operationId": "logStreamSse",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"RunHistory"
|
|
]
|
|
}
|
|
},
|
|
"/api/yucca/tasks": {
|
|
"get": {
|
|
"operationId": "getRunningTasks",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RunningTaskListResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"RunningTasks"
|
|
]
|
|
}
|
|
},
|
|
"/api/yucca/tasks/{parentId}/cancel": {
|
|
"post": {
|
|
"operationId": "cancelTask",
|
|
"parameters": [
|
|
{
|
|
"name": "parentId",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"RunningTasks"
|
|
]
|
|
}
|
|
},
|
|
"/api/yucca/schedule": {
|
|
"post": {
|
|
"operationId": "createSchedule",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ScheduleCreateRequestDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ScheduleCreateResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Schedule"
|
|
]
|
|
},
|
|
"get": {
|
|
"operationId": "getSchedules",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ScheduleListResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Schedule"
|
|
]
|
|
}
|
|
},
|
|
"/api/yucca/schedule/{id}": {
|
|
"patch": {
|
|
"operationId": "updateSchedule",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ScheduleUpdateRequestDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ScheduleUpdateResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Schedule"
|
|
]
|
|
},
|
|
"delete": {
|
|
"operationId": "removeSchedule",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"Schedule"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"info": {
|
|
"title": "yucca",
|
|
"description": "yucca SDK",
|
|
"version": "1.0.0",
|
|
"contact": {}
|
|
},
|
|
"tags": [],
|
|
"servers": [
|
|
{
|
|
"url": "http://localhost:22676"
|
|
}
|
|
],
|
|
"components": {
|
|
"schemas": {
|
|
"DeviceFlowEventType": {
|
|
"type": "string",
|
|
"enum": [
|
|
"START",
|
|
"SUCCESS",
|
|
"FAILURE"
|
|
]
|
|
},
|
|
"DeviceFlowFailureReason": {
|
|
"type": "string",
|
|
"enum": [
|
|
"NOT_CONNECTED",
|
|
"DEVICE_FLOW_FAILED",
|
|
"WRONG_ACCOUNT",
|
|
"UNKNOWN"
|
|
]
|
|
},
|
|
"DeviceFlowEventDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/DeviceFlowEventType"
|
|
}
|
|
]
|
|
},
|
|
"userCode": {
|
|
"type": "string"
|
|
},
|
|
"verificationUri": {
|
|
"type": "string"
|
|
},
|
|
"token": {
|
|
"type": "string"
|
|
},
|
|
"backendId": {
|
|
"type": "string"
|
|
},
|
|
"reason": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/DeviceFlowFailureReason"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type"
|
|
]
|
|
},
|
|
"CreateSessionRequestDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"token": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"token"
|
|
]
|
|
},
|
|
"TicketAction": {
|
|
"type": "string",
|
|
"enum": [
|
|
"repository.delete",
|
|
"repository.disable-worm"
|
|
]
|
|
},
|
|
"TicketCreateRequestDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"action": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/TicketAction"
|
|
}
|
|
]
|
|
},
|
|
"repositoryId": {
|
|
"type": "string",
|
|
"description": "Repository the ticket is bound to"
|
|
}
|
|
},
|
|
"required": [
|
|
"action",
|
|
"repositoryId"
|
|
]
|
|
},
|
|
"TicketCreateResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"redirectTo": {
|
|
"type": "string",
|
|
"description": "Identity provider URL the browser must be sent to"
|
|
}
|
|
},
|
|
"required": [
|
|
"redirectTo"
|
|
]
|
|
},
|
|
"BackendType": {
|
|
"type": "string",
|
|
"enum": [
|
|
"yucca",
|
|
"local",
|
|
"s3"
|
|
]
|
|
},
|
|
"BackendDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/BackendType"
|
|
}
|
|
]
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"isOnline": {
|
|
"type": "boolean"
|
|
},
|
|
"error": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"type",
|
|
"description",
|
|
"isOnline"
|
|
]
|
|
},
|
|
"BackendsResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"backends": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/BackendDto"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"backends"
|
|
]
|
|
},
|
|
"CreateLocalBackendRequestDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"path": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"path"
|
|
]
|
|
},
|
|
"BackendResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"backend": {
|
|
"$ref": "#/components/schemas/BackendDto"
|
|
}
|
|
},
|
|
"required": [
|
|
"backend"
|
|
]
|
|
},
|
|
"FilesystemListingItemDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"isDirectory": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"path",
|
|
"isDirectory"
|
|
]
|
|
},
|
|
"FilesystemListingResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"parent": {
|
|
"type": "string"
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/FilesystemListingItemDto"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"parent",
|
|
"path",
|
|
"items"
|
|
]
|
|
},
|
|
"ImmichLibraryDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"importPaths": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"exclusionPatterns": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"importPaths",
|
|
"exclusionPatterns"
|
|
]
|
|
},
|
|
"ImmichStateDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"dataPath": {
|
|
"type": "string"
|
|
},
|
|
"dataFolders": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"libraries": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ImmichLibraryDto"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"dataPath",
|
|
"dataFolders",
|
|
"libraries"
|
|
]
|
|
},
|
|
"ImmichIntegrationConfigurationDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"dataFolders": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"backupConfiguration": {
|
|
"type": "boolean"
|
|
},
|
|
"libraries": {
|
|
"oneOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"all"
|
|
]
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"dataFolders",
|
|
"backupConfiguration",
|
|
"libraries"
|
|
]
|
|
},
|
|
"ImmichIntegrationDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"scheduleId": {
|
|
"type": "string"
|
|
},
|
|
"configuration": {
|
|
"$ref": "#/components/schemas/ImmichIntegrationConfigurationDto"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"scheduleId",
|
|
"configuration"
|
|
]
|
|
},
|
|
"IntegrationsResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"immichState": {
|
|
"$ref": "#/components/schemas/ImmichStateDto"
|
|
},
|
|
"immichIntegration": {
|
|
"$ref": "#/components/schemas/ImmichIntegrationDto"
|
|
}
|
|
}
|
|
},
|
|
"RetentionPolicyDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"keepLast": {
|
|
"type": "number"
|
|
},
|
|
"keepWithin": {
|
|
"type": "string"
|
|
},
|
|
"keepWithinHourly": {
|
|
"type": "string"
|
|
},
|
|
"keepWithinDaily": {
|
|
"type": "string"
|
|
},
|
|
"keepWithinWeekly": {
|
|
"type": "string"
|
|
},
|
|
"keepWithinMonthly": {
|
|
"type": "string"
|
|
},
|
|
"keepWithinYearly": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"ConfigureImmichIntegrationRequestDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"worm": {
|
|
"type": "boolean"
|
|
},
|
|
"cron": {
|
|
"type": "string"
|
|
},
|
|
"dataFolders": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"backupConfiguration": {
|
|
"type": "boolean"
|
|
},
|
|
"libraries": {
|
|
"oneOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"all"
|
|
]
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"retentionPolicy": {
|
|
"nullable": true,
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/RetentionPolicyDto"
|
|
}
|
|
]
|
|
},
|
|
"paused": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"worm",
|
|
"cron",
|
|
"dataFolders",
|
|
"backupConfiguration",
|
|
"libraries"
|
|
]
|
|
},
|
|
"ImmichRollbackRequestDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"repositoryId": {
|
|
"type": "string"
|
|
},
|
|
"snapshotId": {
|
|
"type": "string"
|
|
},
|
|
"backupFileName": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"repositoryId",
|
|
"snapshotId"
|
|
]
|
|
},
|
|
"BootstrapStatus": {
|
|
"type": "string",
|
|
"enum": [
|
|
"not-ready",
|
|
"ready",
|
|
"error"
|
|
]
|
|
},
|
|
"TelemetryLevel": {
|
|
"type": "string",
|
|
"enum": [
|
|
"full",
|
|
"none"
|
|
]
|
|
},
|
|
"OnboardingStatusResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/BootstrapStatus"
|
|
}
|
|
]
|
|
},
|
|
"error": {
|
|
"type": "string"
|
|
},
|
|
"hasTelemetry": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/TelemetryLevel"
|
|
}
|
|
]
|
|
},
|
|
"requiresAuthentication": {
|
|
"type": "boolean"
|
|
},
|
|
"isAuthenticated": {
|
|
"type": "boolean"
|
|
},
|
|
"hasOnboardedKey": {
|
|
"type": "boolean"
|
|
},
|
|
"hasBackend": {
|
|
"type": "boolean"
|
|
},
|
|
"hasBackup": {
|
|
"type": "boolean"
|
|
},
|
|
"hasSchedule": {
|
|
"type": "boolean"
|
|
},
|
|
"hasSkippedExtraConfig": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"status",
|
|
"hasTelemetry",
|
|
"requiresAuthentication",
|
|
"isAuthenticated",
|
|
"hasOnboardedKey",
|
|
"hasBackend",
|
|
"hasBackup",
|
|
"hasSchedule",
|
|
"hasSkippedExtraConfig"
|
|
]
|
|
},
|
|
"CurrentRecoveryKeyResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"recoveryKey": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"recoveryKey"
|
|
]
|
|
},
|
|
"ImportRecoveryKeyRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"recoveryKey": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"recoveryKey"
|
|
]
|
|
},
|
|
"RepositoryCreateRequestDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"worm": {
|
|
"type": "boolean"
|
|
},
|
|
"site": {
|
|
"type": "string",
|
|
"description": "Internal site code from environment metadata"
|
|
},
|
|
"paths": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"worm"
|
|
]
|
|
},
|
|
"TaskStatus": {
|
|
"type": "string",
|
|
"enum": [
|
|
"incomplete",
|
|
"complete",
|
|
"warn",
|
|
"failed"
|
|
]
|
|
},
|
|
"RepositoryMetricsDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"lastBackup": {
|
|
"type": "string"
|
|
},
|
|
"lastBackupStatus": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/TaskStatus"
|
|
}
|
|
]
|
|
},
|
|
"lastBackupDuration": {
|
|
"type": "number"
|
|
},
|
|
"sizeBytes": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"sizeBytes"
|
|
]
|
|
},
|
|
"RepositoryMeterDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sizeBytes": {
|
|
"type": "number"
|
|
},
|
|
"objectCount": {
|
|
"type": "number"
|
|
},
|
|
"lastUpdated": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"sizeBytes",
|
|
"objectCount"
|
|
]
|
|
},
|
|
"RepositoryBackendDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/BackendType"
|
|
}
|
|
]
|
|
},
|
|
"online": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"type",
|
|
"online"
|
|
]
|
|
},
|
|
"RepositoryBackendsDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"primary": {
|
|
"$ref": "#/components/schemas/RepositoryBackendDto"
|
|
},
|
|
"secondary": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/RepositoryBackendDto"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"primary",
|
|
"secondary"
|
|
]
|
|
},
|
|
"RepositoryConfigurationDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"paths": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"retentionPolicy": {
|
|
"nullable": true,
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/RetentionPolicyDto"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"paths"
|
|
]
|
|
},
|
|
"LocalRepositoryDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"worm": {
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"siteCode": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"storageClusterCode": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"metrics": {
|
|
"$ref": "#/components/schemas/RepositoryMetricsDto"
|
|
},
|
|
"meter": {
|
|
"$ref": "#/components/schemas/RepositoryMeterDto"
|
|
},
|
|
"backends": {
|
|
"$ref": "#/components/schemas/RepositoryBackendsDto"
|
|
},
|
|
"configuration": {
|
|
"$ref": "#/components/schemas/RepositoryConfigurationDto"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"worm",
|
|
"name",
|
|
"siteCode",
|
|
"storageClusterCode",
|
|
"metrics"
|
|
]
|
|
},
|
|
"RepositoryCreateResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"repository": {
|
|
"$ref": "#/components/schemas/LocalRepositoryDto"
|
|
}
|
|
},
|
|
"required": [
|
|
"repository"
|
|
]
|
|
},
|
|
"RepositoryListResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"repositories": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/LocalRepositoryDto"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"repositories"
|
|
]
|
|
},
|
|
"SnapshotSummaryDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"filesNew": {
|
|
"type": "number"
|
|
},
|
|
"filesChanged": {
|
|
"type": "number"
|
|
},
|
|
"filesUnmodified": {
|
|
"type": "number"
|
|
},
|
|
"totalFiles": {
|
|
"type": "number"
|
|
},
|
|
"totalBytes": {
|
|
"type": "number"
|
|
},
|
|
"dataAdded": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"filesNew",
|
|
"filesChanged",
|
|
"filesUnmodified",
|
|
"totalFiles",
|
|
"totalBytes",
|
|
"dataAdded"
|
|
]
|
|
},
|
|
"SnapshotDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"time": {
|
|
"type": "string"
|
|
},
|
|
"paths": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"tags": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"summary": {
|
|
"$ref": "#/components/schemas/SnapshotSummaryDto"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"time",
|
|
"paths"
|
|
]
|
|
},
|
|
"InspectedLocalRepositoryDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"worm": {
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"siteCode": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"storageClusterCode": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"metrics": {
|
|
"$ref": "#/components/schemas/RepositoryMetricsDto"
|
|
},
|
|
"meter": {
|
|
"$ref": "#/components/schemas/RepositoryMeterDto"
|
|
},
|
|
"backends": {
|
|
"$ref": "#/components/schemas/RepositoryBackendsDto"
|
|
},
|
|
"configuration": {
|
|
"$ref": "#/components/schemas/RepositoryConfigurationDto"
|
|
},
|
|
"snapshots": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/SnapshotDto"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"worm",
|
|
"name",
|
|
"siteCode",
|
|
"storageClusterCode",
|
|
"metrics",
|
|
"snapshots"
|
|
]
|
|
},
|
|
"RepositoryInspectResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"repositories": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/InspectedLocalRepositoryDto"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"repositories"
|
|
]
|
|
},
|
|
"RepositoryUpdateRequestDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"worm": {
|
|
"type": "boolean"
|
|
},
|
|
"paths": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"retentionPolicy": {
|
|
"nullable": true,
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/RetentionPolicyDto"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"RepositoryUpdateResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"repository": {
|
|
"$ref": "#/components/schemas/LocalRepositoryDto"
|
|
}
|
|
},
|
|
"required": [
|
|
"repository"
|
|
]
|
|
},
|
|
"LogResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"logId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"logId"
|
|
]
|
|
},
|
|
"RepositoryCheckImportResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"readable": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"readable"
|
|
]
|
|
},
|
|
"RepositoryPrimaryBackendReconfigureRequestDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"backendId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"backendId"
|
|
]
|
|
},
|
|
"RunStatus": {
|
|
"type": "string",
|
|
"enum": [
|
|
"incomplete",
|
|
"complete",
|
|
"warn",
|
|
"failed"
|
|
]
|
|
},
|
|
"RunType": {
|
|
"type": "string",
|
|
"enum": [
|
|
"schedule",
|
|
"restore",
|
|
"backup",
|
|
"forget"
|
|
]
|
|
},
|
|
"RunDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"repositoryId": {
|
|
"type": "string"
|
|
},
|
|
"start": {
|
|
"type": "string"
|
|
},
|
|
"end": {
|
|
"type": "string"
|
|
},
|
|
"logFilePath": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/RunStatus"
|
|
}
|
|
]
|
|
},
|
|
"type": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/RunType"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"repositoryId",
|
|
"start",
|
|
"end",
|
|
"logFilePath",
|
|
"status",
|
|
"type"
|
|
]
|
|
},
|
|
"RunHistoryResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"runs": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/RunDto"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"runs"
|
|
]
|
|
},
|
|
"ListSnapshotsResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"snapshots": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/SnapshotDto"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"snapshots"
|
|
]
|
|
},
|
|
"RepositorySnapshotRestoreRequestDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"target": {
|
|
"type": "string"
|
|
},
|
|
"include": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"RepositorySnapshotRestoreFromPointRequestDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"yuccaConfig": {
|
|
"type": "string"
|
|
},
|
|
"include": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"RunResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"run": {
|
|
"$ref": "#/components/schemas/RunDto"
|
|
}
|
|
},
|
|
"required": [
|
|
"run"
|
|
]
|
|
},
|
|
"TaskType": {
|
|
"type": "string",
|
|
"enum": [
|
|
"schedule",
|
|
"restore",
|
|
"backup",
|
|
"forget"
|
|
]
|
|
},
|
|
"ActiveScheduleItemDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"repositoryId": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/TaskStatus"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"repositoryId",
|
|
"status"
|
|
]
|
|
},
|
|
"RunningTaskDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"parentId": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/TaskType"
|
|
}
|
|
]
|
|
},
|
|
"logId": {
|
|
"type": "string"
|
|
},
|
|
"scheduleStatus": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ActiveScheduleItemDto"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"parentId",
|
|
"type"
|
|
]
|
|
},
|
|
"RunningTaskListResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"tasks": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/RunningTaskDto"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"tasks"
|
|
]
|
|
},
|
|
"ScheduleCreateRequestDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"cron": {
|
|
"type": "string"
|
|
},
|
|
"repositories": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"cron",
|
|
"repositories"
|
|
]
|
|
},
|
|
"ScheduleDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"paused": {
|
|
"type": "boolean"
|
|
},
|
|
"cron": {
|
|
"type": "string"
|
|
},
|
|
"repositories": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"lastRun": {
|
|
"type": "string"
|
|
},
|
|
"lastFinished": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"paused",
|
|
"cron",
|
|
"repositories"
|
|
]
|
|
},
|
|
"ScheduleCreateResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"schedule": {
|
|
"$ref": "#/components/schemas/ScheduleDto"
|
|
}
|
|
},
|
|
"required": [
|
|
"schedule"
|
|
]
|
|
},
|
|
"ScheduleListResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"schedules": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ScheduleDto"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"schedules"
|
|
]
|
|
},
|
|
"ScheduleUpdateRequestDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"paused": {
|
|
"type": "boolean"
|
|
},
|
|
"cron": {
|
|
"type": "string"
|
|
},
|
|
"repositories": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"ScheduleUpdateResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"schedule": {
|
|
"$ref": "#/components/schemas/ScheduleDto"
|
|
}
|
|
},
|
|
"required": [
|
|
"schedule"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
} |