@@ -20,7 +20,7 @@ type KubernetesObjectResponseBody =
20
20
| V1APIResourceList ;
21
21
22
22
/** Kubernetes API verbs. */
23
- type KubernetesApiAction = 'create' | 'delete' | 'patch' | 'read' | 'replace' ;
23
+ type KubernetesApiAction = 'create' | 'delete' | 'patch' | 'read' | 'list' | ' replace';
24
24
25
25
/**
26
26
* Valid Content-Type header values for patch operations. See
@@ -315,6 +315,91 @@ export class KubernetesObjectApi extends ApisApi {
315
315
return this . requestPromise ( localVarRequestOptions ) ;
316
316
}
317
317
318
+ /**
319
+ * List any Kubernetes resources.
320
+ * @param apiVersion api group and version of the form <apiGroup>/<version>
321
+ * @param kind Kubernetes resource kind
322
+ * @param namespace list resources in this namespace
323
+ * @param pretty If \'true\', then the output is pretty printed.
324
+ * @param exact Should the export be exact. Exact export maintains cluster-specific fields like
325
+ * \'Namespace\'. Deprecated. Planned for removal in 1.18.
326
+ * @param exportt Should this value be exported. Export strips fields that a user can not
327
+ * specify. Deprecated. Planned for removal in 1.18.
328
+ * @param fieldSelector A selector to restrict the list of returned objects by their fields. Defaults to everything.
329
+ * @param labelSelector A selector to restrict the list of returned objects by their labels. Defaults to everything.
330
+ * @param limit Number of returned resources.
331
+ * @param options Optional headers to use in the request.
332
+ * @return Promise containing the request response and [[KubernetesListObject<KubernetesObject>]].
333
+ */
334
+ public async list (
335
+ apiVersion : string ,
336
+ kind : string ,
337
+ namespace ?: string ,
338
+ pretty ?: string ,
339
+ exact ?: boolean ,
340
+ exportt ?: boolean ,
341
+ fieldSelector ?: string ,
342
+ labelSelector ?: string ,
343
+ limit ?: number ,
344
+ options : { headers : { [ name : string ] : string } } = { headers : { } } ,
345
+ ) : Promise < { body : KubernetesListObject < KubernetesObject > ; response : http . IncomingMessage } > {
346
+ // verify required parameters 'apiVersion', 'kind' is not null or undefined
347
+ if ( apiVersion === null || apiVersion === undefined ) {
348
+ throw new Error ( 'Required parameter apiVersion was null or undefined when calling list.' ) ;
349
+ }
350
+ if ( kind === null || kind === undefined ) {
351
+ throw new Error ( 'Required parameter kind was null or undefined when calling list.' ) ;
352
+ }
353
+
354
+ const localVarPath = await this . specUriPath (
355
+ {
356
+ apiVersion,
357
+ kind,
358
+ metadata : {
359
+ namespace,
360
+ } ,
361
+ } ,
362
+ 'list' ,
363
+ ) ;
364
+ const localVarQueryParameters : any = { } ;
365
+ const localVarHeaderParams = this . generateHeaders ( options . headers ) ;
366
+
367
+ if ( pretty !== undefined ) {
368
+ localVarQueryParameters . pretty = ObjectSerializer . serialize ( pretty , 'string' ) ;
369
+ }
370
+
371
+ if ( exact !== undefined ) {
372
+ localVarQueryParameters . exact = ObjectSerializer . serialize ( exact , 'boolean' ) ;
373
+ }
374
+
375
+ if ( exportt !== undefined ) {
376
+ localVarQueryParameters . export = ObjectSerializer . serialize ( exportt , 'boolean' ) ;
377
+ }
378
+
379
+ if ( fieldSelector !== undefined ) {
380
+ localVarQueryParameters . fieldSelector = ObjectSerializer . serialize ( fieldSelector , 'string' ) ;
381
+ }
382
+
383
+ if ( labelSelector !== undefined ) {
384
+ localVarQueryParameters . labelSelector = ObjectSerializer . serialize ( labelSelector , 'string' ) ;
385
+ }
386
+
387
+ if ( limit !== undefined ) {
388
+ localVarQueryParameters . limit = ObjectSerializer . serialize ( limit , 'number' ) ;
389
+ }
390
+
391
+ const localVarRequestOptions : request . Options = {
392
+ method : 'GET' ,
393
+ qs : localVarQueryParameters ,
394
+ headers : localVarHeaderParams ,
395
+ uri : localVarPath ,
396
+ useQuerystring : this . _useQuerystring ,
397
+ json : true ,
398
+ } ;
399
+
400
+ return this . requestPromise ( localVarRequestOptions ) ;
401
+ }
402
+
318
403
/**
319
404
* Replace any Kubernetes resource.
320
405
* @param spec Kubernetes resource spec
@@ -403,15 +488,15 @@ export class KubernetesObjectApi extends ApisApi {
403
488
if ( ! resource ) {
404
489
throw new Error ( `Unrecognized API version and kind: ${ spec . apiVersion } ${ spec . kind } ` ) ;
405
490
}
406
- if ( resource . namespaced && ! spec . metadata . namespace ) {
491
+ if ( resource . namespaced && ! spec . metadata . namespace && action !== 'list' ) {
407
492
spec . metadata . namespace = this . defaultNamespace ;
408
493
}
409
494
const parts = [ this . apiVersionPath ( spec . apiVersion ) ] ;
410
495
if ( resource . namespaced && spec . metadata . namespace ) {
411
496
parts . push ( 'namespaces' , encodeURIComponent ( String ( spec . metadata . namespace ) ) ) ;
412
497
}
413
498
parts . push ( resource . name ) ;
414
- if ( action !== 'create' ) {
499
+ if ( action !== 'create' && action !== 'list' ) {
415
500
if ( ! spec . metadata . name ) {
416
501
throw new Error ( 'Required spec property name is not set' ) ;
417
502
}
0 commit comments