import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Provide access to a Backend Service's attribute. For more information
 * see [the official documentation](https://cloud.google.com/compute/docs/load-balancing/http/backend-service)
 * and the [API](https://cloud.google.com/compute/docs/reference/latest/backendServices).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const baz = gcp.compute.getBackendService({
 *     name: "foobar",
 * });
 * const _default = new gcp.compute.BackendService("default", {
 *     name: "backend-service",
 *     healthChecks: baz.then(baz => baz.healthChecks?.[0]),
 * });
 * ```
 */
export declare function getBackendService(args: GetBackendServiceArgs, opts?: pulumi.InvokeOptions): Promise<GetBackendServiceResult>;
/**
 * A collection of arguments for invoking getBackendService.
 */
export interface GetBackendServiceArgs {
    /**
     * The name of the Backend Service.
     *
     * - - -
     */
    name: string;
    /**
     * The project in which the resource belongs. If it is not provided, the provider project is used.
     */
    project?: string;
}
/**
 * A collection of values returned by getBackendService.
 */
export interface GetBackendServiceResult {
    readonly affinityCookieTtlSec: number;
    /**
     * The set of backends that serve this Backend Service.
     */
    readonly backends: outputs.compute.GetBackendServiceBackend[];
    readonly cdnPolicies: outputs.compute.GetBackendServiceCdnPolicy[];
    readonly circuitBreakers: outputs.compute.GetBackendServiceCircuitBreaker[];
    readonly compressionMode: string;
    /**
     * Time for which instance will be drained (not accept new connections, but still work to finish started ones).
     */
    readonly connectionDrainingTimeoutSec: number;
    readonly consistentHash: outputs.compute.GetBackendServiceConsistentHash[];
    readonly creationTimestamp: string;
    readonly customMetrics: outputs.compute.GetBackendServiceCustomMetric[];
    readonly customRequestHeaders: string[];
    readonly customResponseHeaders: string[];
    readonly deletionPolicy: string;
    /**
     * Textual description for the Backend Service.
     */
    readonly description: string;
    readonly dynamicForwardings: outputs.compute.GetBackendServiceDynamicForwarding[];
    readonly edgeSecurityPolicy: string;
    /**
     * Whether or not Cloud CDN is enabled on the Backend Service.
     */
    readonly enableCdn: boolean;
    readonly externalManagedMigrationState: string;
    readonly externalManagedMigrationTestingPercentage: number;
    /**
     * The fingerprint of the Backend Service.
     */
    readonly fingerprint: string;
    /**
     * The unique identifier for the resource. This identifier is defined by the server.
     */
    readonly generatedId: number;
    /**
     * The set of HTTP/HTTPS health checks used by the Backend Service.
     */
    readonly healthChecks: string[];
    readonly iaps: outputs.compute.GetBackendServiceIap[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly ipAddressSelectionPolicy: string;
    readonly loadBalancingScheme: string;
    readonly localityLbPolicies: outputs.compute.GetBackendServiceLocalityLbPolicy[];
    readonly localityLbPolicy: string;
    readonly logConfigs: outputs.compute.GetBackendServiceLogConfig[];
    readonly maxStreamDurations: outputs.compute.GetBackendServiceMaxStreamDuration[];
    readonly name: string;
    readonly networkPassThroughLbTrafficPolicies: outputs.compute.GetBackendServiceNetworkPassThroughLbTrafficPolicy[];
    readonly outlierDetections: outputs.compute.GetBackendServiceOutlierDetection[];
    readonly params: outputs.compute.GetBackendServiceParam[];
    /**
     * The name of a service that has been added to an instance group in this backend.
     */
    readonly portName: string;
    readonly project?: string;
    /**
     * The protocol for incoming requests.
     */
    readonly protocol: string;
    readonly securityPolicy: string;
    readonly securitySettings: outputs.compute.GetBackendServiceSecuritySetting[];
    /**
     * The URI of the Backend Service.
     */
    readonly selfLink: string;
    readonly serviceLbPolicy: string;
    /**
     * The Backend Service session stickiness configuration.
     */
    readonly sessionAffinity: string;
    readonly strongSessionAffinityCookies: outputs.compute.GetBackendServiceStrongSessionAffinityCooky[];
    /**
     * The number of seconds to wait for a backend to respond to a request before considering the request failed.
     */
    readonly timeoutSec: number;
    readonly tlsSettings: outputs.compute.GetBackendServiceTlsSetting[];
}
/**
 * Provide access to a Backend Service's attribute. For more information
 * see [the official documentation](https://cloud.google.com/compute/docs/load-balancing/http/backend-service)
 * and the [API](https://cloud.google.com/compute/docs/reference/latest/backendServices).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const baz = gcp.compute.getBackendService({
 *     name: "foobar",
 * });
 * const _default = new gcp.compute.BackendService("default", {
 *     name: "backend-service",
 *     healthChecks: baz.then(baz => baz.healthChecks?.[0]),
 * });
 * ```
 */
export declare function getBackendServiceOutput(args: GetBackendServiceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetBackendServiceResult>;
/**
 * A collection of arguments for invoking getBackendService.
 */
export interface GetBackendServiceOutputArgs {
    /**
     * The name of the Backend Service.
     *
     * - - -
     */
    name: pulumi.Input<string>;
    /**
     * The project in which the resource belongs. If it is not provided, the provider project is used.
     */
    project?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getBackendService.d.ts.map