/* 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 { AutohealingConfig } from './autohealing-config';
// May contain unused imports in some cases
// @ts-ignore
import type { ClusterSchedulingPolicy } from './cluster-scheduling-policy';
// May contain unused imports in some cases
// @ts-ignore
import type { ClusterValidationPolicy } from './cluster-validation-policy';
// May contain unused imports in some cases
// @ts-ignore
import type { EnvironmentDeletePolicy } from './environment-delete-policy';
// May contain unused imports in some cases
// @ts-ignore
import type { EnvironmentType } from './environment-type';
// May contain unused imports in some cases
// @ts-ignore
import type { NetworkMode } from './network-mode';

/**
 * Environment info
 * @export
 * @interface EnvironmentUpdate
 */
export interface EnvironmentUpdate {
    /**
     * The description of the organization
     * @type {string}
     * @memberof EnvironmentUpdate
     */
    'description'?: string | null;
    /**
     * The display name of the context
     * @type {string}
     * @memberof EnvironmentUpdate
     */
    'displayName'?: string | null;
    /**
     * 
     * @type {EnvironmentType}
     * @memberof EnvironmentUpdate
     */
    'type'?: EnvironmentType;
    /**
     * Organizations that have access for this environment
     * @type {Array<string>}
     * @memberof EnvironmentUpdate
     */
    'organizations'?: Array<string> | null;
    /**
     * Organizations that have access for this environment
     * @type {Array<string>}
     * @memberof EnvironmentUpdate
     */
    'namespaces'?: Array<string> | null;
    /**
     * the over commit ratio of cpu
     * @type {number}
     * @memberof EnvironmentUpdate
     */
    'cpuOverCommitRatio'?: number | null;
    /**
     * the over commit ratio of memory
     * @type {number}
     * @memberof EnvironmentUpdate
     */
    'memoryOverCommitRatio'?: number | null;
    /**
     * 
     * @type {AutohealingConfig}
     * @memberof EnvironmentUpdate
     */
    'autohealingConfig'?: AutohealingConfig;
    /**
     * the default storage class of this environment
     * @type {string}
     * @memberof EnvironmentUpdate
     */
    'defaultStorageClass'?: string | null;
    /**
     * Image registry URL used to pull images. Must match image_registries.url, not image_registries.name.
     * @type {string}
     * @memberof EnvironmentUpdate
     */
    'imageRegistry'?: string | null;
    /**
     * Enable node port service for this environment
     * @type {boolean}
     * @memberof EnvironmentUpdate
     */
    'nodePortEnabled'?: boolean;
    /**
     * Enable load balancer service for this environment
     * @type {boolean}
     * @memberof EnvironmentUpdate
     */
    'lbEnabled'?: boolean;
    /**
     * Enable domain service for this environment
     * @type {boolean}
     * @memberof EnvironmentUpdate
     */
    'domainEnabled'?: boolean;
    /**
     * Enable the Internet load balancer service for this environment
     * @type {boolean}
     * @memberof EnvironmentUpdate
     */
    'internetLBEnabled'?: boolean;
    /**
     * Network modes of the environment
     * @type {Array<NetworkMode>}
     * @memberof EnvironmentUpdate
     */
    'networkModes'?: Array<NetworkMode>;
    /**
     * 
     * @type {EnvironmentDeletePolicy}
     * @memberof EnvironmentUpdate
     */
    'deletePolicy'?: EnvironmentDeletePolicy;
    /**
     * 
     * @type {ClusterValidationPolicy}
     * @memberof EnvironmentUpdate
     */
    'clusterValidationPolicy'?: ClusterValidationPolicy;
    /**
     * Cloud Provider
     * @type {string}
     * @memberof EnvironmentUpdate
     */
    'provider'?: string | null;
    /**
     * whether to enable calculate the cluster SLA for the environment
     * @type {boolean}
     * @memberof EnvironmentUpdate
     */
    'slaEnabled'?: boolean;
    /**
     * 
     * @type {ClusterSchedulingPolicy}
     * @memberof EnvironmentUpdate
     */
    'clusterSchedulingPolicy'?: ClusterSchedulingPolicy;
}



