import { Transport , TransportRequestOptions , TransportRequestOptionsWithMeta , TransportRequestOptionsWithOutMeta , TransportResult } from '@elastic/transport' ; import * as T from '../types' ; import * as TB from '../typesWithBodyKey' ; interface That { transport : Transport ; } export default class Nodes { transport : Transport ; constructor ( transport ) { this . transport = transport ; } async clearRepositoriesMeteringArchive ( this , params ? , options ? ) ; async clearRepositoriesMeteringArchive ( this , params ? , options ? ) ; async clearRepositoriesMeteringArchive ( this , params ? , options ? ) ; async clearRepositoriesMeteringArchive ( this , params ? , options ? ) { const acceptedPath = [ 'node_id' , 'max_archive_version' ] ; const querystring = { } ; const body = undefined ; params = params ?? { } ; for ( const key in params ) { if ( acceptedPath . includes ( key ) ) { continue ; } else if ( key !== 'body' ) { querystring [ key ] = params [ key ] ; } } const method = 'DELETE' ; const path = `/_nodes/${ encodeURIComponent ( params . node_id . toString ( ) ) }/_repositories_metering/${ encodeURIComponent ( params . max_archive_version . toString ( ) ) }` ; return await this . transport . request ( { path , method , querystring , body } , options ) ; } async getRepositoriesMeteringInfo ( this , params ? , options ? ) ; async getRepositoriesMeteringInfo ( this , params ? , options ? ) ; async getRepositoriesMeteringInfo ( this , params ? , options ? ) ; async getRepositoriesMeteringInfo ( this , params ? , options ? ) { const acceptedPath = [ 'node_id' ] ; const querystring = { } ; const body = undefined ; params = params ?? { } ; for ( const key in params ) { if ( acceptedPath . includes ( key ) ) { continue ; } else if ( key !== 'body' ) { querystring [ key ] = params [ key ] ; } } const method = 'GET' ; const path = `/_nodes/${ encodeURIComponent ( params . node_id . toString ( ) ) }/_repositories_metering` ; return await this . transport . request ( { path , method , querystring , body } , options ) ; } async hotThreads ( this , params ? , options ? ) ; async hotThreads ( this , params ? , options ? ) ; async hotThreads ( this , params ? , options ? ) ; async hotThreads ( this , params ? , options ? ) { const acceptedPath = [ 'node_id' ] ; const querystring = { } ; const body = undefined ; params = params ?? { } ; for ( const key in params ) { if ( acceptedPath . includes ( key ) ) { continue ; } else if ( key !== 'body' ) { querystring [ key ] = params [ key ] ; } } let method = '' ; let path = '' ; if ( params . node_id != null ) { method = 'GET' ; path = `/_nodes/${ encodeURIComponent ( params . node_id . toString ( ) ) }/hot_threads` ; } else { method = 'GET' ; path = '/_nodes/hot_threads' ; } return await this . transport . request ( { path , method , querystring , body } , options ) ; } async info ( this , params ? , options ? ) ; async info ( this , params ? , options ? ) ; async info ( this , params ? , options ? ) ; async info ( this , params ? , options ? ) { const acceptedPath = [ 'node_id' , 'metric' ] ; const querystring = { } ; const body = undefined ; params = params ?? { } ; for ( const key in params ) { if ( acceptedPath . includes ( key ) ) { continue ; } else if ( key !== 'body' ) { querystring [ key ] = params [ key ] ; } } let method = '' ; let path = '' ; if ( params . node_id != null && params . metric != null ) { method = 'GET' ; path = `/_nodes/${ encodeURIComponent ( params . node_id . toString ( ) ) }/${ encodeURIComponent ( params . metric . toString ( ) ) }` ; } else if ( params . node_id != null ) { method = 'GET' ; path = `/_nodes/${ encodeURIComponent ( params . node_id . toString ( ) ) }` ; } else if ( params . metric != null ) { method = 'GET' ; path = `/_nodes/${ encodeURIComponent ( params . metric . toString ( ) ) }` ; } else { method = 'GET' ; path = '/_nodes' ; } return await this . transport . request ( { path , method , querystring , body } , options ) ; } async reloadSecureSettings ( this , params ? , options ? ) ; async reloadSecureSettings ( this , params ? , options ? ) ; async reloadSecureSettings ( this , params ? , options ? ) ; async reloadSecureSettings ( this , params ? , options ? ) { const acceptedPath = [ 'node_id' ] ; const acceptedBody = [ 'secure_settings_password' ] ; const querystring = { } ; const userBody = params ?. body ; let body ; if ( typeof userBody === 'string' ) { body = userBody ; } else { body = userBody != null ? { ... userBody } : undefined ; } params = params ?? { } ; for ( const key in params ) { if ( acceptedBody . includes ( key ) ) { body = body ?? { } ; body [ key ] = params [ key ] ; } else if ( acceptedPath . includes ( key ) ) { continue ; } else if ( key !== 'body' ) { querystring [ key ] = params [ key ] ; } } let method = '' ; let path = '' ; if ( params . node_id != null ) { method = 'POST' ; path = `/_nodes/${ encodeURIComponent ( params . node_id . toString ( ) ) }/reload_secure_settings` ; } else { method = 'POST' ; path = '/_nodes/reload_secure_settings' ; } return await this . transport . request ( { path , method , querystring , body } , options ) ; } async stats ( this , params ? , options ? ) ; async stats ( this , params ? , options ? ) ; async stats ( this , params ? , options ? ) ; async stats ( this , params ? , options ? ) { const acceptedPath = [ 'node_id' , 'metric' , 'index_metric' ] ; const querystring = { } ; const body = undefined ; params = params ?? { } ; for ( const key in params ) { if ( acceptedPath . includes ( key ) ) { continue ; } else if ( key !== 'body' ) { querystring [ key ] = params [ key ] ; } } let method = '' ; let path = '' ; if ( params . node_id != null && params . metric != null && params . index_metric != null ) { method = 'GET' ; path = `/_nodes/${ encodeURIComponent ( params . node_id . toString ( ) ) }/stats/${ encodeURIComponent ( params . metric . toString ( ) ) }/${ encodeURIComponent ( params . index_metric . toString ( ) ) }` ; } else if ( params . node_id != null && params . metric != null ) { method = 'GET' ; path = `/_nodes/${ encodeURIComponent ( params . node_id . toString ( ) ) }/stats/${ encodeURIComponent ( params . metric . toString ( ) ) }` ; } else if ( params . metric != null && params . index_metric != null ) { method = 'GET' ; path = `/_nodes/stats/${ encodeURIComponent ( params . metric . toString ( ) ) }/${ encodeURIComponent ( params . index_metric . toString ( ) ) }` ; } else if ( params . node_id != null ) { method = 'GET' ; path = `/_nodes/${ encodeURIComponent ( params . node_id . toString ( ) ) }/stats` ; } else if ( params . metric != null ) { method = 'GET' ; path = `/_nodes/stats/${ encodeURIComponent ( params . metric . toString ( ) ) }` ; } else { method = 'GET' ; path = '/_nodes/stats' ; } return await this . transport . request ( { path , method , querystring , body } , options ) ; } async usage ( this , params ? , options ? ) ; async usage ( this , params ? , options ? ) ; async usage ( this , params ? , options ? ) ; async usage ( this , params ? , options ? ) { const acceptedPath = [ 'node_id' , 'metric' ] ; const querystring = { } ; const body = undefined ; params = params ?? { } ; for ( const key in params ) { if ( acceptedPath . includes ( key ) ) { continue ; } else if ( key !== 'body' ) { querystring [ key ] = params [ key ] ; } } let method = '' ; let path = '' ; if ( params . node_id != null && params . metric != null ) { method = 'GET' ; path = `/_nodes/${ encodeURIComponent ( params . node_id . toString ( ) ) }/usage/${ encodeURIComponent ( params . metric . toString ( ) ) }` ; } else if ( params . node_id != null ) { method = 'GET' ; path = `/_nodes/${ encodeURIComponent ( params . node_id . toString ( ) ) }/usage` ; } else if ( params . metric != null ) { method = 'GET' ; path = `/_nodes/usage/${ encodeURIComponent ( params . metric . toString ( ) ) }` ; } else { method = 'GET' ; path = '/_nodes/usage' ; } return await this . transport . request ( { path , method , querystring , body } , options ) ; } }