/** * Copyright (c) 2026-present, Goldman Sachs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { type Hashable, type PlainObject } from '@finos/legend-shared'; import { PackageableElement, type PackageableElementVisitor } from '../packageableElements/PackageableElement.js'; import type { AppDirNode } from '../packageableElements/ingest/IngestDefinition.js'; export declare class AppDirComputeOwner implements Hashable { production: AppDirNode | undefined; prodParallel: AppDirNode | undefined; get hashCode(): string; } export declare abstract class ComputeSpecification implements Hashable { abstract get hashCode(): string; } export declare class UnknownComputeSpecification extends ComputeSpecification implements Hashable { content: PlainObject; get hashCode(): string; } export declare enum SnowflakeWarehouseType { STANDARD = "STANDARD", SNOWPARK_OPTIMIZED = "SNOWPARK_OPTIMIZED", ADAPTIVE = "ADAPTIVE" } export declare enum SnowflakeWarehouseSize { XSMALL = "XSMALL", SMALL = "SMALL", MEDIUM = "MEDIUM", LARGE = "LARGE", XLARGE = "XLARGE", XXLARGE = "XXLARGE", XXXLARGE = "XXXLARGE", X4LARGE = "X4LARGE", X5LARGE = "X5LARGE", X6LARGE = "X6LARGE" } export declare enum SnowflakeResourceConstraint { STANDARD_GEN_1 = "STANDARD_GEN_1", STANDARD_GEN_2 = "STANDARD_GEN_2", MEMORY_1X = "MEMORY_1X", MEMORY_1X_x86 = "MEMORY_1X_x86", MEMORY_16X = "MEMORY_16X", MEMORY_16X_x86 = "MEMORY_16X_x86", MEMORY_64X = "MEMORY_64X", MEMORY_64X_x86 = "MEMORY_64X_x86" } export declare enum SnowflakeScalingPolicy { STANDARD = "STANDARD", ECONOMY = "ECONOMY" } export declare class SnowflakeComputeSpecification extends ComputeSpecification implements Hashable { warehouseType: SnowflakeWarehouseType | undefined; warehouseSize: SnowflakeWarehouseSize | undefined; resourceConstraint: SnowflakeResourceConstraint | undefined; maxClusterCount: number | undefined; minClusterCount: number | undefined; scalingPolicy: SnowflakeScalingPolicy | undefined; autoSuspend: number | undefined; autoResume: boolean | undefined; resourceMonitor: string | undefined; comment: string | undefined; enableQueryAcceleration: boolean | undefined; queryAccelerationMaxScaleFactor: number | undefined; get hashCode(): string; } export declare enum DatabricksClusterSize { XXSMALL = "XXSMALL", XSMALL = "XSMALL", SMALL = "SMALL", MEDIUM = "MEDIUM", LARGE = "LARGE", XLARGE = "XLARGE", XXLARGE = "XXLARGE", XXXLARGE = "XXXLARGE", X4LARGE = "X4LARGE", X5LARGE = "X5LARGE" } export declare enum DatabricksSpotInstancePolicy { POLICY_UNSPECIFIED = "POLICY_UNSPECIFIED", COST_OPTIMIZED = "COST_OPTIMIZED", RELIABILITY_OPTIMIZED = "RELIABILITY_OPTIMIZED" } export declare class DatabricksTag implements Hashable { readonly _UUID: string; key: string; value: string; get hashCode(): string; } export declare class DatabricksComputeSpecification extends ComputeSpecification implements Hashable { clusterSize: DatabricksClusterSize | undefined; autoStopMins: number | undefined; minNumClusters: number | undefined; maxNumClusters: number | undefined; enablePhoton: boolean | undefined; spotInstancePolicy: DatabricksSpotInstancePolicy | undefined; tags: DatabricksTag[]; get hashCode(): string; } export declare class Compute extends PackageableElement { owner: AppDirComputeOwner; specification: ComputeSpecification; accept_PackageableElementVisitor(visitor: PackageableElementVisitor): T; protected get _elementHashCode(): string; } //# sourceMappingURL=Compute.d.ts.map