import * as pulumi from "@pulumi/pulumi";
/**
 * Provides a resource to manage ecs invocation
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as volcengine from "@volcengine/pulumi";
 *
 * const foo = new volcengine.ecs.Invocation("foo", {
 *     commandId: "cmd-ychkepkhtim0tr3b****",
 *     frequency: "5m",
 *     instanceIds: ["i-ychmz92487l8j00o****"],
 *     invocationDescription: "tf",
 *     invocationName: "tf-test",
 *     launchTime: "2023-06-20T09:48:00Z",
 *     recurrenceEndTime: "2023-06-20T09:59:00Z",
 *     repeatMode: "Rate",
 *     timeout: 90,
 *     username: "root",
 *     workingDir: "/home",
 * });
 * ```
 *
 * ## Import
 *
 * EcsInvocation can be imported using the id, e.g.
 *
 * ```sh
 * $ pulumi import volcengine:ecs/invocation:Invocation default ivk-ychnxnm45dl8j0mm****
 * ```
 */
export declare class Invocation extends pulumi.CustomResource {
    /**
     * Get an existing Invocation 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?: InvocationState, opts?: pulumi.CustomResourceOptions): Invocation;
    /**
     * Returns true if the given object is an instance of Invocation.  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 Invocation;
    /**
     * The command id of the ecs invocation.
     */
    readonly commandId: pulumi.Output<string>;
    /**
     * The end time of the ecs invocation.
     */
    readonly endTime: pulumi.Output<string>;
    /**
     * The frequency of the ecs invocation. This field is valid and required when the value of the repeatMode field is `Rate`.
     */
    readonly frequency: pulumi.Output<string | undefined>;
    /**
     * The list of ECS instance IDs.
     */
    readonly instanceIds: pulumi.Output<string[]>;
    /**
     * The description of the ecs invocation.
     */
    readonly invocationDescription: pulumi.Output<string | undefined>;
    /**
     * The name of the ecs invocation.
     */
    readonly invocationName: pulumi.Output<string>;
    /**
     * The status of the ecs invocation.
     */
    readonly invocationStatus: pulumi.Output<string>;
    /**
     * The launch time of the ecs invocation. RFC3339 format. This field is valid and required when the value of the repeatMode field is `Rate` or `Fixed`.
     */
    readonly launchTime: pulumi.Output<string | undefined>;
    /**
     * The recurrence end time of the ecs invocation. RFC3339 format. This field is valid and required when the value of the repeatMode field is `Rate`.
     */
    readonly recurrenceEndTime: pulumi.Output<string | undefined>;
    /**
     * The repeat mode of the ecs invocation. Valid values: `Once`, `Rate`, `Fixed`.
     */
    readonly repeatMode: pulumi.Output<string | undefined>;
    /**
     * The start time of the ecs invocation.
     */
    readonly startTime: pulumi.Output<string>;
    /**
     * The timeout of the ecs command. Valid value range: 10-600. When this field is not specified, use the value of the field with the same name in ecs command as the default value.
     */
    readonly timeout: pulumi.Output<number>;
    /**
     * The username of the ecs command. When this field is not specified, use the value of the field with the same name in ecs command as the default value.
     */
    readonly username: pulumi.Output<string>;
    /**
     * The working directory of the ecs invocation. When this field is not specified, use the value of the field with the same name in ecs command as the default value.
     */
    readonly workingDir: pulumi.Output<string>;
    /**
     * Create a Invocation 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: InvocationArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering Invocation resources.
 */
export interface InvocationState {
    /**
     * The command id of the ecs invocation.
     */
    commandId?: pulumi.Input<string>;
    /**
     * The end time of the ecs invocation.
     */
    endTime?: pulumi.Input<string>;
    /**
     * The frequency of the ecs invocation. This field is valid and required when the value of the repeatMode field is `Rate`.
     */
    frequency?: pulumi.Input<string>;
    /**
     * The list of ECS instance IDs.
     */
    instanceIds?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * The description of the ecs invocation.
     */
    invocationDescription?: pulumi.Input<string>;
    /**
     * The name of the ecs invocation.
     */
    invocationName?: pulumi.Input<string>;
    /**
     * The status of the ecs invocation.
     */
    invocationStatus?: pulumi.Input<string>;
    /**
     * The launch time of the ecs invocation. RFC3339 format. This field is valid and required when the value of the repeatMode field is `Rate` or `Fixed`.
     */
    launchTime?: pulumi.Input<string>;
    /**
     * The recurrence end time of the ecs invocation. RFC3339 format. This field is valid and required when the value of the repeatMode field is `Rate`.
     */
    recurrenceEndTime?: pulumi.Input<string>;
    /**
     * The repeat mode of the ecs invocation. Valid values: `Once`, `Rate`, `Fixed`.
     */
    repeatMode?: pulumi.Input<string>;
    /**
     * The start time of the ecs invocation.
     */
    startTime?: pulumi.Input<string>;
    /**
     * The timeout of the ecs command. Valid value range: 10-600. When this field is not specified, use the value of the field with the same name in ecs command as the default value.
     */
    timeout?: pulumi.Input<number>;
    /**
     * The username of the ecs command. When this field is not specified, use the value of the field with the same name in ecs command as the default value.
     */
    username?: pulumi.Input<string>;
    /**
     * The working directory of the ecs invocation. When this field is not specified, use the value of the field with the same name in ecs command as the default value.
     */
    workingDir?: pulumi.Input<string>;
}
/**
 * The set of arguments for constructing a Invocation resource.
 */
export interface InvocationArgs {
    /**
     * The command id of the ecs invocation.
     */
    commandId: pulumi.Input<string>;
    /**
     * The frequency of the ecs invocation. This field is valid and required when the value of the repeatMode field is `Rate`.
     */
    frequency?: pulumi.Input<string>;
    /**
     * The list of ECS instance IDs.
     */
    instanceIds: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * The description of the ecs invocation.
     */
    invocationDescription?: pulumi.Input<string>;
    /**
     * The name of the ecs invocation.
     */
    invocationName: pulumi.Input<string>;
    /**
     * The launch time of the ecs invocation. RFC3339 format. This field is valid and required when the value of the repeatMode field is `Rate` or `Fixed`.
     */
    launchTime?: pulumi.Input<string>;
    /**
     * The recurrence end time of the ecs invocation. RFC3339 format. This field is valid and required when the value of the repeatMode field is `Rate`.
     */
    recurrenceEndTime?: pulumi.Input<string>;
    /**
     * The repeat mode of the ecs invocation. Valid values: `Once`, `Rate`, `Fixed`.
     */
    repeatMode?: pulumi.Input<string>;
    /**
     * The timeout of the ecs command. Valid value range: 10-600. When this field is not specified, use the value of the field with the same name in ecs command as the default value.
     */
    timeout?: pulumi.Input<number>;
    /**
     * The username of the ecs command. When this field is not specified, use the value of the field with the same name in ecs command as the default value.
     */
    username: pulumi.Input<string>;
    /**
     * The working directory of the ecs invocation. When this field is not specified, use the value of the field with the same name in ecs command as the default value.
     */
    workingDir?: pulumi.Input<string>;
}
