@@ -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,96 @@ 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
+ continueToken ?: string ,
345
+ options : { headers : { [ name : string ] : string } } = { headers : { } } ,
346
+ ) : Promise < { body : KubernetesListObject < KubernetesObject > ; response : http . IncomingMessage } > {
347
+ // verify required parameters 'apiVersion', 'kind' is not null or undefined
348
+ if ( apiVersion === null || apiVersion === undefined ) {
349
+ throw new Error ( 'Required parameter apiVersion was null or undefined when calling list.' ) ;
350
+ }
351
+ if ( kind === null || kind === undefined ) {
352
+ throw new Error ( 'Required parameter kind was null or undefined when calling list.' ) ;
353
+ }
354
+
355
+ const localVarPath = await this . specUriPath (
356
+ {
357
+ apiVersion,
358
+ kind,
359
+ metadata : {
360
+ namespace,
361
+ } ,
362
+ } ,
363
+ 'list' ,
364
+ ) ;
365
+ const localVarQueryParameters : any = { } ;
366
+ const localVarHeaderParams = this . generateHeaders ( options . headers ) ;
367
+
368
+ if ( pretty !== undefined ) {
369
+ localVarQueryParameters . pretty = ObjectSerializer . serialize ( pretty , 'string' ) ;
370
+ }
371
+
372
+ if ( exact !== undefined ) {
373
+ localVarQueryParameters . exact = ObjectSerializer . serialize ( exact , 'boolean' ) ;
374
+ }
375
+
376
+ if ( exportt !== undefined ) {
377
+ localVarQueryParameters . export = ObjectSerializer . serialize ( exportt , 'boolean' ) ;
378
+ }
379
+
380
+ if ( fieldSelector !== undefined ) {
381
+ localVarQueryParameters . fieldSelector = ObjectSerializer . serialize ( fieldSelector , 'string' ) ;
382
+ }
383
+
384
+ if ( labelSelector !== undefined ) {
385
+ localVarQueryParameters . labelSelector = ObjectSerializer . serialize ( labelSelector , 'string' ) ;
386
+ }
387
+
388
+ if ( limit !== undefined ) {
389
+ localVarQueryParameters . limit = ObjectSerializer . serialize ( limit , 'number' ) ;
390
+ }
391
+
392
+ if ( continueToken !== undefined ) {
393
+ localVarQueryParameters . continue = ObjectSerializer . serialize ( continueToken , 'string' ) ;
394
+ }
395
+
396
+ const localVarRequestOptions : request . Options = {
397
+ method : 'GET' ,
398
+ qs : localVarQueryParameters ,
399
+ headers : localVarHeaderParams ,
400
+ uri : localVarPath ,
401
+ useQuerystring : this . _useQuerystring ,
402
+ json : true ,
403
+ } ;
404
+
405
+ return this . requestPromise ( localVarRequestOptions ) ;
406
+ }
407
+
318
408
/**
319
409
* Replace any Kubernetes resource.
320
410
* @param spec Kubernetes resource spec
@@ -403,15 +493,15 @@ export class KubernetesObjectApi extends ApisApi {
403
493
if ( ! resource ) {
404
494
throw new Error ( `Unrecognized API version and kind: ${ spec . apiVersion } ${ spec . kind } ` ) ;
405
495
}
406
- if ( resource . namespaced && ! spec . metadata . namespace ) {
496
+ if ( resource . namespaced && ! spec . metadata . namespace && action !== 'list' ) {
407
497
spec . metadata . namespace = this . defaultNamespace ;
408
498
}
409
499
const parts = [ this . apiVersionPath ( spec . apiVersion ) ] ;
410
500
if ( resource . namespaced && spec . metadata . namespace ) {
411
501
parts . push ( 'namespaces' , encodeURIComponent ( String ( spec . metadata . namespace ) ) ) ;
412
502
}
413
503
parts . push ( resource . name ) ;
414
- if ( action !== 'create' ) {
504
+ if ( action !== 'create' && action !== 'list' ) {
415
505
if ( ! spec . metadata . name ) {
416
506
throw new Error ( 'Required spec property name is not set' ) ;
417
507
}
0 commit comments