Edits history of script submission #18283 for ' Fetch cluster metrics (qovery)'

  • bun
    One script reply has been approved by the moderators
    Ap­pro­ved
    //native
    /**
     * Fetch cluster metrics
     * Fetch cluster metrics.
     */
    export async function main(
    	auth: RT.Qovery,
    	clusterId: string,
    	endpoint: string | undefined,
    	query: string | undefined,
    	start?: string | undefined,
    	end?: string | undefined,
    	step?: string | undefined,
    	time?: string | undefined,
    	timeout?: string | undefined,
    	dedup?: string | undefined,
    	partial_response?: string | undefined,
    	max_source_resolution?: string | undefined,
    	engine?: string | undefined,
    	analyze?: string | undefined,
    	board_short_name?: string | undefined,
    	metric_short_name?: string | undefined,
    	trace_id?: string | undefined,
    	range?: string | undefined
    ) {
    	const url = new URL(`https://api.qovery.com/cluster/${clusterId}/metrics`)
    	for (const [k, v] of [
    		['endpoint', endpoint],
    		['query', query],
    		['start', start],
    		['end', end],
    		['step', step],
    		['time', time],
    		['timeout', timeout],
    		['dedup', dedup],
    		['partial_response', partial_response],
    		['max_source_resolution', max_source_resolution],
    		['engine', engine],
    		['analyze', analyze],
    		['board_short_name', board_short_name],
    		['metric_short_name', metric_short_name],
    		['trace_id', trace_id],
    		['range', range]
    	]) {
    		if (v !== undefined && v !== '') {
    			url.searchParams.append(k, v)
    		}
    	}
    	const response = await fetch(url, {
    		method: 'GET',
    		headers: {
    			Authorization: 'Token ' + auth.apiKey
    		},
    		body: undefined
    	})
    	if (!response.ok) {
    		const text = await response.text()
    		throw new Error(`${response.status} ${text}`)
    	}
    	return await response.json()
    }
    

    Submitted by hugo697 235 days ago