/**
 * 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 { Dns } from './dns';
import type { EnvironmentDeletePolicy } from './environment-delete-policy';
import type { EnvironmentType } from './environment-type';
import type { ProvisionConfig } from './provision-config';
import type { SchedulingConfig } from './scheduling-config';
/**
 * Environment creation info
 * @export
 * @interface EnvironmentCreate
 */
export interface EnvironmentCreate {
    /**
     * The full, unique name of this Object in the format environments/{name}, set during creation. name must be a valid RFC 1123 compliant DNS label
     * @type {string}
     * @memberof EnvironmentCreate
     */
    'name': string;
    /**
     *
     * @type {EnvironmentType}
     * @memberof EnvironmentCreate
     */
    'type': EnvironmentType;
    /**
     *
     * @type {SchedulingConfig}
     * @memberof EnvironmentCreate
     */
    'schedulingConfig'?: SchedulingConfig;
    /**
     *
     * @type {ProvisionConfig}
     * @memberof EnvironmentCreate
     */
    'provisionConfig': ProvisionConfig;
    /**
     * Organizations that have access for this environment
     * @type {Array<string>}
     * @memberof EnvironmentCreate
     */
    'organizations': Array<string>;
    /**
     * Cloud Provider
     * @type {string}
     * @memberof EnvironmentCreate
     */
    'provider': string;
    /**
     * Cloud Region
     * @type {string}
     * @memberof EnvironmentCreate
     */
    'region': string;
    /**
     * Availability Zones
     * @type {Array<string>}
     * @memberof EnvironmentCreate
     */
    'availabilityZones'?: Array<string>;
    /**
     * The description of the organization
     * @type {string}
     * @memberof EnvironmentCreate
     */
    'description'?: string;
    /**
     * The display name of the environment
     * @type {string}
     * @memberof EnvironmentCreate
     */
    'displayName': string;
    /**
     *
     * @type {string}
     * @memberof EnvironmentCreate
     */
    'id'?: string;
    /**
     * Extra info for environment
     * @type {string}
     * @memberof EnvironmentCreate
     */
    'extraInfo'?: string;
    /**
     *
     * @type {EnvironmentDeletePolicy}
     * @memberof EnvironmentCreate
     */
    'deletePolicy'?: EnvironmentDeletePolicy;
    /**
     * overwrite a environment if it has been added before
     * @type {boolean}
     * @memberof EnvironmentCreate
     */
    'overwrite'?: boolean;
    /**
     *
     * @type {Dns}
     * @memberof EnvironmentCreate
     */
    'dns'?: Dns;
    /**
     * whether to enable calculate the cluster SLA for the environment
     * @type {boolean}
     * @memberof EnvironmentCreate
     */
    'sla'?: boolean;
}
//# sourceMappingURL=environment-create.d.ts.map