import * as pulumi from "@pulumi/pulumi";
import { output as outputs } from "../types";
/**
 * Use this data source to get a list of available DCS flavors.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as huaweicloud from "@pulumi/huaweicloud";
 *
 * const flavors = pulumi.output(huaweicloud.Dcs.getFlavors({
 *     capacity: 4,
 * }));
 * ```
 */
export declare function getFlavors(args?: GetFlavorsArgs, opts?: pulumi.InvokeOptions): Promise<GetFlavorsResult>;
/**
 * A collection of arguments for invoking getFlavors.
 */
export interface GetFlavorsArgs {
    /**
     * The mode of a cache engine. The valid values are as follows:
     */
    cacheMode?: string;
    /**
     * The total memory of the cache, in GB.
     * + **Redis4.0, Redis5.0 and Redis6.0**: Stand-alone and active/standby type instance values:
     * `0.125`, `0.25`, `0.5`, `1`, `2`, `4`, `8`, `16`, `32` and `64`.
     * Cluster instance specifications support `4`,`8`,`16`,`24`, `32`, `48`, `64`, `96`, `128`, `192`,
     * `256`, `384`, `512`, `768` and `1024`.
     * + **Redis3.0**: Stand-alone and active/standby type instance values: `2`, `4`, `8`, `16`, `32` and `64`.
     * Proxy cluster instance specifications support `64`, `128`, `256`, `512`, and `1024`.
     * + **Memcached**: Stand-alone and active/standby type instance values: `2`, `4`, `8`, `16`, `32` and `64`.
     */
    capacity?: number;
    /**
     * The CPU architecture of cache instance.
     * Valid values *x86_64* and *aarch64*.
     */
    cpuArchitecture?: string;
    /**
     * The engine of the cache instance. Valid values are *Redis* and *Memcached*.
     * Default value is *Redis*.
     */
    engine?: string;
    /**
     * The version of a cache engine.
     * It is mandatory when the engine is *Redis*, the value can be `3.0`, `4.0`, `5.0`, or `6.0`.
     */
    engineVersion?: string;
    /**
     * The flavor name of the cache instance.
     */
    name?: string;
    /**
     * Specifies the region in which to obtain the DCS flavors.
     * If omitted, the provider-level region will be used.
     */
    region?: string;
}
/**
 * A collection of values returned by getFlavors.
 */
export interface GetFlavorsResult {
    /**
     * The mode of a cache instance.
     */
    readonly cacheMode?: string;
    /**
     * The total memory of the cache, in GB.
     */
    readonly capacity?: number;
    /**
     * The CPU architecture of cache instance. Value is *x86_64* or *aarch64*.
     */
    readonly cpuArchitecture?: string;
    /**
     * The engine of the cache instance. Value is *redis* or *memcached*.
     */
    readonly engine?: string;
    readonly engineVersion?: string;
    /**
     * A list of DCS flavors.
     */
    readonly flavors: outputs.Dcs.GetFlavorsFlavor[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The flavor name of the cache instance.
     */
    readonly name?: string;
    readonly region: string;
}
export declare function getFlavorsOutput(args?: GetFlavorsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetFlavorsResult>;
/**
 * A collection of arguments for invoking getFlavors.
 */
export interface GetFlavorsOutputArgs {
    /**
     * The mode of a cache engine. The valid values are as follows:
     */
    cacheMode?: pulumi.Input<string>;
    /**
     * The total memory of the cache, in GB.
     * + **Redis4.0, Redis5.0 and Redis6.0**: Stand-alone and active/standby type instance values:
     * `0.125`, `0.25`, `0.5`, `1`, `2`, `4`, `8`, `16`, `32` and `64`.
     * Cluster instance specifications support `4`,`8`,`16`,`24`, `32`, `48`, `64`, `96`, `128`, `192`,
     * `256`, `384`, `512`, `768` and `1024`.
     * + **Redis3.0**: Stand-alone and active/standby type instance values: `2`, `4`, `8`, `16`, `32` and `64`.
     * Proxy cluster instance specifications support `64`, `128`, `256`, `512`, and `1024`.
     * + **Memcached**: Stand-alone and active/standby type instance values: `2`, `4`, `8`, `16`, `32` and `64`.
     */
    capacity?: pulumi.Input<number>;
    /**
     * The CPU architecture of cache instance.
     * Valid values *x86_64* and *aarch64*.
     */
    cpuArchitecture?: pulumi.Input<string>;
    /**
     * The engine of the cache instance. Valid values are *Redis* and *Memcached*.
     * Default value is *Redis*.
     */
    engine?: pulumi.Input<string>;
    /**
     * The version of a cache engine.
     * It is mandatory when the engine is *Redis*, the value can be `3.0`, `4.0`, `5.0`, or `6.0`.
     */
    engineVersion?: pulumi.Input<string>;
    /**
     * The flavor name of the cache instance.
     */
    name?: pulumi.Input<string>;
    /**
     * Specifies the region in which to obtain the DCS flavors.
     * If omitted, the provider-level region will be used.
     */
    region?: pulumi.Input<string>;
}
