import * as pulumi from "@pulumi/pulumi";
/**
 * `f5bigip.ltm.ProfileHttp2` Configures a custom profileHttp2 for use by health checks.
 *
 * For resources should be named with their "full path". The full path is the combination of the partition + name of the resource. For example /Common/my-pool.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as f5bigip from "@pulumi/f5bigip";
 *
 * const nyhttp2 = new f5bigip.ltm.ProfileHttp2("nyhttp2", {
 *     name: "/Common/test-profile-http2",
 *     frameSize: 2021,
 *     receiveWindow: 31,
 *     writeSize: 16380,
 *     headerTableSize: 4092,
 *     includeContentLength: "enabled",
 *     enforceTlsRequirements: "enabled",
 *     insertHeader: "disabled",
 *     concurrentStreamsPerConnection: 30,
 *     connectionIdleTimeout: 100,
 *     activationModes: ["always"],
 * });
 * //Child Profile which inherits parent http2 profile
 * const nyhttp2_child = new f5bigip.ltm.ProfileHttp2("nyhttp2-child", {
 *     name: "/Common/test-profile-http2-child",
 *     defaultsFrom: nyhttp2.name,
 * });
 * ```
 */
export declare class ProfileHttp2 extends pulumi.CustomResource {
    /**
     * Get an existing ProfileHttp2 resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param state Any extra arguments used during the lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ProfileHttp2State, opts?: pulumi.CustomResourceOptions): ProfileHttp2;
    /**
     * Returns true if the given object is an instance of ProfileHttp2.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is ProfileHttp2;
    /**
     * This setting specifies the condition that will cause the BIG-IP system to handle an incoming connection as an HTTP/2 connection, Allowed values : `[“alpn”]` (or) `[“always”]`.
     */
    readonly activationModes: pulumi.Output<string[]>;
    /**
     * Specifies how many concurrent requests are allowed to be outstanding on a single HTTP/2 connection.
     */
    readonly concurrentStreamsPerConnection: pulumi.Output<number>;
    /**
     * Specifies the number of seconds that a connection is idle before the connection is eligible for deletion.
     */
    readonly connectionIdleTimeout: pulumi.Output<number>;
    /**
     * Specifies the profile that you want to use as the parent profile. Your new profile inherits all settings and values from the parent profile specified.
     */
    readonly defaultsFrom: pulumi.Output<string>;
    /**
     * Enable or disable enforcement of TLS requirements,Allowed Values : `"enabled"/"disabled"` [Default:`"enabled"`].
     */
    readonly enforceTlsRequirements: pulumi.Output<string>;
    /**
     * The size of the data frames, in bytes, that the HTTP/2 protocol sends to the client. `Default: 2048`.
     */
    readonly frameSize: pulumi.Output<number>;
    /**
     * The size of the header table, in KB, for the HTTP headers that the HTTP/2 protocol compresses to save bandwidth.
     */
    readonly headerTableSize: pulumi.Output<number>;
    /**
     * Enable to include content-length in HTTP/2 headers,Default : disabled
     */
    readonly includeContentLength: pulumi.Output<string>;
    /**
     * This setting specifies whether the BIG-IP system should add an HTTP header to the HTTP request to show that the request was received over HTTP/2, Allowed Values : `"enabled"/"disabled"` [ Default: `"disabled"`].
     */
    readonly insertHeader: pulumi.Output<string>;
    /**
     * This setting specifies the name of the header that the BIG-IP system will add to the HTTP request when the Insert Header is enabled.
     */
    readonly insertHeaderName: pulumi.Output<string>;
    /**
     * Name of Profile should be full path.The full path is the combination of the `partition + profile name`,For example `/Common/test-http2-profile`.
     */
    readonly name: pulumi.Output<string>;
    /**
     * The flow-control size for upload streams, in KB. `Default: 32`.
     */
    readonly receiveWindow: pulumi.Output<number>;
    /**
     * The total size of combined data frames, in bytes, that the HTTP/2 protocol sends in a single write function. `Default: 16384`".
     */
    readonly writeSize: pulumi.Output<number>;
    /**
     * Create a ProfileHttp2 resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: ProfileHttp2Args, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering ProfileHttp2 resources.
 */
export interface ProfileHttp2State {
    /**
     * This setting specifies the condition that will cause the BIG-IP system to handle an incoming connection as an HTTP/2 connection, Allowed values : `[“alpn”]` (or) `[“always”]`.
     */
    activationModes?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * Specifies how many concurrent requests are allowed to be outstanding on a single HTTP/2 connection.
     */
    concurrentStreamsPerConnection?: pulumi.Input<number | undefined>;
    /**
     * Specifies the number of seconds that a connection is idle before the connection is eligible for deletion.
     */
    connectionIdleTimeout?: pulumi.Input<number | undefined>;
    /**
     * Specifies the profile that you want to use as the parent profile. Your new profile inherits all settings and values from the parent profile specified.
     */
    defaultsFrom?: pulumi.Input<string | undefined>;
    /**
     * Enable or disable enforcement of TLS requirements,Allowed Values : `"enabled"/"disabled"` [Default:`"enabled"`].
     */
    enforceTlsRequirements?: pulumi.Input<string | undefined>;
    /**
     * The size of the data frames, in bytes, that the HTTP/2 protocol sends to the client. `Default: 2048`.
     */
    frameSize?: pulumi.Input<number | undefined>;
    /**
     * The size of the header table, in KB, for the HTTP headers that the HTTP/2 protocol compresses to save bandwidth.
     */
    headerTableSize?: pulumi.Input<number | undefined>;
    /**
     * Enable to include content-length in HTTP/2 headers,Default : disabled
     */
    includeContentLength?: pulumi.Input<string | undefined>;
    /**
     * This setting specifies whether the BIG-IP system should add an HTTP header to the HTTP request to show that the request was received over HTTP/2, Allowed Values : `"enabled"/"disabled"` [ Default: `"disabled"`].
     */
    insertHeader?: pulumi.Input<string | undefined>;
    /**
     * This setting specifies the name of the header that the BIG-IP system will add to the HTTP request when the Insert Header is enabled.
     */
    insertHeaderName?: pulumi.Input<string | undefined>;
    /**
     * Name of Profile should be full path.The full path is the combination of the `partition + profile name`,For example `/Common/test-http2-profile`.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * The flow-control size for upload streams, in KB. `Default: 32`.
     */
    receiveWindow?: pulumi.Input<number | undefined>;
    /**
     * The total size of combined data frames, in bytes, that the HTTP/2 protocol sends in a single write function. `Default: 16384`".
     */
    writeSize?: pulumi.Input<number | undefined>;
}
/**
 * The set of arguments for constructing a ProfileHttp2 resource.
 */
export interface ProfileHttp2Args {
    /**
     * This setting specifies the condition that will cause the BIG-IP system to handle an incoming connection as an HTTP/2 connection, Allowed values : `[“alpn”]` (or) `[“always”]`.
     */
    activationModes?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * Specifies how many concurrent requests are allowed to be outstanding on a single HTTP/2 connection.
     */
    concurrentStreamsPerConnection?: pulumi.Input<number | undefined>;
    /**
     * Specifies the number of seconds that a connection is idle before the connection is eligible for deletion.
     */
    connectionIdleTimeout?: pulumi.Input<number | undefined>;
    /**
     * Specifies the profile that you want to use as the parent profile. Your new profile inherits all settings and values from the parent profile specified.
     */
    defaultsFrom?: pulumi.Input<string | undefined>;
    /**
     * Enable or disable enforcement of TLS requirements,Allowed Values : `"enabled"/"disabled"` [Default:`"enabled"`].
     */
    enforceTlsRequirements?: pulumi.Input<string | undefined>;
    /**
     * The size of the data frames, in bytes, that the HTTP/2 protocol sends to the client. `Default: 2048`.
     */
    frameSize?: pulumi.Input<number | undefined>;
    /**
     * The size of the header table, in KB, for the HTTP headers that the HTTP/2 protocol compresses to save bandwidth.
     */
    headerTableSize?: pulumi.Input<number | undefined>;
    /**
     * Enable to include content-length in HTTP/2 headers,Default : disabled
     */
    includeContentLength?: pulumi.Input<string | undefined>;
    /**
     * This setting specifies whether the BIG-IP system should add an HTTP header to the HTTP request to show that the request was received over HTTP/2, Allowed Values : `"enabled"/"disabled"` [ Default: `"disabled"`].
     */
    insertHeader?: pulumi.Input<string | undefined>;
    /**
     * This setting specifies the name of the header that the BIG-IP system will add to the HTTP request when the Insert Header is enabled.
     */
    insertHeaderName?: pulumi.Input<string | undefined>;
    /**
     * Name of Profile should be full path.The full path is the combination of the `partition + profile name`,For example `/Common/test-http2-profile`.
     */
    name: pulumi.Input<string>;
    /**
     * The flow-control size for upload streams, in KB. `Default: 32`.
     */
    receiveWindow?: pulumi.Input<number | undefined>;
    /**
     * The total size of combined data frames, in bytes, that the HTTP/2 protocol sends in a single write function. `Default: 16384`".
     */
    writeSize?: pulumi.Input<number | undefined>;
}
//# sourceMappingURL=profileHttp2.d.ts.map