import * as pulumi from "@pulumi/pulumi";
import { output as outputs } from "../types";
/**
 * Use this data source to get available HuaweiCloud rds flavors.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as huaweicloud from "@pulumi/huaweicloud";
 *
 * const flavor = pulumi.output(huaweicloud.Rds.getFlavors({
 *     dbType: "PostgreSQL",
 *     dbVersion: "9.5",
 *     instanceMode: "ha",
 * }));
 * ```
 */
export declare function getFlavors(args: GetFlavorsArgs, opts?: pulumi.InvokeOptions): Promise<GetFlavorsResult>;
/**
 * A collection of arguments for invoking getFlavors.
 */
export interface GetFlavorsArgs {
    /**
     * Specifies the availability zone which the RDS flavor belongs to.
     */
    availabilityZone?: string;
    /**
     * Specifies the DB engine. The value can be **MySQL**, **PostgreSQL**, **SQLServer**,
     * **MariaDB**.
     */
    dbType: string;
    /**
     * Specifies the database version. For more detail, please see
     * [DB Engines and Versions](https://support.huaweicloud.com/intl/en-us/productdesc-rds/en-us_topic_0043898356.html).
     * Available value:
     */
    dbVersion?: string;
    /**
     * Specifies the performance specification, the valid values are as follows:
     * + **normal**: General enhanced.
     * + **normal2**: General enhanced type II.
     * + **armFlavors**: KunPeng general enhancement.
     * + **dedicatedNormal**: (dedicatedNormalLocalssd): Dedicated for x86.
     * + **armLocalssd**: KunPeng general type.
     * + **normalLocalssd**: x86 general type.
     * + **general**: General type.
     * + **dedicated**:
     * For MySQL engine: Dedicated type.
     * For PostgreSQL and SQL Server engines: Dedicated type, only supported by cloud disk SSD.
     * + **rapid**:
     * For MySQL engine: Dedicated (discontinued).
     * For PostgreSQL and SQL Server engines: Dedicated, only supported by ultra-fast SSDs.
     * + **bigmem**: Large memory type.
     */
    groupType?: string;
    /**
     * The mode of instance. The value can be **ha**(indicates primary/standby
     * instance), **single**(indicates single instance) and **replica**(indicates read replicas).
     */
    instanceMode?: string;
    /**
     * Specifies the memory size(GB) in the RDS flavor.
     */
    memory?: number;
    /**
     * The region in which to obtain the RDS flavors. If omitted, the provider-level region
     * will be used.
     */
    region?: string;
    /**
     * Specifies the number of vCPUs in the RDS flavor.
     */
    vcpus?: number;
}
/**
 * A collection of values returned by getFlavors.
 */
export interface GetFlavorsResult {
    readonly availabilityZone?: string;
    readonly dbType: string;
    readonly dbVersion?: string;
    /**
     * Indicates the flavors information. Structure is documented below.
     */
    readonly flavors: outputs.Rds.GetFlavorsFlavor[];
    /**
     * The performance specification.
     */
    readonly groupType?: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The mode of instance.
     */
    readonly instanceMode?: string;
    /**
     * The memory size in GB.
     */
    readonly memory?: number;
    readonly region: string;
    /**
     * The CPU size.
     */
    readonly vcpus?: number;
}
export declare function getFlavorsOutput(args: GetFlavorsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetFlavorsResult>;
/**
 * A collection of arguments for invoking getFlavors.
 */
export interface GetFlavorsOutputArgs {
    /**
     * Specifies the availability zone which the RDS flavor belongs to.
     */
    availabilityZone?: pulumi.Input<string>;
    /**
     * Specifies the DB engine. The value can be **MySQL**, **PostgreSQL**, **SQLServer**,
     * **MariaDB**.
     */
    dbType: pulumi.Input<string>;
    /**
     * Specifies the database version. For more detail, please see
     * [DB Engines and Versions](https://support.huaweicloud.com/intl/en-us/productdesc-rds/en-us_topic_0043898356.html).
     * Available value:
     */
    dbVersion?: pulumi.Input<string>;
    /**
     * Specifies the performance specification, the valid values are as follows:
     * + **normal**: General enhanced.
     * + **normal2**: General enhanced type II.
     * + **armFlavors**: KunPeng general enhancement.
     * + **dedicatedNormal**: (dedicatedNormalLocalssd): Dedicated for x86.
     * + **armLocalssd**: KunPeng general type.
     * + **normalLocalssd**: x86 general type.
     * + **general**: General type.
     * + **dedicated**:
     * For MySQL engine: Dedicated type.
     * For PostgreSQL and SQL Server engines: Dedicated type, only supported by cloud disk SSD.
     * + **rapid**:
     * For MySQL engine: Dedicated (discontinued).
     * For PostgreSQL and SQL Server engines: Dedicated, only supported by ultra-fast SSDs.
     * + **bigmem**: Large memory type.
     */
    groupType?: pulumi.Input<string>;
    /**
     * The mode of instance. The value can be **ha**(indicates primary/standby
     * instance), **single**(indicates single instance) and **replica**(indicates read replicas).
     */
    instanceMode?: pulumi.Input<string>;
    /**
     * Specifies the memory size(GB) in the RDS flavor.
     */
    memory?: pulumi.Input<number>;
    /**
     * The region in which to obtain the RDS flavors. If omitted, the provider-level region
     * will be used.
     */
    region?: pulumi.Input<string>;
    /**
     * Specifies the number of vCPUs in the RDS flavor.
     */
    vcpus?: pulumi.Input<number>;
}
