import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface DatasphereProjectConfig extends cdktf.TerraformMetaArguments { /** * Community ID where project would be created. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/datasphere_project#community_id DatasphereProject#community_id} */ readonly communityId: string; /** * The resource name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/datasphere_project#description DatasphereProject#description} */ readonly description?: string; /** * A set of key/value label pairs which assigned to resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/datasphere_project#labels DatasphereProject#labels} */ readonly labels?: { [key: string]: string; }; /** * Datasphere Project limits configuration. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/datasphere_project#limits DatasphereProject#limits} */ readonly limits?: DatasphereProjectLimits; /** * The resource name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/datasphere_project#name DatasphereProject#name} */ readonly name: string; /** * Datasphere Project settings configuration. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/datasphere_project#settings DatasphereProject#settings} */ readonly settings?: DatasphereProjectSettings; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/datasphere_project#timeouts DatasphereProject#timeouts} */ readonly timeouts?: DatasphereProjectTimeouts; } export interface DatasphereProjectLimits { /** * The number of units available to the project. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/datasphere_project#balance DatasphereProject#balance} */ readonly balance?: number; /** * The number of units that can be spent on the one execution. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/datasphere_project#max_units_per_execution DatasphereProject#max_units_per_execution} */ readonly maxUnitsPerExecution?: number; /** * The number of units that can be spent per hour. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/datasphere_project#max_units_per_hour DatasphereProject#max_units_per_hour} */ readonly maxUnitsPerHour?: number; } export declare function datasphereProjectLimitsToTerraform(struct?: DatasphereProjectLimits | cdktf.IResolvable): any; export declare function datasphereProjectLimitsToHclTerraform(struct?: DatasphereProjectLimits | cdktf.IResolvable): any; export declare class DatasphereProjectLimitsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): DatasphereProjectLimits | cdktf.IResolvable | undefined; set internalValue(value: DatasphereProjectLimits | cdktf.IResolvable | undefined); private _balance?; get balance(): number; set balance(value: number); resetBalance(): void; get balanceInput(): number; private _maxUnitsPerExecution?; get maxUnitsPerExecution(): number; set maxUnitsPerExecution(value: number); resetMaxUnitsPerExecution(): void; get maxUnitsPerExecutionInput(): number; private _maxUnitsPerHour?; get maxUnitsPerHour(): number; set maxUnitsPerHour(value: number); resetMaxUnitsPerHour(): void; get maxUnitsPerHourInput(): number; } export interface DatasphereProjectSettings { /** * ID of the DataProcessing cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/datasphere_project#data_proc_cluster_id DatasphereProject#data_proc_cluster_id} */ readonly dataProcClusterId?: string; /** * Default project folder ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/datasphere_project#default_folder_id DatasphereProject#default_folder_id} */ readonly defaultFolderId?: string; /** * The list of security groups applied to resource or their components. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/datasphere_project#security_group_ids DatasphereProject#security_group_ids} */ readonly securityGroupIds?: string[]; /** * [Service account](https://yandex.cloud/docs/iam/concepts/users/service-accounts) which linked to the resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/datasphere_project#service_account_id DatasphereProject#service_account_id} */ readonly serviceAccountId?: string; /** * The timeout to automatically stop stale executions. The following modes can be used: * * `ONE_HOUR`: Setting to automatically stop stale execution after one hour with low consumption. * * `THREE_HOURS`: Setting to automatically stop stale execution after three hours with low consumption. * * `NO_TIMEOUT`: Setting to never automatically stop stale executions. * * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/datasphere_project#stale_exec_timeout_mode DatasphereProject#stale_exec_timeout_mode} */ readonly staleExecTimeoutMode?: string; /** * ID of the subnet where the DataProcessing cluster resides. Currently only subnets created in the availability zone `ru-central1-a` are supported. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/datasphere_project#subnet_id DatasphereProject#subnet_id} */ readonly subnetId?: string; } export declare function datasphereProjectSettingsToTerraform(struct?: DatasphereProjectSettings | cdktf.IResolvable): any; export declare function datasphereProjectSettingsToHclTerraform(struct?: DatasphereProjectSettings | cdktf.IResolvable): any; export declare class DatasphereProjectSettingsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): DatasphereProjectSettings | cdktf.IResolvable | undefined; set internalValue(value: DatasphereProjectSettings | cdktf.IResolvable | undefined); private _dataProcClusterId?; get dataProcClusterId(): string; set dataProcClusterId(value: string); resetDataProcClusterId(): void; get dataProcClusterIdInput(): string; private _defaultFolderId?; get defaultFolderId(): string; set defaultFolderId(value: string); resetDefaultFolderId(): void; get defaultFolderIdInput(): string; private _securityGroupIds?; get securityGroupIds(): string[]; set securityGroupIds(value: string[]); resetSecurityGroupIds(): void; get securityGroupIdsInput(): string[]; private _serviceAccountId?; get serviceAccountId(): string; set serviceAccountId(value: string); resetServiceAccountId(): void; get serviceAccountIdInput(): string; private _staleExecTimeoutMode?; get staleExecTimeoutMode(): string; set staleExecTimeoutMode(value: string); resetStaleExecTimeoutMode(): void; get staleExecTimeoutModeInput(): string; private _subnetId?; get subnetId(): string; set subnetId(value: string); resetSubnetId(): void; get subnetIdInput(): string; } export interface DatasphereProjectTimeouts { /** * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/datasphere_project#create DatasphereProject#create} */ readonly create?: string; /** * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/datasphere_project#delete DatasphereProject#delete} */ readonly delete?: string; /** * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/datasphere_project#update DatasphereProject#update} */ readonly update?: string; } export declare function datasphereProjectTimeoutsToTerraform(struct?: DatasphereProjectTimeouts | cdktf.IResolvable): any; export declare function datasphereProjectTimeoutsToHclTerraform(struct?: DatasphereProjectTimeouts | cdktf.IResolvable): any; export declare class DatasphereProjectTimeoutsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): DatasphereProjectTimeouts | cdktf.IResolvable | undefined; set internalValue(value: DatasphereProjectTimeouts | cdktf.IResolvable | undefined); private _create?; get create(): string; set create(value: string); resetCreate(): void; get createInput(): string; private _delete?; get delete(): string; set delete(value: string); resetDelete(): void; get deleteInput(): string; private _update?; get update(): string; set update(value: string); resetUpdate(): void; get updateInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/datasphere_project yandex_datasphere_project} */ export declare class DatasphereProject extends cdktf.TerraformResource { static readonly tfResourceType = "yandex_datasphere_project"; /** * Generates CDKTF code for importing a DatasphereProject resource upon running "cdktf plan " * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the DatasphereProject to import * @param importFromId The id of the existing DatasphereProject that should be imported. Refer to the {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/datasphere_project#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the DatasphereProject to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any; /** * Create a new {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/datasphere_project yandex_datasphere_project} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options DatasphereProjectConfig */ constructor(scope: Construct, id: string, config: DatasphereProjectConfig); private _communityId?; get communityId(): string; set communityId(value: string); get communityIdInput(): string; get createdAt(): any; get createdBy(): any; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; get id(): any; private _labels?; get labels(): { [key: string]: string; }; set labels(value: { [key: string]: string; }); resetLabels(): void; get labelsInput(): { [key: string]: string; }; private _limits; get limits(): DatasphereProjectLimitsOutputReference; putLimits(value: DatasphereProjectLimits): void; resetLimits(): void; get limitsInput(): any; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _settings; get settings(): DatasphereProjectSettingsOutputReference; putSettings(value: DatasphereProjectSettings): void; resetSettings(): void; get settingsInput(): any; private _timeouts; get timeouts(): DatasphereProjectTimeoutsOutputReference; putTimeouts(value: DatasphereProjectTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }