import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
export interface RouteDestination {
    ip?: pulumi.Input<string>;
    port?: pulumi.Input<number>;
}
export interface RouteHeader {
    /**
     * The name of the route
     */
    name: pulumi.Input<string>;
    values: pulumi.Input<pulumi.Input<string>[]>;
}
export interface RouteSource {
    ip?: pulumi.Input<string>;
    port?: pulumi.Input<number>;
}
export interface UpstreamHealthchecks {
    active?: pulumi.Input<inputs.UpstreamHealthchecksActive>;
    passive?: pulumi.Input<inputs.UpstreamHealthchecksPassive>;
}
export interface UpstreamHealthchecksActive {
    concurrency?: pulumi.Input<number>;
    healthy?: pulumi.Input<inputs.UpstreamHealthchecksActiveHealthy>;
    httpPath?: pulumi.Input<string>;
    httpsSni?: pulumi.Input<string>;
    httpsVerifyCertificate?: pulumi.Input<boolean>;
    timeout?: pulumi.Input<number>;
    type?: pulumi.Input<string>;
    unhealthy?: pulumi.Input<inputs.UpstreamHealthchecksActiveUnhealthy>;
}
export interface UpstreamHealthchecksActiveHealthy {
    httpStatuses?: pulumi.Input<pulumi.Input<number>[]>;
    interval?: pulumi.Input<number>;
    successes?: pulumi.Input<number>;
}
export interface UpstreamHealthchecksActiveUnhealthy {
    httpFailures?: pulumi.Input<number>;
    httpStatuses?: pulumi.Input<pulumi.Input<number>[]>;
    interval?: pulumi.Input<number>;
    tcpFailures?: pulumi.Input<number>;
    timeouts?: pulumi.Input<number>;
}
export interface UpstreamHealthchecksPassive {
    healthy?: pulumi.Input<inputs.UpstreamHealthchecksPassiveHealthy>;
    type?: pulumi.Input<string>;
    unhealthy?: pulumi.Input<inputs.UpstreamHealthchecksPassiveUnhealthy>;
}
export interface UpstreamHealthchecksPassiveHealthy {
    httpStatuses?: pulumi.Input<pulumi.Input<number>[]>;
    successes?: pulumi.Input<number>;
}
export interface UpstreamHealthchecksPassiveUnhealthy {
    httpFailures?: pulumi.Input<number>;
    httpStatuses?: pulumi.Input<pulumi.Input<number>[]>;
    tcpFailures?: pulumi.Input<number>;
    timeouts?: pulumi.Input<number>;
}
