@daocloud-proto/kcoral 0.0.1-6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fetch.pb.ts +232 -0
- package/google/api/annotations.pb.ts +1 -0
- package/google/api/empty.pb.ts +7 -0
- package/kcoral.io/api/core/v1alpha1/namespace.pb.ts +12 -0
- package/kcoral.io/api/kcoralcluster/v1alpha1/kcoralcluster.pb.ts +20 -0
- package/kcoral.io/api/storage/v1alpha1/volumesnapshotclass.pb.ts +42 -0
- package/kcoral.io/api/types/objectmeta.pb.ts +69 -0
- package/kcoral.io/api/types/page.pb.ts +27 -0
- package/kcoral.io/api/types/types.pb.ts +12 -0
- package/kcoral.io/api/v1alpha1/kcoral.pb.ts +100 -0
- package/kcoral.io/api/velero/v1alpha1/backup.pb.ts +143 -0
- package/kcoral.io/api/velero/v1alpha1/backupstoragelocation.pb.ts +95 -0
- package/kcoral.io/api/velero/v1alpha1/restore.pb.ts +132 -0
- package/kcoral.io/api/velero/v1alpha1/schedule.pb.ts +82 -0
- package/package.json +12 -0
package/fetch.pb.ts
ADDED
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
// @ts-nocheck
|
|
3
|
+
/*
|
|
4
|
+
* This file is a generated Typescript file for GRPC Gateway, DO NOT MODIFY
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export interface InitReq extends RequestInit {
|
|
8
|
+
pathPrefix?: string
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export function fetchReq<I, O>(path: string, init?: InitReq): Promise<O> {
|
|
12
|
+
const {pathPrefix, ...req} = init || {}
|
|
13
|
+
|
|
14
|
+
const url = pathPrefix ? `${pathPrefix}${path}` : path
|
|
15
|
+
|
|
16
|
+
return fetch(url, req).then(r => r.json().then((body: O) => {
|
|
17
|
+
if (!r.ok) { throw body; }
|
|
18
|
+
return body;
|
|
19
|
+
})) as Promise<O>
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// NotifyStreamEntityArrival is a callback that will be called on streaming entity arrival
|
|
23
|
+
export type NotifyStreamEntityArrival<T> = (resp: T) => void
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* fetchStreamingRequest is able to handle grpc-gateway server side streaming call
|
|
27
|
+
* it takes NotifyStreamEntityArrival that lets users respond to entity arrival during the call
|
|
28
|
+
* all entities will be returned as an array after the call finishes.
|
|
29
|
+
**/
|
|
30
|
+
export async function fetchStreamingRequest<S, R>(path: string, callback?: NotifyStreamEntityArrival<R>, init?: InitReq) {
|
|
31
|
+
const {pathPrefix, ...req} = init || {}
|
|
32
|
+
const url = pathPrefix ?`${pathPrefix}${path}` : path
|
|
33
|
+
const result = await fetch(url, req)
|
|
34
|
+
// needs to use the .ok to check the status of HTTP status code
|
|
35
|
+
// http other than 200 will not throw an error, instead the .ok will become false.
|
|
36
|
+
// see https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch#
|
|
37
|
+
if (!result.ok) {
|
|
38
|
+
const resp = await result.json()
|
|
39
|
+
const errMsg = resp.error && resp.error.message ? resp.error.message : ""
|
|
40
|
+
throw new Error(errMsg)
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
if (!result.body) {
|
|
44
|
+
throw new Error("response doesnt have a body")
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
await result.body
|
|
48
|
+
.pipeThrough(new TextDecoderStream())
|
|
49
|
+
.pipeThrough<R>(getNewLineDelimitedJSONDecodingStream<R>())
|
|
50
|
+
.pipeTo(getNotifyEntityArrivalSink((e: R) => {
|
|
51
|
+
if (callback) {
|
|
52
|
+
callback(e)
|
|
53
|
+
}
|
|
54
|
+
}))
|
|
55
|
+
|
|
56
|
+
// wait for the streaming to finish and return the success respond
|
|
57
|
+
return
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* JSONStringStreamController represents the transform controller that's able to transform the incoming
|
|
62
|
+
* new line delimited json content stream into entities and able to push the entity to the down stream
|
|
63
|
+
*/
|
|
64
|
+
interface JSONStringStreamController<T> extends TransformStreamDefaultController {
|
|
65
|
+
buf?: string
|
|
66
|
+
pos?: number
|
|
67
|
+
enqueue: (s: T) => void
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* getNewLineDelimitedJSONDecodingStream returns a TransformStream that's able to handle new line delimited json stream content into parsed entities
|
|
72
|
+
*/
|
|
73
|
+
function getNewLineDelimitedJSONDecodingStream<T>(): TransformStream<string, T> {
|
|
74
|
+
return new TransformStream({
|
|
75
|
+
start(controller: JSONStringStreamController<T>) {
|
|
76
|
+
controller.buf = ''
|
|
77
|
+
controller.pos = 0
|
|
78
|
+
},
|
|
79
|
+
|
|
80
|
+
transform(chunk: string, controller: JSONStringStreamController<T>) {
|
|
81
|
+
if (controller.buf === undefined) {
|
|
82
|
+
controller.buf = ''
|
|
83
|
+
}
|
|
84
|
+
if (controller.pos === undefined) {
|
|
85
|
+
controller.pos = 0
|
|
86
|
+
}
|
|
87
|
+
controller.buf += chunk
|
|
88
|
+
while (controller.pos < controller.buf.length) {
|
|
89
|
+
if (controller.buf[controller.pos] === '\n') {
|
|
90
|
+
const line = controller.buf.substring(0, controller.pos)
|
|
91
|
+
const response = JSON.parse(line)
|
|
92
|
+
controller.enqueue(response.result)
|
|
93
|
+
controller.buf = controller.buf.substring(controller.pos + 1)
|
|
94
|
+
controller.pos = 0
|
|
95
|
+
} else {
|
|
96
|
+
++controller.pos
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
})
|
|
101
|
+
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* getNotifyEntityArrivalSink takes the NotifyStreamEntityArrival callback and return
|
|
106
|
+
* a sink that will call the callback on entity arrival
|
|
107
|
+
* @param notifyCallback
|
|
108
|
+
*/
|
|
109
|
+
function getNotifyEntityArrivalSink<T>(notifyCallback: NotifyStreamEntityArrival<T>) {
|
|
110
|
+
return new WritableStream<T>({
|
|
111
|
+
write(entity: T) {
|
|
112
|
+
notifyCallback(entity)
|
|
113
|
+
}
|
|
114
|
+
})
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
type Primitive = string | boolean | number;
|
|
118
|
+
type RequestPayload = Record<string, unknown>;
|
|
119
|
+
type FlattenedRequestPayload = Record<string, Primitive | Array<Primitive>>;
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Checks if given value is a plain object
|
|
123
|
+
* Logic copied and adapted from below source:
|
|
124
|
+
* https://github.com/char0n/ramda-adjunct/blob/master/src/isPlainObj.js
|
|
125
|
+
* @param {unknown} value
|
|
126
|
+
* @return {boolean}
|
|
127
|
+
*/
|
|
128
|
+
function isPlainObject(value: unknown): boolean {
|
|
129
|
+
const isObject =
|
|
130
|
+
Object.prototype.toString.call(value).slice(8, -1) === "Object";
|
|
131
|
+
const isObjLike = value !== null && isObject;
|
|
132
|
+
|
|
133
|
+
if (!isObjLike || !isObject) {
|
|
134
|
+
return false;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
const proto = Object.getPrototypeOf(value);
|
|
138
|
+
|
|
139
|
+
const hasObjectConstructor =
|
|
140
|
+
typeof proto === "object" &&
|
|
141
|
+
proto.constructor === Object.prototype.constructor;
|
|
142
|
+
|
|
143
|
+
return hasObjectConstructor;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Checks if given value is of a primitive type
|
|
148
|
+
* @param {unknown} value
|
|
149
|
+
* @return {boolean}
|
|
150
|
+
*/
|
|
151
|
+
function isPrimitive(value: unknown): boolean {
|
|
152
|
+
return ["string", "number", "boolean"].some(t => typeof value === t);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Checks if given primitive is zero-value
|
|
157
|
+
* @param {Primitive} value
|
|
158
|
+
* @return {boolean}
|
|
159
|
+
*/
|
|
160
|
+
function isZeroValuePrimitive(value: Primitive): boolean {
|
|
161
|
+
return value === false || value === 0 || value === "";
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* Flattens a deeply nested request payload and returns an object
|
|
166
|
+
* with only primitive values and non-empty array of primitive values
|
|
167
|
+
* as per https://github.com/googleapis/googleapis/blob/master/google/api/http.proto
|
|
168
|
+
* @param {RequestPayload} requestPayload
|
|
169
|
+
* @param {String} path
|
|
170
|
+
* @return {FlattenedRequestPayload>}
|
|
171
|
+
*/
|
|
172
|
+
function flattenRequestPayload<T extends RequestPayload>(
|
|
173
|
+
requestPayload: T,
|
|
174
|
+
path: string = ""
|
|
175
|
+
): FlattenedRequestPayload {
|
|
176
|
+
return Object.keys(requestPayload).reduce(
|
|
177
|
+
(acc: T, key: string): T => {
|
|
178
|
+
const value = requestPayload[key];
|
|
179
|
+
const newPath = path ? [path, key].join(".") : key;
|
|
180
|
+
|
|
181
|
+
const isNonEmptyPrimitiveArray =
|
|
182
|
+
Array.isArray(value) &&
|
|
183
|
+
value.every(v => isPrimitive(v)) &&
|
|
184
|
+
value.length > 0;
|
|
185
|
+
|
|
186
|
+
const isNonZeroValuePrimitive =
|
|
187
|
+
isPrimitive(value) && !isZeroValuePrimitive(value as Primitive);
|
|
188
|
+
|
|
189
|
+
let objectToMerge = {};
|
|
190
|
+
|
|
191
|
+
if (isPlainObject(value)) {
|
|
192
|
+
objectToMerge = flattenRequestPayload(value as RequestPayload, newPath);
|
|
193
|
+
} else if (isNonZeroValuePrimitive || isNonEmptyPrimitiveArray) {
|
|
194
|
+
objectToMerge = { [newPath]: value };
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
return { ...acc, ...objectToMerge };
|
|
198
|
+
},
|
|
199
|
+
{} as T
|
|
200
|
+
) as FlattenedRequestPayload;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
/**
|
|
204
|
+
* Renders a deeply nested request payload into a string of URL search
|
|
205
|
+
* parameters by first flattening the request payload and then removing keys
|
|
206
|
+
* which are already present in the URL path.
|
|
207
|
+
* @param {RequestPayload} requestPayload
|
|
208
|
+
* @param {string[]} urlPathParams
|
|
209
|
+
* @return {string}
|
|
210
|
+
*/
|
|
211
|
+
export function renderURLSearchParams<T extends RequestPayload>(
|
|
212
|
+
requestPayload: T,
|
|
213
|
+
urlPathParams: string[] = []
|
|
214
|
+
): string {
|
|
215
|
+
const flattenedRequestPayload = flattenRequestPayload(requestPayload);
|
|
216
|
+
|
|
217
|
+
const urlSearchParams = Object.keys(flattenedRequestPayload).reduce(
|
|
218
|
+
(acc: string[][], key: string): string[][] => {
|
|
219
|
+
// key should not be present in the url path as a parameter
|
|
220
|
+
const value = flattenedRequestPayload[key];
|
|
221
|
+
if (urlPathParams.find(f => f === key)) {
|
|
222
|
+
return acc;
|
|
223
|
+
}
|
|
224
|
+
return Array.isArray(value)
|
|
225
|
+
? [...acc, ...value.map(m => [key, m.toString()])]
|
|
226
|
+
: (acc = [...acc, [key, value.toString()]]);
|
|
227
|
+
},
|
|
228
|
+
[] as string[][]
|
|
229
|
+
);
|
|
230
|
+
|
|
231
|
+
return new URLSearchParams(urlSearchParams).toString();
|
|
232
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default {}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
// @ts-nocheck
|
|
3
|
+
/*
|
|
4
|
+
* This file is a generated Typescript file for GRPC Gateway, DO NOT MODIFY
|
|
5
|
+
*/
|
|
6
|
+
export type ListNamespacesSummaryRequest = {
|
|
7
|
+
cluster?: string
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export type ListNamespacesSummaryResponse = {
|
|
11
|
+
items?: string[]
|
|
12
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
// @ts-nocheck
|
|
3
|
+
/*
|
|
4
|
+
* This file is a generated Typescript file for GRPC Gateway, DO NOT MODIFY
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import * as KcoralIoApiTypesPage from "../../types/page.pb"
|
|
8
|
+
export type ListKCoralClustersRequest = {
|
|
9
|
+
page?: number
|
|
10
|
+
pageSize?: number
|
|
11
|
+
sortBy?: KcoralIoApiTypesPage.SortBy
|
|
12
|
+
sortDir?: KcoralIoApiTypesPage.SortDir
|
|
13
|
+
labelSelector?: string
|
|
14
|
+
fieldSelector?: string
|
|
15
|
+
fuzzyName?: string
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export type ListKCoralClustersResponse = {
|
|
19
|
+
items?: string[]
|
|
20
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
// @ts-nocheck
|
|
3
|
+
/*
|
|
4
|
+
* This file is a generated Typescript file for GRPC Gateway, DO NOT MODIFY
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import * as KcoralIoApiTypesObjectmeta from "../../types/objectmeta.pb"
|
|
8
|
+
import * as KcoralIoApiTypesPage from "../../types/page.pb"
|
|
9
|
+
|
|
10
|
+
export enum VolumeSnapshotClassDeletionPolicy {
|
|
11
|
+
PHASE_UNSPECIFIED_HE = "PHASE_UNSPECIFIED_HE",
|
|
12
|
+
Delete = "Delete",
|
|
13
|
+
Retain = "Retain",
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export type ListVolumeSnapshotClassesRequest = {
|
|
17
|
+
cluster?: string
|
|
18
|
+
page?: number
|
|
19
|
+
pageSize?: number
|
|
20
|
+
name?: string
|
|
21
|
+
sortBy?: KcoralIoApiTypesPage.SortBy
|
|
22
|
+
sortDir?: KcoralIoApiTypesPage.SortDir
|
|
23
|
+
labelSelector?: string
|
|
24
|
+
fieldSelector?: string
|
|
25
|
+
fuzzyName?: string
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export type ListVolumeSnapshotClassesResponse = {
|
|
29
|
+
items?: VolumeSnapshotClass[]
|
|
30
|
+
pagination?: KcoralIoApiTypesPage.Pagination
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export type EnableVolumeSnapshotClassRequest = {
|
|
34
|
+
cluster?: string
|
|
35
|
+
name?: string
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export type VolumeSnapshotClass = {
|
|
39
|
+
metadata?: KcoralIoApiTypesObjectmeta.ObjectMeta
|
|
40
|
+
deletionPolicy?: string
|
|
41
|
+
parameters?: {[key: string]: string}
|
|
42
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
// @ts-nocheck
|
|
3
|
+
/*
|
|
4
|
+
* This file is a generated Typescript file for GRPC Gateway, DO NOT MODIFY
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export enum WorkloadState {
|
|
8
|
+
WORKLOAD_STATE_UNSPECIFIED = "WORKLOAD_STATE_UNSPECIFIED",
|
|
9
|
+
Running = "Running",
|
|
10
|
+
Deleting = "Deleting",
|
|
11
|
+
Not_Ready = "Not_Ready",
|
|
12
|
+
Stopped = "Stopped",
|
|
13
|
+
Waiting = "Waiting",
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export type OwnerReference = {
|
|
17
|
+
uid?: string
|
|
18
|
+
controller?: boolean
|
|
19
|
+
name?: string
|
|
20
|
+
kind?: string
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export type ObjectMeta = {
|
|
24
|
+
name?: string
|
|
25
|
+
namespace?: string
|
|
26
|
+
uid?: string
|
|
27
|
+
resourceVersion?: string
|
|
28
|
+
creationTimestamp?: string
|
|
29
|
+
deletionTimestamp?: string
|
|
30
|
+
labels?: {[key: string]: string}
|
|
31
|
+
annotations?: {[key: string]: string}
|
|
32
|
+
ownerReferences?: OwnerReference[]
|
|
33
|
+
cluster?: string
|
|
34
|
+
workspaceAlias?: string
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export type Selector = {
|
|
38
|
+
matchLabels?: {[key: string]: string}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export type LabelSelector = {
|
|
42
|
+
matchLabels?: {[key: string]: string}
|
|
43
|
+
matchExpressions?: LabelSelectorRequirement[]
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export type LabelSelectorRequirement = {
|
|
47
|
+
key?: string
|
|
48
|
+
operator?: string
|
|
49
|
+
values?: string[]
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export type RollingUpdate = {
|
|
53
|
+
maxSurge?: string
|
|
54
|
+
maxUnavailable?: string
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export type UpdateStrategy = {
|
|
58
|
+
rollingUpdate?: RollingUpdate
|
|
59
|
+
type?: string
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export type Condition = {
|
|
63
|
+
lastTransitionTime?: string
|
|
64
|
+
lastUpdateTime?: string
|
|
65
|
+
message?: string
|
|
66
|
+
reason?: string
|
|
67
|
+
status?: string
|
|
68
|
+
type?: string
|
|
69
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
// @ts-nocheck
|
|
3
|
+
/*
|
|
4
|
+
* This file is a generated Typescript file for GRPC Gateway, DO NOT MODIFY
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export enum SortDir {
|
|
8
|
+
desc = "desc",
|
|
9
|
+
asc = "asc",
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export enum SortBy {
|
|
13
|
+
SORT_BY_UNSPECIFIED = "SORT_BY_UNSPECIFIED",
|
|
14
|
+
field_name = "field_name",
|
|
15
|
+
state = "state",
|
|
16
|
+
workspace = "workspace",
|
|
17
|
+
cluster = "cluster",
|
|
18
|
+
namespace = "namespace",
|
|
19
|
+
created_at = "created_at",
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export type Pagination = {
|
|
23
|
+
total?: number
|
|
24
|
+
page?: number
|
|
25
|
+
pageSize?: number
|
|
26
|
+
pages?: number
|
|
27
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
// @ts-nocheck
|
|
3
|
+
/*
|
|
4
|
+
* This file is a generated Typescript file for GRPC Gateway, DO NOT MODIFY
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export enum ConditionStatus {
|
|
8
|
+
CONDITION_STATUS_UNSPECIFIED = "CONDITION_STATUS_UNSPECIFIED",
|
|
9
|
+
True = "True",
|
|
10
|
+
False = "False",
|
|
11
|
+
Unknown = "Unknown",
|
|
12
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
// @ts-nocheck
|
|
3
|
+
/*
|
|
4
|
+
* This file is a generated Typescript file for GRPC Gateway, DO NOT MODIFY
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import * as fm from "../../../fetch.pb"
|
|
8
|
+
import * as GoogleProtobufEmpty from "../../../google/api/empty.pb"
|
|
9
|
+
import * as KcoralIoApiCoreV1alpha1Namespace from "../core/v1alpha1/namespace.pb"
|
|
10
|
+
import * as KcoralIoApiKcoralclusterV1alpha1Kcoralcluster from "../kcoralcluster/v1alpha1/kcoralcluster.pb"
|
|
11
|
+
import * as KcoralIoApiStorageV1alpha1Volumesnapshotclass from "../storage/v1alpha1/volumesnapshotclass.pb"
|
|
12
|
+
import * as KcoralIoApiVeleroV1alpha1Backup from "../velero/v1alpha1/backup.pb"
|
|
13
|
+
import * as KcoralIoApiVeleroV1alpha1Backupstoragelocation from "../velero/v1alpha1/backupstoragelocation.pb"
|
|
14
|
+
import * as KcoralIoApiVeleroV1alpha1Restore from "../velero/v1alpha1/restore.pb"
|
|
15
|
+
import * as KcoralIoApiVeleroV1alpha1Schedule from "../velero/v1alpha1/schedule.pb"
|
|
16
|
+
export class Kubernetes {
|
|
17
|
+
static ListNamespacesSummary(req: KcoralIoApiCoreV1alpha1Namespace.ListNamespacesSummaryRequest, initReq?: fm.InitReq): Promise<KcoralIoApiCoreV1alpha1Namespace.ListNamespacesSummaryResponse> {
|
|
18
|
+
return fm.fetchReq<KcoralIoApiCoreV1alpha1Namespace.ListNamespacesSummaryRequest, KcoralIoApiCoreV1alpha1Namespace.ListNamespacesSummaryResponse>(`/apis/kcoral.io/v1alpha1/clusters/${req["cluster"]}/namespacessummary?${fm.renderURLSearchParams(req, ["cluster"])}`, {...initReq, method: "GET"})
|
|
19
|
+
}
|
|
20
|
+
static ListKCoralClusters(req: KcoralIoApiKcoralclusterV1alpha1Kcoralcluster.ListKCoralClustersRequest, initReq?: fm.InitReq): Promise<KcoralIoApiKcoralclusterV1alpha1Kcoralcluster.ListKCoralClustersResponse> {
|
|
21
|
+
return fm.fetchReq<KcoralIoApiKcoralclusterV1alpha1Kcoralcluster.ListKCoralClustersRequest, KcoralIoApiKcoralclusterV1alpha1Kcoralcluster.ListKCoralClustersResponse>(`/apis/kcoral.io/v1alpha1/kcoralclusters?${fm.renderURLSearchParams(req, [])}`, {...initReq, method: "GET"})
|
|
22
|
+
}
|
|
23
|
+
static ListVolumeSnapshotClasses(req: KcoralIoApiStorageV1alpha1Volumesnapshotclass.ListVolumeSnapshotClassesRequest, initReq?: fm.InitReq): Promise<KcoralIoApiStorageV1alpha1Volumesnapshotclass.ListVolumeSnapshotClassesResponse> {
|
|
24
|
+
return fm.fetchReq<KcoralIoApiStorageV1alpha1Volumesnapshotclass.ListVolumeSnapshotClassesRequest, KcoralIoApiStorageV1alpha1Volumesnapshotclass.ListVolumeSnapshotClassesResponse>(`/apis/kcoral.io/v1alpha1/clusters/${req["cluster"]}/volumesnapshotclasss?${fm.renderURLSearchParams(req, ["cluster"])}`, {...initReq, method: "GET"})
|
|
25
|
+
}
|
|
26
|
+
static EnableVolumeSnapshotClass(req: KcoralIoApiStorageV1alpha1Volumesnapshotclass.EnableVolumeSnapshotClassRequest, initReq?: fm.InitReq): Promise<KcoralIoApiStorageV1alpha1Volumesnapshotclass.VolumeSnapshotClass> {
|
|
27
|
+
return fm.fetchReq<KcoralIoApiStorageV1alpha1Volumesnapshotclass.EnableVolumeSnapshotClassRequest, KcoralIoApiStorageV1alpha1Volumesnapshotclass.VolumeSnapshotClass>(`/apis/kcoral.io/v1alpha1/clusters/${req["cluster"]}/enablevolumesnapshotclass/${req["name"]}:enable`, {...initReq, method: "POST", body: JSON.stringify(req)})
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export class BackupStorageLocation {
|
|
31
|
+
static ListBackupStorageLocations(req: KcoralIoApiVeleroV1alpha1Backupstoragelocation.ListBackupStorageLocationsRequest, initReq?: fm.InitReq): Promise<KcoralIoApiVeleroV1alpha1Backupstoragelocation.ListBackupStorageLocationsResponse> {
|
|
32
|
+
return fm.fetchReq<KcoralIoApiVeleroV1alpha1Backupstoragelocation.ListBackupStorageLocationsRequest, KcoralIoApiVeleroV1alpha1Backupstoragelocation.ListBackupStorageLocationsResponse>(`/apis/kcoral.io/v1alpha1/clusters/${req["cluster"]}/backupstoragelocations?${fm.renderURLSearchParams(req, ["cluster"])}`, {...initReq, method: "GET"})
|
|
33
|
+
}
|
|
34
|
+
static GetBackupStorageLocation(req: KcoralIoApiVeleroV1alpha1Backupstoragelocation.GetBackupStorageLocationRequest, initReq?: fm.InitReq): Promise<KcoralIoApiVeleroV1alpha1Backupstoragelocation.BackupStorageLocation> {
|
|
35
|
+
return fm.fetchReq<KcoralIoApiVeleroV1alpha1Backupstoragelocation.GetBackupStorageLocationRequest, KcoralIoApiVeleroV1alpha1Backupstoragelocation.BackupStorageLocation>(`/apis/kcoral.io/v1alpha1/clusters/${req["cluster"]}/backupstoragelocations/${req["name"]}?${fm.renderURLSearchParams(req, ["cluster", "name"])}`, {...initReq, method: "GET"})
|
|
36
|
+
}
|
|
37
|
+
static CreateBackupStorageLocation(req: KcoralIoApiVeleroV1alpha1Backupstoragelocation.CreateBackupStorageLocationRequest, initReq?: fm.InitReq): Promise<KcoralIoApiVeleroV1alpha1Backupstoragelocation.BackupStorageLocation> {
|
|
38
|
+
return fm.fetchReq<KcoralIoApiVeleroV1alpha1Backupstoragelocation.CreateBackupStorageLocationRequest, KcoralIoApiVeleroV1alpha1Backupstoragelocation.BackupStorageLocation>(`/apis/kcoral.io/v1alpha1/clusters/${req["cluster"]}/backupstoragelocations`, {...initReq, method: "POST", body: JSON.stringify(req)})
|
|
39
|
+
}
|
|
40
|
+
static UpdateBackupStorageLocation(req: KcoralIoApiVeleroV1alpha1Backupstoragelocation.UpdateBackupStorageLocationRequest, initReq?: fm.InitReq): Promise<KcoralIoApiVeleroV1alpha1Backupstoragelocation.BackupStorageLocation> {
|
|
41
|
+
return fm.fetchReq<KcoralIoApiVeleroV1alpha1Backupstoragelocation.UpdateBackupStorageLocationRequest, KcoralIoApiVeleroV1alpha1Backupstoragelocation.BackupStorageLocation>(`/apis/kcoral.io/v1alpha1/clusters/${req["cluster"]}/backupstoragelocations/${req["name"]}`, {...initReq, method: "PUT", body: JSON.stringify(req)})
|
|
42
|
+
}
|
|
43
|
+
static DeleteBackupStorageLocation(req: KcoralIoApiVeleroV1alpha1Backupstoragelocation.DeleteBackupStorageLocationRequest, initReq?: fm.InitReq): Promise<GoogleProtobufEmpty.Empty> {
|
|
44
|
+
return fm.fetchReq<KcoralIoApiVeleroV1alpha1Backupstoragelocation.DeleteBackupStorageLocationRequest, GoogleProtobufEmpty.Empty>(`/apis/kcoral.io/v1alpha1/clusters/${req["cluster"]}/backupstoragelocations/${req["name"]}`, {...initReq, method: "DELETE"})
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export class Restore {
|
|
48
|
+
static ListRestores(req: KcoralIoApiVeleroV1alpha1Restore.ListRestoresRequest, initReq?: fm.InitReq): Promise<KcoralIoApiVeleroV1alpha1Restore.ListRestoresResponse> {
|
|
49
|
+
return fm.fetchReq<KcoralIoApiVeleroV1alpha1Restore.ListRestoresRequest, KcoralIoApiVeleroV1alpha1Restore.ListRestoresResponse>(`/apis/kcoral.io/v1alpha1/clusters/${req["cluster"]}/restores?${fm.renderURLSearchParams(req, ["cluster"])}`, {...initReq, method: "GET"})
|
|
50
|
+
}
|
|
51
|
+
static GetRestore(req: KcoralIoApiVeleroV1alpha1Restore.GetRestoreRequest, initReq?: fm.InitReq): Promise<KcoralIoApiVeleroV1alpha1Restore.Restore> {
|
|
52
|
+
return fm.fetchReq<KcoralIoApiVeleroV1alpha1Restore.GetRestoreRequest, KcoralIoApiVeleroV1alpha1Restore.Restore>(`/apis/kcoral.io/v1alpha1/clusters/${req["cluster"]}/restores/${req["name"]}?${fm.renderURLSearchParams(req, ["cluster", "name"])}`, {...initReq, method: "GET"})
|
|
53
|
+
}
|
|
54
|
+
static CreateRestore(req: KcoralIoApiVeleroV1alpha1Restore.CreateRestoreRequest, initReq?: fm.InitReq): Promise<KcoralIoApiVeleroV1alpha1Restore.Restore> {
|
|
55
|
+
return fm.fetchReq<KcoralIoApiVeleroV1alpha1Restore.CreateRestoreRequest, KcoralIoApiVeleroV1alpha1Restore.Restore>(`/apis/kcoral.io/v1alpha1/clusters/${req["cluster"]}/restores`, {...initReq, method: "POST", body: JSON.stringify(req)})
|
|
56
|
+
}
|
|
57
|
+
static DeleteRestore(req: KcoralIoApiVeleroV1alpha1Restore.DeleteRestoreRequest, initReq?: fm.InitReq): Promise<GoogleProtobufEmpty.Empty> {
|
|
58
|
+
return fm.fetchReq<KcoralIoApiVeleroV1alpha1Restore.DeleteRestoreRequest, GoogleProtobufEmpty.Empty>(`/apis/kcoral.io/v1alpha1/clusters/${req["cluster"]}/restores/${req["name"]}`, {...initReq, method: "DELETE"})
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
export class Schedule {
|
|
62
|
+
static ListSchedules(req: KcoralIoApiVeleroV1alpha1Schedule.ListSchedulesRequest, initReq?: fm.InitReq): Promise<KcoralIoApiVeleroV1alpha1Schedule.ListSchedulesResponse> {
|
|
63
|
+
return fm.fetchReq<KcoralIoApiVeleroV1alpha1Schedule.ListSchedulesRequest, KcoralIoApiVeleroV1alpha1Schedule.ListSchedulesResponse>(`/apis/kcoral.io/v1alpha1/clusters/${req["cluster"]}/schedules?${fm.renderURLSearchParams(req, ["cluster"])}`, {...initReq, method: "GET"})
|
|
64
|
+
}
|
|
65
|
+
static GetSchedule(req: KcoralIoApiVeleroV1alpha1Schedule.GetScheduleRequest, initReq?: fm.InitReq): Promise<KcoralIoApiVeleroV1alpha1Schedule.Schedule> {
|
|
66
|
+
return fm.fetchReq<KcoralIoApiVeleroV1alpha1Schedule.GetScheduleRequest, KcoralIoApiVeleroV1alpha1Schedule.Schedule>(`/apis/kcoral.io/v1alpha1/clusters/${req["cluster"]}/schedules/${req["name"]}?${fm.renderURLSearchParams(req, ["cluster", "name"])}`, {...initReq, method: "GET"})
|
|
67
|
+
}
|
|
68
|
+
static CreateSchedule(req: KcoralIoApiVeleroV1alpha1Schedule.CreateScheduleRequest, initReq?: fm.InitReq): Promise<KcoralIoApiVeleroV1alpha1Schedule.Schedule> {
|
|
69
|
+
return fm.fetchReq<KcoralIoApiVeleroV1alpha1Schedule.CreateScheduleRequest, KcoralIoApiVeleroV1alpha1Schedule.Schedule>(`/apis/kcoral.io/v1alpha1/clusters/${req["cluster"]}/schedules`, {...initReq, method: "POST", body: JSON.stringify(req)})
|
|
70
|
+
}
|
|
71
|
+
static UpdateSchedule(req: KcoralIoApiVeleroV1alpha1Schedule.UpdateScheduleRequest, initReq?: fm.InitReq): Promise<KcoralIoApiVeleroV1alpha1Schedule.Schedule> {
|
|
72
|
+
return fm.fetchReq<KcoralIoApiVeleroV1alpha1Schedule.UpdateScheduleRequest, KcoralIoApiVeleroV1alpha1Schedule.Schedule>(`/apis/kcoral.io/v1alpha1/clusters/${req["cluster"]}/schedules/${req["name"]}`, {...initReq, method: "PUT", body: JSON.stringify(req)})
|
|
73
|
+
}
|
|
74
|
+
static DeleteSchedule(req: KcoralIoApiVeleroV1alpha1Schedule.DeleteScheduleRequest, initReq?: fm.InitReq): Promise<GoogleProtobufEmpty.Empty> {
|
|
75
|
+
return fm.fetchReq<KcoralIoApiVeleroV1alpha1Schedule.DeleteScheduleRequest, GoogleProtobufEmpty.Empty>(`/apis/kcoral.io/v1alpha1/clusters/${req["cluster"]}/schedules/${req["name"]}`, {...initReq, method: "DELETE"})
|
|
76
|
+
}
|
|
77
|
+
static PauseSchedule(req: KcoralIoApiVeleroV1alpha1Schedule.PauseScheduleRequest, initReq?: fm.InitReq): Promise<KcoralIoApiVeleroV1alpha1Schedule.Schedule> {
|
|
78
|
+
return fm.fetchReq<KcoralIoApiVeleroV1alpha1Schedule.PauseScheduleRequest, KcoralIoApiVeleroV1alpha1Schedule.Schedule>(`/apis/kcoral.io/v1alpha1/clusters/${req["cluster"]}/schedules/${req["name"]}:pause`, {...initReq, method: "POST", body: JSON.stringify(req)})
|
|
79
|
+
}
|
|
80
|
+
static ResumeSchedule(req: KcoralIoApiVeleroV1alpha1Schedule.ResumeScheduleRequest, initReq?: fm.InitReq): Promise<KcoralIoApiVeleroV1alpha1Schedule.Schedule> {
|
|
81
|
+
return fm.fetchReq<KcoralIoApiVeleroV1alpha1Schedule.ResumeScheduleRequest, KcoralIoApiVeleroV1alpha1Schedule.Schedule>(`/apis/kcoral.io/v1alpha1/clusters/${req["cluster"]}/schedules/${req["name"]}:resume`, {...initReq, method: "POST", body: JSON.stringify(req)})
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
export class Backup {
|
|
85
|
+
static ListBackups(req: KcoralIoApiVeleroV1alpha1Backup.ListBackupsRequest, initReq?: fm.InitReq): Promise<KcoralIoApiVeleroV1alpha1Backup.ListBackupsResponse> {
|
|
86
|
+
return fm.fetchReq<KcoralIoApiVeleroV1alpha1Backup.ListBackupsRequest, KcoralIoApiVeleroV1alpha1Backup.ListBackupsResponse>(`/apis/kcoral.io/v1alpha1/clusters/${req["cluster"]}/backups?${fm.renderURLSearchParams(req, ["cluster"])}`, {...initReq, method: "GET"})
|
|
87
|
+
}
|
|
88
|
+
static GetBackup(req: KcoralIoApiVeleroV1alpha1Backup.GetBackupRequest, initReq?: fm.InitReq): Promise<KcoralIoApiVeleroV1alpha1Backup.Backup> {
|
|
89
|
+
return fm.fetchReq<KcoralIoApiVeleroV1alpha1Backup.GetBackupRequest, KcoralIoApiVeleroV1alpha1Backup.Backup>(`/apis/kcoral.io/v1alpha1/clusters/${req["cluster"]}/backups/${req["name"]}?${fm.renderURLSearchParams(req, ["cluster", "name"])}`, {...initReq, method: "GET"})
|
|
90
|
+
}
|
|
91
|
+
static CreateBackup(req: KcoralIoApiVeleroV1alpha1Backup.CreateBackupRequest, initReq?: fm.InitReq): Promise<KcoralIoApiVeleroV1alpha1Backup.Backup> {
|
|
92
|
+
return fm.fetchReq<KcoralIoApiVeleroV1alpha1Backup.CreateBackupRequest, KcoralIoApiVeleroV1alpha1Backup.Backup>(`/apis/kcoral.io/v1alpha1/clusters/${req["cluster"]}/backups`, {...initReq, method: "POST", body: JSON.stringify(req)})
|
|
93
|
+
}
|
|
94
|
+
static UpdateBackup(req: KcoralIoApiVeleroV1alpha1Backup.UpdateBackupRequest, initReq?: fm.InitReq): Promise<KcoralIoApiVeleroV1alpha1Backup.Backup> {
|
|
95
|
+
return fm.fetchReq<KcoralIoApiVeleroV1alpha1Backup.UpdateBackupRequest, KcoralIoApiVeleroV1alpha1Backup.Backup>(`/apis/kcoral.io/v1alpha1/clusters/${req["cluster"]}/backups/${req["name"]}`, {...initReq, method: "PUT", body: JSON.stringify(req)})
|
|
96
|
+
}
|
|
97
|
+
static DeleteBackup(req: KcoralIoApiVeleroV1alpha1Backup.DeleteBackupRequest, initReq?: fm.InitReq): Promise<GoogleProtobufEmpty.Empty> {
|
|
98
|
+
return fm.fetchReq<KcoralIoApiVeleroV1alpha1Backup.DeleteBackupRequest, GoogleProtobufEmpty.Empty>(`/apis/kcoral.io/v1alpha1/clusters/${req["cluster"]}/backups/${req["name"]}`, {...initReq, method: "DELETE"})
|
|
99
|
+
}
|
|
100
|
+
}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
// @ts-nocheck
|
|
3
|
+
/*
|
|
4
|
+
* This file is a generated Typescript file for GRPC Gateway, DO NOT MODIFY
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import * as KcoralIoApiTypesObjectmeta from "../../types/objectmeta.pb"
|
|
8
|
+
import * as KcoralIoApiTypesPage from "../../types/page.pb"
|
|
9
|
+
|
|
10
|
+
export enum ExecHookHookErrorMode {
|
|
11
|
+
BACKUP_HOOK_ERROR_MODE_UNSPECIFIED = "BACKUP_HOOK_ERROR_MODE_UNSPECIFIED",
|
|
12
|
+
Continue = "Continue",
|
|
13
|
+
Fail = "Fail",
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export enum BackupStatusBackupPhase {
|
|
17
|
+
BACKUP_PHASE_UNSPECIFIED = "BACKUP_PHASE_UNSPECIFIED",
|
|
18
|
+
New = "New",
|
|
19
|
+
FailedValidation = "FailedValidation",
|
|
20
|
+
InProgress = "InProgress",
|
|
21
|
+
Uploading = "Uploading",
|
|
22
|
+
UploadingPartialFailure = "UploadingPartialFailure",
|
|
23
|
+
Completed = "Completed",
|
|
24
|
+
PartiallyFailed = "PartiallyFailed",
|
|
25
|
+
Failed = "Failed",
|
|
26
|
+
Deleting = "Deleting",
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export type ListBackupsResponse = {
|
|
30
|
+
items?: Backup[]
|
|
31
|
+
pagination?: KcoralIoApiTypesPage.Pagination
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export type ListBackupsRequest = {
|
|
35
|
+
cluster?: string
|
|
36
|
+
page?: number
|
|
37
|
+
pageSize?: number
|
|
38
|
+
fuzzyName?: string
|
|
39
|
+
scheduleName?: string
|
|
40
|
+
sortBy?: KcoralIoApiTypesPage.SortBy
|
|
41
|
+
sortDir?: KcoralIoApiTypesPage.SortDir
|
|
42
|
+
labelSelector?: string
|
|
43
|
+
fieldSelector?: string
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export type GetBackupRequest = {
|
|
47
|
+
cluster?: string
|
|
48
|
+
name?: string
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export type CreateBackupRequest = {
|
|
52
|
+
cluster?: string
|
|
53
|
+
backup?: Backup
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export type UpdateBackupRequest = {
|
|
57
|
+
cluster?: string
|
|
58
|
+
name?: string
|
|
59
|
+
backup?: Backup
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export type DeleteBackupRequest = {
|
|
63
|
+
cluster?: string
|
|
64
|
+
name?: string
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export type Backup = {
|
|
68
|
+
metadata?: KcoralIoApiTypesObjectmeta.ObjectMeta
|
|
69
|
+
spec?: BackupSpec
|
|
70
|
+
status?: BackupStatus
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export type ExecHook = {
|
|
74
|
+
command?: string[]
|
|
75
|
+
container?: string
|
|
76
|
+
onError?: ExecHookHookErrorMode
|
|
77
|
+
timeout?: string
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export type BackupResourceHook = {
|
|
81
|
+
exec?: ExecHook
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export type BackupResourceHookSpec = {
|
|
85
|
+
includedNamespaces?: string[]
|
|
86
|
+
excludedNamespaces?: string[]
|
|
87
|
+
includedResources?: string[]
|
|
88
|
+
excludedResources?: string[]
|
|
89
|
+
labelSelector?: KcoralIoApiTypesObjectmeta.LabelSelector
|
|
90
|
+
name?: string
|
|
91
|
+
postHooks?: BackupResourceHook[]
|
|
92
|
+
preHooks?: BackupResourceHook[]
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export type BackupHooks = {
|
|
96
|
+
resources?: BackupResourceHookSpec[]
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export type Metadata = {
|
|
100
|
+
labels?: {[key: string]: string}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export type BackupSpec = {
|
|
104
|
+
metadata?: Metadata
|
|
105
|
+
includedNamespaces?: string[]
|
|
106
|
+
excludedNamespaces?: string[]
|
|
107
|
+
includedResources?: string[]
|
|
108
|
+
excludedResources?: string[]
|
|
109
|
+
labelSelector?: KcoralIoApiTypesObjectmeta.LabelSelector
|
|
110
|
+
orLabelSelectors?: KcoralIoApiTypesObjectmeta.LabelSelector[]
|
|
111
|
+
snapshotVolumes?: boolean
|
|
112
|
+
ttl?: string
|
|
113
|
+
includeClusterResources?: boolean
|
|
114
|
+
hooks?: BackupHooks
|
|
115
|
+
storageLocation?: string
|
|
116
|
+
volumeSnapshotLocations?: string[]
|
|
117
|
+
defaultVolumesToFsBackup?: boolean
|
|
118
|
+
orderedResources?: {[key: string]: string}
|
|
119
|
+
csiSnapshotTimeout?: string
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
export type BackupProgress = {
|
|
123
|
+
itemsBackedUp?: number
|
|
124
|
+
totalItems?: number
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
export type BackupStatus = {
|
|
128
|
+
version?: number
|
|
129
|
+
formatVersion?: string
|
|
130
|
+
expiration?: string
|
|
131
|
+
phase?: BackupStatusBackupPhase
|
|
132
|
+
validationErrors?: string[]
|
|
133
|
+
startTimestamp?: string
|
|
134
|
+
completionTimestamp?: string
|
|
135
|
+
volumeSnapshotsAttempted?: number
|
|
136
|
+
volumeSnapshotsCompleted?: number
|
|
137
|
+
failureReason?: string
|
|
138
|
+
warnings?: number
|
|
139
|
+
errors?: number
|
|
140
|
+
progress?: BackupProgress
|
|
141
|
+
csiVolumeSnapshotsAttempted?: number
|
|
142
|
+
csiVolumeSnapshotsCompleted?: number
|
|
143
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
// @ts-nocheck
|
|
3
|
+
/*
|
|
4
|
+
* This file is a generated Typescript file for GRPC Gateway, DO NOT MODIFY
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import * as KcoralIoApiTypesObjectmeta from "../../types/objectmeta.pb"
|
|
8
|
+
import * as KcoralIoApiTypesPage from "../../types/page.pb"
|
|
9
|
+
|
|
10
|
+
export enum BackupStorageLocationAccessMode {
|
|
11
|
+
BACKUP_STORAGE_LOCATION_ACCESS_MODE_UNSPECIFIED = "BACKUP_STORAGE_LOCATION_ACCESS_MODE_UNSPECIFIED",
|
|
12
|
+
ReadOnly = "ReadOnly",
|
|
13
|
+
ReadWrite = "ReadWrite",
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export enum BackupStorageLocationStatusBackupStorageLocationPhase {
|
|
17
|
+
BACKUP_STORAGE_LOCATION_PHASE_UNSPECIFIED = "BACKUP_STORAGE_LOCATION_PHASE_UNSPECIFIED",
|
|
18
|
+
Available = "Available",
|
|
19
|
+
Unavailable = "Unavailable",
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export type ListBackupStorageLocationsResponse = {
|
|
23
|
+
items?: BackupStorageLocation[]
|
|
24
|
+
pagination?: KcoralIoApiTypesPage.Pagination
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export type ListBackupStorageLocationsRequest = {
|
|
28
|
+
cluster?: string
|
|
29
|
+
page?: number
|
|
30
|
+
pageSize?: number
|
|
31
|
+
fuzzyName?: string
|
|
32
|
+
sortBy?: KcoralIoApiTypesPage.SortBy
|
|
33
|
+
sortDir?: KcoralIoApiTypesPage.SortDir
|
|
34
|
+
labelSelector?: string
|
|
35
|
+
fieldSelector?: string
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export type GetBackupStorageLocationRequest = {
|
|
39
|
+
cluster?: string
|
|
40
|
+
name?: string
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export type CreateBackupStorageLocationRequest = {
|
|
44
|
+
cluster?: string
|
|
45
|
+
backupStorageLocation?: BackupStorageLocation
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export type UpdateBackupStorageLocationRequest = {
|
|
49
|
+
cluster?: string
|
|
50
|
+
name?: string
|
|
51
|
+
backupStorageLocation?: BackupStorageLocation
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export type DeleteBackupStorageLocationRequest = {
|
|
55
|
+
cluster?: string
|
|
56
|
+
name?: string
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export type BackupStorageLocation = {
|
|
60
|
+
metadata?: KcoralIoApiTypesObjectmeta.ObjectMeta
|
|
61
|
+
spec?: BackupStorageLocationSpec
|
|
62
|
+
status?: BackupStorageLocationStatus
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export type SecretKeySelector = {
|
|
66
|
+
key?: string
|
|
67
|
+
name?: string
|
|
68
|
+
optional?: boolean
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export type ObjectStorageLocation = {
|
|
72
|
+
bucket?: string
|
|
73
|
+
caCert?: string
|
|
74
|
+
prefix?: string
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export type BackupStorageLocationSpec = {
|
|
78
|
+
accessMode?: BackupStorageLocationAccessMode
|
|
79
|
+
backupSyncPeriod?: string
|
|
80
|
+
config?: {[key: string]: string}
|
|
81
|
+
credential?: SecretKeySelector
|
|
82
|
+
default?: boolean
|
|
83
|
+
objectStorage?: ObjectStorageLocation
|
|
84
|
+
provider?: string
|
|
85
|
+
validationFrequency?: string
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export type BackupStorageLocationStatus = {
|
|
89
|
+
accessMode?: BackupStorageLocationAccessMode
|
|
90
|
+
lastSyncedRevision?: string
|
|
91
|
+
lastSyncedTime?: string
|
|
92
|
+
lastValidationTime?: string
|
|
93
|
+
message?: string
|
|
94
|
+
phase?: BackupStorageLocationStatusBackupStorageLocationPhase
|
|
95
|
+
}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
// @ts-nocheck
|
|
3
|
+
/*
|
|
4
|
+
* This file is a generated Typescript file for GRPC Gateway, DO NOT MODIFY
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import * as KcoralIoApiTypesObjectmeta from "../../types/objectmeta.pb"
|
|
8
|
+
import * as KcoralIoApiTypesPage from "../../types/page.pb"
|
|
9
|
+
|
|
10
|
+
export enum ExecRestoreHookHookErrorMode {
|
|
11
|
+
RESTORE_HOOK_ERROR_MODE_UNSPECIFIED = "RESTORE_HOOK_ERROR_MODE_UNSPECIFIED",
|
|
12
|
+
Continue = "Continue",
|
|
13
|
+
Fail = "Fail",
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export enum RestoreSpecPolicyType {
|
|
17
|
+
RESTORE_POLICY_TYPE_UNSPECIFIED = "RESTORE_POLICY_TYPE_UNSPECIFIED",
|
|
18
|
+
none = "none",
|
|
19
|
+
update = "update",
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export enum RestoreStatusRestorePhase {
|
|
23
|
+
RESTORE_PHASE_UNSPECIFIED = "RESTORE_PHASE_UNSPECIFIED",
|
|
24
|
+
New = "New",
|
|
25
|
+
FailedValidation = "FailedValidation",
|
|
26
|
+
InProgress = "InProgress",
|
|
27
|
+
Completed = "Completed",
|
|
28
|
+
PartiallyFailed = "PartiallyFailed",
|
|
29
|
+
Failed = "Failed",
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export type ListRestoresResponse = {
|
|
33
|
+
items?: Restore[]
|
|
34
|
+
pagination?: KcoralIoApiTypesPage.Pagination
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export type ListRestoresRequest = {
|
|
38
|
+
cluster?: string
|
|
39
|
+
page?: number
|
|
40
|
+
pageSize?: number
|
|
41
|
+
fuzzyName?: string
|
|
42
|
+
sortBy?: KcoralIoApiTypesPage.SortBy
|
|
43
|
+
sortDir?: KcoralIoApiTypesPage.SortDir
|
|
44
|
+
labelSelector?: string
|
|
45
|
+
fieldSelector?: string
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export type GetRestoreRequest = {
|
|
49
|
+
cluster?: string
|
|
50
|
+
name?: string
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export type CreateRestoreRequest = {
|
|
54
|
+
cluster?: string
|
|
55
|
+
restore?: Restore
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export type DeleteRestoreRequest = {
|
|
59
|
+
cluster?: string
|
|
60
|
+
name?: string
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export type Restore = {
|
|
64
|
+
metadata?: KcoralIoApiTypesObjectmeta.ObjectMeta
|
|
65
|
+
spec?: RestoreSpec
|
|
66
|
+
status?: RestoreStatus
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export type ExecRestoreHook = {
|
|
70
|
+
command?: string[]
|
|
71
|
+
container?: string
|
|
72
|
+
execTimeout?: string
|
|
73
|
+
onError?: ExecRestoreHookHookErrorMode
|
|
74
|
+
waitTimeout?: string
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export type RestoreResourceHook = {
|
|
78
|
+
exec?: ExecRestoreHook
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export type RestoreResourceHookSpec = {
|
|
82
|
+
excludedNamespaces?: string[]
|
|
83
|
+
excludedResources?: string[]
|
|
84
|
+
includedNamespaces?: string[]
|
|
85
|
+
includedResources?: string[]
|
|
86
|
+
labelSelector?: KcoralIoApiTypesObjectmeta.LabelSelector
|
|
87
|
+
name?: string
|
|
88
|
+
postHooks?: RestoreResourceHook[]
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
export type RestoreHooks = {
|
|
92
|
+
resources?: RestoreResourceHookSpec[]
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export type RestoreStatusSpec = {
|
|
96
|
+
excludedResources?: string[]
|
|
97
|
+
includedResources?: string[]
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
export type RestoreSpec = {
|
|
101
|
+
backupName?: string
|
|
102
|
+
excludedNamespaces?: string[]
|
|
103
|
+
excludedResources?: string[]
|
|
104
|
+
existingResourcePolicy?: RestoreSpecPolicyType
|
|
105
|
+
hooks?: RestoreHooks
|
|
106
|
+
includeClusterResources?: boolean
|
|
107
|
+
includedNamespaces?: string[]
|
|
108
|
+
includedResources?: string[]
|
|
109
|
+
labelSelector?: KcoralIoApiTypesObjectmeta.LabelSelector
|
|
110
|
+
namespaceMapping?: {[key: string]: string}
|
|
111
|
+
orLabelSelectors?: KcoralIoApiTypesObjectmeta.LabelSelector[]
|
|
112
|
+
preserveNodePorts?: boolean
|
|
113
|
+
restorePvs?: boolean
|
|
114
|
+
restoreStatus?: RestoreStatusSpec
|
|
115
|
+
scheduleName?: string
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
export type RestoreProgress = {
|
|
119
|
+
itemsRestored?: number
|
|
120
|
+
totalItems?: number
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
export type RestoreStatus = {
|
|
124
|
+
completionTimestamp?: string
|
|
125
|
+
errors?: number
|
|
126
|
+
failureReason?: string
|
|
127
|
+
phase?: RestoreStatusRestorePhase
|
|
128
|
+
progress?: RestoreProgress
|
|
129
|
+
startTimestamp?: string
|
|
130
|
+
validationErrors?: string[]
|
|
131
|
+
warnings?: number
|
|
132
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
// @ts-nocheck
|
|
3
|
+
/*
|
|
4
|
+
* This file is a generated Typescript file for GRPC Gateway, DO NOT MODIFY
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import * as KcoralIoApiTypesObjectmeta from "../../types/objectmeta.pb"
|
|
8
|
+
import * as KcoralIoApiTypesPage from "../../types/page.pb"
|
|
9
|
+
import * as KcoralIoApiVeleroV1alpha1Backup from "./backup.pb"
|
|
10
|
+
|
|
11
|
+
export enum ScheduleStatusSchedulePhase {
|
|
12
|
+
SCHEDULE_PHASE_UNSPECIFIED = "SCHEDULE_PHASE_UNSPECIFIED",
|
|
13
|
+
New = "New",
|
|
14
|
+
Enabled = "Enabled",
|
|
15
|
+
FailedValidation = "FailedValidation",
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export type ListSchedulesResponse = {
|
|
19
|
+
items?: Schedule[]
|
|
20
|
+
pagination?: KcoralIoApiTypesPage.Pagination
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export type ListSchedulesRequest = {
|
|
24
|
+
cluster?: string
|
|
25
|
+
page?: number
|
|
26
|
+
pageSize?: number
|
|
27
|
+
fuzzyName?: string
|
|
28
|
+
sortBy?: KcoralIoApiTypesPage.SortBy
|
|
29
|
+
sortDir?: KcoralIoApiTypesPage.SortDir
|
|
30
|
+
labelSelector?: string
|
|
31
|
+
fieldSelector?: string
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export type GetScheduleRequest = {
|
|
35
|
+
cluster?: string
|
|
36
|
+
name?: string
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export type CreateScheduleRequest = {
|
|
40
|
+
cluster?: string
|
|
41
|
+
schedule?: Schedule
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export type UpdateScheduleRequest = {
|
|
45
|
+
cluster?: string
|
|
46
|
+
name?: string
|
|
47
|
+
schedule?: Schedule
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export type DeleteScheduleRequest = {
|
|
51
|
+
cluster?: string
|
|
52
|
+
name?: string
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export type PauseScheduleRequest = {
|
|
56
|
+
cluster?: string
|
|
57
|
+
name?: string
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export type ResumeScheduleRequest = {
|
|
61
|
+
cluster?: string
|
|
62
|
+
name?: string
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export type Schedule = {
|
|
66
|
+
metadata?: KcoralIoApiTypesObjectmeta.ObjectMeta
|
|
67
|
+
spec?: ScheduleSpec
|
|
68
|
+
status?: ScheduleStatus
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export type ScheduleSpec = {
|
|
72
|
+
schedule?: string
|
|
73
|
+
template?: KcoralIoApiVeleroV1alpha1Backup.BackupSpec
|
|
74
|
+
useOwnerReferencesInBackup?: boolean
|
|
75
|
+
paused?: boolean
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export type ScheduleStatus = {
|
|
79
|
+
lastBackup?: string
|
|
80
|
+
phase?: ScheduleStatusSchedulePhase
|
|
81
|
+
validationErrors?: string[]
|
|
82
|
+
}
|
package/package.json
ADDED