@@ -20,7 +20,7 @@ type KubernetesObjectResponseBody =
2020 | V1APIResourceList ;
2121
2222/** Kubernetes API verbs. */
23- type KubernetesApiAction = 'create' | 'delete' | 'patch' | 'read' | 'replace' ;
23+ type KubernetesApiAction = 'create' | 'delete' | 'patch' | 'read' | 'list' | ' replace';
2424
2525/**
2626 * Valid Content-Type header values for patch operations. See
@@ -315,6 +315,96 @@ export class KubernetesObjectApi extends ApisApi {
315315 return this . requestPromise ( localVarRequestOptions ) ;
316316 }
317317
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+
318408 /**
319409 * Replace any Kubernetes resource.
320410 * @param spec Kubernetes resource spec
@@ -403,15 +493,15 @@ export class KubernetesObjectApi extends ApisApi {
403493 if ( ! resource ) {
404494 throw new Error ( `Unrecognized API version and kind: ${ spec . apiVersion } ${ spec . kind } ` ) ;
405495 }
406- if ( resource . namespaced && ! spec . metadata . namespace ) {
496+ if ( resource . namespaced && ! spec . metadata . namespace && action !== 'list' ) {
407497 spec . metadata . namespace = this . defaultNamespace ;
408498 }
409499 const parts = [ this . apiVersionPath ( spec . apiVersion ) ] ;
410500 if ( resource . namespaced && spec . metadata . namespace ) {
411501 parts . push ( 'namespaces' , encodeURIComponent ( String ( spec . metadata . namespace ) ) ) ;
412502 }
413503 parts . push ( resource . name ) ;
414- if ( action !== 'create' ) {
504+ if ( action !== 'create' && action !== 'list' ) {
415505 if ( ! spec . metadata . name ) {
416506 throw new Error ( 'Required spec property name is not set' ) ;
417507 }
0 commit comments