import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * Use this data source to query detailed information of vke addons
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as volcengine from "@pulumi/volcengine";
 *
 * const default = volcengine.vke.getAddons({
 *     clusterIds: ["cccctv1vqtofp49d96ujg"],
 * });
 * ```
 */
export declare function getAddons(args?: GetAddonsArgs, opts?: pulumi.InvokeOptions): Promise<GetAddonsResult>;
/**
 * A collection of arguments for invoking getAddons.
 */
export interface GetAddonsArgs {
    /**
     * The IDs of Cluster.
     */
    clusterIds?: string[];
    /**
     * ClientToken when the addon is created successfully. ClientToken is a string that guarantees the idempotency of the request. This string is passed in by the caller.
     */
    createClientToken?: string;
    /**
     * The deploy model, the value is `Managed` or `Unmanaged`.
     */
    deployModes?: string[];
    /**
     * The deploy node types, the value is `Node` or `VirtualNode`. Only effected when deployMode is `Unmanaged`.
     */
    deployNodeTypes?: string[];
    /**
     * A Name Regex of addon.
     */
    nameRegex?: string;
    /**
     * The Names of addons.
     */
    names?: string[];
    /**
     * File name where to save data source results.
     */
    outputFile?: string;
    /**
     * Array of addon states to filter.
     */
    statuses?: inputs.vke.GetAddonsStatus[];
    /**
     * The ClientToken when the last addon update succeeded. ClientToken is a string that guarantees the idempotency of the request. This string is passed in by the caller.
     */
    updateClientToken?: string;
}
/**
 * A collection of values returned by getAddons.
 */
export interface GetAddonsResult {
    /**
     * The collection of addon query.
     */
    readonly addons: outputs.vke.GetAddonsAddon[];
    readonly clusterIds?: string[];
    readonly createClientToken?: string;
    readonly deployModes?: string[];
    readonly deployNodeTypes?: string[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly nameRegex?: string;
    readonly names?: string[];
    readonly outputFile?: string;
    readonly statuses?: outputs.vke.GetAddonsStatus[];
    /**
     * The total count of addon query.
     */
    readonly totalCount: number;
    readonly updateClientToken?: string;
}
/**
 * Use this data source to query detailed information of vke addons
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as volcengine from "@pulumi/volcengine";
 *
 * const default = volcengine.vke.getAddons({
 *     clusterIds: ["cccctv1vqtofp49d96ujg"],
 * });
 * ```
 */
export declare function getAddonsOutput(args?: GetAddonsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetAddonsResult>;
/**
 * A collection of arguments for invoking getAddons.
 */
export interface GetAddonsOutputArgs {
    /**
     * The IDs of Cluster.
     */
    clusterIds?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * ClientToken when the addon is created successfully. ClientToken is a string that guarantees the idempotency of the request. This string is passed in by the caller.
     */
    createClientToken?: pulumi.Input<string>;
    /**
     * The deploy model, the value is `Managed` or `Unmanaged`.
     */
    deployModes?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * The deploy node types, the value is `Node` or `VirtualNode`. Only effected when deployMode is `Unmanaged`.
     */
    deployNodeTypes?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * A Name Regex of addon.
     */
    nameRegex?: pulumi.Input<string>;
    /**
     * The Names of addons.
     */
    names?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * File name where to save data source results.
     */
    outputFile?: pulumi.Input<string>;
    /**
     * Array of addon states to filter.
     */
    statuses?: pulumi.Input<pulumi.Input<inputs.vke.GetAddonsStatusArgs>[]>;
    /**
     * The ClientToken when the last addon update succeeded. ClientToken is a string that guarantees the idempotency of the request. This string is passed in by the caller.
     */
    updateClientToken?: pulumi.Input<string>;
}
