import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * 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",
 *     parameters: [{
 *         name: "test_str",
 *         value: "tf",
 *     }],
 *     projectName: "default",
 *     recurrenceEndTime: "2023-06-20T09:59:00Z",
 *     repeatMode: "Rate",
 *     tags: [{
 *         key: "k1",
 *         value: "v1",
 *     }],
 *     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 custom parameters of the ecs command. When importing resources, this attribute will not be imported. If this attribute is set, please use lifecycle and ignoreChanges ignore changes in fields.
     */
    readonly parameters: pulumi.Output<outputs.ecs.InvocationParameter[] | undefined>;
    /**
     * The project name of the ecs command.
     */
    readonly projectName: pulumi.Output<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`.
     */
    readonly recurrenceEndTime: pulumi.Output<string | undefined>;
    /**
     * The repeat mode of the ecs invocation. Valid values: `Once`, `Rate`, `Fixed`. Default is `Once`.
     */
    readonly repeatMode: pulumi.Output<string | undefined>;
    /**
     * The start time of the ecs invocation.
     */
    readonly startTime: pulumi.Output<string>;
    /**
     * Tags.
     */
    readonly tags: pulumi.Output<outputs.ecs.InvocationTag[] | undefined>;
    /**
     * The timeout of the ecs command. Unit: seconds. Valid value range: 30~86400. Default is 60.
     */
    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 custom parameters of the ecs command. When importing resources, this attribute will not be imported. If this attribute is set, please use lifecycle and ignoreChanges ignore changes in fields.
     */
    parameters?: pulumi.Input<pulumi.Input<inputs.ecs.InvocationParameter>[]>;
    /**
     * The project name of the ecs command.
     */
    projectName?: 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`. Default is `Once`.
     */
    repeatMode?: pulumi.Input<string>;
    /**
     * The start time of the ecs invocation.
     */
    startTime?: pulumi.Input<string>;
    /**
     * Tags.
     */
    tags?: pulumi.Input<pulumi.Input<inputs.ecs.InvocationTag>[]>;
    /**
     * The timeout of the ecs command. Unit: seconds. Valid value range: 30~86400. Default is 60.
     */
    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 custom parameters of the ecs command. When importing resources, this attribute will not be imported. If this attribute is set, please use lifecycle and ignoreChanges ignore changes in fields.
     */
    parameters?: pulumi.Input<pulumi.Input<inputs.ecs.InvocationParameter>[]>;
    /**
     * The project name of the ecs command.
     */
    projectName?: 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`. Default is `Once`.
     */
    repeatMode?: pulumi.Input<string>;
    /**
     * Tags.
     */
    tags?: pulumi.Input<pulumi.Input<inputs.ecs.InvocationTag>[]>;
    /**
     * The timeout of the ecs command. Unit: seconds. Valid value range: 30~86400. Default is 60.
     */
    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>;
}
