heroku-kafka
Version:
heroku plugin to manage heroku kafka
41 lines (40 loc) • 1.42 kB
TypeScript
import { Addon } from './shared.js';
interface HerokuClient {
get(path: string, options?: any): Promise<any>;
post(path: string, options?: any): Promise<any>;
request(url: string, options?: any): Promise<any>;
}
interface Context {
[key: string]: any;
app: string;
}
interface WaitStatus {
'deprovisioned?'?: boolean;
'error?'?: boolean;
'healthy?': boolean;
message: string;
'missing?'?: boolean;
'waiting?': boolean;
}
interface RequestParams {
[key: string]: any;
accept?: string;
body?: any;
host?: string;
method?: string;
path?: string;
}
declare class HerokuKafkaClusters {
app: string;
context: Context;
env: any;
heroku: HerokuClient;
constructor(heroku: HerokuClient, env: any, context: Context);
request(params: RequestParams): Promise<any>;
waitStatus(addon: Addon | null): Promise<WaitStatus | null>;
}
declare function withCluster(heroku: HerokuClient, app: string, cluster: string | undefined, fn: (addon: Addon) => Promise<any>): Promise<any>;
declare function topicConfig(heroku: HerokuClient, addonId: string, topic: string): Promise<any>;
declare function fetchProvisionedInfo(heroku: HerokuClient, addon: Addon): Promise<any>;
declare function request(heroku: HerokuClient, params: RequestParams): Promise<any>;
export { fetchProvisionedInfo, HerokuKafkaClusters, request, topicConfig, withCluster, };