@studion/infra-code-blocks
Version:
Studion common infra components
39 lines • 2.81 kB
TypeScript
import * as pulumi from '@pulumi/pulumi';
import { OTLPReceiver } from './otlp-receiver';
import type { OtelCollector } from '.';
import type { PrometheusRemoteWriteExporter } from './prometheus-remote-write-exporter';
export declare namespace OtelCollectorConfigBuilder {
type WithDefaultArgs = {
prometheusNamespace: PrometheusRemoteWriteExporter.Config['namespace'];
prometheusEndpoint: PrometheusRemoteWriteExporter.Config['endpoint'];
region: string;
logGroupName: OtelCollector.AwsCloudWatchLogsExporterConfig['log_group_name'];
logStreamName: OtelCollector.AwsCloudWatchLogsExporterConfig['log_stream_name'];
logRetention: OtelCollector.AwsCloudWatchLogsExporterConfig['log_retention'];
};
}
export declare class OtelCollectorConfigBuilder {
private readonly _receivers;
private readonly _processors;
private readonly _exporters;
private readonly _extensions;
private readonly _service;
withOTLPReceiver(protocols?: OTLPReceiver.Protocol[]): this;
withBatchProcessor(name?: string, size?: number, maxSize?: number, timeout?: string): this;
withMemoryLimiterProcessor(checkInterval?: string, limitPercentage?: number, spikeLimitPercentage?: number): this;
withAWSXRayExporter(region: string): this;
withCloudWatchLogsExporter(region: OtelCollector.AwsCloudWatchLogsExporterConfig['region'], logGroupName: OtelCollector.AwsCloudWatchLogsExporterConfig['log_group_name'], logStreamName: OtelCollector.AwsCloudWatchLogsExporterConfig['log_stream_name'], logRetention: OtelCollector.AwsCloudWatchLogsExporterConfig['log_retention']): this;
withHealthCheckExtension(endpoint?: string): this;
withPprofExtension(endpoint?: string): this;
withAPS(namespace: pulumi.Input<string>, endpoint: pulumi.Input<string>, region: string): this;
withDebug(verbosity?: 'normal' | 'basic' | 'detailed'): this;
withTelemetry(logLevel?: 'debug' | 'warn' | 'error', metricsVerbosity?: 'basic' | 'normal' | 'detailed'): this;
withMetricsPipeline(receivers: OtelCollector.ReceiverType[], processors: OtelCollector.ProcessorType[], exporters: OtelCollector.ExporterType[]): this;
withTracesPipeline(receivers: OtelCollector.ReceiverType[], processors: OtelCollector.ProcessorType[], exporters: OtelCollector.ExporterType[]): this;
withLogsPipeline(receivers: OtelCollector.ReceiverType[], processors: OtelCollector.ProcessorType[], exporters: OtelCollector.ExporterType[]): this;
withDefault({ prometheusNamespace, prometheusEndpoint, region, logGroupName, logStreamName, logRetention, }: OtelCollectorConfigBuilder.WithDefaultArgs): this;
build(): OtelCollector.Config;
private validatePipelineProcessorOrder;
private validatePipelineComponents;
}
//# sourceMappingURL=config.d.ts.map