import * as pulumi from "@pulumi/pulumi";
/**
 * This resource provides the Invoke Function resource in Oracle Cloud Infrastructure Functions service.
 * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/functions/latest/InvokeFunction
 *
 * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/functions
 *
 * Invokes a function
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testInvokeFunction = new oci.functions.InvokeFunction("test_invoke_function", {
 *     functionId: testFunction.id,
 *     invokeFunctionBody: invokeFunctionInvokeFunctionBody,
 *     fnIntent: invokeFunctionFnIntent,
 *     fnInvokeType: invokeFunctionFnInvokeType,
 *     isDryRun: invokeFunctionIsDryRun === "true",
 *     base64EncodeContent: false,
 * });
 * ```
 *
 * ## Import
 *
 * Import is not supported for this resource.
 */
export declare class InvokeFunction extends pulumi.CustomResource {
    /**
     * Get an existing InvokeFunction 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?: InvokeFunctionState, opts?: pulumi.CustomResourceOptions): InvokeFunction;
    /**
     * Returns true if the given object is an instance of InvokeFunction.  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 InvokeFunction;
    /**
     * Encodes the response returned, if any, in base64. It is recommended to set this to `true` to avoid corrupting the returned response, if any, in Terraform state. The default value is `false`.
     */
    readonly base64EncodeContent: pulumi.Output<boolean | undefined>;
    /**
     * Content of the response string, if any. If `base64EncodeContent` is set to `true`, then this content will be base64 encoded.
     */
    readonly content: pulumi.Output<string>;
    /**
     * An optional intent header that indicates to the FDK the way the event should be interpreted. E.g. 'httprequest', 'cloudevent'.
     */
    readonly fnIntent: pulumi.Output<string>;
    /**
     * Indicates whether Oracle Functions should execute the request and return the result ('sync') of the execution,  or whether Oracle Functions should return as soon as processing has begun ('detached') and leave result handling to the function.
     */
    readonly fnInvokeType: pulumi.Output<string>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of this function.
     */
    readonly functionId: pulumi.Output<string>;
    /**
     * An absolute path to a file on the local system that contains the input to be provided to the function. Cannot be defined if `invokeFunctionBody` or `invokeFunctionBodyBase64Encoded` is defined. Note: The maximum size of the request is limited. This limit is currently 6MB and the endpoint will not accept requests that are bigger than this limit.
     *
     * ** IMPORTANT **
     * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
     */
    readonly inputBodySourcePath: pulumi.Output<string | undefined>;
    readonly invokeEndpoint: pulumi.Output<string>;
    /**
     * The body of the function invocation. Note: The maximum size of the request is limited. This limit is currently 6MB and the endpoint will not accept requests that are bigger than this limit. Cannot be defined if `inputBodySourcePath` or `invokeFunctionBodyBase64Encoded` is defined.
     */
    readonly invokeFunctionBody: pulumi.Output<string>;
    /**
     * The Base64 encoded body of the function invocation. Base64 encoded input avoids corruption in Terraform state. Cannot be defined if `invokeFunctionBody` or `inputBodySourcePath` is defined. Note: The maximum size of the request is limited. This limit is currently 6MB and the endpoint will not accept requests that are bigger than this limit.
     */
    readonly invokeFunctionBodyBase64Encoded: pulumi.Output<string>;
    /**
     * Indicates that the request is a dry run, if set to "true". A dry run request does not execute the function.
     */
    readonly isDryRun: pulumi.Output<boolean>;
    /**
     * Create a InvokeFunction 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: InvokeFunctionArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering InvokeFunction resources.
 */
export interface InvokeFunctionState {
    /**
     * Encodes the response returned, if any, in base64. It is recommended to set this to `true` to avoid corrupting the returned response, if any, in Terraform state. The default value is `false`.
     */
    base64EncodeContent?: pulumi.Input<boolean | undefined>;
    /**
     * Content of the response string, if any. If `base64EncodeContent` is set to `true`, then this content will be base64 encoded.
     */
    content?: pulumi.Input<string | undefined>;
    /**
     * An optional intent header that indicates to the FDK the way the event should be interpreted. E.g. 'httprequest', 'cloudevent'.
     */
    fnIntent?: pulumi.Input<string | undefined>;
    /**
     * Indicates whether Oracle Functions should execute the request and return the result ('sync') of the execution,  or whether Oracle Functions should return as soon as processing has begun ('detached') and leave result handling to the function.
     */
    fnInvokeType?: pulumi.Input<string | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of this function.
     */
    functionId?: pulumi.Input<string | undefined>;
    /**
     * An absolute path to a file on the local system that contains the input to be provided to the function. Cannot be defined if `invokeFunctionBody` or `invokeFunctionBodyBase64Encoded` is defined. Note: The maximum size of the request is limited. This limit is currently 6MB and the endpoint will not accept requests that are bigger than this limit.
     *
     * ** IMPORTANT **
     * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
     */
    inputBodySourcePath?: pulumi.Input<string | undefined>;
    invokeEndpoint?: pulumi.Input<string | undefined>;
    /**
     * The body of the function invocation. Note: The maximum size of the request is limited. This limit is currently 6MB and the endpoint will not accept requests that are bigger than this limit. Cannot be defined if `inputBodySourcePath` or `invokeFunctionBodyBase64Encoded` is defined.
     */
    invokeFunctionBody?: pulumi.Input<string | undefined>;
    /**
     * The Base64 encoded body of the function invocation. Base64 encoded input avoids corruption in Terraform state. Cannot be defined if `invokeFunctionBody` or `inputBodySourcePath` is defined. Note: The maximum size of the request is limited. This limit is currently 6MB and the endpoint will not accept requests that are bigger than this limit.
     */
    invokeFunctionBodyBase64Encoded?: pulumi.Input<string | undefined>;
    /**
     * Indicates that the request is a dry run, if set to "true". A dry run request does not execute the function.
     */
    isDryRun?: pulumi.Input<boolean | undefined>;
}
/**
 * The set of arguments for constructing a InvokeFunction resource.
 */
export interface InvokeFunctionArgs {
    /**
     * Encodes the response returned, if any, in base64. It is recommended to set this to `true` to avoid corrupting the returned response, if any, in Terraform state. The default value is `false`.
     */
    base64EncodeContent?: pulumi.Input<boolean | undefined>;
    /**
     * An optional intent header that indicates to the FDK the way the event should be interpreted. E.g. 'httprequest', 'cloudevent'.
     */
    fnIntent?: pulumi.Input<string | undefined>;
    /**
     * Indicates whether Oracle Functions should execute the request and return the result ('sync') of the execution,  or whether Oracle Functions should return as soon as processing has begun ('detached') and leave result handling to the function.
     */
    fnInvokeType?: pulumi.Input<string | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of this function.
     */
    functionId: pulumi.Input<string>;
    /**
     * An absolute path to a file on the local system that contains the input to be provided to the function. Cannot be defined if `invokeFunctionBody` or `invokeFunctionBodyBase64Encoded` is defined. Note: The maximum size of the request is limited. This limit is currently 6MB and the endpoint will not accept requests that are bigger than this limit.
     *
     * ** IMPORTANT **
     * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
     */
    inputBodySourcePath?: pulumi.Input<string | undefined>;
    /**
     * The body of the function invocation. Note: The maximum size of the request is limited. This limit is currently 6MB and the endpoint will not accept requests that are bigger than this limit. Cannot be defined if `inputBodySourcePath` or `invokeFunctionBodyBase64Encoded` is defined.
     */
    invokeFunctionBody?: pulumi.Input<string | undefined>;
    /**
     * The Base64 encoded body of the function invocation. Base64 encoded input avoids corruption in Terraform state. Cannot be defined if `invokeFunctionBody` or `inputBodySourcePath` is defined. Note: The maximum size of the request is limited. This limit is currently 6MB and the endpoint will not accept requests that are bigger than this limit.
     */
    invokeFunctionBodyBase64Encoded?: pulumi.Input<string | undefined>;
    /**
     * Indicates that the request is a dry run, if set to "true". A dry run request does not execute the function.
     */
    isDryRun?: pulumi.Input<boolean | undefined>;
}
//# sourceMappingURL=invokeFunction.d.ts.map