/* tslint:disable */
/* eslint-disable */
/**
 * 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.
 */


// May contain unused imports in some cases
// @ts-ignore
import type { ComponentVolumeItem } from './component-volume-item';

/**
 * ComponentItem is the information of a component
 * @export
 * @interface ComponentItemCreate
 */
export interface ComponentItemCreate {
    /**
     * component type, refer to componentDef and support NamePrefix
     * @type {string}
     * @memberof ComponentItemCreate
     */
    'component': string;
    /**
     * The number of components, if often used as shards number
     * @type {number}
     * @memberof ComponentItemCreate
     */
    'compNum'?: number;
    /**
     * The number of replicas, for standalone mode, the replicas is 1, for raftGroup mode, the default replicas is 3.
     * @type {number}
     * @memberof ComponentItemCreate
     */
    'replicas'?: number;
    /**
     * Whether to skip resource constraint validation when creating cluster
     * @type {boolean}
     * @memberof ComponentItemCreate
     */
    'skipResourceConstraints'?: boolean;
    /**
     * 
     * @type {string}
     * @memberof ComponentItemCreate
     */
    'classCode'?: string;
    /**
     * CPU cores.
     * @type {number}
     * @memberof ComponentItemCreate
     */
    'cpu'?: number;
    /**
     * Memory, the unit is Gi.
     * @type {number}
     * @memberof ComponentItemCreate
     */
    'memory'?: number;
    /**
     * StorageClass name
     * @type {string}
     * @memberof ComponentItemCreate
     */
    'storageClass'?: string;
    /**
     * 
     * @type {Array<ComponentVolumeItem>}
     * @memberof ComponentItemCreate
     */
    'volumes'?: Array<ComponentVolumeItem>;
    /**
     * The name of the secret that contains the system account credentials
     * @type {string}
     * @memberof ComponentItemCreate
     */
    'systemAccountSecretName'?: string;
}

