import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface MetastoreClusterConfig extends cdktf.TerraformMetaArguments { /** * Hive Metastore cluster configuration. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/metastore_cluster#cluster_config MetastoreCluster#cluster_config} */ readonly clusterConfig: MetastoreClusterClusterConfig; /** * The `true` value means that resource is protected from accidental deletion. By default is set to `false`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/metastore_cluster#deletion_protection MetastoreCluster#deletion_protection} */ readonly deletionProtection?: boolean | cdktf.IResolvable; /** * The resource description. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/metastore_cluster#description MetastoreCluster#description} */ readonly description?: string; /** * The folder identifier that resource belongs to. If it is not provided, the default provider `folder-id` is used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/metastore_cluster#folder_id MetastoreCluster#folder_id} */ readonly folderId?: 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/metastore_cluster#labels MetastoreCluster#labels} */ readonly labels?: { [key: string]: string; }; /** * Cloud Logging configuration. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/metastore_cluster#logging MetastoreCluster#logging} */ readonly logging?: MetastoreClusterLogging; /** * Configuration of window for maintenance operations. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/metastore_cluster#maintenance_window MetastoreCluster#maintenance_window} */ readonly maintenanceWindow?: MetastoreClusterMaintenanceWindow; /** * The resource name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/metastore_cluster#name MetastoreCluster#name} */ readonly name: 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/metastore_cluster#security_group_ids MetastoreCluster#security_group_ids} */ readonly securityGroupIds?: string[]; /** * [Service account](https://yandex.cloud/docs/iam/concepts/users/service-accounts) with role `managed-metastore.integrationProvider`. For more information, see [documentation](https://yandex.cloud/docs/metadata-hub/concepts/metastore-impersonation). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/metastore_cluster#service_account_id MetastoreCluster#service_account_id} */ readonly serviceAccountId: string; /** * The list of VPC subnets identifiers which resource is attached. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/metastore_cluster#subnet_ids MetastoreCluster#subnet_ids} */ readonly subnetIds: string[]; /** * Metastore server version. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/metastore_cluster#version MetastoreCluster#version} */ readonly version?: string; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/metastore_cluster#timeouts MetastoreCluster#timeouts} */ readonly timeouts?: MetastoreClusterTimeouts; } export interface MetastoreClusterClusterConfig { /** * The identifier of the preset for computational resources available to an instance (CPU, memory etc.). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/metastore_cluster#resource_preset_id MetastoreCluster#resource_preset_id} */ readonly resourcePresetId: string; } export declare function metastoreClusterClusterConfigToTerraform(struct?: MetastoreClusterClusterConfig | cdktf.IResolvable): any; export declare function metastoreClusterClusterConfigToHclTerraform(struct?: MetastoreClusterClusterConfig | cdktf.IResolvable): any; export declare class MetastoreClusterClusterConfigOutputReference 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(): MetastoreClusterClusterConfig | cdktf.IResolvable | undefined; set internalValue(value: MetastoreClusterClusterConfig | cdktf.IResolvable | undefined); private _resourcePresetId?; get resourcePresetId(): string; set resourcePresetId(value: string); get resourcePresetIdInput(): string; } export interface MetastoreClusterLogging { /** * Enables delivery of logs generated by Metastore to [Cloud Logging](https://yandex.cloud/docs/logging/). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/metastore_cluster#enabled MetastoreCluster#enabled} */ readonly enabled: boolean | cdktf.IResolvable; /** * Logs will be written to **default log group** of specified folder. Exactly one of the attributes `folder_id` or `log_group_id` should be specified. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/metastore_cluster#folder_id MetastoreCluster#folder_id} */ readonly folderId?: string; /** * Logs will be written to the **specified log group**. Exactly one of the attributes `folder_id` or `log_group_id` should be specified. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/metastore_cluster#log_group_id MetastoreCluster#log_group_id} */ readonly logGroupId?: string; /** * Minimum level of messages that will be sent to Cloud Logging. Can be either `TRACE`, `DEBUG`, `INFO`, `WARN`, `ERROR` or `FATAL`. If not set then server default is applied (currently `INFO`). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/metastore_cluster#min_level MetastoreCluster#min_level} */ readonly minLevel?: string; } export declare function metastoreClusterLoggingToTerraform(struct?: MetastoreClusterLogging | cdktf.IResolvable): any; export declare function metastoreClusterLoggingToHclTerraform(struct?: MetastoreClusterLogging | cdktf.IResolvable): any; export declare class MetastoreClusterLoggingOutputReference 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(): MetastoreClusterLogging | cdktf.IResolvable | undefined; set internalValue(value: MetastoreClusterLogging | cdktf.IResolvable | undefined); private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); get enabledInput(): any; private _folderId?; get folderId(): string; set folderId(value: string); resetFolderId(): void; get folderIdInput(): string; private _logGroupId?; get logGroupId(): string; set logGroupId(value: string); resetLogGroupId(): void; get logGroupIdInput(): string; private _minLevel?; get minLevel(): string; set minLevel(value: string); resetMinLevel(): void; get minLevelInput(): string; } export interface MetastoreClusterMaintenanceWindow { /** * Day of week for maintenance window. One of `MON`, `TUE`, `WED`, `THU`, `FRI`, `SAT`, `SUN`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/metastore_cluster#day MetastoreCluster#day} */ readonly day?: string; /** * Hour of day in UTC time zone (1-24) for maintenance window. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/metastore_cluster#hour MetastoreCluster#hour} */ readonly hour?: number; /** * Type of maintenance window. Can be either `ANYTIME` or `WEEKLY`. If `WEEKLY`, day and hour must be specified. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/metastore_cluster#type MetastoreCluster#type} */ readonly type?: string; } export declare function metastoreClusterMaintenanceWindowToTerraform(struct?: MetastoreClusterMaintenanceWindow | cdktf.IResolvable): any; export declare function metastoreClusterMaintenanceWindowToHclTerraform(struct?: MetastoreClusterMaintenanceWindow | cdktf.IResolvable): any; export declare class MetastoreClusterMaintenanceWindowOutputReference 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(): MetastoreClusterMaintenanceWindow | cdktf.IResolvable | undefined; set internalValue(value: MetastoreClusterMaintenanceWindow | cdktf.IResolvable | undefined); private _day?; get day(): string; set day(value: string); resetDay(): void; get dayInput(): string; private _hour?; get hour(): number; set hour(value: number); resetHour(): void; get hourInput(): number; private _type?; get type(): string; set type(value: string); resetType(): void; get typeInput(): string; } export interface MetastoreClusterTimeouts { /** * 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/metastore_cluster#create MetastoreCluster#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/metastore_cluster#delete MetastoreCluster#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/metastore_cluster#update MetastoreCluster#update} */ readonly update?: string; } export declare function metastoreClusterTimeoutsToTerraform(struct?: MetastoreClusterTimeouts | cdktf.IResolvable): any; export declare function metastoreClusterTimeoutsToHclTerraform(struct?: MetastoreClusterTimeouts | cdktf.IResolvable): any; export declare class MetastoreClusterTimeoutsOutputReference 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(): MetastoreClusterTimeouts | cdktf.IResolvable | undefined; set internalValue(value: MetastoreClusterTimeouts | 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/metastore_cluster yandex_metastore_cluster} */ export declare class MetastoreCluster extends cdktf.TerraformResource { static readonly tfResourceType = "yandex_metastore_cluster"; /** * Generates CDKTF code for importing a MetastoreCluster 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 MetastoreCluster to import * @param importFromId The id of the existing MetastoreCluster that should be imported. Refer to the {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/metastore_cluster#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the MetastoreCluster 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/metastore_cluster yandex_metastore_cluster} 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 MetastoreClusterConfig */ constructor(scope: Construct, id: string, config: MetastoreClusterConfig); private _clusterConfig; get clusterConfig(): MetastoreClusterClusterConfigOutputReference; putClusterConfig(value: MetastoreClusterClusterConfig): void; get clusterConfigInput(): any; get createdAt(): any; private _deletionProtection?; get deletionProtection(): boolean | cdktf.IResolvable; set deletionProtection(value: boolean | cdktf.IResolvable); resetDeletionProtection(): void; get deletionProtectionInput(): any; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; get endpointIp(): any; private _folderId?; get folderId(): string; set folderId(value: string); resetFolderId(): void; get folderIdInput(): 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 _logging; get logging(): MetastoreClusterLoggingOutputReference; putLogging(value: MetastoreClusterLogging): void; resetLogging(): void; get loggingInput(): any; private _maintenanceWindow; get maintenanceWindow(): MetastoreClusterMaintenanceWindowOutputReference; putMaintenanceWindow(value: MetastoreClusterMaintenanceWindow): void; resetMaintenanceWindow(): void; get maintenanceWindowInput(): any; private _name?; get name(): string; set name(value: string); get nameInput(): string; get networkId(): any; private _securityGroupIds?; get securityGroupIds(): string[]; set securityGroupIds(value: string[]); resetSecurityGroupIds(): void; get securityGroupIdsInput(): string[]; private _serviceAccountId?; get serviceAccountId(): string; set serviceAccountId(value: string); get serviceAccountIdInput(): string; get status(): any; private _subnetIds?; get subnetIds(): string[]; set subnetIds(value: string[]); get subnetIdsInput(): string[]; private _version?; get version(): string; set version(value: string); resetVersion(): void; get versionInput(): string; private _timeouts; get timeouts(): MetastoreClusterTimeoutsOutputReference; putTimeouts(value: MetastoreClusterTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }