/**
 * Admin API
 * The Admin API is used to manage the ApeCloud platform.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: support@apecloud.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { SchedulingPolicyType } from './scheduling-policy-type';
import type { Target } from './target';
/**
 *
 * @export
 * @interface EngineSchedulingRule
 */
export interface EngineSchedulingRule {
    /**
     * Id of engine scheduling rule.
     * @type {string}
     * @memberof EngineSchedulingRule
     */
    'id'?: string;
    /**
     * Rule name, used to reference this rule when applying scheduling policies to a cluster.
     * @type {string}
     * @memberof EngineSchedulingRule
     */
    'name': string;
    /**
     * Database engine type this rule applies to. Used to match rules to clusters by engine.
     * @type {string}
     * @memberof EngineSchedulingRule
     */
    'engine': string;
    /**
     * Cluster mode this rule applies to. Used to match rules to clusters by mode.
     * @type {string}
     * @memberof EngineSchedulingRule
     */
    'engineMode': string;
    /**
     * Selects the two mutually exclusive targets that this rule applies to. The array length must be exactly 2.
     * @type {Array<Target>}
     * @memberof EngineSchedulingRule
     */
    'targetSelector': Array<Target>;
    /**
     *
     * @type {SchedulingPolicyType}
     * @memberof EngineSchedulingRule
     */
    'schedulingPolicyType': SchedulingPolicyType;
    /**
     * Optional description of the scheduling rule.
     * @type {string}
     * @memberof EngineSchedulingRule
     */
    'description'?: string;
    /**
     * Indicates whether this rule is used as the fallback when no other rule matches.
     * @type {boolean}
     * @memberof EngineSchedulingRule
     */
    'default'?: boolean | null;
}
//# sourceMappingURL=engine-scheduling-rule.d.ts.map