@openshift-assisted/types 2.9.5-cim
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/README.md +39 -0
- package/accounts-management-service.d.ts +3 -0
- package/assisted-installer-service.d.ts +2865 -0
- package/package.json +43 -0
- package/tsconfig.json +10 -0
|
@@ -0,0 +1,2865 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The virtual IP used to reach the OpenShift cluster's API.
|
|
3
|
+
*/
|
|
4
|
+
export interface ApiVip {
|
|
5
|
+
/**
|
|
6
|
+
* The cluster that this VIP is associated with.
|
|
7
|
+
*/
|
|
8
|
+
clusterId?: string; // uuid
|
|
9
|
+
/**
|
|
10
|
+
* The IP address.
|
|
11
|
+
*/
|
|
12
|
+
ip?: Ip; // ^(?:(?:(?:[0-9]{1,3}\.){3}[0-9]{1,3})|(?:(?:[0-9a-fA-F]*:[0-9a-fA-F]*){2,}))?$
|
|
13
|
+
/**
|
|
14
|
+
* API VIP verification result.
|
|
15
|
+
*/
|
|
16
|
+
verification?: VipVerification;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export interface ApiVipConnectivityRequest {
|
|
20
|
+
/**
|
|
21
|
+
* URL address of the API.
|
|
22
|
+
*/
|
|
23
|
+
url: string;
|
|
24
|
+
/**
|
|
25
|
+
* Whether to verify if the API VIP belongs to one of the interfaces (DEPRECATED).
|
|
26
|
+
*/
|
|
27
|
+
verifyCidr?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* A CA certficate to be used when contacting the URL via https.
|
|
30
|
+
*/
|
|
31
|
+
caCertificate?: string;
|
|
32
|
+
/**
|
|
33
|
+
* A string which will be used as Authorization Bearer token to fetch the ignition from ignitionEndpointUrl.
|
|
34
|
+
*/
|
|
35
|
+
ignitionEndpointToken?: string;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* The response from the day-2 agent's attempt to download the worker ignition file from the API machine config server of the target cluster.
|
|
40
|
+
* Note - the name "API VIP connectivity" is old and misleading and is preserved for backwards compatibility.
|
|
41
|
+
*/
|
|
42
|
+
export interface ApiVipConnectivityResponse {
|
|
43
|
+
/**
|
|
44
|
+
* Whether the agent was able to download the ignition or not
|
|
45
|
+
*/
|
|
46
|
+
isSuccess?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* This parameter mirrors the url parameter of the corresponding apiVipConnectivityRequest
|
|
49
|
+
*/
|
|
50
|
+
url?: string;
|
|
51
|
+
/**
|
|
52
|
+
* The error that occurred while downloading the worker ignition file, ignored when isSuccess is true
|
|
53
|
+
*/
|
|
54
|
+
downloadError?: string;
|
|
55
|
+
/**
|
|
56
|
+
* Ignition file fetched from the target cluster's API machine config server.
|
|
57
|
+
* This ignition file may be incomplete as almost all files / systemd units are removed from it by the agent in order to save space.
|
|
58
|
+
*/
|
|
59
|
+
ignition?: string;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export type ArchitectureSupportLevelId =
|
|
63
|
+
| 'X86_64_ARCHITECTURE'
|
|
64
|
+
| 'ARM64_ARCHITECTURE'
|
|
65
|
+
| 'PPC64LE_ARCHITECTURE'
|
|
66
|
+
| 'S390X_ARCHITECTURE'
|
|
67
|
+
| 'MULTIARCH_RELEASE_IMAGE';
|
|
68
|
+
|
|
69
|
+
export interface BindHostParams {
|
|
70
|
+
clusterId: string; // uuid
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export interface Boot {
|
|
74
|
+
currentBootMode?: string;
|
|
75
|
+
pxeInterface?: string;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export interface Cluster {
|
|
79
|
+
/**
|
|
80
|
+
* Indicates the type of this object. Will be 'Cluster' if this is a complete object,
|
|
81
|
+
* 'AddHostsCluster' for cluster that add hosts to existing OCP cluster,
|
|
82
|
+
*
|
|
83
|
+
*/
|
|
84
|
+
kind: 'Cluster' | 'AddHostsCluster';
|
|
85
|
+
/**
|
|
86
|
+
* Guaranteed availability of the installed cluster. 'Full' installs a Highly-Available cluster
|
|
87
|
+
* over multiple master nodes whereas 'None' installs a full cluster over one node.
|
|
88
|
+
*
|
|
89
|
+
*/
|
|
90
|
+
highAvailabilityMode?: 'Full' | 'None';
|
|
91
|
+
/**
|
|
92
|
+
* Unique identifier of the object.
|
|
93
|
+
*/
|
|
94
|
+
id: string; // uuid
|
|
95
|
+
/**
|
|
96
|
+
* Self link.
|
|
97
|
+
*/
|
|
98
|
+
href: string;
|
|
99
|
+
/**
|
|
100
|
+
* Name of the OpenShift cluster.
|
|
101
|
+
*/
|
|
102
|
+
name?: string;
|
|
103
|
+
userName?: string;
|
|
104
|
+
orgId?: string;
|
|
105
|
+
emailDomain?: string;
|
|
106
|
+
/**
|
|
107
|
+
* Version of the OpenShift cluster.
|
|
108
|
+
*/
|
|
109
|
+
openshiftVersion?: string;
|
|
110
|
+
/**
|
|
111
|
+
* OpenShift release image URI.
|
|
112
|
+
*/
|
|
113
|
+
ocpReleaseImage?: string;
|
|
114
|
+
/**
|
|
115
|
+
* Cluster ID on OCP system.
|
|
116
|
+
*/
|
|
117
|
+
openshiftClusterId?: string; // uuid
|
|
118
|
+
imageInfo: ImageInfo;
|
|
119
|
+
platform?: Platform;
|
|
120
|
+
/**
|
|
121
|
+
* Base domain of the cluster. All DNS records must be sub-domains of this base and include the cluster name.
|
|
122
|
+
*/
|
|
123
|
+
baseDnsDomain?: string;
|
|
124
|
+
/**
|
|
125
|
+
* IP address block from which Pod IPs are allocated. This block must not overlap with existing physical networks. These IP addresses are used for the Pod network, and if you need to access the Pods from an external network, configure load balancers and routers to manage the traffic.
|
|
126
|
+
*/
|
|
127
|
+
clusterNetworkCidr?: string; // ^(?:(?:(?:[0-9]{1,3}\.){3}[0-9]{1,3}\/(?:(?:[0-9])|(?:[1-2][0-9])|(?:3[0-2])))|(?:(?:[0-9a-fA-F]*:[0-9a-fA-F]*){2,})/(?:(?:[0-9])|(?:[1-9][0-9])|(?:1[0-1][0-9])|(?:12[0-8])))$
|
|
128
|
+
/**
|
|
129
|
+
* The subnet prefix length to assign to each individual node. For example, if clusterNetworkHostPrefix is set to 23, then each node is assigned a /23 subnet out of the given cidr (clusterNetworkCIDR), which allows for 510 (2^(32 - 23) - 2) pod IPs addresses. If you are required to provide access to nodes from an external network, configure load balancers and routers to manage the traffic.
|
|
130
|
+
*/
|
|
131
|
+
clusterNetworkHostPrefix?: number;
|
|
132
|
+
/**
|
|
133
|
+
* The IP address pool to use for service IP addresses. You can enter only one IP address pool. If you need to access the services from an external network, configure load balancers and routers to manage the traffic.
|
|
134
|
+
*/
|
|
135
|
+
serviceNetworkCidr?: string; // ^(?:(?:(?:[0-9]{1,3}\.){3}[0-9]{1,3}\/(?:(?:[0-9])|(?:[1-2][0-9])|(?:3[0-2])))|(?:(?:[0-9a-fA-F]*:[0-9a-fA-F]*){2,})/(?:(?:[0-9])|(?:[1-9][0-9])|(?:1[0-1][0-9])|(?:12[0-8])))$
|
|
136
|
+
/**
|
|
137
|
+
* (DEPRECATED) The virtual IP used to reach the OpenShift cluster's API.
|
|
138
|
+
*/
|
|
139
|
+
apiVip?: string; // ^(?:(?:(?:[0-9]{1,3}\.){3}[0-9]{1,3})|(?:(?:[0-9a-fA-F]*:[0-9a-fA-F]*){2,}))$
|
|
140
|
+
/**
|
|
141
|
+
* The virtual IPs used to reach the OpenShift cluster's API. Enter one IP address for single-stack clusters, or up to two for dual-stack clusters (at most one IP address per IP stack used). The order of stacks should be the same as order of subnets in Cluster Networks, Service Networks, and Machine Networks.
|
|
142
|
+
*/
|
|
143
|
+
apiVips?: ApiVip[];
|
|
144
|
+
/**
|
|
145
|
+
* The domain name used to reach the OpenShift cluster API.
|
|
146
|
+
*/
|
|
147
|
+
apiVipDnsName?: string;
|
|
148
|
+
/**
|
|
149
|
+
* A CIDR that all hosts belonging to the cluster should have an interfaces with IP address that belongs to this CIDR. The apiVip belongs to this CIDR.
|
|
150
|
+
*/
|
|
151
|
+
machineNetworkCidr?: string; // ^(?:(?:(?:[0-9]{1,3}\.){3}[0-9]{1,3}\/(?:(?:[0-9])|(?:[1-2][0-9])|(?:3[0-2])))|(?:(?:[0-9a-fA-F]*:[0-9a-fA-F]*){2,})/(?:(?:[0-9])|(?:[1-9][0-9])|(?:1[0-1][0-9])|(?:12[0-8])))$
|
|
152
|
+
/**
|
|
153
|
+
* (DEPRECATED) The virtual IP used for cluster ingress traffic.
|
|
154
|
+
*/
|
|
155
|
+
ingressVip?: string; // ^(?:(?:(?:[0-9]{1,3}\.){3}[0-9]{1,3})|(?:(?:[0-9a-fA-F]*:[0-9a-fA-F]*){2,}))$
|
|
156
|
+
/**
|
|
157
|
+
* The virtual IPs used for cluster ingress traffic. Enter one IP address for single-stack clusters, or up to two for dual-stack clusters (at most one IP address per IP stack used). The order of stacks should be the same as order of subnets in Cluster Networks, Service Networks, and Machine Networks.
|
|
158
|
+
*/
|
|
159
|
+
ingressVips?: IngressVip[];
|
|
160
|
+
/**
|
|
161
|
+
* SSH public key for debugging OpenShift nodes.
|
|
162
|
+
*/
|
|
163
|
+
sshPublicKey?: string;
|
|
164
|
+
/**
|
|
165
|
+
* A proxy URL to use for creating HTTP connections outside the cluster.
|
|
166
|
+
* http://\<username\>:\<pswd\>@\<ip\>:\<port\>
|
|
167
|
+
*
|
|
168
|
+
*/
|
|
169
|
+
httpProxy?: string;
|
|
170
|
+
/**
|
|
171
|
+
* A proxy URL to use for creating HTTPS connections outside the cluster.
|
|
172
|
+
* http://\<username\>:\<pswd\>@\<ip\>:\<port\>
|
|
173
|
+
*
|
|
174
|
+
*/
|
|
175
|
+
httpsProxy?: string;
|
|
176
|
+
/**
|
|
177
|
+
* A comma-separated list of destination domain names, domains, IP addresses, or other network CIDRs to exclude from proxying.
|
|
178
|
+
*/
|
|
179
|
+
noProxy?: string;
|
|
180
|
+
/**
|
|
181
|
+
* Status of the OpenShift cluster.
|
|
182
|
+
*/
|
|
183
|
+
status:
|
|
184
|
+
| 'insufficient'
|
|
185
|
+
| 'ready'
|
|
186
|
+
| 'error'
|
|
187
|
+
| 'preparing-for-installation'
|
|
188
|
+
| 'pending-for-input'
|
|
189
|
+
| 'installing'
|
|
190
|
+
| 'finalizing'
|
|
191
|
+
| 'installed'
|
|
192
|
+
| 'adding-hosts'
|
|
193
|
+
| 'cancelled'
|
|
194
|
+
| 'installing-pending-user-action';
|
|
195
|
+
/**
|
|
196
|
+
* Additional information pertaining to the status of the OpenShift cluster.
|
|
197
|
+
*/
|
|
198
|
+
statusInfo: string;
|
|
199
|
+
/**
|
|
200
|
+
* The last time that the cluster status was updated.
|
|
201
|
+
*/
|
|
202
|
+
statusUpdatedAt?: string; // date-time
|
|
203
|
+
/**
|
|
204
|
+
* Installation progress percentages of the cluster.
|
|
205
|
+
*/
|
|
206
|
+
progress?: ClusterProgressInfo;
|
|
207
|
+
/**
|
|
208
|
+
* Information regarding hosts' installation disks encryption.
|
|
209
|
+
*/
|
|
210
|
+
diskEncryption?: DiskEncryption;
|
|
211
|
+
/**
|
|
212
|
+
* Hosts that are associated with this cluster.
|
|
213
|
+
*/
|
|
214
|
+
hosts?: Host[];
|
|
215
|
+
/**
|
|
216
|
+
* hosts associated to this cluster that are in 'known' state.
|
|
217
|
+
*/
|
|
218
|
+
readyHostCount?: number; // int64
|
|
219
|
+
/**
|
|
220
|
+
* hosts associated to this cluster that are not in 'disabled' state.
|
|
221
|
+
*/
|
|
222
|
+
enabledHostCount?: number; // int64
|
|
223
|
+
/**
|
|
224
|
+
* All hosts associated to this cluster.
|
|
225
|
+
*/
|
|
226
|
+
totalHostCount?: number; // int64
|
|
227
|
+
/**
|
|
228
|
+
* Schedule workloads on masters
|
|
229
|
+
*/
|
|
230
|
+
schedulableMasters?: boolean;
|
|
231
|
+
/**
|
|
232
|
+
* Indicates if schedule workloads on masters will be enabled regardless the value of 'schedulableMasters' property.
|
|
233
|
+
* Set to 'true' when not enough hosts are associated with this cluster to disable the scheduling on masters.
|
|
234
|
+
*
|
|
235
|
+
*/
|
|
236
|
+
schedulableMastersForcedTrue?: boolean;
|
|
237
|
+
/**
|
|
238
|
+
* The last time that this cluster was updated.
|
|
239
|
+
*/
|
|
240
|
+
updatedAt?: string; // date-time
|
|
241
|
+
/**
|
|
242
|
+
* The time that this cluster was created.
|
|
243
|
+
*/
|
|
244
|
+
createdAt?: string; // date-time
|
|
245
|
+
/**
|
|
246
|
+
* The time that this cluster started installation.
|
|
247
|
+
*/
|
|
248
|
+
installStartedAt?: string; // date-time
|
|
249
|
+
/**
|
|
250
|
+
* The time that this cluster completed installation.
|
|
251
|
+
*/
|
|
252
|
+
installCompletedAt?: string; // date-time
|
|
253
|
+
/**
|
|
254
|
+
* List of host networks to be filled during query.
|
|
255
|
+
*/
|
|
256
|
+
hostNetworks?: HostNetwork[];
|
|
257
|
+
/**
|
|
258
|
+
* True if the pull secret has been added to the cluster.
|
|
259
|
+
*/
|
|
260
|
+
pullSecretSet?: boolean;
|
|
261
|
+
/**
|
|
262
|
+
* Indicate if virtual IP DHCP allocation mode is enabled.
|
|
263
|
+
*/
|
|
264
|
+
vipDhcpAllocation?: boolean;
|
|
265
|
+
/**
|
|
266
|
+
* JSON-formatted string containing the validation results for each validation id grouped by category (network, hosts-data, etc.)
|
|
267
|
+
*/
|
|
268
|
+
validationsInfo?: string;
|
|
269
|
+
/**
|
|
270
|
+
* The progress of log collection or empty if logs are not applicable
|
|
271
|
+
*/
|
|
272
|
+
logsInfo?: LogsState;
|
|
273
|
+
/**
|
|
274
|
+
* JSON-formatted string containing the user overrides for the install-config.yaml file.
|
|
275
|
+
* example:
|
|
276
|
+
* {"networking":{"networkType": "OVNKubernetes"},"fips":true}
|
|
277
|
+
*/
|
|
278
|
+
installConfigOverrides?: string;
|
|
279
|
+
controllerLogsCollectedAt?: string; // date-time
|
|
280
|
+
controllerLogsStartedAt?: string; // date-time
|
|
281
|
+
/**
|
|
282
|
+
* Json formatted string containing the majority groups for connectivity checks.
|
|
283
|
+
*/
|
|
284
|
+
connectivityMajorityGroups?: string;
|
|
285
|
+
/**
|
|
286
|
+
* Json formatted string containing ip collisions detected in the cluster.
|
|
287
|
+
*/
|
|
288
|
+
ipCollisions?: string;
|
|
289
|
+
/**
|
|
290
|
+
* Json formatted string containing a list of host validations to be ignored. May also contain a list with a single string "all" to ignore all host validations. Some validations cannot be ignored.
|
|
291
|
+
*/
|
|
292
|
+
ignoredHostValidations?: string;
|
|
293
|
+
/**
|
|
294
|
+
* Json formatted string containing a list of cluster validations to be ignored. May also contain a list with a single string "all" to ignore all cluster validations. Some validations cannot be ignored.
|
|
295
|
+
*/
|
|
296
|
+
ignoredClusterValidations?: string;
|
|
297
|
+
/**
|
|
298
|
+
* swagger:ignore
|
|
299
|
+
*/
|
|
300
|
+
deletedAt?: unknown;
|
|
301
|
+
/**
|
|
302
|
+
* (DEPRECATED) Indicate if the networking is managed by the user.
|
|
303
|
+
*/
|
|
304
|
+
userManagedNetworking?: boolean;
|
|
305
|
+
/**
|
|
306
|
+
* A comma-separated list of NTP sources (name or IP) going to be added to all the hosts.
|
|
307
|
+
*/
|
|
308
|
+
additionalNtpSource?: string;
|
|
309
|
+
/**
|
|
310
|
+
* Operators that are associated with this cluster.
|
|
311
|
+
*/
|
|
312
|
+
monitoredOperators?: MonitoredOperator[];
|
|
313
|
+
/**
|
|
314
|
+
* Unique identifier of the AMS subscription in OCM.
|
|
315
|
+
*/
|
|
316
|
+
amsSubscriptionId?: string; // uuid
|
|
317
|
+
/**
|
|
318
|
+
* Enable/disable hyperthreading on master nodes, worker nodes, or all nodes
|
|
319
|
+
*/
|
|
320
|
+
hyperthreading?: 'masters' | 'workers' | 'all' | 'none';
|
|
321
|
+
/**
|
|
322
|
+
* JSON-formatted string containing the usage information by feature name
|
|
323
|
+
*/
|
|
324
|
+
featureUsage?: string;
|
|
325
|
+
/**
|
|
326
|
+
* The desired network type used.
|
|
327
|
+
*/
|
|
328
|
+
networkType?: 'OpenShiftSDN' | 'OVNKubernetes';
|
|
329
|
+
/**
|
|
330
|
+
* Cluster networks that are associated with this cluster.
|
|
331
|
+
*/
|
|
332
|
+
clusterNetworks?: ClusterNetwork[];
|
|
333
|
+
/**
|
|
334
|
+
* Service networks that are associated with this cluster.
|
|
335
|
+
*/
|
|
336
|
+
serviceNetworks?: ServiceNetwork[];
|
|
337
|
+
/**
|
|
338
|
+
* Machine networks that are associated with this cluster.
|
|
339
|
+
*/
|
|
340
|
+
machineNetworks?: MachineNetwork[];
|
|
341
|
+
/**
|
|
342
|
+
* The CPU architecture of the image (x86_64/arm64/etc).
|
|
343
|
+
*/
|
|
344
|
+
cpuArchitecture?: 'x86_64' | 'aarch64' | 'arm64' | 'ppc64le' | 's390x' | 'multi';
|
|
345
|
+
/**
|
|
346
|
+
* Explicit ignition endpoint overrides the default ignition endpoint.
|
|
347
|
+
*/
|
|
348
|
+
ignitionEndpoint?: IgnitionEndpoint;
|
|
349
|
+
/**
|
|
350
|
+
* Indicates whether this cluster is an imported day-2 cluster or a
|
|
351
|
+
* regular cluster. Clusters are considered imported when they are
|
|
352
|
+
* created via the ../clusters/import endpoint. Day-2 clusters converted
|
|
353
|
+
* from day-1 clusters by kube-api controllers or the
|
|
354
|
+
* ../clusters/<clusterId>/actions/allow-add-hosts endpoint are not
|
|
355
|
+
* considered imported. Imported clusters usually lack a lot of
|
|
356
|
+
* information and are filled with default values that don't necessarily
|
|
357
|
+
* reflect the actual cluster they represent
|
|
358
|
+
*/
|
|
359
|
+
imported?: boolean;
|
|
360
|
+
/**
|
|
361
|
+
* A comma-separated list of tags that are associated to the cluster.
|
|
362
|
+
*/
|
|
363
|
+
tags?: string;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
export interface ClusterCreateParams {
|
|
367
|
+
/**
|
|
368
|
+
* Name of the OpenShift cluster.
|
|
369
|
+
*/
|
|
370
|
+
name: string;
|
|
371
|
+
/**
|
|
372
|
+
* Guaranteed availability of the installed cluster. 'Full' installs a Highly-Available cluster
|
|
373
|
+
* over multiple master nodes whereas 'None' installs a full cluster over one node.
|
|
374
|
+
*
|
|
375
|
+
*/
|
|
376
|
+
highAvailabilityMode?: 'Full' | 'None';
|
|
377
|
+
/**
|
|
378
|
+
* Version of the OpenShift cluster.
|
|
379
|
+
*/
|
|
380
|
+
openshiftVersion: string;
|
|
381
|
+
/**
|
|
382
|
+
* OpenShift release image URI.
|
|
383
|
+
*/
|
|
384
|
+
ocpReleaseImage?: string;
|
|
385
|
+
/**
|
|
386
|
+
* Base domain of the cluster. All DNS records must be sub-domains of this base and include the cluster name.
|
|
387
|
+
*/
|
|
388
|
+
baseDnsDomain?: string;
|
|
389
|
+
/**
|
|
390
|
+
* IP address block from which Pod IPs are allocated. This block must not overlap with existing physical networks. These IP addresses are used for the Pod network, and if you need to access the Pods from an external network, configure load balancers and routers to manage the traffic.
|
|
391
|
+
*/
|
|
392
|
+
clusterNetworkCidr?: string; // ^(?:(?:(?:[0-9]{1,3}\.){3}[0-9]{1,3}\/(?:(?:[0-9])|(?:[1-2][0-9])|(?:3[0-2])))|(?:(?:[0-9a-fA-F]*:[0-9a-fA-F]*){2,})/(?:(?:[0-9])|(?:[1-9][0-9])|(?:1[0-1][0-9])|(?:12[0-8])))$
|
|
393
|
+
/**
|
|
394
|
+
* The subnet prefix length to assign to each individual node. For example, if clusterNetworkHostPrefix is set to 23, then each node is assigned a /23 subnet out of the given cidr (clusterNetworkCIDR), which allows for 510 (2^(32 - 23) - 2) pod IPs addresses. If you are required to provide access to nodes from an external network, configure load balancers and routers to manage the traffic.
|
|
395
|
+
*/
|
|
396
|
+
clusterNetworkHostPrefix?: number;
|
|
397
|
+
/**
|
|
398
|
+
* The IP address pool to use for service IP addresses. You can enter only one IP address pool. If you need to access the services from an external network, configure load balancers and routers to manage the traffic.
|
|
399
|
+
*/
|
|
400
|
+
serviceNetworkCidr?: string; // ^(?:(?:(?:[0-9]{1,3}\.){3}[0-9]{1,3}\/(?:(?:[0-9])|(?:[1-2][0-9])|(?:3[0-2])))|(?:(?:[0-9a-fA-F]*:[0-9a-fA-F]*){2,})/(?:(?:[0-9])|(?:[1-9][0-9])|(?:1[0-1][0-9])|(?:12[0-8])))$
|
|
401
|
+
/**
|
|
402
|
+
* (DEPRECATED) The virtual IP used to reach the OpenShift cluster's API.
|
|
403
|
+
*/
|
|
404
|
+
apiVip?: string; // ^(?:(?:(?:[0-9]{1,3}\.){3}[0-9]{1,3})|(?:(?:[0-9a-fA-F]*:[0-9a-fA-F]*){2,}))?$
|
|
405
|
+
/**
|
|
406
|
+
* The virtual IPs used to reach the OpenShift cluster's API. Enter one IP address for single-stack clusters, or up to two for dual-stack clusters (at most one IP address per IP stack used). The order of stacks should be the same as order of subnets in Cluster Networks, Service Networks, and Machine Networks.
|
|
407
|
+
*/
|
|
408
|
+
apiVips?: ApiVip[];
|
|
409
|
+
/**
|
|
410
|
+
* (DEPRECATED) The virtual IP used for cluster ingress traffic.
|
|
411
|
+
*/
|
|
412
|
+
ingressVip?: string; // ^(?:(?:(?:[0-9]{1,3}\.){3}[0-9]{1,3})|(?:(?:[0-9a-fA-F]*:[0-9a-fA-F]*){2,}))$
|
|
413
|
+
/**
|
|
414
|
+
* The virtual IPs used for cluster ingress traffic. Enter one IP address for single-stack clusters, or up to two for dual-stack clusters (at most one IP address per IP stack used). The order of stacks should be the same as order of subnets in Cluster Networks, Service Networks, and Machine Networks.
|
|
415
|
+
*/
|
|
416
|
+
ingressVips?: IngressVip[];
|
|
417
|
+
/**
|
|
418
|
+
* The pull secret obtained from Red Hat OpenShift Cluster Manager at console.redhat.com/openshift/install/pull-secret.
|
|
419
|
+
*/
|
|
420
|
+
pullSecret: string;
|
|
421
|
+
/**
|
|
422
|
+
* SSH public key for debugging OpenShift nodes.
|
|
423
|
+
*/
|
|
424
|
+
sshPublicKey?: string;
|
|
425
|
+
/**
|
|
426
|
+
* Indicate if virtual IP DHCP allocation mode is enabled.
|
|
427
|
+
*/
|
|
428
|
+
vipDhcpAllocation?: boolean;
|
|
429
|
+
/**
|
|
430
|
+
* A proxy URL to use for creating HTTP connections outside the cluster.
|
|
431
|
+
* http://\<username\>:\<pswd\>@\<ip\>:\<port\>
|
|
432
|
+
*
|
|
433
|
+
*/
|
|
434
|
+
httpProxy?: string;
|
|
435
|
+
/**
|
|
436
|
+
* A proxy URL to use for creating HTTPS connections outside the cluster.
|
|
437
|
+
* http://\<username\>:\<pswd\>@\<ip\>:\<port\>
|
|
438
|
+
*
|
|
439
|
+
*/
|
|
440
|
+
httpsProxy?: string;
|
|
441
|
+
/**
|
|
442
|
+
* An "*" or a comma-separated list of destination domain names, domains, IP addresses, or other network CIDRs to exclude from proxying.
|
|
443
|
+
*/
|
|
444
|
+
noProxy?: string;
|
|
445
|
+
/**
|
|
446
|
+
* (DEPRECATED) Indicate if the networking is managed by the user.
|
|
447
|
+
*/
|
|
448
|
+
userManagedNetworking?: boolean;
|
|
449
|
+
/**
|
|
450
|
+
* A comma-separated list of NTP sources (name or IP) going to be added to all the hosts.
|
|
451
|
+
*/
|
|
452
|
+
additionalNtpSource?: string;
|
|
453
|
+
/**
|
|
454
|
+
* List of OLM operators to be installed.
|
|
455
|
+
*/
|
|
456
|
+
olmOperators?: OperatorCreateParams[];
|
|
457
|
+
/**
|
|
458
|
+
* Enable/disable hyperthreading on master nodes, worker nodes, or all nodes.
|
|
459
|
+
*/
|
|
460
|
+
hyperthreading?: 'masters' | 'workers' | 'none' | 'all';
|
|
461
|
+
/**
|
|
462
|
+
* The desired network type used.
|
|
463
|
+
*/
|
|
464
|
+
networkType?: 'OpenShiftSDN' | 'OVNKubernetes';
|
|
465
|
+
/**
|
|
466
|
+
* Schedule workloads on masters
|
|
467
|
+
*/
|
|
468
|
+
schedulableMasters?: boolean;
|
|
469
|
+
/**
|
|
470
|
+
* Cluster networks that are associated with this cluster.
|
|
471
|
+
*/
|
|
472
|
+
clusterNetworks?: ClusterNetwork[];
|
|
473
|
+
/**
|
|
474
|
+
* Service networks that are associated with this cluster.
|
|
475
|
+
*/
|
|
476
|
+
serviceNetworks?: ServiceNetwork[];
|
|
477
|
+
/**
|
|
478
|
+
* Machine networks that are associated with this cluster.
|
|
479
|
+
*/
|
|
480
|
+
machineNetworks?: MachineNetwork[];
|
|
481
|
+
platform?: Platform;
|
|
482
|
+
/**
|
|
483
|
+
* The CPU architecture of the image (x86_64/arm64/etc).
|
|
484
|
+
*/
|
|
485
|
+
cpuArchitecture?: 'x86_64' | 'aarch64' | 'arm64' | 'ppc64le' | 's390x' | 'multi';
|
|
486
|
+
/**
|
|
487
|
+
* Installation disks encryption mode and host roles to be applied.
|
|
488
|
+
*/
|
|
489
|
+
diskEncryption?: DiskEncryption;
|
|
490
|
+
/**
|
|
491
|
+
* Explicit ignition endpoint overrides the default ignition endpoint.
|
|
492
|
+
*/
|
|
493
|
+
ignitionEndpoint?: IgnitionEndpoint;
|
|
494
|
+
/**
|
|
495
|
+
* A comma-separated list of tags that are associated to the cluster.
|
|
496
|
+
*/
|
|
497
|
+
tags?: string;
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
export interface ClusterDefaultConfig {
|
|
501
|
+
clusterNetworkCidr?: string; // ^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)[\/]([1-9]|[1-2][0-9]|3[0-2]?)$
|
|
502
|
+
clusterNetworkHostPrefix?: number;
|
|
503
|
+
inactiveDeletionHours?: number;
|
|
504
|
+
serviceNetworkCidr?: string; // ^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)[\/]([1-9]|[1-2][0-9]|3[0-2]?)$
|
|
505
|
+
ntpSource?: string;
|
|
506
|
+
clusterNetworksIpv4?: ClusterNetwork[];
|
|
507
|
+
clusterNetworksDualstack?: ClusterNetwork[];
|
|
508
|
+
serviceNetworksIpv4?: ServiceNetwork[];
|
|
509
|
+
serviceNetworksDualstack?: ServiceNetwork[];
|
|
510
|
+
/**
|
|
511
|
+
* This provides a list of forbidden hostnames. If this list is empty or not present, this implies that the UI should fall back to a hard coded list.
|
|
512
|
+
*/
|
|
513
|
+
forbiddenHostnames?: string[];
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
export interface ClusterHostRequirements {
|
|
517
|
+
/**
|
|
518
|
+
* Unique identifier of the host the requirements relate to.
|
|
519
|
+
*/
|
|
520
|
+
hostId?: string; // uuid
|
|
521
|
+
/**
|
|
522
|
+
* Total host requirements for the cluster configuration
|
|
523
|
+
*/
|
|
524
|
+
total?: ClusterHostRequirementsDetails;
|
|
525
|
+
/**
|
|
526
|
+
* Host requirements for the OCP installation
|
|
527
|
+
*/
|
|
528
|
+
ocp?: ClusterHostRequirementsDetails;
|
|
529
|
+
/**
|
|
530
|
+
* Host requirements related to requested operators
|
|
531
|
+
*/
|
|
532
|
+
operators?: OperatorHostRequirements[];
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
export interface ClusterHostRequirementsDetails {
|
|
536
|
+
/**
|
|
537
|
+
* Required number of CPU cores
|
|
538
|
+
*/
|
|
539
|
+
cpuCores?: number;
|
|
540
|
+
/**
|
|
541
|
+
* Required number of RAM in MiB
|
|
542
|
+
*/
|
|
543
|
+
ramMib?: number;
|
|
544
|
+
/**
|
|
545
|
+
* Required disk size in GB
|
|
546
|
+
*/
|
|
547
|
+
diskSizeGb?: number;
|
|
548
|
+
/**
|
|
549
|
+
* Required installation disk speed in ms
|
|
550
|
+
*/
|
|
551
|
+
installationDiskSpeedThresholdMs?: number;
|
|
552
|
+
/**
|
|
553
|
+
* Maximum network average latency (RTT) at L3 for role.
|
|
554
|
+
*/
|
|
555
|
+
networkLatencyThresholdMs?: number; // double
|
|
556
|
+
/**
|
|
557
|
+
* Maximum packet loss allowed at L3 for role.
|
|
558
|
+
*/
|
|
559
|
+
packetLossPercentage?: number; // double
|
|
560
|
+
/**
|
|
561
|
+
* Whether TPM module should be enabled in host's BIOS.
|
|
562
|
+
*/
|
|
563
|
+
tpmEnabledInBios?: boolean;
|
|
564
|
+
}
|
|
565
|
+
|
|
566
|
+
export type ClusterHostRequirementsList = ClusterHostRequirements[];
|
|
567
|
+
export type ClusterList = Cluster[];
|
|
568
|
+
|
|
569
|
+
/**
|
|
570
|
+
* A network from which Pod IPs are allocated. This block must not overlap with existing physical networks. These IP addresses are used for the Pod network, and if you need to access the Pods from an external network, configure load balancers and routers to manage the traffic.
|
|
571
|
+
*/
|
|
572
|
+
export interface ClusterNetwork {
|
|
573
|
+
/**
|
|
574
|
+
* The cluster that this network is associated with.
|
|
575
|
+
*/
|
|
576
|
+
clusterId?: string; // uuid
|
|
577
|
+
/**
|
|
578
|
+
* The IP block address pool.
|
|
579
|
+
*/
|
|
580
|
+
cidr?: Subnet; // ^(?:(?:(?:[0-9]{1,3}\.){3}[0-9]{1,3}\/(?:(?:[0-9])|(?:[1-2][0-9])|(?:3[0-2])))|(?:(?:[0-9a-fA-F]*:[0-9a-fA-F]*){2,})/(?:(?:[0-9])|(?:[1-9][0-9])|(?:1[0-1][0-9])|(?:12[0-8])))$
|
|
581
|
+
/**
|
|
582
|
+
* The subnet prefix length to assign to each individual node. For example if is set to 23, then each node is assigned a /23 subnet out of the given CIDR, which allows for 510 (2^(32 - 23) - 2) pod IPs addresses.
|
|
583
|
+
*/
|
|
584
|
+
hostPrefix?: number;
|
|
585
|
+
}
|
|
586
|
+
|
|
587
|
+
export interface ClusterProgressInfo {
|
|
588
|
+
totalPercentage?: number;
|
|
589
|
+
preparingForInstallationStagePercentage?: number;
|
|
590
|
+
installingStagePercentage?: number;
|
|
591
|
+
finalizingStagePercentage?: number;
|
|
592
|
+
}
|
|
593
|
+
|
|
594
|
+
export type ClusterValidationId =
|
|
595
|
+
| 'machine-cidr-defined'
|
|
596
|
+
| 'cluster-cidr-defined'
|
|
597
|
+
| 'service-cidr-defined'
|
|
598
|
+
| 'no-cidrs-overlapping'
|
|
599
|
+
| 'networks-same-address-families'
|
|
600
|
+
| 'network-prefix-valid'
|
|
601
|
+
| 'machine-cidr-equals-to-calculated-cidr'
|
|
602
|
+
| 'api-vips-defined'
|
|
603
|
+
| 'api-vips-valid'
|
|
604
|
+
| 'ingress-vips-defined'
|
|
605
|
+
| 'ingress-vips-valid'
|
|
606
|
+
| 'all-hosts-are-ready-to-install'
|
|
607
|
+
| 'sufficient-masters-count'
|
|
608
|
+
| 'dns-domain-defined'
|
|
609
|
+
| 'pull-secret-set'
|
|
610
|
+
| 'ntp-server-configured'
|
|
611
|
+
| 'lso-requirements-satisfied'
|
|
612
|
+
| 'ocs-requirements-satisfied'
|
|
613
|
+
| 'odf-requirements-satisfied'
|
|
614
|
+
| 'cnv-requirements-satisfied'
|
|
615
|
+
| 'lvm-requirements-satisfied'
|
|
616
|
+
| 'mce-requirements-satisfied'
|
|
617
|
+
| 'network-type-valid'
|
|
618
|
+
| 'platform-requirements-satisfied';
|
|
619
|
+
|
|
620
|
+
export interface CompletionParams {
|
|
621
|
+
isSuccess: boolean;
|
|
622
|
+
errorInfo?: string;
|
|
623
|
+
/**
|
|
624
|
+
* additional data from the cluster
|
|
625
|
+
*/
|
|
626
|
+
data?: {
|
|
627
|
+
[name: string]: Record<string, unknown>;
|
|
628
|
+
};
|
|
629
|
+
}
|
|
630
|
+
|
|
631
|
+
export interface ConnectivityCheckHost {
|
|
632
|
+
hostId?: string; // uuid
|
|
633
|
+
nics?: ConnectivityCheckNic[];
|
|
634
|
+
}
|
|
635
|
+
|
|
636
|
+
export interface ConnectivityCheckNic {
|
|
637
|
+
name?: string;
|
|
638
|
+
mac?: string; // mac
|
|
639
|
+
ipAddresses?: string /* ^(?:(?:(?:[0-9]{1,3}\.){3}[0-9]{1,3})|(?:(?:[0-9a-fA-F]*:[0-9a-fA-F]*){2,}))$ */[];
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
export type ConnectivityCheckParams = ConnectivityCheckHost[];
|
|
643
|
+
|
|
644
|
+
export interface ConnectivityRemoteHost {
|
|
645
|
+
hostId?: string; // uuid
|
|
646
|
+
l2Connectivity?: L2Connectivity[];
|
|
647
|
+
l3Connectivity?: L3Connectivity[];
|
|
648
|
+
}
|
|
649
|
+
|
|
650
|
+
export interface ConnectivityReport {
|
|
651
|
+
remoteHosts?: ConnectivityRemoteHost[];
|
|
652
|
+
}
|
|
653
|
+
|
|
654
|
+
export interface ContainerImageAvailability {
|
|
655
|
+
/**
|
|
656
|
+
* A fully qualified image name (FQIN).
|
|
657
|
+
*/
|
|
658
|
+
name?: string;
|
|
659
|
+
/**
|
|
660
|
+
* Size of the image in bytes.
|
|
661
|
+
*/
|
|
662
|
+
sizeBytes?: number;
|
|
663
|
+
/**
|
|
664
|
+
* Seconds it took to pull the image.
|
|
665
|
+
*/
|
|
666
|
+
time?: number;
|
|
667
|
+
/**
|
|
668
|
+
* The rate of size/time in seconds MBps.
|
|
669
|
+
*/
|
|
670
|
+
downloadRate?: number;
|
|
671
|
+
result?: ContainerImageAvailabilityResult;
|
|
672
|
+
}
|
|
673
|
+
|
|
674
|
+
export interface ContainerImageAvailabilityRequest {
|
|
675
|
+
/**
|
|
676
|
+
* Positive number represents a timeout in seconds for a pull operation.
|
|
677
|
+
*/
|
|
678
|
+
timeout?: number;
|
|
679
|
+
/**
|
|
680
|
+
* List of image names to be checked.
|
|
681
|
+
*/
|
|
682
|
+
images: string /* ^(([a-zA-Z0-9\-\.]+)(:[0-9]+)?\/)?[a-z0-9\._\-\/@]+[?::a-zA-Z0-9_\-.]+$ */[];
|
|
683
|
+
}
|
|
684
|
+
|
|
685
|
+
export interface ContainerImageAvailabilityResponse {
|
|
686
|
+
/**
|
|
687
|
+
* List of images that were checked.
|
|
688
|
+
*/
|
|
689
|
+
images: ContainerImageAvailability[];
|
|
690
|
+
}
|
|
691
|
+
|
|
692
|
+
/**
|
|
693
|
+
* Image availability result.
|
|
694
|
+
*/
|
|
695
|
+
export type ContainerImageAvailabilityResult = 'success' | 'failure';
|
|
696
|
+
|
|
697
|
+
export interface Cpu {
|
|
698
|
+
count?: number;
|
|
699
|
+
frequency?: number;
|
|
700
|
+
flags?: string[];
|
|
701
|
+
modelName?: string;
|
|
702
|
+
architecture?: string;
|
|
703
|
+
}
|
|
704
|
+
|
|
705
|
+
export interface CreateManifestParams {
|
|
706
|
+
/**
|
|
707
|
+
* The folder that contains the files. Manifests can be placed in 'manifests' or 'openshift' directories.
|
|
708
|
+
*/
|
|
709
|
+
folder?: 'manifests' | 'openshift';
|
|
710
|
+
/**
|
|
711
|
+
* The name of the manifest to customize the installed OCP cluster.
|
|
712
|
+
*/
|
|
713
|
+
fileName: string; // ^[^/]*\.(yaml|yml|json)$
|
|
714
|
+
/**
|
|
715
|
+
* base64 encoded manifest content.
|
|
716
|
+
*/
|
|
717
|
+
content: string;
|
|
718
|
+
}
|
|
719
|
+
|
|
720
|
+
export interface Credentials {
|
|
721
|
+
username?: string;
|
|
722
|
+
password?: string;
|
|
723
|
+
consoleUrl?: string;
|
|
724
|
+
}
|
|
725
|
+
|
|
726
|
+
export interface DhcpAllocationRequest {
|
|
727
|
+
/**
|
|
728
|
+
* The network interface (NIC) to run the DHCP requests on.
|
|
729
|
+
*/
|
|
730
|
+
interface: string;
|
|
731
|
+
/**
|
|
732
|
+
* MAC address for the API virtual IP.
|
|
733
|
+
*/
|
|
734
|
+
apiVipMac: string; // mac
|
|
735
|
+
/**
|
|
736
|
+
* MAC address for the Ingress virtual IP.
|
|
737
|
+
*/
|
|
738
|
+
ingressVipMac: string; // mac
|
|
739
|
+
/**
|
|
740
|
+
* Contents of lease file to be used for API virtual IP.
|
|
741
|
+
*/
|
|
742
|
+
apiVipLease?: string;
|
|
743
|
+
/**
|
|
744
|
+
* Contents of lease file to be used for for Ingress virtual IP.
|
|
745
|
+
*/
|
|
746
|
+
ingressVipLease?: string;
|
|
747
|
+
}
|
|
748
|
+
|
|
749
|
+
export interface DhcpAllocationResponse {
|
|
750
|
+
/**
|
|
751
|
+
* The IPv4 address that was allocated by DHCP for the API virtual IP.
|
|
752
|
+
*/
|
|
753
|
+
apiVipAddress: string; // ipv4
|
|
754
|
+
/**
|
|
755
|
+
* The IPv4 address that was allocated by DHCP for the Ingress virtual IP.
|
|
756
|
+
*/
|
|
757
|
+
ingressVipAddress: string; // ipv4
|
|
758
|
+
/**
|
|
759
|
+
* Contents of last acquired lease for API virtual IP.
|
|
760
|
+
*/
|
|
761
|
+
apiVipLease?: string;
|
|
762
|
+
/**
|
|
763
|
+
* Contents of last acquired lease for Ingress virtual IP.
|
|
764
|
+
*/
|
|
765
|
+
ingressVipLease?: string;
|
|
766
|
+
}
|
|
767
|
+
|
|
768
|
+
export interface Disk {
|
|
769
|
+
/**
|
|
770
|
+
* Determine the disk's unique identifier which is the by-id field if it exists and fallback to the by-path field otherwise
|
|
771
|
+
*/
|
|
772
|
+
id?: string;
|
|
773
|
+
driveType?: DriveType;
|
|
774
|
+
hasUuid?: boolean;
|
|
775
|
+
vendor?: string;
|
|
776
|
+
name?: string;
|
|
777
|
+
path?: string;
|
|
778
|
+
hctl?: string;
|
|
779
|
+
/**
|
|
780
|
+
* by-path is the shortest physical path to the device
|
|
781
|
+
*/
|
|
782
|
+
byPath?: string;
|
|
783
|
+
/**
|
|
784
|
+
* by-id is the World Wide Number of the device which guaranteed to be unique for every storage device
|
|
785
|
+
*/
|
|
786
|
+
byId?: string;
|
|
787
|
+
model?: string;
|
|
788
|
+
wwn?: string;
|
|
789
|
+
serial?: string;
|
|
790
|
+
sizeBytes?: number;
|
|
791
|
+
bootable?: boolean;
|
|
792
|
+
removable?: boolean;
|
|
793
|
+
/**
|
|
794
|
+
* Whether the disk appears to be an installation media or not
|
|
795
|
+
*/
|
|
796
|
+
isInstallationMedia?: boolean;
|
|
797
|
+
installationEligibility?: {
|
|
798
|
+
/**
|
|
799
|
+
* Whether the disk is eligible for installation or not.
|
|
800
|
+
*/
|
|
801
|
+
eligible?: boolean;
|
|
802
|
+
/**
|
|
803
|
+
* Reasons for why this disk is not eligible for installation.
|
|
804
|
+
*/
|
|
805
|
+
notEligibleReasons?: string[];
|
|
806
|
+
};
|
|
807
|
+
smart?: string;
|
|
808
|
+
ioPerf?: IoPerf;
|
|
809
|
+
/**
|
|
810
|
+
* A comma-separated list of disk names that this disk belongs to
|
|
811
|
+
*/
|
|
812
|
+
holders?: string;
|
|
813
|
+
}
|
|
814
|
+
|
|
815
|
+
export interface DiskConfigParams {
|
|
816
|
+
id: string;
|
|
817
|
+
role?: DiskRole;
|
|
818
|
+
}
|
|
819
|
+
|
|
820
|
+
export interface DiskEncryption {
|
|
821
|
+
/**
|
|
822
|
+
* Enable/disable disk encryption on master nodes, worker nodes, or all nodes.
|
|
823
|
+
*/
|
|
824
|
+
enableOn?: 'none' | 'all' | 'masters' | 'workers';
|
|
825
|
+
/**
|
|
826
|
+
* The disk encryption mode to use.
|
|
827
|
+
*/
|
|
828
|
+
mode?: 'tpmv2' | 'tang';
|
|
829
|
+
/**
|
|
830
|
+
* JSON-formatted string containing additional information regarding tang's configuration
|
|
831
|
+
* example:
|
|
832
|
+
* [{"url":"http://tang.example.com:7500","thumbprint":"PLjNyRdGw03zlRoGjQYMahSZGu9"}, {"url":"http://tang.example.com:7501","thumbprint":"PLjNyRdGw03zlRoGjQYMahSZGu8"}]
|
|
833
|
+
*/
|
|
834
|
+
tangServers?: string;
|
|
835
|
+
}
|
|
836
|
+
|
|
837
|
+
export interface DiskInfo {
|
|
838
|
+
id?: string; // uuid
|
|
839
|
+
path?: string;
|
|
840
|
+
diskSpeed?: DiskSpeed;
|
|
841
|
+
}
|
|
842
|
+
|
|
843
|
+
export type DiskRole = 'none' | 'install';
|
|
844
|
+
|
|
845
|
+
/**
|
|
846
|
+
* Allows an addition or removal of a host disk from the host's skipFormattingDisks list
|
|
847
|
+
*/
|
|
848
|
+
export interface DiskSkipFormattingParams {
|
|
849
|
+
/**
|
|
850
|
+
* The ID of the disk that is being added to or removed from the host's skipFormattingDisks list
|
|
851
|
+
*/
|
|
852
|
+
diskId: string;
|
|
853
|
+
/**
|
|
854
|
+
* True if you wish to add the disk to the skipFormattingDisks list, false if you wish to remove it
|
|
855
|
+
*/
|
|
856
|
+
skipFormatting: boolean;
|
|
857
|
+
}
|
|
858
|
+
|
|
859
|
+
export interface DiskSpeed {
|
|
860
|
+
tested?: boolean;
|
|
861
|
+
exitCode?: number;
|
|
862
|
+
speedMs?: number;
|
|
863
|
+
}
|
|
864
|
+
|
|
865
|
+
export interface DiskSpeedCheckRequest {
|
|
866
|
+
/**
|
|
867
|
+
* --filename argument for fio (expects a file or a block device path).
|
|
868
|
+
*/
|
|
869
|
+
path: string;
|
|
870
|
+
}
|
|
871
|
+
|
|
872
|
+
export interface DiskSpeedCheckResponse {
|
|
873
|
+
/**
|
|
874
|
+
* The 99th percentile of fdatasync durations in milliseconds.
|
|
875
|
+
*/
|
|
876
|
+
ioSyncDuration?: number;
|
|
877
|
+
/**
|
|
878
|
+
* The device path.
|
|
879
|
+
*/
|
|
880
|
+
path?: string;
|
|
881
|
+
}
|
|
882
|
+
|
|
883
|
+
export interface DomainResolutionRequest {
|
|
884
|
+
domains: {
|
|
885
|
+
/**
|
|
886
|
+
* The domain name that should be resolved
|
|
887
|
+
*/
|
|
888
|
+
domainName: string; // ^([a-zA-Z0-9]+(-[a-zA-Z0-9]+)*[.])+[a-zA-Z]{2,}[.]?$
|
|
889
|
+
}[];
|
|
890
|
+
}
|
|
891
|
+
|
|
892
|
+
export interface DomainResolutionResponse {
|
|
893
|
+
resolutions: {
|
|
894
|
+
/**
|
|
895
|
+
* The domain that was resolved
|
|
896
|
+
*/
|
|
897
|
+
domainName: string;
|
|
898
|
+
/**
|
|
899
|
+
* The IPv4 addresses of the domain, empty if none
|
|
900
|
+
*/
|
|
901
|
+
ipv4Addresses?: string /* ipv4 */[];
|
|
902
|
+
/**
|
|
903
|
+
* The IPv6 addresses of the domain, empty if none
|
|
904
|
+
*/
|
|
905
|
+
ipv6Addresses?: string /* ipv6 */[];
|
|
906
|
+
}[];
|
|
907
|
+
}
|
|
908
|
+
|
|
909
|
+
/**
|
|
910
|
+
* Information sent to the agent for downloading artifacts to boot a host into discovery.
|
|
911
|
+
*/
|
|
912
|
+
export interface DownloadBootArtifactsRequest {
|
|
913
|
+
/**
|
|
914
|
+
* URL address to download the kernel.
|
|
915
|
+
*/
|
|
916
|
+
kernelUrl: string;
|
|
917
|
+
/**
|
|
918
|
+
* URL address to download the rootfs.
|
|
919
|
+
*/
|
|
920
|
+
rootfsUrl: string;
|
|
921
|
+
/**
|
|
922
|
+
* URL address to download the initrd.
|
|
923
|
+
*/
|
|
924
|
+
initrdUrl: string;
|
|
925
|
+
/**
|
|
926
|
+
* The base directory on the host that contains the /boot folder. The host will download boot
|
|
927
|
+
* artifacts into a folder in this directory.
|
|
928
|
+
*/
|
|
929
|
+
hostFsMountDir: string;
|
|
930
|
+
}
|
|
931
|
+
|
|
932
|
+
export type DriveType =
|
|
933
|
+
| 'Unknown'
|
|
934
|
+
| 'HDD'
|
|
935
|
+
| 'FDD'
|
|
936
|
+
| 'ODD'
|
|
937
|
+
| 'SSD'
|
|
938
|
+
| 'virtual'
|
|
939
|
+
| 'Multipath'
|
|
940
|
+
| 'iSCSI'
|
|
941
|
+
| 'FC'
|
|
942
|
+
| 'LVM'
|
|
943
|
+
| 'RAID'
|
|
944
|
+
| 'ECKD'
|
|
945
|
+
| 'ECKD (ESE)'
|
|
946
|
+
| 'FBA';
|
|
947
|
+
|
|
948
|
+
export interface Error {
|
|
949
|
+
/**
|
|
950
|
+
* Indicates the type of this object. Will always be 'Error'.
|
|
951
|
+
*/
|
|
952
|
+
kind: 'Error';
|
|
953
|
+
/**
|
|
954
|
+
* Numeric identifier of the error.
|
|
955
|
+
*/
|
|
956
|
+
id: number; // int32
|
|
957
|
+
/**
|
|
958
|
+
* Self link.
|
|
959
|
+
*/
|
|
960
|
+
href: string;
|
|
961
|
+
/**
|
|
962
|
+
* Globally unique code of the error, composed of the unique identifier of the API and the numeric identifier of the error. For example, if the numeric identifier of the error is 93 and the identifier of the API is assistedInstall then the code will be ASSISTED-INSTALL-93.
|
|
963
|
+
*/
|
|
964
|
+
code: string;
|
|
965
|
+
/**
|
|
966
|
+
* Human-readable description of the error.
|
|
967
|
+
*/
|
|
968
|
+
reason: string;
|
|
969
|
+
}
|
|
970
|
+
|
|
971
|
+
export interface Event {
|
|
972
|
+
/**
|
|
973
|
+
* Event Name.
|
|
974
|
+
*/
|
|
975
|
+
name?: string;
|
|
976
|
+
/**
|
|
977
|
+
* Unique identifier of the cluster this event relates to.
|
|
978
|
+
*/
|
|
979
|
+
clusterId?: string; // uuid
|
|
980
|
+
/**
|
|
981
|
+
* Unique identifier of the host this event relates to.
|
|
982
|
+
*/
|
|
983
|
+
hostId?: string; // uuid
|
|
984
|
+
/**
|
|
985
|
+
* Unique identifier of the infra-env this event relates to.
|
|
986
|
+
*/
|
|
987
|
+
infraEnvId?: string; // uuid
|
|
988
|
+
severity: 'info' | 'warning' | 'error' | 'critical';
|
|
989
|
+
category?: 'user' | 'metrics';
|
|
990
|
+
message: string;
|
|
991
|
+
eventTime: string; // date-time
|
|
992
|
+
/**
|
|
993
|
+
* Unique identifier of the request that caused this event to occur.
|
|
994
|
+
*/
|
|
995
|
+
requestId?: string; // uuid
|
|
996
|
+
/**
|
|
997
|
+
* Additional properties for the event in JSON format.
|
|
998
|
+
*/
|
|
999
|
+
props?: string;
|
|
1000
|
+
}
|
|
1001
|
+
|
|
1002
|
+
export type EventList = Event[];
|
|
1003
|
+
|
|
1004
|
+
/**
|
|
1005
|
+
* (DEPRECATED) List of features attached to openshift version
|
|
1006
|
+
*/
|
|
1007
|
+
export interface FeatureSupportLevel {
|
|
1008
|
+
/**
|
|
1009
|
+
* Version of the OpenShift cluster.
|
|
1010
|
+
*/
|
|
1011
|
+
openshiftVersion?: string;
|
|
1012
|
+
features?: {
|
|
1013
|
+
/**
|
|
1014
|
+
* (DEPRECATED) The ID of the feature
|
|
1015
|
+
*/
|
|
1016
|
+
featureId:
|
|
1017
|
+
| 'ADDITIONAL_NTP_SOURCE'
|
|
1018
|
+
| 'REQUESTED_HOSTNAME'
|
|
1019
|
+
| 'PROXY'
|
|
1020
|
+
| 'SNO'
|
|
1021
|
+
| 'DAY2_HOSTS'
|
|
1022
|
+
| 'VIP_AUTO_ALLOC'
|
|
1023
|
+
| 'DISK_SELECTION'
|
|
1024
|
+
| 'OVN_NETWORK_TYPE'
|
|
1025
|
+
| 'SDN_NETWORK_TYPE'
|
|
1026
|
+
| 'PLATFORM_SELECTION'
|
|
1027
|
+
| 'SCHEDULABLE_MASTERS'
|
|
1028
|
+
| 'AUTO_ASSIGN_ROLE'
|
|
1029
|
+
| 'CUSTOM_MANIFEST'
|
|
1030
|
+
| 'DISK_ENCRYPTION'
|
|
1031
|
+
| 'CLUSTER_MANAGED_NETWORKING_WITH_VMS'
|
|
1032
|
+
| 'ARM64_ARCHITECTURE'
|
|
1033
|
+
| 'ARM64_ARCHITECTURE_WITH_CLUSTER_MANAGED_NETWORKING'
|
|
1034
|
+
| 'PPC64LE_ARCHITECTURE'
|
|
1035
|
+
| 'S390X_ARCHITECTURE'
|
|
1036
|
+
| 'SINGLE_NODE_EXPANSION'
|
|
1037
|
+
| 'LVM'
|
|
1038
|
+
| 'DUAL_STACK_NETWORKING'
|
|
1039
|
+
| 'MULTIARCH_RELEASE_IMAGE'
|
|
1040
|
+
| 'NUTANIX_INTEGRATION'
|
|
1041
|
+
| 'DUAL_STACK_VIPS'
|
|
1042
|
+
| 'USER_MANAGED_NETWORKING_WITH_MULTI_NODE';
|
|
1043
|
+
supportLevel: SupportLevel;
|
|
1044
|
+
}[];
|
|
1045
|
+
}
|
|
1046
|
+
|
|
1047
|
+
export type FeatureSupportLevelId =
|
|
1048
|
+
| 'SNO'
|
|
1049
|
+
| 'VIP_AUTO_ALLOC'
|
|
1050
|
+
| 'CUSTOM_MANIFEST'
|
|
1051
|
+
| 'SINGLE_NODE_EXPANSION'
|
|
1052
|
+
| 'LVM'
|
|
1053
|
+
| 'ODF'
|
|
1054
|
+
| 'LSO'
|
|
1055
|
+
| 'CNV'
|
|
1056
|
+
| 'MCE'
|
|
1057
|
+
| 'NUTANIX_INTEGRATION'
|
|
1058
|
+
| 'VSPHERE_INTEGRATION'
|
|
1059
|
+
| 'DUAL_STACK_VIPS'
|
|
1060
|
+
| 'CLUSTER_MANAGED_NETWORKING'
|
|
1061
|
+
| 'USER_MANAGED_NETWORKING'
|
|
1062
|
+
| 'MINIMAL_ISO'
|
|
1063
|
+
| 'FULL_ISO'
|
|
1064
|
+
| 'EXTERNAL_PLATFORM_OCI'
|
|
1065
|
+
| 'DUAL_STACK';
|
|
1066
|
+
/**
|
|
1067
|
+
* (DEPRECATED) List of objects that containing a list of feature-support level and attached to openshift-version
|
|
1068
|
+
*/
|
|
1069
|
+
export type FeatureSupportLevels = FeatureSupportLevel[];
|
|
1070
|
+
export type FreeAddressesList = string /* ipv4 */[];
|
|
1071
|
+
export type FreeAddressesRequest =
|
|
1072
|
+
string /* ^([0-9]{1,3}\.){3}[0-9]{1,3}\/[0-9]|[1-2][0-9]|3[0-2]?$ */[];
|
|
1073
|
+
|
|
1074
|
+
export interface FreeNetworkAddresses {
|
|
1075
|
+
network?: string; // ^([0-9]{1,3}\.){3}[0-9]{1,3}\/[0-9]|[1-2][0-9]|3[0-2]?$
|
|
1076
|
+
freeAddresses?: string /* ipv4 */[];
|
|
1077
|
+
}
|
|
1078
|
+
|
|
1079
|
+
export type FreeNetworksAddresses = FreeNetworkAddresses[];
|
|
1080
|
+
|
|
1081
|
+
export interface Gpu {
|
|
1082
|
+
/**
|
|
1083
|
+
* The name of the device vendor (for example "Intel Corporation")
|
|
1084
|
+
*/
|
|
1085
|
+
vendor?: string;
|
|
1086
|
+
/**
|
|
1087
|
+
* ID of the vendor (for example "8086")
|
|
1088
|
+
*/
|
|
1089
|
+
vendorId?: string;
|
|
1090
|
+
/**
|
|
1091
|
+
* ID of the device (for example "3ea0")
|
|
1092
|
+
*/
|
|
1093
|
+
deviceId?: string;
|
|
1094
|
+
/**
|
|
1095
|
+
* Product name of the device (for example "UHD Graphics 620 (Whiskey Lake)")
|
|
1096
|
+
*/
|
|
1097
|
+
name?: string;
|
|
1098
|
+
/**
|
|
1099
|
+
* Device address (for example "0000:00:02.0")
|
|
1100
|
+
*/
|
|
1101
|
+
address?: string;
|
|
1102
|
+
}
|
|
1103
|
+
|
|
1104
|
+
export interface Host {
|
|
1105
|
+
/**
|
|
1106
|
+
* Indicates the type of this object. Will be 'Host' if this is a complete object or 'HostLink' if it is just a link, or
|
|
1107
|
+
* 'AddToExistingClusterHost' for host being added to existing OCP cluster, or
|
|
1108
|
+
*
|
|
1109
|
+
*/
|
|
1110
|
+
kind: 'Host' | 'AddToExistingClusterHost';
|
|
1111
|
+
/**
|
|
1112
|
+
* Unique identifier of the object.
|
|
1113
|
+
*/
|
|
1114
|
+
id: string; // uuid
|
|
1115
|
+
/**
|
|
1116
|
+
* Self link.
|
|
1117
|
+
*/
|
|
1118
|
+
href: string;
|
|
1119
|
+
/**
|
|
1120
|
+
* The cluster that this host is associated with.
|
|
1121
|
+
*/
|
|
1122
|
+
clusterId?: string; // uuid
|
|
1123
|
+
/**
|
|
1124
|
+
* The infra-env that this host is associated with.
|
|
1125
|
+
*/
|
|
1126
|
+
infraEnvId?: string; // uuid
|
|
1127
|
+
status:
|
|
1128
|
+
| 'discovering'
|
|
1129
|
+
| 'known'
|
|
1130
|
+
| 'disconnected'
|
|
1131
|
+
| 'insufficient'
|
|
1132
|
+
| 'disabled'
|
|
1133
|
+
| 'preparing-for-installation'
|
|
1134
|
+
| 'preparing-failed'
|
|
1135
|
+
| 'preparing-successful'
|
|
1136
|
+
| 'pending-for-input'
|
|
1137
|
+
| 'installing'
|
|
1138
|
+
| 'installing-in-progress'
|
|
1139
|
+
| 'installing-pending-user-action'
|
|
1140
|
+
| 'resetting-pending-user-action'
|
|
1141
|
+
| 'installed'
|
|
1142
|
+
| 'error'
|
|
1143
|
+
| 'resetting'
|
|
1144
|
+
| 'added-to-existing-cluster'
|
|
1145
|
+
| 'cancelled'
|
|
1146
|
+
| 'binding'
|
|
1147
|
+
| 'unbinding'
|
|
1148
|
+
| 'unbinding-pending-user-action'
|
|
1149
|
+
| 'known-unbound'
|
|
1150
|
+
| 'disconnected-unbound'
|
|
1151
|
+
| 'insufficient-unbound'
|
|
1152
|
+
| 'disabled-unbound'
|
|
1153
|
+
| 'discovering-unbound'
|
|
1154
|
+
| 'reclaiming'
|
|
1155
|
+
| 'reclaiming-rebooting';
|
|
1156
|
+
statusInfo: string;
|
|
1157
|
+
/**
|
|
1158
|
+
* JSON-formatted string containing the validation results for each validation id grouped by category (network, hardware, etc.)
|
|
1159
|
+
*/
|
|
1160
|
+
validationsInfo?: string;
|
|
1161
|
+
/**
|
|
1162
|
+
* The progress of log collection or empty if logs are not applicable
|
|
1163
|
+
*/
|
|
1164
|
+
logsInfo?: LogsState;
|
|
1165
|
+
/**
|
|
1166
|
+
* The last time that the host status was updated.
|
|
1167
|
+
*/
|
|
1168
|
+
statusUpdatedAt?: string; // date-time
|
|
1169
|
+
progress?: HostProgressInfo;
|
|
1170
|
+
/**
|
|
1171
|
+
* Time at which the current progress stage started.
|
|
1172
|
+
*/
|
|
1173
|
+
stageStartedAt?: string; // date-time
|
|
1174
|
+
/**
|
|
1175
|
+
* Time at which the current progress stage was last updated.
|
|
1176
|
+
*/
|
|
1177
|
+
stageUpdatedAt?: string; // date-time
|
|
1178
|
+
progressStages?: HostStage[];
|
|
1179
|
+
connectivity?: string;
|
|
1180
|
+
/**
|
|
1181
|
+
* Contains a serialized apiVipConnectivityResponse
|
|
1182
|
+
*/
|
|
1183
|
+
apiVipConnectivity?: string;
|
|
1184
|
+
tangConnectivity?: string;
|
|
1185
|
+
inventory?: string;
|
|
1186
|
+
freeAddresses?: string;
|
|
1187
|
+
/**
|
|
1188
|
+
* The configured NTP sources on the host.
|
|
1189
|
+
*/
|
|
1190
|
+
ntpSources?: string;
|
|
1191
|
+
/**
|
|
1192
|
+
* Additional information about disks, formatted as JSON.
|
|
1193
|
+
*/
|
|
1194
|
+
disksInfo?: string;
|
|
1195
|
+
role?: HostRole;
|
|
1196
|
+
suggestedRole?: HostRole;
|
|
1197
|
+
bootstrap?: boolean;
|
|
1198
|
+
logsCollectedAt?: string; // date-time
|
|
1199
|
+
logsStartedAt?: string; // date-time
|
|
1200
|
+
/**
|
|
1201
|
+
* Installer version.
|
|
1202
|
+
*/
|
|
1203
|
+
installerVersion?: string;
|
|
1204
|
+
/**
|
|
1205
|
+
* Contains the inventory disk path, This field is replaced by installationDiskId field and used for backward compatability with the old UI.
|
|
1206
|
+
* example:
|
|
1207
|
+
* /dev/sda
|
|
1208
|
+
*/
|
|
1209
|
+
installationDiskPath?: string;
|
|
1210
|
+
/**
|
|
1211
|
+
* Contains the inventory disk id to install on.
|
|
1212
|
+
*/
|
|
1213
|
+
installationDiskId?: string;
|
|
1214
|
+
updatedAt?: string; // date-time
|
|
1215
|
+
createdAt?: string; // date-time
|
|
1216
|
+
/**
|
|
1217
|
+
* The last time the host's agent communicated with the service.
|
|
1218
|
+
*/
|
|
1219
|
+
checkedInAt?: string; // date-time
|
|
1220
|
+
/**
|
|
1221
|
+
* The last time the host's agent tried to register in the service.
|
|
1222
|
+
*/
|
|
1223
|
+
registeredAt?: string; // date-time
|
|
1224
|
+
discoveryAgentVersion?: string;
|
|
1225
|
+
requestedHostname?: string;
|
|
1226
|
+
userName?: string;
|
|
1227
|
+
mediaStatus?: 'connected' | 'disconnected';
|
|
1228
|
+
/**
|
|
1229
|
+
* swagger:ignore
|
|
1230
|
+
*/
|
|
1231
|
+
deletedAt?: unknown;
|
|
1232
|
+
/**
|
|
1233
|
+
* Json formatted string containing the user overrides for the host's pointer ignition
|
|
1234
|
+
* example:
|
|
1235
|
+
* {"ignition": {"version": "3.1.0"}, "storage": {"files": [{"path": "/tmp/example", "contents": {"source": "data:text/plain;base64,aGVscGltdHJhcHBlZGluYXN3YWdnZXJzcGVj"}}]}}
|
|
1236
|
+
*/
|
|
1237
|
+
ignitionConfigOverrides?: string;
|
|
1238
|
+
installerArgs?: string;
|
|
1239
|
+
/**
|
|
1240
|
+
* The time on the host as seconds since the Unix epoch.
|
|
1241
|
+
*/
|
|
1242
|
+
timestamp?: number;
|
|
1243
|
+
machineConfigPoolName?: string;
|
|
1244
|
+
/**
|
|
1245
|
+
* Array of image statuses.
|
|
1246
|
+
*/
|
|
1247
|
+
imagesStatus?: string;
|
|
1248
|
+
/**
|
|
1249
|
+
* The domain name resolution result.
|
|
1250
|
+
*/
|
|
1251
|
+
domainNameResolutions?: string;
|
|
1252
|
+
/**
|
|
1253
|
+
* True if the token to fetch the ignition from ignitionEndpointUrl is set.
|
|
1254
|
+
*/
|
|
1255
|
+
ignitionEndpointTokenSet?: boolean;
|
|
1256
|
+
/**
|
|
1257
|
+
* Json containing node's labels.
|
|
1258
|
+
*/
|
|
1259
|
+
nodeLabels?: string;
|
|
1260
|
+
/**
|
|
1261
|
+
* A comma-separated list of disks that will be formatted once
|
|
1262
|
+
* installation begins, unless otherwise set to be skipped by
|
|
1263
|
+
* skipFormattingDisks. This means that this list also includes disks
|
|
1264
|
+
* that appear in skipFormattingDisks. This property is managed by the
|
|
1265
|
+
* service and cannot be modified by the user.
|
|
1266
|
+
*/
|
|
1267
|
+
disksToBeFormatted?: string;
|
|
1268
|
+
/**
|
|
1269
|
+
* A comma-seperated list of host disks that the service will avoid
|
|
1270
|
+
* formatting.
|
|
1271
|
+
*/
|
|
1272
|
+
skipFormattingDisks?: string;
|
|
1273
|
+
}
|
|
1274
|
+
|
|
1275
|
+
export interface HostCreateParams {
|
|
1276
|
+
hostId: string; // uuid
|
|
1277
|
+
discoveryAgentVersion?: string;
|
|
1278
|
+
}
|
|
1279
|
+
|
|
1280
|
+
export interface HostIgnitionParams {
|
|
1281
|
+
config?: string;
|
|
1282
|
+
}
|
|
1283
|
+
|
|
1284
|
+
export type HostList = Host[];
|
|
1285
|
+
|
|
1286
|
+
export interface HostNetwork {
|
|
1287
|
+
cidr?: string;
|
|
1288
|
+
hostIds?: string /* uuid */[];
|
|
1289
|
+
}
|
|
1290
|
+
|
|
1291
|
+
export interface HostProgress {
|
|
1292
|
+
currentStage?: HostStage;
|
|
1293
|
+
progressInfo?: string;
|
|
1294
|
+
}
|
|
1295
|
+
|
|
1296
|
+
export interface HostProgressInfo {
|
|
1297
|
+
installationPercentage?: number;
|
|
1298
|
+
currentStage?: HostStage;
|
|
1299
|
+
progressInfo?: string;
|
|
1300
|
+
/**
|
|
1301
|
+
* Time at which the current progress stage started.
|
|
1302
|
+
*/
|
|
1303
|
+
stageStartedAt?: string; // date-time
|
|
1304
|
+
/**
|
|
1305
|
+
* Time at which the current progress stage was last updated.
|
|
1306
|
+
*/
|
|
1307
|
+
stageUpdatedAt?: string; // date-time
|
|
1308
|
+
}
|
|
1309
|
+
|
|
1310
|
+
export interface HostRegistrationResponse {
|
|
1311
|
+
/**
|
|
1312
|
+
* Indicates the type of this object. Will be 'Host' if this is a complete object or 'HostLink' if it is just a link, or
|
|
1313
|
+
* 'AddToExistingClusterHost' for host being added to existing OCP cluster, or
|
|
1314
|
+
*
|
|
1315
|
+
*/
|
|
1316
|
+
kind: 'Host' | 'AddToExistingClusterHost';
|
|
1317
|
+
/**
|
|
1318
|
+
* Unique identifier of the object.
|
|
1319
|
+
*/
|
|
1320
|
+
id: string; // uuid
|
|
1321
|
+
/**
|
|
1322
|
+
* Self link.
|
|
1323
|
+
*/
|
|
1324
|
+
href: string;
|
|
1325
|
+
/**
|
|
1326
|
+
* The cluster that this host is associated with.
|
|
1327
|
+
*/
|
|
1328
|
+
clusterId?: string; // uuid
|
|
1329
|
+
/**
|
|
1330
|
+
* The infra-env that this host is associated with.
|
|
1331
|
+
*/
|
|
1332
|
+
infraEnvId?: string; // uuid
|
|
1333
|
+
status:
|
|
1334
|
+
| 'discovering'
|
|
1335
|
+
| 'known'
|
|
1336
|
+
| 'disconnected'
|
|
1337
|
+
| 'insufficient'
|
|
1338
|
+
| 'disabled'
|
|
1339
|
+
| 'preparing-for-installation'
|
|
1340
|
+
| 'preparing-failed'
|
|
1341
|
+
| 'preparing-successful'
|
|
1342
|
+
| 'pending-for-input'
|
|
1343
|
+
| 'installing'
|
|
1344
|
+
| 'installing-in-progress'
|
|
1345
|
+
| 'installing-pending-user-action'
|
|
1346
|
+
| 'resetting-pending-user-action'
|
|
1347
|
+
| 'installed'
|
|
1348
|
+
| 'error'
|
|
1349
|
+
| 'resetting'
|
|
1350
|
+
| 'added-to-existing-cluster'
|
|
1351
|
+
| 'cancelled'
|
|
1352
|
+
| 'binding'
|
|
1353
|
+
| 'unbinding'
|
|
1354
|
+
| 'unbinding-pending-user-action'
|
|
1355
|
+
| 'known-unbound'
|
|
1356
|
+
| 'disconnected-unbound'
|
|
1357
|
+
| 'insufficient-unbound'
|
|
1358
|
+
| 'disabled-unbound'
|
|
1359
|
+
| 'discovering-unbound'
|
|
1360
|
+
| 'reclaiming'
|
|
1361
|
+
| 'reclaiming-rebooting';
|
|
1362
|
+
statusInfo: string;
|
|
1363
|
+
/**
|
|
1364
|
+
* JSON-formatted string containing the validation results for each validation id grouped by category (network, hardware, etc.)
|
|
1365
|
+
*/
|
|
1366
|
+
validationsInfo?: string;
|
|
1367
|
+
/**
|
|
1368
|
+
* The progress of log collection or empty if logs are not applicable
|
|
1369
|
+
*/
|
|
1370
|
+
logsInfo?: LogsState;
|
|
1371
|
+
/**
|
|
1372
|
+
* The last time that the host status was updated.
|
|
1373
|
+
*/
|
|
1374
|
+
statusUpdatedAt?: string; // date-time
|
|
1375
|
+
progress?: HostProgressInfo;
|
|
1376
|
+
/**
|
|
1377
|
+
* Time at which the current progress stage started.
|
|
1378
|
+
*/
|
|
1379
|
+
stageStartedAt?: string; // date-time
|
|
1380
|
+
/**
|
|
1381
|
+
* Time at which the current progress stage was last updated.
|
|
1382
|
+
*/
|
|
1383
|
+
stageUpdatedAt?: string; // date-time
|
|
1384
|
+
progressStages?: HostStage[];
|
|
1385
|
+
connectivity?: string;
|
|
1386
|
+
/**
|
|
1387
|
+
* Contains a serialized apiVipConnectivityResponse
|
|
1388
|
+
*/
|
|
1389
|
+
apiVipConnectivity?: string;
|
|
1390
|
+
tangConnectivity?: string;
|
|
1391
|
+
inventory?: string;
|
|
1392
|
+
freeAddresses?: string;
|
|
1393
|
+
/**
|
|
1394
|
+
* The configured NTP sources on the host.
|
|
1395
|
+
*/
|
|
1396
|
+
ntpSources?: string;
|
|
1397
|
+
/**
|
|
1398
|
+
* Additional information about disks, formatted as JSON.
|
|
1399
|
+
*/
|
|
1400
|
+
disksInfo?: string;
|
|
1401
|
+
role?: HostRole;
|
|
1402
|
+
suggestedRole?: HostRole;
|
|
1403
|
+
bootstrap?: boolean;
|
|
1404
|
+
logsCollectedAt?: string; // date-time
|
|
1405
|
+
logsStartedAt?: string; // date-time
|
|
1406
|
+
/**
|
|
1407
|
+
* Installer version.
|
|
1408
|
+
*/
|
|
1409
|
+
installerVersion?: string;
|
|
1410
|
+
/**
|
|
1411
|
+
* Contains the inventory disk path, This field is replaced by installationDiskId field and used for backward compatability with the old UI.
|
|
1412
|
+
* example:
|
|
1413
|
+
* /dev/sda
|
|
1414
|
+
*/
|
|
1415
|
+
installationDiskPath?: string;
|
|
1416
|
+
/**
|
|
1417
|
+
* Contains the inventory disk id to install on.
|
|
1418
|
+
*/
|
|
1419
|
+
installationDiskId?: string;
|
|
1420
|
+
updatedAt?: string; // date-time
|
|
1421
|
+
createdAt?: string; // date-time
|
|
1422
|
+
/**
|
|
1423
|
+
* The last time the host's agent communicated with the service.
|
|
1424
|
+
*/
|
|
1425
|
+
checkedInAt?: string; // date-time
|
|
1426
|
+
/**
|
|
1427
|
+
* The last time the host's agent tried to register in the service.
|
|
1428
|
+
*/
|
|
1429
|
+
registeredAt?: string; // date-time
|
|
1430
|
+
discoveryAgentVersion?: string;
|
|
1431
|
+
requestedHostname?: string;
|
|
1432
|
+
userName?: string;
|
|
1433
|
+
mediaStatus?: 'connected' | 'disconnected';
|
|
1434
|
+
/**
|
|
1435
|
+
* swagger:ignore
|
|
1436
|
+
*/
|
|
1437
|
+
deletedAt?: unknown;
|
|
1438
|
+
/**
|
|
1439
|
+
* Json formatted string containing the user overrides for the host's pointer ignition
|
|
1440
|
+
* example:
|
|
1441
|
+
* {"ignition": {"version": "3.1.0"}, "storage": {"files": [{"path": "/tmp/example", "contents": {"source": "data:text/plain;base64,aGVscGltdHJhcHBlZGluYXN3YWdnZXJzcGVj"}}]}}
|
|
1442
|
+
*/
|
|
1443
|
+
ignitionConfigOverrides?: string;
|
|
1444
|
+
installerArgs?: string;
|
|
1445
|
+
/**
|
|
1446
|
+
* The time on the host as seconds since the Unix epoch.
|
|
1447
|
+
*/
|
|
1448
|
+
timestamp?: number;
|
|
1449
|
+
machineConfigPoolName?: string;
|
|
1450
|
+
/**
|
|
1451
|
+
* Array of image statuses.
|
|
1452
|
+
*/
|
|
1453
|
+
imagesStatus?: string;
|
|
1454
|
+
/**
|
|
1455
|
+
* The domain name resolution result.
|
|
1456
|
+
*/
|
|
1457
|
+
domainNameResolutions?: string;
|
|
1458
|
+
/**
|
|
1459
|
+
* True if the token to fetch the ignition from ignitionEndpointUrl is set.
|
|
1460
|
+
*/
|
|
1461
|
+
ignitionEndpointTokenSet?: boolean;
|
|
1462
|
+
/**
|
|
1463
|
+
* Json containing node's labels.
|
|
1464
|
+
*/
|
|
1465
|
+
nodeLabels?: string;
|
|
1466
|
+
/**
|
|
1467
|
+
* A comma-separated list of disks that will be formatted once
|
|
1468
|
+
* installation begins, unless otherwise set to be skipped by
|
|
1469
|
+
* skipFormattingDisks. This means that this list also includes disks
|
|
1470
|
+
* that appear in skipFormattingDisks. This property is managed by the
|
|
1471
|
+
* service and cannot be modified by the user.
|
|
1472
|
+
*/
|
|
1473
|
+
disksToBeFormatted?: string;
|
|
1474
|
+
/**
|
|
1475
|
+
* A comma-seperated list of host disks that the service will avoid
|
|
1476
|
+
* formatting.
|
|
1477
|
+
*/
|
|
1478
|
+
skipFormattingDisks?: string;
|
|
1479
|
+
/**
|
|
1480
|
+
* Command for starting the next step runner
|
|
1481
|
+
*/
|
|
1482
|
+
nextStepRunnerCommand?: {
|
|
1483
|
+
command?: string;
|
|
1484
|
+
args?: string[];
|
|
1485
|
+
/**
|
|
1486
|
+
* How long in seconds to wait before retrying registration if the command fails
|
|
1487
|
+
*/
|
|
1488
|
+
retrySeconds?: number;
|
|
1489
|
+
};
|
|
1490
|
+
}
|
|
1491
|
+
|
|
1492
|
+
export type HostRole = 'auto-assign' | 'master' | 'worker' | 'bootstrap';
|
|
1493
|
+
export type HostRoleUpdateParams = 'auto-assign' | 'master' | 'worker';
|
|
1494
|
+
export type HostStage =
|
|
1495
|
+
| 'Starting installation'
|
|
1496
|
+
| 'Waiting for control plane'
|
|
1497
|
+
| 'Waiting for bootkube'
|
|
1498
|
+
| 'Waiting for controller'
|
|
1499
|
+
| 'Installing'
|
|
1500
|
+
| 'Writing image to disk'
|
|
1501
|
+
| 'Rebooting'
|
|
1502
|
+
| 'Waiting for ignition'
|
|
1503
|
+
| 'Configuring'
|
|
1504
|
+
| 'Joined'
|
|
1505
|
+
| 'Done'
|
|
1506
|
+
| 'Failed';
|
|
1507
|
+
|
|
1508
|
+
export interface HostStaticNetworkConfig {
|
|
1509
|
+
/**
|
|
1510
|
+
* yaml string that can be processed by nmstate
|
|
1511
|
+
*/
|
|
1512
|
+
networkYaml?: string;
|
|
1513
|
+
/**
|
|
1514
|
+
* mapping of host macs to logical interfaces used in the network yaml
|
|
1515
|
+
*/
|
|
1516
|
+
macInterfaceMap?: MacInterfaceMap;
|
|
1517
|
+
}
|
|
1518
|
+
|
|
1519
|
+
export interface HostTypeHardwareRequirements {
|
|
1520
|
+
/**
|
|
1521
|
+
* Host requirements that can be quantified
|
|
1522
|
+
*/
|
|
1523
|
+
quantitative?: ClusterHostRequirementsDetails;
|
|
1524
|
+
/**
|
|
1525
|
+
* Host requirements that cannot be quantified at the time of calculation. Descriptions or formulas of requiements
|
|
1526
|
+
*/
|
|
1527
|
+
qualitative?: string[];
|
|
1528
|
+
}
|
|
1529
|
+
|
|
1530
|
+
export interface HostTypeHardwareRequirementsWrapper {
|
|
1531
|
+
/**
|
|
1532
|
+
* Requirements towards a worker node
|
|
1533
|
+
*/
|
|
1534
|
+
worker?: HostTypeHardwareRequirements;
|
|
1535
|
+
/**
|
|
1536
|
+
* Requirements towards a master node
|
|
1537
|
+
*/
|
|
1538
|
+
master?: HostTypeHardwareRequirements;
|
|
1539
|
+
}
|
|
1540
|
+
|
|
1541
|
+
export interface HostUpdateParams {
|
|
1542
|
+
hostRole?: 'auto-assign' | 'master' | 'worker';
|
|
1543
|
+
hostName?: string;
|
|
1544
|
+
disksSelectedConfig?: DiskConfigParams[];
|
|
1545
|
+
/**
|
|
1546
|
+
* Allows changing the host's skipFormattingDisks parameter
|
|
1547
|
+
*/
|
|
1548
|
+
disksSkipFormatting?: DiskSkipFormattingParams[];
|
|
1549
|
+
machineConfigPoolName?: string;
|
|
1550
|
+
/**
|
|
1551
|
+
* A string which will be used as Authorization Bearer token to fetch the ignition from ignitionEndpointUrl.
|
|
1552
|
+
*/
|
|
1553
|
+
ignitionEndpointToken?: string;
|
|
1554
|
+
/**
|
|
1555
|
+
* Labels to be added to the corresponding node.
|
|
1556
|
+
*/
|
|
1557
|
+
nodeLabels?: NodeLabelParams[];
|
|
1558
|
+
}
|
|
1559
|
+
|
|
1560
|
+
export type HostValidationId =
|
|
1561
|
+
| 'connected'
|
|
1562
|
+
| 'media-connected'
|
|
1563
|
+
| 'has-inventory'
|
|
1564
|
+
| 'has-min-cpu-cores'
|
|
1565
|
+
| 'has-min-valid-disks'
|
|
1566
|
+
| 'has-min-memory'
|
|
1567
|
+
| 'machine-cidr-defined'
|
|
1568
|
+
| 'has-cpu-cores-for-role'
|
|
1569
|
+
| 'has-memory-for-role'
|
|
1570
|
+
| 'hostname-unique'
|
|
1571
|
+
| 'hostname-valid'
|
|
1572
|
+
| 'belongs-to-machine-cidr'
|
|
1573
|
+
| 'ignition-downloadable'
|
|
1574
|
+
| 'belongs-to-majority-group'
|
|
1575
|
+
| 'valid-platform-network-settings'
|
|
1576
|
+
| 'ntp-synced'
|
|
1577
|
+
| 'time-synced-between-host-and-service'
|
|
1578
|
+
| 'container-images-available'
|
|
1579
|
+
| 'lso-requirements-satisfied'
|
|
1580
|
+
| 'ocs-requirements-satisfied'
|
|
1581
|
+
| 'odf-requirements-satisfied'
|
|
1582
|
+
| 'lvm-requirements-satisfied'
|
|
1583
|
+
| 'mce-requirements-satisfied'
|
|
1584
|
+
| 'sufficient-installation-disk-speed'
|
|
1585
|
+
| 'cnv-requirements-satisfied'
|
|
1586
|
+
| 'sufficient-network-latency-requirement-for-role'
|
|
1587
|
+
| 'sufficient-packet-loss-requirement-for-role'
|
|
1588
|
+
| 'has-default-route'
|
|
1589
|
+
| 'api-domain-name-resolved-correctly'
|
|
1590
|
+
| 'api-int-domain-name-resolved-correctly'
|
|
1591
|
+
| 'apps-domain-name-resolved-correctly'
|
|
1592
|
+
| 'release-domain-name-resolved-correctly'
|
|
1593
|
+
| 'compatible-with-cluster-platform'
|
|
1594
|
+
| 'dns-wildcard-not-configured'
|
|
1595
|
+
| 'disk-encryption-requirements-satisfied'
|
|
1596
|
+
| 'non-overlapping-subnets'
|
|
1597
|
+
| 'vsphere-disk-uuid-enabled'
|
|
1598
|
+
| 'compatible-agent'
|
|
1599
|
+
| 'no-skip-installation-disk'
|
|
1600
|
+
| 'no-skip-missing-disk'
|
|
1601
|
+
| 'no-ip-collisions-in-network';
|
|
1602
|
+
|
|
1603
|
+
/**
|
|
1604
|
+
* Explicit ignition endpoint overrides the default ignition endpoint.
|
|
1605
|
+
*/
|
|
1606
|
+
export interface IgnitionEndpoint {
|
|
1607
|
+
/**
|
|
1608
|
+
* The URL for the ignition endpoint.
|
|
1609
|
+
*/
|
|
1610
|
+
url?: string;
|
|
1611
|
+
/**
|
|
1612
|
+
* base64 encoded CA certficate to be used when contacting the URL via https.
|
|
1613
|
+
*/
|
|
1614
|
+
caCertificate?: string;
|
|
1615
|
+
}
|
|
1616
|
+
|
|
1617
|
+
export interface IgnoredValidations {
|
|
1618
|
+
/**
|
|
1619
|
+
* JSON-formatted list of cluster validation IDs that will be ignored for all hosts that belong to this cluster. It may also contain a list with a single string "all" to ignore all cluster validations. Some validations cannot be ignored.
|
|
1620
|
+
*/
|
|
1621
|
+
'cluster-validation-ids'?: string; // string
|
|
1622
|
+
/**
|
|
1623
|
+
* JSON-formatted list of host validation IDs that will be ignored for all hosts that belong to this cluster. It may also contain a list with a single string "all" to ignore all host validations. Some validations cannot be ignored.
|
|
1624
|
+
*/
|
|
1625
|
+
'host-validation-ids'?: string; // string
|
|
1626
|
+
}
|
|
1627
|
+
|
|
1628
|
+
export interface ImageCreateParams {
|
|
1629
|
+
/**
|
|
1630
|
+
* SSH public key for debugging the installation.
|
|
1631
|
+
*/
|
|
1632
|
+
sshPublicKey?: string;
|
|
1633
|
+
staticNetworkConfig?: HostStaticNetworkConfig[];
|
|
1634
|
+
/**
|
|
1635
|
+
* Type of image that should be generated.
|
|
1636
|
+
*/
|
|
1637
|
+
imageType?: ImageType;
|
|
1638
|
+
}
|
|
1639
|
+
|
|
1640
|
+
export interface ImageInfo {
|
|
1641
|
+
/**
|
|
1642
|
+
* SSH public key for debugging the installation.
|
|
1643
|
+
*/
|
|
1644
|
+
sshPublicKey?: string;
|
|
1645
|
+
sizeBytes?: number;
|
|
1646
|
+
downloadUrl?: string;
|
|
1647
|
+
/**
|
|
1648
|
+
* Image generator version.
|
|
1649
|
+
*/
|
|
1650
|
+
generatorVersion?: string;
|
|
1651
|
+
createdAt?: string; // date-time
|
|
1652
|
+
expiresAt?: string; // date-time
|
|
1653
|
+
/**
|
|
1654
|
+
* static network configuration string in the format expected by discovery ignition generation
|
|
1655
|
+
*/
|
|
1656
|
+
staticNetworkConfig?: string;
|
|
1657
|
+
type?: ImageType;
|
|
1658
|
+
}
|
|
1659
|
+
|
|
1660
|
+
export type ImageType = 'full-iso' | 'minimal-iso';
|
|
1661
|
+
|
|
1662
|
+
export interface ImportClusterParams {
|
|
1663
|
+
/**
|
|
1664
|
+
* OpenShift cluster name.
|
|
1665
|
+
*/
|
|
1666
|
+
name: string;
|
|
1667
|
+
/**
|
|
1668
|
+
* The domain name used to reach the OpenShift cluster API.
|
|
1669
|
+
*/
|
|
1670
|
+
apiVipDnsname: string;
|
|
1671
|
+
/**
|
|
1672
|
+
* Version of the OpenShift cluster.
|
|
1673
|
+
*/
|
|
1674
|
+
openshiftVersion?: string;
|
|
1675
|
+
/**
|
|
1676
|
+
* The id of the OCP cluster, that hosts will be added to
|
|
1677
|
+
*/
|
|
1678
|
+
openshiftClusterId: string; // uuid
|
|
1679
|
+
}
|
|
1680
|
+
|
|
1681
|
+
export interface InfraEnv {
|
|
1682
|
+
/**
|
|
1683
|
+
* Indicates the type of this object.
|
|
1684
|
+
*/
|
|
1685
|
+
kind: 'InfraEnv';
|
|
1686
|
+
/**
|
|
1687
|
+
* Unique identifier of the object.
|
|
1688
|
+
*/
|
|
1689
|
+
id: string; // uuid
|
|
1690
|
+
/**
|
|
1691
|
+
* Self link.
|
|
1692
|
+
*/
|
|
1693
|
+
href: string;
|
|
1694
|
+
/**
|
|
1695
|
+
* Version of the OpenShift cluster (used to infer the RHCOS version - temporary until generic logic implemented).
|
|
1696
|
+
*/
|
|
1697
|
+
openshiftVersion?: string;
|
|
1698
|
+
/**
|
|
1699
|
+
* Name of the infra-env.
|
|
1700
|
+
*/
|
|
1701
|
+
name: string;
|
|
1702
|
+
userName?: string;
|
|
1703
|
+
orgId?: string;
|
|
1704
|
+
emailDomain?: string;
|
|
1705
|
+
proxy?: Proxy;
|
|
1706
|
+
/**
|
|
1707
|
+
* A comma-separated list of NTP sources (name or IP) going to be added to all the hosts.
|
|
1708
|
+
*/
|
|
1709
|
+
additionalNtpSources?: string;
|
|
1710
|
+
/**
|
|
1711
|
+
* SSH public key for debugging the installation.
|
|
1712
|
+
*/
|
|
1713
|
+
sshAuthorizedKey?: string;
|
|
1714
|
+
/**
|
|
1715
|
+
* True if the pull secret has been added to the cluster.
|
|
1716
|
+
*/
|
|
1717
|
+
pullSecretSet?: boolean;
|
|
1718
|
+
/**
|
|
1719
|
+
* static network configuration string in the format expected by discovery ignition generation.
|
|
1720
|
+
*/
|
|
1721
|
+
staticNetworkConfig?: string;
|
|
1722
|
+
type: ImageType;
|
|
1723
|
+
/**
|
|
1724
|
+
* Json formatted string containing the user overrides for the initial ignition config.
|
|
1725
|
+
*/
|
|
1726
|
+
ignitionConfigOverride?: string;
|
|
1727
|
+
/**
|
|
1728
|
+
* If set, all hosts that register will be associated with the specified cluster.
|
|
1729
|
+
*/
|
|
1730
|
+
clusterId?: string; // uuid
|
|
1731
|
+
sizeBytes?: number;
|
|
1732
|
+
downloadUrl?: string;
|
|
1733
|
+
/**
|
|
1734
|
+
* Image generator version.
|
|
1735
|
+
*/
|
|
1736
|
+
generatorVersion?: string;
|
|
1737
|
+
/**
|
|
1738
|
+
* The last time that this infra-env was updated.
|
|
1739
|
+
*/
|
|
1740
|
+
updatedAt: string; // date-time
|
|
1741
|
+
createdAt: string; // date-time
|
|
1742
|
+
expiresAt?: string; // date-time
|
|
1743
|
+
/**
|
|
1744
|
+
* The CPU architecture of the image (x86_64/arm64/etc).
|
|
1745
|
+
*/
|
|
1746
|
+
cpuArchitecture?: 'x86_64' | 'aarch64' | 'arm64' | 'ppc64le' | 's390x';
|
|
1747
|
+
/**
|
|
1748
|
+
* JSON formatted string array representing the discovery image kernel arguments.
|
|
1749
|
+
*/
|
|
1750
|
+
kernelArguments?: string;
|
|
1751
|
+
/**
|
|
1752
|
+
* PEM-encoded X.509 certificate bundle. Hosts discovered by this
|
|
1753
|
+
* infra-env will trust the certificates in this bundle. Clusters formed
|
|
1754
|
+
* from the hosts discovered by this infra-env will also trust the
|
|
1755
|
+
* certificates in this bundle.
|
|
1756
|
+
*/
|
|
1757
|
+
additionalTrustBundle?: string;
|
|
1758
|
+
}
|
|
1759
|
+
|
|
1760
|
+
export interface InfraEnvCreateParams {
|
|
1761
|
+
/**
|
|
1762
|
+
* Name of the infra-env.
|
|
1763
|
+
*/
|
|
1764
|
+
name: string;
|
|
1765
|
+
proxy?: Proxy;
|
|
1766
|
+
/**
|
|
1767
|
+
* A comma-separated list of NTP sources (name or IP) going to be added to all the hosts.
|
|
1768
|
+
*/
|
|
1769
|
+
additionalNtpSources?: string;
|
|
1770
|
+
/**
|
|
1771
|
+
* SSH public key for debugging the installation.
|
|
1772
|
+
*/
|
|
1773
|
+
sshAuthorizedKey?: string;
|
|
1774
|
+
/**
|
|
1775
|
+
* The pull secret obtained from Red Hat OpenShift Cluster Manager at console.redhat.com/openshift/install/pull-secret.
|
|
1776
|
+
*/
|
|
1777
|
+
pullSecret: string;
|
|
1778
|
+
staticNetworkConfig?: HostStaticNetworkConfig[];
|
|
1779
|
+
imageType?: ImageType;
|
|
1780
|
+
/**
|
|
1781
|
+
* JSON formatted string containing the user overrides for the initial ignition config.
|
|
1782
|
+
*/
|
|
1783
|
+
ignitionConfigOverride?: string;
|
|
1784
|
+
/**
|
|
1785
|
+
* If set, all hosts that register will be associated with the specified cluster.
|
|
1786
|
+
*/
|
|
1787
|
+
clusterId?: string; // uuid
|
|
1788
|
+
/**
|
|
1789
|
+
* Version of the OpenShift cluster (used to infer the RHCOS version - temporary until generic logic implemented).
|
|
1790
|
+
*/
|
|
1791
|
+
openshiftVersion?: string;
|
|
1792
|
+
/**
|
|
1793
|
+
* The CPU architecture of the image (x86_64/arm64/etc).
|
|
1794
|
+
*/
|
|
1795
|
+
cpuArchitecture?: 'x86_64' | 'aarch64' | 'arm64' | 'ppc64le' | 's390x';
|
|
1796
|
+
kernelArguments?: KernelArguments;
|
|
1797
|
+
/**
|
|
1798
|
+
* PEM-encoded X.509 certificate bundle. Hosts discovered by this
|
|
1799
|
+
* infra-env will trust the certificates in this bundle. Clusters formed
|
|
1800
|
+
* from the hosts discovered by this infra-env will also trust the
|
|
1801
|
+
* certificates in this bundle.
|
|
1802
|
+
*/
|
|
1803
|
+
additionalTrustBundle?: string;
|
|
1804
|
+
}
|
|
1805
|
+
|
|
1806
|
+
export type InfraEnvList = InfraEnv[];
|
|
1807
|
+
|
|
1808
|
+
export interface InfraEnvUpdateParams {
|
|
1809
|
+
proxy?: Proxy;
|
|
1810
|
+
/**
|
|
1811
|
+
* A comma-separated list of NTP sources (name or IP) going to be added to all the hosts.
|
|
1812
|
+
*/
|
|
1813
|
+
additionalNtpSources?: string;
|
|
1814
|
+
/**
|
|
1815
|
+
* SSH public key for debugging the installation.
|
|
1816
|
+
*/
|
|
1817
|
+
sshAuthorizedKey?: string;
|
|
1818
|
+
/**
|
|
1819
|
+
* The pull secret obtained from Red Hat OpenShift Cluster Manager at console.redhat.com/openshift/install/pull-secret.
|
|
1820
|
+
*/
|
|
1821
|
+
pullSecret?: string;
|
|
1822
|
+
staticNetworkConfig?: HostStaticNetworkConfig[];
|
|
1823
|
+
imageType?: ImageType;
|
|
1824
|
+
/**
|
|
1825
|
+
* JSON formatted string containing the user overrides for the initial ignition config.
|
|
1826
|
+
*/
|
|
1827
|
+
ignitionConfigOverride?: string;
|
|
1828
|
+
kernelArguments?: KernelArguments;
|
|
1829
|
+
/**
|
|
1830
|
+
* Allows users to change the additionalTrustBundle infra-env field
|
|
1831
|
+
*/
|
|
1832
|
+
additionalTrustBundle?: string;
|
|
1833
|
+
}
|
|
1834
|
+
|
|
1835
|
+
export interface InfraError {
|
|
1836
|
+
/**
|
|
1837
|
+
* Numeric identifier of the error.
|
|
1838
|
+
*/
|
|
1839
|
+
code: number; // int32
|
|
1840
|
+
/**
|
|
1841
|
+
* Human-readable description of the error.
|
|
1842
|
+
*/
|
|
1843
|
+
message: string;
|
|
1844
|
+
}
|
|
1845
|
+
|
|
1846
|
+
export type IngressCertParams = string;
|
|
1847
|
+
|
|
1848
|
+
/**
|
|
1849
|
+
* The virtual IP used for cluster ingress traffic.
|
|
1850
|
+
*/
|
|
1851
|
+
export interface IngressVip {
|
|
1852
|
+
/**
|
|
1853
|
+
* The cluster that this VIP is associated with.
|
|
1854
|
+
*/
|
|
1855
|
+
clusterId?: string; // uuid
|
|
1856
|
+
/**
|
|
1857
|
+
* The IP address.
|
|
1858
|
+
*/
|
|
1859
|
+
ip?: Ip; // ^(?:(?:(?:[0-9]{1,3}\.){3}[0-9]{1,3})|(?:(?:[0-9a-fA-F]*:[0-9a-fA-F]*){2,}))?$
|
|
1860
|
+
/**
|
|
1861
|
+
* Ingress VIP verification result.
|
|
1862
|
+
*/
|
|
1863
|
+
verification?: VipVerification;
|
|
1864
|
+
}
|
|
1865
|
+
|
|
1866
|
+
export interface InstallCmdRequest {
|
|
1867
|
+
/**
|
|
1868
|
+
* Cluster id
|
|
1869
|
+
*/
|
|
1870
|
+
clusterId: string; // uuid
|
|
1871
|
+
/**
|
|
1872
|
+
* Infra env id
|
|
1873
|
+
*/
|
|
1874
|
+
infraEnvId: string; // uuid
|
|
1875
|
+
/**
|
|
1876
|
+
* Host id
|
|
1877
|
+
*/
|
|
1878
|
+
hostId: string; // uuid
|
|
1879
|
+
role: HostRole;
|
|
1880
|
+
/**
|
|
1881
|
+
* Boot device to write image on
|
|
1882
|
+
*/
|
|
1883
|
+
bootDevice: string;
|
|
1884
|
+
/**
|
|
1885
|
+
* Assisted installer controller image
|
|
1886
|
+
*/
|
|
1887
|
+
controllerImage: string; // ^(([a-zA-Z0-9\-\.]+)(:[0-9]+)?\/)?[a-z0-9\._\-\/@]+[?::a-zA-Z0-9_\-.]+$
|
|
1888
|
+
/**
|
|
1889
|
+
* Assisted installer image
|
|
1890
|
+
*/
|
|
1891
|
+
installerImage: string; // ^(([a-zA-Z0-9\-\.]+)(:[0-9]+)?\/)?[a-z0-9\._\-\/@]+[?::a-zA-Z0-9_\-.]+$
|
|
1892
|
+
/**
|
|
1893
|
+
* Guaranteed availability of the installed cluster. 'Full' installs a Highly-Available cluster
|
|
1894
|
+
* over multiple master nodes whereas 'None' installs a full cluster over one node.
|
|
1895
|
+
*
|
|
1896
|
+
*/
|
|
1897
|
+
highAvailabilityMode?: 'Full' | 'None';
|
|
1898
|
+
proxy?: Proxy;
|
|
1899
|
+
/**
|
|
1900
|
+
* Check CVO status if needed
|
|
1901
|
+
*/
|
|
1902
|
+
checkCvo?: boolean;
|
|
1903
|
+
/**
|
|
1904
|
+
* List of disks to format
|
|
1905
|
+
*/
|
|
1906
|
+
disksToFormat?: string[];
|
|
1907
|
+
/**
|
|
1908
|
+
* Must-gather images to use
|
|
1909
|
+
*/
|
|
1910
|
+
mustGatherImage?: string;
|
|
1911
|
+
/**
|
|
1912
|
+
* Machine config operator image
|
|
1913
|
+
*/
|
|
1914
|
+
mcoImage?: string; // ^(([a-zA-Z0-9\-\.]+)(:[0-9]+)?\/)?[a-z0-9\._\-\/@]+[?::a-zA-Z0-9_\-.]+$
|
|
1915
|
+
/**
|
|
1916
|
+
* Version of the OpenShift cluster.
|
|
1917
|
+
*/
|
|
1918
|
+
openshiftVersion?: string;
|
|
1919
|
+
/**
|
|
1920
|
+
* List of service ips
|
|
1921
|
+
*/
|
|
1922
|
+
serviceIps?: string /* ^(?:(?:(?:[0-9]{1,3}\.){3}[0-9]{1,3})|(?:(?:[0-9a-fA-F]*:[0-9a-fA-F]*){2,}))$ */[];
|
|
1923
|
+
/**
|
|
1924
|
+
* Core-os installer addtional args
|
|
1925
|
+
*/
|
|
1926
|
+
installerArgs?: string;
|
|
1927
|
+
/**
|
|
1928
|
+
* Skip formatting installation disk
|
|
1929
|
+
*/
|
|
1930
|
+
skipInstallationDiskCleanup?: boolean;
|
|
1931
|
+
}
|
|
1932
|
+
|
|
1933
|
+
export interface InstallerArgsParams {
|
|
1934
|
+
/**
|
|
1935
|
+
* List of additional arguments passed to coreos-installer
|
|
1936
|
+
* example:
|
|
1937
|
+
* --append-karg,ip=192.0.2.2::192.0.2.254:255.255.255.0:core0.example.com:enp1s0:none,--save-partindex,1,-n
|
|
1938
|
+
*/
|
|
1939
|
+
args?: string[];
|
|
1940
|
+
}
|
|
1941
|
+
|
|
1942
|
+
export interface Interface {
|
|
1943
|
+
ipv6Addresses?: string[];
|
|
1944
|
+
vendor?: string;
|
|
1945
|
+
name?: string;
|
|
1946
|
+
hasCarrier?: boolean;
|
|
1947
|
+
product?: string;
|
|
1948
|
+
mtu?: number;
|
|
1949
|
+
ipv4Addresses?: string[];
|
|
1950
|
+
biosdevname?: string;
|
|
1951
|
+
clientId?: string;
|
|
1952
|
+
macAddress?: string;
|
|
1953
|
+
flags?: string[];
|
|
1954
|
+
speedMbps?: number;
|
|
1955
|
+
type?: string;
|
|
1956
|
+
}
|
|
1957
|
+
|
|
1958
|
+
export interface Inventory {
|
|
1959
|
+
hostname?: string;
|
|
1960
|
+
bmcAddress?: string;
|
|
1961
|
+
interfaces?: Interface[];
|
|
1962
|
+
disks?: Disk[];
|
|
1963
|
+
boot?: Boot;
|
|
1964
|
+
systemVendor?: SystemVendor;
|
|
1965
|
+
bmcV6address?: string;
|
|
1966
|
+
memory?: Memory;
|
|
1967
|
+
cpu?: Cpu;
|
|
1968
|
+
gpus?: Gpu[];
|
|
1969
|
+
routes?: Route[];
|
|
1970
|
+
tpmVersion?: 'none' | '1.2' | '2.0';
|
|
1971
|
+
}
|
|
1972
|
+
|
|
1973
|
+
export interface IoPerf {
|
|
1974
|
+
/**
|
|
1975
|
+
* 99th percentile of fsync duration in milliseconds
|
|
1976
|
+
*/
|
|
1977
|
+
syncDuration?: number;
|
|
1978
|
+
}
|
|
1979
|
+
|
|
1980
|
+
export type Ip = string; // ^(?:(?:(?:[0-9]{1,3}\.){3}[0-9]{1,3})|(?:(?:[0-9a-fA-F]*:[0-9a-fA-F]*){2,}))?$
|
|
1981
|
+
/**
|
|
1982
|
+
* pair of [operation, argument] specifying the argument and what operation should be applied on it.
|
|
1983
|
+
*/
|
|
1984
|
+
export interface KernelArgument {
|
|
1985
|
+
/**
|
|
1986
|
+
* The operation to apply on the kernel argument.
|
|
1987
|
+
*/
|
|
1988
|
+
operation?: 'append' | 'replace' | 'delete';
|
|
1989
|
+
/**
|
|
1990
|
+
* Kernel argument can have the form <parameter> or <parameter>=<value>. The following examples should
|
|
1991
|
+
* be supported:
|
|
1992
|
+
* rd.net.timeout.carrier=60
|
|
1993
|
+
* isolcpus=1,2,10-20,100-2000:2/25
|
|
1994
|
+
* quiet
|
|
1995
|
+
* The parsing by the command line parser in linux kernel is much looser and this pattern follows it.
|
|
1996
|
+
*
|
|
1997
|
+
*/
|
|
1998
|
+
value?: string; // ^(?:(?:[^ \t\n\r"]+)|(?:"[^"]*"))+$
|
|
1999
|
+
}
|
|
2000
|
+
|
|
2001
|
+
/**
|
|
2002
|
+
* List of kernel arugment objects that define the operations and values to be applied.
|
|
2003
|
+
*/
|
|
2004
|
+
export type KernelArguments = KernelArgument[];
|
|
2005
|
+
|
|
2006
|
+
export interface L2Connectivity {
|
|
2007
|
+
outgoingNic?: string;
|
|
2008
|
+
outgoingIpAddress?: string;
|
|
2009
|
+
remoteIpAddress?: string;
|
|
2010
|
+
remoteMac?: string;
|
|
2011
|
+
successful?: boolean;
|
|
2012
|
+
}
|
|
2013
|
+
|
|
2014
|
+
export interface L3Connectivity {
|
|
2015
|
+
outgoingNic?: string;
|
|
2016
|
+
remoteIpAddress?: string;
|
|
2017
|
+
successful?: boolean;
|
|
2018
|
+
/**
|
|
2019
|
+
* Average round trip time in milliseconds.
|
|
2020
|
+
*/
|
|
2021
|
+
averageRttMs?: number; // double
|
|
2022
|
+
/**
|
|
2023
|
+
* Percentage of packets lost during connectivity check.
|
|
2024
|
+
*/
|
|
2025
|
+
packetLossPercentage?: number; // double
|
|
2026
|
+
}
|
|
2027
|
+
|
|
2028
|
+
export type ListManagedDomains = ManagedDomain[];
|
|
2029
|
+
export type ListManifests = Manifest[];
|
|
2030
|
+
|
|
2031
|
+
export interface ListVersions {
|
|
2032
|
+
versions?: Versions;
|
|
2033
|
+
releaseTag?: string;
|
|
2034
|
+
}
|
|
2035
|
+
|
|
2036
|
+
export interface LogsGatherCmdRequest {
|
|
2037
|
+
/**
|
|
2038
|
+
* Cluster id
|
|
2039
|
+
*/
|
|
2040
|
+
clusterId: string; // uuid
|
|
2041
|
+
/**
|
|
2042
|
+
* Infra env id
|
|
2043
|
+
*/
|
|
2044
|
+
infraEnvId: string; // uuid
|
|
2045
|
+
/**
|
|
2046
|
+
* Host id
|
|
2047
|
+
*/
|
|
2048
|
+
hostId: string; // uuid
|
|
2049
|
+
/**
|
|
2050
|
+
* Host is bootstrap or not
|
|
2051
|
+
*/
|
|
2052
|
+
bootstrap: boolean;
|
|
2053
|
+
/**
|
|
2054
|
+
* Run installer gather logs
|
|
2055
|
+
*/
|
|
2056
|
+
installerGather: boolean;
|
|
2057
|
+
/**
|
|
2058
|
+
* List of master ips
|
|
2059
|
+
*/
|
|
2060
|
+
masterIps?: string /* ^(?:(?:(?:[0-9]{1,3}\.){3}[0-9]{1,3})|(?:(?:[0-9a-fA-F]*:[0-9a-fA-F]*){2,}))$ */[];
|
|
2061
|
+
}
|
|
2062
|
+
|
|
2063
|
+
export interface LogsProgressParams {
|
|
2064
|
+
/**
|
|
2065
|
+
* The state of collecting logs.
|
|
2066
|
+
*/
|
|
2067
|
+
logsState: LogsState;
|
|
2068
|
+
}
|
|
2069
|
+
|
|
2070
|
+
export type LogsState = 'requested' | 'collecting' | 'completed' | 'timeout' | '';
|
|
2071
|
+
export type LogsType = 'host' | 'controller' | 'all' | '';
|
|
2072
|
+
export type MacInterfaceMap = {
|
|
2073
|
+
/**
|
|
2074
|
+
* mac address present on the host
|
|
2075
|
+
*/
|
|
2076
|
+
macAddress?: string; // ^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$
|
|
2077
|
+
/**
|
|
2078
|
+
* nic name used in the yaml, which relates 1:1 to the mac address
|
|
2079
|
+
*/
|
|
2080
|
+
logicalNicName?: string;
|
|
2081
|
+
}[];
|
|
2082
|
+
|
|
2083
|
+
/**
|
|
2084
|
+
* A network that all hosts belonging to the cluster should have an interface with IP address in. The VIPs (if exist) belong to this network.
|
|
2085
|
+
*/
|
|
2086
|
+
export interface MachineNetwork {
|
|
2087
|
+
/**
|
|
2088
|
+
* The cluster that this network is associated with.
|
|
2089
|
+
*/
|
|
2090
|
+
clusterId?: string; // uuid
|
|
2091
|
+
/**
|
|
2092
|
+
* The IP block address pool.
|
|
2093
|
+
*/
|
|
2094
|
+
cidr?: Subnet; // ^(?:(?:(?:[0-9]{1,3}\.){3}[0-9]{1,3}\/(?:(?:[0-9])|(?:[1-2][0-9])|(?:3[0-2])))|(?:(?:[0-9a-fA-F]*:[0-9a-fA-F]*){2,})/(?:(?:[0-9])|(?:[1-9][0-9])|(?:1[0-1][0-9])|(?:12[0-8])))$
|
|
2095
|
+
}
|
|
2096
|
+
|
|
2097
|
+
export interface ManagedDomain {
|
|
2098
|
+
domain?: string;
|
|
2099
|
+
provider?: 'route53';
|
|
2100
|
+
}
|
|
2101
|
+
|
|
2102
|
+
export interface Manifest {
|
|
2103
|
+
/**
|
|
2104
|
+
* The folder that contains the files. Manifests can be placed in 'manifests' or 'openshift' directories.
|
|
2105
|
+
*/
|
|
2106
|
+
folder?: 'manifests' | 'openshift';
|
|
2107
|
+
/**
|
|
2108
|
+
* The file name prefaced by the folder that contains it.
|
|
2109
|
+
*/
|
|
2110
|
+
fileName?: string;
|
|
2111
|
+
}
|
|
2112
|
+
|
|
2113
|
+
export interface Memory {
|
|
2114
|
+
physicalBytes?: number;
|
|
2115
|
+
usableBytes?: number;
|
|
2116
|
+
/**
|
|
2117
|
+
* The method by which the physical memory was set
|
|
2118
|
+
*/
|
|
2119
|
+
physicalBytesMethod?: MemoryMethod;
|
|
2120
|
+
}
|
|
2121
|
+
|
|
2122
|
+
export type MemoryMethod = 'dmidecode' | 'ghw' | 'meminfo';
|
|
2123
|
+
|
|
2124
|
+
export interface MonitoredOperator {
|
|
2125
|
+
/**
|
|
2126
|
+
* The cluster that this operator is associated with.
|
|
2127
|
+
*/
|
|
2128
|
+
clusterId?: string; // uuid
|
|
2129
|
+
/**
|
|
2130
|
+
* Unique name of the operator.
|
|
2131
|
+
*/
|
|
2132
|
+
name?: string;
|
|
2133
|
+
/**
|
|
2134
|
+
* Operator version
|
|
2135
|
+
*/
|
|
2136
|
+
version?: string;
|
|
2137
|
+
/**
|
|
2138
|
+
* Namespace where to deploy an operator. Only some operators require a namespace.
|
|
2139
|
+
*/
|
|
2140
|
+
namespace?: string;
|
|
2141
|
+
/**
|
|
2142
|
+
* The name of the subscription of the operator.
|
|
2143
|
+
*/
|
|
2144
|
+
subscriptionName?: string;
|
|
2145
|
+
operatorType?: OperatorType;
|
|
2146
|
+
/**
|
|
2147
|
+
* Blob of operator-dependent parameters that are required for installation.
|
|
2148
|
+
*/
|
|
2149
|
+
properties?: string;
|
|
2150
|
+
/**
|
|
2151
|
+
* Positive number represents a timeout in seconds for the operator to be available.
|
|
2152
|
+
*/
|
|
2153
|
+
timeoutSeconds?: number;
|
|
2154
|
+
status?: OperatorStatus;
|
|
2155
|
+
/**
|
|
2156
|
+
* Detailed information about the operator state.
|
|
2157
|
+
*/
|
|
2158
|
+
statusInfo?: string;
|
|
2159
|
+
/**
|
|
2160
|
+
* Time at which the operator was last updated.
|
|
2161
|
+
*/
|
|
2162
|
+
statusUpdatedAt?: string; // date-time
|
|
2163
|
+
}
|
|
2164
|
+
|
|
2165
|
+
export type MonitoredOperatorsList = MonitoredOperator[];
|
|
2166
|
+
|
|
2167
|
+
export interface NextStepCmdRequest {
|
|
2168
|
+
/**
|
|
2169
|
+
* Infra env id
|
|
2170
|
+
*/
|
|
2171
|
+
infraEnvId: string; // uuid
|
|
2172
|
+
/**
|
|
2173
|
+
* Host id
|
|
2174
|
+
*/
|
|
2175
|
+
hostId: string; // uuid
|
|
2176
|
+
/**
|
|
2177
|
+
* Agent image version
|
|
2178
|
+
*/
|
|
2179
|
+
agentVersion: string; // ^(([a-zA-Z0-9\-\.]+)(:[0-9]+)?\/)?[a-z0-9\._\-\/@]+[?::a-zA-Z0-9_\-.]+$
|
|
2180
|
+
}
|
|
2181
|
+
|
|
2182
|
+
export interface NodeLabelParams {
|
|
2183
|
+
/**
|
|
2184
|
+
* The key for the label's key-value pair.
|
|
2185
|
+
*/
|
|
2186
|
+
key: string;
|
|
2187
|
+
/**
|
|
2188
|
+
* The value for the label's key-value pair.
|
|
2189
|
+
*/
|
|
2190
|
+
value: string;
|
|
2191
|
+
}
|
|
2192
|
+
|
|
2193
|
+
export interface NtpSource {
|
|
2194
|
+
/**
|
|
2195
|
+
* NTP source name or IP.
|
|
2196
|
+
*/
|
|
2197
|
+
sourceName?: string;
|
|
2198
|
+
/**
|
|
2199
|
+
* Indication of state of an NTP source.
|
|
2200
|
+
*/
|
|
2201
|
+
sourceState?: SourceState;
|
|
2202
|
+
}
|
|
2203
|
+
|
|
2204
|
+
export interface NtpSynchronizationRequest {
|
|
2205
|
+
/**
|
|
2206
|
+
* A comma-separated list of NTP sources (name or IP) going to be added to all the hosts.
|
|
2207
|
+
*/
|
|
2208
|
+
ntpSource: string;
|
|
2209
|
+
}
|
|
2210
|
+
|
|
2211
|
+
export interface NtpSynchronizationResponse {
|
|
2212
|
+
ntpSources?: NtpSource[];
|
|
2213
|
+
}
|
|
2214
|
+
|
|
2215
|
+
export interface OpenshiftVersion {
|
|
2216
|
+
/**
|
|
2217
|
+
* Name of the version to be presented to the user.
|
|
2218
|
+
*/
|
|
2219
|
+
displayName: string;
|
|
2220
|
+
/**
|
|
2221
|
+
* Level of support of the version.
|
|
2222
|
+
*/
|
|
2223
|
+
supportLevel: 'beta' | 'production' | 'maintenance';
|
|
2224
|
+
/**
|
|
2225
|
+
* Indication that the version is the recommended one.
|
|
2226
|
+
*/
|
|
2227
|
+
default?: boolean;
|
|
2228
|
+
/**
|
|
2229
|
+
* Available CPU architectures.
|
|
2230
|
+
*/
|
|
2231
|
+
cpuArchitectures: string[];
|
|
2232
|
+
}
|
|
2233
|
+
|
|
2234
|
+
export interface OpenshiftVersions {
|
|
2235
|
+
[name: string]: OpenshiftVersion;
|
|
2236
|
+
}
|
|
2237
|
+
|
|
2238
|
+
export interface OperatorCreateParams {
|
|
2239
|
+
name?: string;
|
|
2240
|
+
/**
|
|
2241
|
+
* Blob of operator-dependent parameters that are required for installation.
|
|
2242
|
+
*/
|
|
2243
|
+
properties?: string;
|
|
2244
|
+
}
|
|
2245
|
+
|
|
2246
|
+
export interface OperatorHardwareRequirements {
|
|
2247
|
+
/**
|
|
2248
|
+
* Unique name of the operator. Corresponds to name property of the monitored-operator, i.e. "lso", "cnv", etc.
|
|
2249
|
+
*/
|
|
2250
|
+
operatorName?: string;
|
|
2251
|
+
/**
|
|
2252
|
+
* List of other operator unique names that are required to be installed. Corresponds to name property of the monitored-operator, i.e. "lso", "cnv", etc.
|
|
2253
|
+
*/
|
|
2254
|
+
dependencies?: string[];
|
|
2255
|
+
requirements?: HostTypeHardwareRequirementsWrapper;
|
|
2256
|
+
}
|
|
2257
|
+
|
|
2258
|
+
export interface OperatorHostRequirements {
|
|
2259
|
+
/**
|
|
2260
|
+
* Name of the operator
|
|
2261
|
+
*/
|
|
2262
|
+
operatorName?: string;
|
|
2263
|
+
/**
|
|
2264
|
+
* Host requirements for the operator
|
|
2265
|
+
*/
|
|
2266
|
+
requirements?: ClusterHostRequirementsDetails;
|
|
2267
|
+
}
|
|
2268
|
+
|
|
2269
|
+
export interface OperatorMonitorReport {
|
|
2270
|
+
/**
|
|
2271
|
+
* Unique name of the operator.
|
|
2272
|
+
*/
|
|
2273
|
+
name?: string;
|
|
2274
|
+
/**
|
|
2275
|
+
* operator version.
|
|
2276
|
+
*/
|
|
2277
|
+
version?: string;
|
|
2278
|
+
status?: OperatorStatus;
|
|
2279
|
+
/**
|
|
2280
|
+
* Detailed information about the operator state.
|
|
2281
|
+
*/
|
|
2282
|
+
statusInfo?: string;
|
|
2283
|
+
}
|
|
2284
|
+
|
|
2285
|
+
export type OperatorProperties = OperatorProperty[];
|
|
2286
|
+
|
|
2287
|
+
export interface OperatorProperty {
|
|
2288
|
+
/**
|
|
2289
|
+
* Name of the property
|
|
2290
|
+
*/
|
|
2291
|
+
name?: string;
|
|
2292
|
+
/**
|
|
2293
|
+
* Type of the property
|
|
2294
|
+
*/
|
|
2295
|
+
dataType?: 'boolean' | 'string' | 'integer' | 'float';
|
|
2296
|
+
/**
|
|
2297
|
+
* Indicates whether the property is reqired
|
|
2298
|
+
*/
|
|
2299
|
+
mandatory?: boolean;
|
|
2300
|
+
/**
|
|
2301
|
+
* Values to select from
|
|
2302
|
+
*/
|
|
2303
|
+
options?: string[];
|
|
2304
|
+
/**
|
|
2305
|
+
* Description of a property
|
|
2306
|
+
*/
|
|
2307
|
+
description?: string;
|
|
2308
|
+
/**
|
|
2309
|
+
* Default value for the property
|
|
2310
|
+
*/
|
|
2311
|
+
defaultValue?: string;
|
|
2312
|
+
}
|
|
2313
|
+
|
|
2314
|
+
/**
|
|
2315
|
+
* Represents the operator state.
|
|
2316
|
+
*/
|
|
2317
|
+
export type OperatorStatus = 'failed' | 'progressing' | 'available';
|
|
2318
|
+
/**
|
|
2319
|
+
* Kind of operator. Different types are monitored by the service differently.
|
|
2320
|
+
*/
|
|
2321
|
+
export type OperatorType = 'builtin' | 'olm';
|
|
2322
|
+
|
|
2323
|
+
export interface OsImage {
|
|
2324
|
+
/**
|
|
2325
|
+
* Version of the operating system image
|
|
2326
|
+
* example:
|
|
2327
|
+
* 4.12
|
|
2328
|
+
*/
|
|
2329
|
+
openshiftVersion: string;
|
|
2330
|
+
/**
|
|
2331
|
+
* The CPU architecture of the image (x86_64/arm64/etc).
|
|
2332
|
+
*/
|
|
2333
|
+
cpuArchitecture: 'x86_64' | 'aarch64' | 'arm64' | 'ppc64le' | 's390x';
|
|
2334
|
+
/**
|
|
2335
|
+
* The base OS image used for the discovery iso.
|
|
2336
|
+
*/
|
|
2337
|
+
url: string;
|
|
2338
|
+
/**
|
|
2339
|
+
* Build ID of the OS image.
|
|
2340
|
+
*/
|
|
2341
|
+
version: string;
|
|
2342
|
+
}
|
|
2343
|
+
|
|
2344
|
+
export type OsImages = OsImage[];
|
|
2345
|
+
|
|
2346
|
+
/**
|
|
2347
|
+
* The configuration for the specific platform upon which to perform the installation.
|
|
2348
|
+
*/
|
|
2349
|
+
export interface Platform {
|
|
2350
|
+
type: PlatformType;
|
|
2351
|
+
/**
|
|
2352
|
+
* Used by the service to indicate that the platform-specific components are not included in
|
|
2353
|
+
* OpenShift and must be provided as manifests separately.
|
|
2354
|
+
*/
|
|
2355
|
+
readonly isExternal?: boolean;
|
|
2356
|
+
}
|
|
2357
|
+
|
|
2358
|
+
export type PlatformType = 'baremetal' | 'nutanix' | 'vsphere' | 'none' | 'oci';
|
|
2359
|
+
|
|
2360
|
+
export interface PreflightHardwareRequirements {
|
|
2361
|
+
/**
|
|
2362
|
+
* Preflight operators hardware requirements
|
|
2363
|
+
*/
|
|
2364
|
+
operators?: OperatorHardwareRequirements[];
|
|
2365
|
+
/**
|
|
2366
|
+
* Preflight OCP requirements
|
|
2367
|
+
*/
|
|
2368
|
+
ocp?: HostTypeHardwareRequirementsWrapper;
|
|
2369
|
+
}
|
|
2370
|
+
|
|
2371
|
+
export interface PresignedUrl {
|
|
2372
|
+
/**
|
|
2373
|
+
* Pre-signed URL for downloading the infra-env discovery image.
|
|
2374
|
+
*/
|
|
2375
|
+
url: string;
|
|
2376
|
+
/**
|
|
2377
|
+
* Expiration time for the URL token.
|
|
2378
|
+
*/
|
|
2379
|
+
expiresAt?: string; // date-time
|
|
2380
|
+
}
|
|
2381
|
+
|
|
2382
|
+
export interface Proxy {
|
|
2383
|
+
/**
|
|
2384
|
+
* A proxy URL to use for creating HTTP connections outside the cluster.
|
|
2385
|
+
* http://\<username\>:\<pswd\>@\<ip\>:\<port\>
|
|
2386
|
+
*
|
|
2387
|
+
*/
|
|
2388
|
+
httpProxy?: string;
|
|
2389
|
+
/**
|
|
2390
|
+
* A proxy URL to use for creating HTTPS connections outside the cluster.
|
|
2391
|
+
* http://\<username\>:\<pswd\>@\<ip\>:\<port\>
|
|
2392
|
+
*
|
|
2393
|
+
*/
|
|
2394
|
+
httpsProxy?: string;
|
|
2395
|
+
/**
|
|
2396
|
+
* An "*" or a comma-separated list of destination domain names, domains, IP addresses, or other network CIDRs to exclude from proxying.
|
|
2397
|
+
*/
|
|
2398
|
+
noProxy?: string;
|
|
2399
|
+
}
|
|
2400
|
+
|
|
2401
|
+
/**
|
|
2402
|
+
* Information sent to the agent for rebooting a host into discovery.
|
|
2403
|
+
*/
|
|
2404
|
+
export interface RebootForReclaimRequest {
|
|
2405
|
+
/**
|
|
2406
|
+
* The base directory on the host that contains the /boot folder. The host needs to
|
|
2407
|
+
* chroot into this directory in order to properly reboot.
|
|
2408
|
+
*/
|
|
2409
|
+
hostFsMountDir: string;
|
|
2410
|
+
}
|
|
2411
|
+
|
|
2412
|
+
export interface ReleaseImage {
|
|
2413
|
+
/**
|
|
2414
|
+
* Version of the OpenShift cluster.
|
|
2415
|
+
*/
|
|
2416
|
+
openshiftVersion: string;
|
|
2417
|
+
/**
|
|
2418
|
+
* (DEPRECATED) The CPU architecture of the image (x86_64/arm64/etc).
|
|
2419
|
+
*/
|
|
2420
|
+
cpuArchitecture: 'x86_64' | 'aarch64' | 'arm64' | 'ppc64le' | 's390x' | 'multi';
|
|
2421
|
+
/**
|
|
2422
|
+
* List of CPU architectures provided by the image.
|
|
2423
|
+
*/
|
|
2424
|
+
cpuArchitectures?: string[];
|
|
2425
|
+
/**
|
|
2426
|
+
* The installation image of the OpenShift cluster.
|
|
2427
|
+
*/
|
|
2428
|
+
url: string;
|
|
2429
|
+
/**
|
|
2430
|
+
* OCP version from the release metadata.
|
|
2431
|
+
*/
|
|
2432
|
+
version: string;
|
|
2433
|
+
/**
|
|
2434
|
+
* Indication that the version is the recommended one.
|
|
2435
|
+
*/
|
|
2436
|
+
default?: boolean;
|
|
2437
|
+
/**
|
|
2438
|
+
* Level of support of the version.
|
|
2439
|
+
*/
|
|
2440
|
+
supportLevel?: 'beta' | 'production' | 'maintenance';
|
|
2441
|
+
}
|
|
2442
|
+
|
|
2443
|
+
export type ReleaseImages = ReleaseImage[];
|
|
2444
|
+
|
|
2445
|
+
export interface Route {
|
|
2446
|
+
/**
|
|
2447
|
+
* Interface to which packets for this route will be sent
|
|
2448
|
+
*/
|
|
2449
|
+
interface?: string;
|
|
2450
|
+
/**
|
|
2451
|
+
* Gateway address where the packets are sent
|
|
2452
|
+
*/
|
|
2453
|
+
gateway?: string;
|
|
2454
|
+
/**
|
|
2455
|
+
* The destination network or destination host
|
|
2456
|
+
*/
|
|
2457
|
+
destination?: string;
|
|
2458
|
+
/**
|
|
2459
|
+
* Defines whether this is an IPv4 (4) or IPv6 route (6)
|
|
2460
|
+
*/
|
|
2461
|
+
family?: number; // int32
|
|
2462
|
+
/**
|
|
2463
|
+
* Route priority metric
|
|
2464
|
+
*/
|
|
2465
|
+
metric?: number; // int32
|
|
2466
|
+
}
|
|
2467
|
+
|
|
2468
|
+
/**
|
|
2469
|
+
* IP address block for service IP blocks.
|
|
2470
|
+
*/
|
|
2471
|
+
export interface ServiceNetwork {
|
|
2472
|
+
/**
|
|
2473
|
+
* A network to use for service IP addresses. If you need to access the services from an external network, configure load balancers and routers to manage the traffic.
|
|
2474
|
+
*/
|
|
2475
|
+
clusterId?: string; // uuid
|
|
2476
|
+
/**
|
|
2477
|
+
* The IP block address pool.
|
|
2478
|
+
*/
|
|
2479
|
+
cidr?: Subnet; // ^(?:(?:(?:[0-9]{1,3}\.){3}[0-9]{1,3}\/(?:(?:[0-9])|(?:[1-2][0-9])|(?:3[0-2])))|(?:(?:[0-9a-fA-F]*:[0-9a-fA-F]*){2,})/(?:(?:[0-9])|(?:[1-9][0-9])|(?:1[0-1][0-9])|(?:12[0-8])))$
|
|
2480
|
+
}
|
|
2481
|
+
|
|
2482
|
+
export type SourceState =
|
|
2483
|
+
| 'synced'
|
|
2484
|
+
| 'combined'
|
|
2485
|
+
| 'notCombined'
|
|
2486
|
+
| 'error'
|
|
2487
|
+
| 'variable'
|
|
2488
|
+
| 'unreachable';
|
|
2489
|
+
|
|
2490
|
+
export interface Step {
|
|
2491
|
+
stepType?: StepType;
|
|
2492
|
+
stepId?: string;
|
|
2493
|
+
args?: string[];
|
|
2494
|
+
}
|
|
2495
|
+
|
|
2496
|
+
export interface StepReply {
|
|
2497
|
+
stepType?: StepType;
|
|
2498
|
+
stepId?: string;
|
|
2499
|
+
exitCode?: number;
|
|
2500
|
+
output?: string;
|
|
2501
|
+
error?: string;
|
|
2502
|
+
}
|
|
2503
|
+
|
|
2504
|
+
export type StepType =
|
|
2505
|
+
| 'connectivity-check'
|
|
2506
|
+
| 'execute'
|
|
2507
|
+
| 'inventory'
|
|
2508
|
+
| 'install'
|
|
2509
|
+
| 'free-network-addresses'
|
|
2510
|
+
| 'dhcp-lease-allocate'
|
|
2511
|
+
| 'api-vip-connectivity-check'
|
|
2512
|
+
| 'tang-connectivity-check'
|
|
2513
|
+
| 'ntp-synchronizer'
|
|
2514
|
+
| 'installation-disk-speed-check'
|
|
2515
|
+
| 'container-image-availability'
|
|
2516
|
+
| 'domain-resolution'
|
|
2517
|
+
| 'stop-installation'
|
|
2518
|
+
| 'logs-gather'
|
|
2519
|
+
| 'next-step-runner'
|
|
2520
|
+
| 'upgrade-agent'
|
|
2521
|
+
| 'download-boot-artifacts'
|
|
2522
|
+
| 'reboot-for-reclaim'
|
|
2523
|
+
| 'verify-vips';
|
|
2524
|
+
|
|
2525
|
+
export interface Steps {
|
|
2526
|
+
nextInstructionSeconds?: number;
|
|
2527
|
+
/**
|
|
2528
|
+
* What to do after finishing to run step instructions
|
|
2529
|
+
*/
|
|
2530
|
+
postStepAction?: 'exit' | 'continue';
|
|
2531
|
+
instructions?: Step[];
|
|
2532
|
+
}
|
|
2533
|
+
|
|
2534
|
+
export type StepsReply = StepReply[];
|
|
2535
|
+
export type Subnet = string; // ^(?:(?:(?:[0-9]{1,3}\.){3}[0-9]{1,3}\/(?:(?:[0-9])|(?:[1-2][0-9])|(?:3[0-2])))|(?:(?:[0-9a-fA-F]*:[0-9a-fA-F]*){2,})/(?:(?:[0-9])|(?:[1-9][0-9])|(?:1[0-1][0-9])|(?:12[0-8])))$
|
|
2536
|
+
export type SupportLevel =
|
|
2537
|
+
| 'supported'
|
|
2538
|
+
| 'unsupported'
|
|
2539
|
+
| 'tech-preview'
|
|
2540
|
+
| 'dev-preview'
|
|
2541
|
+
| 'unavailable';
|
|
2542
|
+
|
|
2543
|
+
/**
|
|
2544
|
+
* Map of feature ID or CPU architecture alongside their support level
|
|
2545
|
+
*/
|
|
2546
|
+
export interface SupportLevels {
|
|
2547
|
+
[name: string]: SupportLevel;
|
|
2548
|
+
}
|
|
2549
|
+
|
|
2550
|
+
export interface SystemVendor {
|
|
2551
|
+
serialNumber?: string;
|
|
2552
|
+
productName?: string;
|
|
2553
|
+
manufacturer?: string;
|
|
2554
|
+
/**
|
|
2555
|
+
* Whether the machine appears to be a virtual machine or not
|
|
2556
|
+
*/
|
|
2557
|
+
virtual?: boolean;
|
|
2558
|
+
}
|
|
2559
|
+
|
|
2560
|
+
export interface TangConnectivityRequest {
|
|
2561
|
+
/**
|
|
2562
|
+
* JSON-formatted string containing additional information regarding tang's configuration
|
|
2563
|
+
*/
|
|
2564
|
+
tangServers: string;
|
|
2565
|
+
}
|
|
2566
|
+
|
|
2567
|
+
export interface TangConnectivityResponse {
|
|
2568
|
+
/**
|
|
2569
|
+
* Tang check result.
|
|
2570
|
+
*/
|
|
2571
|
+
isSuccess?: boolean;
|
|
2572
|
+
tangServerResponse?: {
|
|
2573
|
+
/**
|
|
2574
|
+
* Tang URL.
|
|
2575
|
+
*/
|
|
2576
|
+
tangUrl?: string;
|
|
2577
|
+
/**
|
|
2578
|
+
* Tang response payload.
|
|
2579
|
+
*/
|
|
2580
|
+
payload?: string;
|
|
2581
|
+
signatures?: {
|
|
2582
|
+
protected?: string;
|
|
2583
|
+
signature?: string;
|
|
2584
|
+
}[];
|
|
2585
|
+
}[];
|
|
2586
|
+
}
|
|
2587
|
+
|
|
2588
|
+
export interface UpdateManifestParams {
|
|
2589
|
+
/**
|
|
2590
|
+
* The folder for the manifest to modify.
|
|
2591
|
+
*/
|
|
2592
|
+
folder: 'manifests' | 'openshift';
|
|
2593
|
+
/**
|
|
2594
|
+
* The file name for the manifest to modify.
|
|
2595
|
+
*/
|
|
2596
|
+
fileName: string; // ^[^/]*\.(yaml|yml|json)$
|
|
2597
|
+
/**
|
|
2598
|
+
* The new folder for the manifest. Manifests can be placed in 'manifests' or 'openshift' directories.
|
|
2599
|
+
*/
|
|
2600
|
+
updatedFolder?: 'manifests' | 'openshift';
|
|
2601
|
+
/**
|
|
2602
|
+
* The new file name for the manifest.
|
|
2603
|
+
*/
|
|
2604
|
+
updatedFileName?: string; // ^[^/]*\.(yaml|yml|json)$
|
|
2605
|
+
/**
|
|
2606
|
+
* The new base64 encoded manifest content.
|
|
2607
|
+
*/
|
|
2608
|
+
updatedContent?: string;
|
|
2609
|
+
}
|
|
2610
|
+
|
|
2611
|
+
export interface UpgradeAgentRequest {
|
|
2612
|
+
/**
|
|
2613
|
+
* Full image reference of the image that the agent should upgrade to, for example
|
|
2614
|
+
* `quay.io/registry-proxy.engineering.redhat.com/rh-osbs/openshift4-assisted-installer-agent-rhel8:v1.0.0-142`.
|
|
2615
|
+
*
|
|
2616
|
+
*/
|
|
2617
|
+
agentImage?: string;
|
|
2618
|
+
}
|
|
2619
|
+
|
|
2620
|
+
export interface UpgradeAgentResponse {
|
|
2621
|
+
/**
|
|
2622
|
+
* Full image reference of the image that the agent has upgraded to, for example
|
|
2623
|
+
* `quay.io/registry-proxy.engineering.redhat.com/rh-osbs/openshift4-assisted-installer-agent-rhel8:v1.0.0-142`.
|
|
2624
|
+
*
|
|
2625
|
+
*/
|
|
2626
|
+
agentImage?: string;
|
|
2627
|
+
result?: UpgradeAgentResult;
|
|
2628
|
+
}
|
|
2629
|
+
|
|
2630
|
+
/**
|
|
2631
|
+
* Agent upgrade result.
|
|
2632
|
+
*/
|
|
2633
|
+
export type UpgradeAgentResult = 'success' | 'failure';
|
|
2634
|
+
|
|
2635
|
+
export interface Usage {
|
|
2636
|
+
/**
|
|
2637
|
+
* Unique idenftifier of the feature
|
|
2638
|
+
*/
|
|
2639
|
+
id?: string;
|
|
2640
|
+
/**
|
|
2641
|
+
* name of the feature to track
|
|
2642
|
+
*/
|
|
2643
|
+
name?: string;
|
|
2644
|
+
/**
|
|
2645
|
+
* additional properties of the feature
|
|
2646
|
+
*/
|
|
2647
|
+
data?: {
|
|
2648
|
+
[name: string]: Record<string, unknown>;
|
|
2649
|
+
};
|
|
2650
|
+
}
|
|
2651
|
+
|
|
2652
|
+
export interface V2ClusterUpdateParams {
|
|
2653
|
+
/**
|
|
2654
|
+
* OpenShift cluster name.
|
|
2655
|
+
*/
|
|
2656
|
+
name?: string;
|
|
2657
|
+
/**
|
|
2658
|
+
* Base domain of the cluster. All DNS records must be sub-domains of this base and include the cluster name.
|
|
2659
|
+
*/
|
|
2660
|
+
baseDnsDomain?: string;
|
|
2661
|
+
/**
|
|
2662
|
+
* IP address block from which Pod IPs are allocated. This block must not overlap with existing physical networks. These IP addresses are used for the Pod network, and if you need to access the Pods from an external network, configure load balancers and routers to manage the traffic.
|
|
2663
|
+
*/
|
|
2664
|
+
clusterNetworkCidr?: string; // ^(?:(?:(?:[0-9]{1,3}\.){3}[0-9]{1,3}\/(?:(?:[0-9])|(?:[1-2][0-9])|(?:3[0-2])))|(?:(?:[0-9a-fA-F]*:[0-9a-fA-F]*){2,})/(?:(?:[0-9])|(?:[1-9][0-9])|(?:1[0-1][0-9])|(?:12[0-8])))$
|
|
2665
|
+
platform?: Platform;
|
|
2666
|
+
/**
|
|
2667
|
+
* The subnet prefix length to assign to each individual node. For example, if clusterNetworkHostPrefix is set to 23, then each node is assigned a /23 subnet out of the given cidr (clusterNetworkCIDR), which allows for 510 (2^(32 - 23) - 2) pod IPs addresses. If you are required to provide access to nodes from an external network, configure load balancers and routers to manage the traffic.
|
|
2668
|
+
*/
|
|
2669
|
+
clusterNetworkHostPrefix?: number;
|
|
2670
|
+
/**
|
|
2671
|
+
* The IP address pool to use for service IP addresses. You can enter only one IP address pool. If you need to access the services from an external network, configure load balancers and routers to manage the traffic.
|
|
2672
|
+
*/
|
|
2673
|
+
serviceNetworkCidr?: string; // ^(?:(?:(?:[0-9]{1,3}\.){3}[0-9]{1,3}\/(?:(?:[0-9])|(?:[1-2][0-9])|(?:3[0-2])))|(?:(?:[0-9a-fA-F]*:[0-9a-fA-F]*){2,})/(?:(?:[0-9])|(?:[1-9][0-9])|(?:1[0-1][0-9])|(?:12[0-8])))$
|
|
2674
|
+
/**
|
|
2675
|
+
* (DEPRECATED) The virtual IP used to reach the OpenShift cluster's API.
|
|
2676
|
+
*/
|
|
2677
|
+
apiVip?: string; // ^(?:(?:(?:[0-9]{1,3}\.){3}[0-9]{1,3})|(?:(?:[0-9a-fA-F]*:[0-9a-fA-F]*){2,}))?$
|
|
2678
|
+
/**
|
|
2679
|
+
* The virtual IPs used to reach the OpenShift cluster's API. Enter one IP address for single-stack clusters, or up to two for dual-stack clusters (at most one IP address per IP stack used). The order of stacks should be the same as order of subnets in Cluster Networks, Service Networks, and Machine Networks.
|
|
2680
|
+
*/
|
|
2681
|
+
apiVips?: ApiVip[];
|
|
2682
|
+
/**
|
|
2683
|
+
* (DEPRECATED) The virtual IP used for cluster ingress traffic.
|
|
2684
|
+
*/
|
|
2685
|
+
ingressVip?: string; // ^(?:(?:(?:[0-9]{1,3}\.){3}[0-9]{1,3})|(?:(?:[0-9a-fA-F]*:[0-9a-fA-F]*){2,}))?$
|
|
2686
|
+
/**
|
|
2687
|
+
* The virtual IPs used for cluster ingress traffic. Enter one IP address for single-stack clusters, or up to two for dual-stack clusters (at most one IP address per IP stack used). The order of stacks should be the same as order of subnets in Cluster Networks, Service Networks, and Machine Networks.
|
|
2688
|
+
*/
|
|
2689
|
+
ingressVips?: IngressVip[];
|
|
2690
|
+
/**
|
|
2691
|
+
* The domain name used to reach the OpenShift cluster API.
|
|
2692
|
+
*/
|
|
2693
|
+
apiVipDnsName?: string;
|
|
2694
|
+
/**
|
|
2695
|
+
* A CIDR that all hosts belonging to the cluster should have an interfaces with IP address that belongs to this CIDR. The apiVip belongs to this CIDR.
|
|
2696
|
+
*/
|
|
2697
|
+
machineNetworkCidr?: string; // ^(?:(?:(?:[0-9]{1,3}\.){3}[0-9]{1,3}\/(?:(?:[0-9])|(?:[1-2][0-9])|(?:3[0-2])))|(?:(?:[0-9a-fA-F]*:[0-9a-fA-F]*){2,})/(?:(?:[0-9])|(?:[1-9][0-9])|(?:1[0-1][0-9])|(?:12[0-8])))$
|
|
2698
|
+
/**
|
|
2699
|
+
* The pull secret obtained from Red Hat OpenShift Cluster Manager at console.redhat.com/openshift/install/pull-secret.
|
|
2700
|
+
*/
|
|
2701
|
+
pullSecret?: string;
|
|
2702
|
+
/**
|
|
2703
|
+
* SSH public key for debugging OpenShift nodes.
|
|
2704
|
+
*/
|
|
2705
|
+
sshPublicKey?: string;
|
|
2706
|
+
/**
|
|
2707
|
+
* Indicate if virtual IP DHCP allocation mode is enabled.
|
|
2708
|
+
*/
|
|
2709
|
+
vipDhcpAllocation?: boolean;
|
|
2710
|
+
/**
|
|
2711
|
+
* A proxy URL to use for creating HTTP connections outside the cluster.
|
|
2712
|
+
* http://\<username\>:\<pswd\>@\<ip\>:\<port\>
|
|
2713
|
+
*
|
|
2714
|
+
*/
|
|
2715
|
+
httpProxy?: string;
|
|
2716
|
+
/**
|
|
2717
|
+
* A proxy URL to use for creating HTTPS connections outside the cluster.
|
|
2718
|
+
* http://\<username\>:\<pswd\>@\<ip\>:\<port\>
|
|
2719
|
+
*
|
|
2720
|
+
*/
|
|
2721
|
+
httpsProxy?: string;
|
|
2722
|
+
/**
|
|
2723
|
+
* An "*" or a comma-separated list of destination domain names, domains, IP addresses, or other network CIDRs to exclude from proxying.
|
|
2724
|
+
*/
|
|
2725
|
+
noProxy?: string;
|
|
2726
|
+
/**
|
|
2727
|
+
* (DEPRECATED) Indicate if the networking is managed by the user.
|
|
2728
|
+
*/
|
|
2729
|
+
userManagedNetworking?: boolean;
|
|
2730
|
+
/**
|
|
2731
|
+
* A comma-separated list of NTP sources (name or IP) going to be added to all the hosts.
|
|
2732
|
+
*/
|
|
2733
|
+
additionalNtpSource?: string;
|
|
2734
|
+
/**
|
|
2735
|
+
* List of OLM operators to be installed.
|
|
2736
|
+
*/
|
|
2737
|
+
olmOperators?: OperatorCreateParams[];
|
|
2738
|
+
/**
|
|
2739
|
+
* Enable/disable hyperthreading on master nodes, worker nodes, or all nodes.
|
|
2740
|
+
*/
|
|
2741
|
+
hyperthreading?: 'masters' | 'workers' | 'all' | 'none';
|
|
2742
|
+
/**
|
|
2743
|
+
* The desired network type used.
|
|
2744
|
+
*/
|
|
2745
|
+
networkType?: 'OpenShiftSDN' | 'OVNKubernetes';
|
|
2746
|
+
/**
|
|
2747
|
+
* Schedule workloads on masters
|
|
2748
|
+
*/
|
|
2749
|
+
schedulableMasters?: boolean;
|
|
2750
|
+
/**
|
|
2751
|
+
* Cluster networks that are associated with this cluster.
|
|
2752
|
+
*/
|
|
2753
|
+
clusterNetworks?: ClusterNetwork[];
|
|
2754
|
+
/**
|
|
2755
|
+
* Service networks that are associated with this cluster.
|
|
2756
|
+
*/
|
|
2757
|
+
serviceNetworks?: ServiceNetwork[];
|
|
2758
|
+
/**
|
|
2759
|
+
* Machine networks that are associated with this cluster.
|
|
2760
|
+
*/
|
|
2761
|
+
machineNetworks?: MachineNetwork[];
|
|
2762
|
+
/**
|
|
2763
|
+
* Installation disks encryption mode and host roles to be applied.
|
|
2764
|
+
*/
|
|
2765
|
+
diskEncryption?: DiskEncryption;
|
|
2766
|
+
/**
|
|
2767
|
+
* Explicit ignition endpoint overrides the default ignition endpoint.
|
|
2768
|
+
*/
|
|
2769
|
+
ignitionEndpoint?: IgnitionEndpoint;
|
|
2770
|
+
/**
|
|
2771
|
+
* A comma-separated list of tags that are associated to the cluster.
|
|
2772
|
+
*/
|
|
2773
|
+
tags?: string;
|
|
2774
|
+
}
|
|
2775
|
+
|
|
2776
|
+
export interface V2Events {
|
|
2777
|
+
clusterId?: string;
|
|
2778
|
+
hostId?: string;
|
|
2779
|
+
hostIds?: string /* uuid */[];
|
|
2780
|
+
infraEnvId?: string;
|
|
2781
|
+
limit?: number;
|
|
2782
|
+
offset?: number;
|
|
2783
|
+
order?: 'ascending' | 'descending';
|
|
2784
|
+
severities?: ('info' | 'warning' | 'error' | 'critical')[];
|
|
2785
|
+
message?: string;
|
|
2786
|
+
deletedHosts?: boolean;
|
|
2787
|
+
clusterLevel?: boolean;
|
|
2788
|
+
categories?: string[];
|
|
2789
|
+
}
|
|
2790
|
+
|
|
2791
|
+
export interface V2InfraEnvs {
|
|
2792
|
+
clusterId?: string;
|
|
2793
|
+
owner?: string;
|
|
2794
|
+
}
|
|
2795
|
+
|
|
2796
|
+
export interface V2SupportLevelsArchitectures {
|
|
2797
|
+
openshiftVersion: string;
|
|
2798
|
+
}
|
|
2799
|
+
|
|
2800
|
+
export interface V2SupportLevelsFeatures {
|
|
2801
|
+
openshiftVersion: string;
|
|
2802
|
+
cpuArchitecture?: 'x86_64' | 'aarch64' | 'arm64' | 'ppc64le' | 's390x' | 'multi';
|
|
2803
|
+
}
|
|
2804
|
+
|
|
2805
|
+
/**
|
|
2806
|
+
* Single VIP verification result.
|
|
2807
|
+
*/
|
|
2808
|
+
export interface VerifiedVip {
|
|
2809
|
+
vip?: Ip; // ^(?:(?:(?:[0-9]{1,3}\.){3}[0-9]{1,3})|(?:(?:[0-9a-fA-F]*:[0-9a-fA-F]*){2,}))?$
|
|
2810
|
+
vipType?: VipType;
|
|
2811
|
+
verification?: VipVerification;
|
|
2812
|
+
}
|
|
2813
|
+
|
|
2814
|
+
/**
|
|
2815
|
+
* Request to verify single vip.
|
|
2816
|
+
*/
|
|
2817
|
+
export interface VerifyVip {
|
|
2818
|
+
vip?: Ip; // ^(?:(?:(?:[0-9]{1,3}\.){3}[0-9]{1,3})|(?:(?:[0-9a-fA-F]*:[0-9a-fA-F]*){2,}))?$
|
|
2819
|
+
vipType?: VipType;
|
|
2820
|
+
}
|
|
2821
|
+
|
|
2822
|
+
/**
|
|
2823
|
+
* list of vips to be verified.
|
|
2824
|
+
*/
|
|
2825
|
+
export type VerifyVipsRequest = VerifyVip[];
|
|
2826
|
+
/**
|
|
2827
|
+
* list of verified vips.
|
|
2828
|
+
*/
|
|
2829
|
+
export type VerifyVipsResponse = VerifiedVip[];
|
|
2830
|
+
|
|
2831
|
+
export interface VersionedHostRequirements {
|
|
2832
|
+
/**
|
|
2833
|
+
* Version of the component for which requirements are defined
|
|
2834
|
+
*/
|
|
2835
|
+
version?: string;
|
|
2836
|
+
/**
|
|
2837
|
+
* Master node requirements
|
|
2838
|
+
*/
|
|
2839
|
+
master?: ClusterHostRequirementsDetails;
|
|
2840
|
+
/**
|
|
2841
|
+
* Worker node requirements
|
|
2842
|
+
*/
|
|
2843
|
+
worker?: ClusterHostRequirementsDetails;
|
|
2844
|
+
/**
|
|
2845
|
+
* Single node OpenShift node requirements
|
|
2846
|
+
*/
|
|
2847
|
+
sno?: ClusterHostRequirementsDetails;
|
|
2848
|
+
/**
|
|
2849
|
+
* Edge Worker OpenShift node requirements
|
|
2850
|
+
*/
|
|
2851
|
+
'edge-worker'?: ClusterHostRequirementsDetails;
|
|
2852
|
+
}
|
|
2853
|
+
|
|
2854
|
+
export interface Versions {
|
|
2855
|
+
[name: string]: string;
|
|
2856
|
+
}
|
|
2857
|
+
|
|
2858
|
+
/**
|
|
2859
|
+
* The vip type.
|
|
2860
|
+
*/
|
|
2861
|
+
export type VipType = 'api' | 'ingress';
|
|
2862
|
+
/**
|
|
2863
|
+
* vip verification result.
|
|
2864
|
+
*/
|
|
2865
|
+
export type VipVerification = 'unverified' | 'failed' | 'succeeded';
|