import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface MdbOpensearchClusterConfig extends cdktf.TerraformMetaArguments { /** * Authentication settings for Dashboards. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#auth_settings MdbOpensearchCluster#auth_settings} */ readonly authSettings?: MdbOpensearchClusterAuthSettings; /** * The ID of the OpenSearch cluster that the resource belongs to. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#cluster_id MdbOpensearchCluster#cluster_id} */ readonly clusterId?: string; /** * The `true` value means that resource is protected from accidental deletion. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#deletion_protection MdbOpensearchCluster#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/mdb_opensearch_cluster#description MdbOpensearchCluster#description} */ readonly description?: string; /** * ID of the KMS key for cluster disk encryption. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#disk_encryption_key_id MdbOpensearchCluster#disk_encryption_key_id} */ readonly diskEncryptionKeyId?: string; /** * Deployment environment of the OpenSearch cluster. Can be either `PRESTABLE` or `PRODUCTION`. Default: `PRODUCTION`. **It is not possible to change this value after cluster creation**. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#environment MdbOpensearchCluster#environment} */ readonly environment?: 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/mdb_opensearch_cluster#folder_id MdbOpensearchCluster#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/mdb_opensearch_cluster#labels MdbOpensearchCluster#labels} */ readonly labels?: { [key: string]: string; }; /** * Name of the OpenSearch cluster. The name must be unique within the folder. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#name MdbOpensearchCluster#name} */ readonly name: string; /** * The `VPC Network ID` of subnets which resource attached to. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#network_id MdbOpensearchCluster#network_id} */ readonly networkId: 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/mdb_opensearch_cluster#security_group_ids MdbOpensearchCluster#security_group_ids} */ readonly securityGroupIds?: string[]; /** * ID of the service account authorized for this cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#service_account_id MdbOpensearchCluster#service_account_id} */ readonly serviceAccountId?: string; /** * config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#config MdbOpensearchCluster#config} */ readonly config?: MdbOpensearchClusterConfigA; /** * maintenance_window block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#maintenance_window MdbOpensearchCluster#maintenance_window} */ readonly maintenanceWindow?: MdbOpensearchClusterMaintenanceWindow; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#timeouts MdbOpensearchCluster#timeouts} */ readonly timeouts?: MdbOpensearchClusterTimeouts; } export interface MdbOpensearchClusterAuthSettingsSaml { /** * Dashboards URL. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#dashboards_url MdbOpensearchCluster#dashboards_url} */ readonly dashboardsUrl: string; /** * Enables SAML authentication. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#enabled MdbOpensearchCluster#enabled} */ readonly enabled: boolean | cdktf.IResolvable; /** * ID of the SAML Identity Provider. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#idp_entity_id MdbOpensearchCluster#idp_entity_id} */ readonly idpEntityId: string; /** * Metadata file content of the SAML Identity Provider. You can either put file content manually or use [`file` function](https://developer.hashicorp.com/terraform/language/functions/file) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#idp_metadata_file_content MdbOpensearchCluster#idp_metadata_file_content} */ readonly idpMetadataFileContent: string; /** * Roles key. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#roles_key MdbOpensearchCluster#roles_key} */ readonly rolesKey?: string; /** * Service provider entity ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#sp_entity_id MdbOpensearchCluster#sp_entity_id} */ readonly spEntityId: string; /** * Subject key. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#subject_key MdbOpensearchCluster#subject_key} */ readonly subjectKey?: string; } export declare function mdbOpensearchClusterAuthSettingsSamlToTerraform(struct?: MdbOpensearchClusterAuthSettingsSaml | cdktf.IResolvable): any; export declare function mdbOpensearchClusterAuthSettingsSamlToHclTerraform(struct?: MdbOpensearchClusterAuthSettingsSaml | cdktf.IResolvable): any; export declare class MdbOpensearchClusterAuthSettingsSamlOutputReference 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(): MdbOpensearchClusterAuthSettingsSaml | cdktf.IResolvable | undefined; set internalValue(value: MdbOpensearchClusterAuthSettingsSaml | cdktf.IResolvable | undefined); private _dashboardsUrl?; get dashboardsUrl(): string; set dashboardsUrl(value: string); get dashboardsUrlInput(): string; private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); get enabledInput(): any; private _idpEntityId?; get idpEntityId(): string; set idpEntityId(value: string); get idpEntityIdInput(): string; private _idpMetadataFileContent?; get idpMetadataFileContent(): string; set idpMetadataFileContent(value: string); get idpMetadataFileContentInput(): string; private _rolesKey?; get rolesKey(): string; set rolesKey(value: string); resetRolesKey(): void; get rolesKeyInput(): string; private _spEntityId?; get spEntityId(): string; set spEntityId(value: string); get spEntityIdInput(): string; private _subjectKey?; get subjectKey(): string; set subjectKey(value: string); resetSubjectKey(): void; get subjectKeyInput(): string; } export interface MdbOpensearchClusterAuthSettings { /** * SAML authentication options. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#saml MdbOpensearchCluster#saml} */ readonly saml?: MdbOpensearchClusterAuthSettingsSaml; } export declare function mdbOpensearchClusterAuthSettingsToTerraform(struct?: MdbOpensearchClusterAuthSettings | cdktf.IResolvable): any; export declare function mdbOpensearchClusterAuthSettingsToHclTerraform(struct?: MdbOpensearchClusterAuthSettings | cdktf.IResolvable): any; export declare class MdbOpensearchClusterAuthSettingsOutputReference 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(): MdbOpensearchClusterAuthSettings | cdktf.IResolvable | undefined; set internalValue(value: MdbOpensearchClusterAuthSettings | cdktf.IResolvable | undefined); private _saml; get saml(): MdbOpensearchClusterAuthSettingsSamlOutputReference; putSaml(value: MdbOpensearchClusterAuthSettingsSaml): void; resetSaml(): void; get samlInput(): any; } export interface MdbOpensearchClusterHosts { /** * Sets whether the host should get a public IP address. Can be either `true` or `false`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#assign_public_ip MdbOpensearchCluster#assign_public_ip} */ readonly assignPublicIp?: boolean | cdktf.IResolvable; /** * The ID of the subnet, to which the host belongs. The subnet must be a part of the network to which the cluster belongs. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#subnet_id MdbOpensearchCluster#subnet_id} */ readonly subnetId?: string; } export declare function mdbOpensearchClusterHostsToTerraform(struct?: MdbOpensearchClusterHosts): any; export declare function mdbOpensearchClusterHostsToHclTerraform(struct?: MdbOpensearchClusterHosts): any; export declare class MdbOpensearchClusterHostsOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): MdbOpensearchClusterHosts | undefined; set internalValue(value: MdbOpensearchClusterHosts | undefined); private _assignPublicIp?; get assignPublicIp(): boolean | cdktf.IResolvable; set assignPublicIp(value: boolean | cdktf.IResolvable); resetAssignPublicIp(): void; get assignPublicIpInput(): any; get fqdn(): any; get nodeGroup(): any; get roles(): any; private _subnetId?; get subnetId(): string; set subnetId(value: string); resetSubnetId(): void; get subnetIdInput(): string; get type(): any; get zone(): any; } export declare class MdbOpensearchClusterHostsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: MdbOpensearchClusterHosts[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): MdbOpensearchClusterHostsOutputReference; } export interface MdbOpensearchClusterConfigAccess { /** * Enable access to the [Data Transfer](https://yandex.cloud/docs/data-transfer) service. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#data_transfer MdbOpensearchCluster#data_transfer} */ readonly dataTransfer?: boolean | cdktf.IResolvable; /** * Enable access to the [Cloud Functions](https://yandex.cloud/docs/functions) service. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#serverless MdbOpensearchCluster#serverless} */ readonly serverless?: boolean | cdktf.IResolvable; } export declare function mdbOpensearchClusterConfigAccessToTerraform(struct?: MdbOpensearchClusterConfigAccess | cdktf.IResolvable): any; export declare function mdbOpensearchClusterConfigAccessToHclTerraform(struct?: MdbOpensearchClusterConfigAccess | cdktf.IResolvable): any; export declare class MdbOpensearchClusterConfigAccessOutputReference 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(): MdbOpensearchClusterConfigAccess | cdktf.IResolvable | undefined; set internalValue(value: MdbOpensearchClusterConfigAccess | cdktf.IResolvable | undefined); private _dataTransfer?; get dataTransfer(): boolean | cdktf.IResolvable; set dataTransfer(value: boolean | cdktf.IResolvable); resetDataTransfer(): void; get dataTransferInput(): any; private _serverless?; get serverless(): boolean | cdktf.IResolvable; set serverless(value: boolean | cdktf.IResolvable); resetServerless(): void; get serverlessInput(): any; } export interface MdbOpensearchClusterConfigDashboardsNodeGroupsResources { /** * Volume of the storage available to a host, in bytes. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#disk_size MdbOpensearchCluster#disk_size} */ readonly diskSize: number; /** * Type of the storage of OpenSearch hosts. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#disk_type_id MdbOpensearchCluster#disk_type_id} */ readonly diskTypeId: string; /** * The ID of the preset for computational resources available to a host (CPU, memory etc.). For more information, see [the official documentation](https://yandex.cloud/docs/managed-opensearch/concepts). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#resource_preset_id MdbOpensearchCluster#resource_preset_id} */ readonly resourcePresetId: string; } export declare function mdbOpensearchClusterConfigDashboardsNodeGroupsResourcesToTerraform(struct?: MdbOpensearchClusterConfigDashboardsNodeGroupsResources | cdktf.IResolvable): any; export declare function mdbOpensearchClusterConfigDashboardsNodeGroupsResourcesToHclTerraform(struct?: MdbOpensearchClusterConfigDashboardsNodeGroupsResources | cdktf.IResolvable): any; export declare class MdbOpensearchClusterConfigDashboardsNodeGroupsResourcesOutputReference 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(): MdbOpensearchClusterConfigDashboardsNodeGroupsResources | cdktf.IResolvable | undefined; set internalValue(value: MdbOpensearchClusterConfigDashboardsNodeGroupsResources | cdktf.IResolvable | undefined); private _diskSize?; get diskSize(): number; set diskSize(value: number); get diskSizeInput(): number; private _diskTypeId?; get diskTypeId(): string; set diskTypeId(value: string); get diskTypeIdInput(): string; private _resourcePresetId?; get resourcePresetId(): string; set resourcePresetId(value: string); get resourcePresetIdInput(): string; } export interface MdbOpensearchClusterConfigDashboardsNodeGroups { /** * Sets whether the hosts should get a public IP address. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#assign_public_ip MdbOpensearchCluster#assign_public_ip} */ readonly assignPublicIp?: boolean | cdktf.IResolvable; /** * Number of hosts in this node group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#hosts_count MdbOpensearchCluster#hosts_count} */ readonly hostsCount: number; /** * Name of OpenSearch node group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#name MdbOpensearchCluster#name} */ readonly name: string; /** * A set of the subnets, to which the hosts belongs. The subnets must be a part of the network to which the cluster belongs. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#subnet_ids MdbOpensearchCluster#subnet_ids} */ readonly subnetIds?: string[]; /** * A set of availability zones where hosts of node group may be allocated. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#zone_ids MdbOpensearchCluster#zone_ids} */ readonly zoneIds: string[]; /** * resources block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#resources MdbOpensearchCluster#resources} */ readonly resources: MdbOpensearchClusterConfigDashboardsNodeGroupsResources; } export declare function mdbOpensearchClusterConfigDashboardsNodeGroupsToTerraform(struct?: MdbOpensearchClusterConfigDashboardsNodeGroups | cdktf.IResolvable): any; export declare function mdbOpensearchClusterConfigDashboardsNodeGroupsToHclTerraform(struct?: MdbOpensearchClusterConfigDashboardsNodeGroups | cdktf.IResolvable): any; export declare class MdbOpensearchClusterConfigDashboardsNodeGroupsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): MdbOpensearchClusterConfigDashboardsNodeGroups | cdktf.IResolvable | undefined; set internalValue(value: MdbOpensearchClusterConfigDashboardsNodeGroups | cdktf.IResolvable | undefined); private _assignPublicIp?; get assignPublicIp(): boolean | cdktf.IResolvable; set assignPublicIp(value: boolean | cdktf.IResolvable); resetAssignPublicIp(): void; get assignPublicIpInput(): any; private _hostsCount?; get hostsCount(): number; set hostsCount(value: number); get hostsCountInput(): number; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _subnetIds?; get subnetIds(): string[]; set subnetIds(value: string[]); resetSubnetIds(): void; get subnetIdsInput(): string[]; private _zoneIds?; get zoneIds(): string[]; set zoneIds(value: string[]); get zoneIdsInput(): string[]; private _resources; get resources(): MdbOpensearchClusterConfigDashboardsNodeGroupsResourcesOutputReference; putResources(value: MdbOpensearchClusterConfigDashboardsNodeGroupsResources): void; get resourcesInput(): any; } export declare class MdbOpensearchClusterConfigDashboardsNodeGroupsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: MdbOpensearchClusterConfigDashboardsNodeGroups[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): MdbOpensearchClusterConfigDashboardsNodeGroupsOutputReference; } export interface MdbOpensearchClusterConfigDashboards { /** * node_groups block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#node_groups MdbOpensearchCluster#node_groups} */ readonly nodeGroups?: MdbOpensearchClusterConfigDashboardsNodeGroups[] | cdktf.IResolvable; } export declare function mdbOpensearchClusterConfigDashboardsToTerraform(struct?: MdbOpensearchClusterConfigDashboards | cdktf.IResolvable): any; export declare function mdbOpensearchClusterConfigDashboardsToHclTerraform(struct?: MdbOpensearchClusterConfigDashboards | cdktf.IResolvable): any; export declare class MdbOpensearchClusterConfigDashboardsOutputReference 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(): MdbOpensearchClusterConfigDashboards | cdktf.IResolvable | undefined; set internalValue(value: MdbOpensearchClusterConfigDashboards | cdktf.IResolvable | undefined); private _nodeGroups; get nodeGroups(): MdbOpensearchClusterConfigDashboardsNodeGroupsList; putNodeGroups(value: MdbOpensearchClusterConfigDashboardsNodeGroups[] | cdktf.IResolvable): void; resetNodeGroups(): void; get nodeGroupsInput(): any; } export interface MdbOpensearchClusterConfigOpensearchNodeGroupsDiskSizeAutoscaling { /** * The overall maximum for disk size that limit all autoscaling iterations. See the [documentation](https://yandex.cloud/en/docs/managed-opensearch/concepts/storage#auto-rescale) for details. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#disk_size_limit MdbOpensearchCluster#disk_size_limit} */ readonly diskSizeLimit: number; /** * Threshold of storage usage (in percent) that triggers immediate automatic scaling of the storage. Zero value means disabled threshold. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#emergency_usage_threshold MdbOpensearchCluster#emergency_usage_threshold} */ readonly emergencyUsageThreshold?: number; /** * Threshold of storage usage (in percent) that triggers automatic scaling of the storage during the maintenance window. Zero value means disabled threshold. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#planned_usage_threshold MdbOpensearchCluster#planned_usage_threshold} */ readonly plannedUsageThreshold?: number; } export declare function mdbOpensearchClusterConfigOpensearchNodeGroupsDiskSizeAutoscalingToTerraform(struct?: MdbOpensearchClusterConfigOpensearchNodeGroupsDiskSizeAutoscaling | cdktf.IResolvable): any; export declare function mdbOpensearchClusterConfigOpensearchNodeGroupsDiskSizeAutoscalingToHclTerraform(struct?: MdbOpensearchClusterConfigOpensearchNodeGroupsDiskSizeAutoscaling | cdktf.IResolvable): any; export declare class MdbOpensearchClusterConfigOpensearchNodeGroupsDiskSizeAutoscalingOutputReference 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(): MdbOpensearchClusterConfigOpensearchNodeGroupsDiskSizeAutoscaling | cdktf.IResolvable | undefined; set internalValue(value: MdbOpensearchClusterConfigOpensearchNodeGroupsDiskSizeAutoscaling | cdktf.IResolvable | undefined); private _diskSizeLimit?; get diskSizeLimit(): number; set diskSizeLimit(value: number); get diskSizeLimitInput(): number; private _emergencyUsageThreshold?; get emergencyUsageThreshold(): number; set emergencyUsageThreshold(value: number); resetEmergencyUsageThreshold(): void; get emergencyUsageThresholdInput(): number; private _plannedUsageThreshold?; get plannedUsageThreshold(): number; set plannedUsageThreshold(value: number); resetPlannedUsageThreshold(): void; get plannedUsageThresholdInput(): number; } export interface MdbOpensearchClusterConfigOpensearchNodeGroupsResources { /** * Volume of the storage available to a host, in bytes. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#disk_size MdbOpensearchCluster#disk_size} */ readonly diskSize: number; /** * Type of the storage of OpenSearch hosts. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#disk_type_id MdbOpensearchCluster#disk_type_id} */ readonly diskTypeId: string; /** * The ID of the preset for computational resources available to a host (CPU, memory etc.). For more information, see [the official documentation](https://yandex.cloud/docs/managed-opensearch/concepts). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#resource_preset_id MdbOpensearchCluster#resource_preset_id} */ readonly resourcePresetId: string; } export declare function mdbOpensearchClusterConfigOpensearchNodeGroupsResourcesToTerraform(struct?: MdbOpensearchClusterConfigOpensearchNodeGroupsResources | cdktf.IResolvable): any; export declare function mdbOpensearchClusterConfigOpensearchNodeGroupsResourcesToHclTerraform(struct?: MdbOpensearchClusterConfigOpensearchNodeGroupsResources | cdktf.IResolvable): any; export declare class MdbOpensearchClusterConfigOpensearchNodeGroupsResourcesOutputReference 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(): MdbOpensearchClusterConfigOpensearchNodeGroupsResources | cdktf.IResolvable | undefined; set internalValue(value: MdbOpensearchClusterConfigOpensearchNodeGroupsResources | cdktf.IResolvable | undefined); private _diskSize?; get diskSize(): number; set diskSize(value: number); get diskSizeInput(): number; private _diskTypeId?; get diskTypeId(): string; set diskTypeId(value: string); get diskTypeIdInput(): string; private _resourcePresetId?; get resourcePresetId(): string; set resourcePresetId(value: string); get resourcePresetIdInput(): string; } export interface MdbOpensearchClusterConfigOpensearchNodeGroups { /** * Sets whether the hosts should get a public IP address. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#assign_public_ip MdbOpensearchCluster#assign_public_ip} */ readonly assignPublicIp?: boolean | cdktf.IResolvable; /** * Node group disk size autoscaling settings. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#disk_size_autoscaling MdbOpensearchCluster#disk_size_autoscaling} */ readonly diskSizeAutoscaling?: MdbOpensearchClusterConfigOpensearchNodeGroupsDiskSizeAutoscaling; /** * Number of hosts in this node group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#hosts_count MdbOpensearchCluster#hosts_count} */ readonly hostsCount: number; /** * Name of OpenSearch node group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#name MdbOpensearchCluster#name} */ readonly name: string; /** * A set of OpenSearch roles assigned to hosts. Available roles are: `DATA`, `MANAGER`. Default: [`DATA`, `MANAGER`]. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#roles MdbOpensearchCluster#roles} */ readonly roles: string[]; /** * A set of the subnets, to which the hosts belongs. The subnets must be a part of the network to which the cluster belongs. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#subnet_ids MdbOpensearchCluster#subnet_ids} */ readonly subnetIds?: string[]; /** * A set of availability zones where hosts of node group may be allocated. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#zone_ids MdbOpensearchCluster#zone_ids} */ readonly zoneIds: string[]; /** * resources block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#resources MdbOpensearchCluster#resources} */ readonly resources: MdbOpensearchClusterConfigOpensearchNodeGroupsResources; } export declare function mdbOpensearchClusterConfigOpensearchNodeGroupsToTerraform(struct?: MdbOpensearchClusterConfigOpensearchNodeGroups | cdktf.IResolvable): any; export declare function mdbOpensearchClusterConfigOpensearchNodeGroupsToHclTerraform(struct?: MdbOpensearchClusterConfigOpensearchNodeGroups | cdktf.IResolvable): any; export declare class MdbOpensearchClusterConfigOpensearchNodeGroupsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): MdbOpensearchClusterConfigOpensearchNodeGroups | cdktf.IResolvable | undefined; set internalValue(value: MdbOpensearchClusterConfigOpensearchNodeGroups | cdktf.IResolvable | undefined); private _assignPublicIp?; get assignPublicIp(): boolean | cdktf.IResolvable; set assignPublicIp(value: boolean | cdktf.IResolvable); resetAssignPublicIp(): void; get assignPublicIpInput(): any; private _diskSizeAutoscaling; get diskSizeAutoscaling(): MdbOpensearchClusterConfigOpensearchNodeGroupsDiskSizeAutoscalingOutputReference; putDiskSizeAutoscaling(value: MdbOpensearchClusterConfigOpensearchNodeGroupsDiskSizeAutoscaling): void; resetDiskSizeAutoscaling(): void; get diskSizeAutoscalingInput(): any; private _hostsCount?; get hostsCount(): number; set hostsCount(value: number); get hostsCountInput(): number; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _roles?; get roles(): string[]; set roles(value: string[]); get rolesInput(): string[]; private _subnetIds?; get subnetIds(): string[]; set subnetIds(value: string[]); resetSubnetIds(): void; get subnetIdsInput(): string[]; private _zoneIds?; get zoneIds(): string[]; set zoneIds(value: string[]); get zoneIdsInput(): string[]; private _resources; get resources(): MdbOpensearchClusterConfigOpensearchNodeGroupsResourcesOutputReference; putResources(value: MdbOpensearchClusterConfigOpensearchNodeGroupsResources): void; get resourcesInput(): any; } export declare class MdbOpensearchClusterConfigOpensearchNodeGroupsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: MdbOpensearchClusterConfigOpensearchNodeGroups[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): MdbOpensearchClusterConfigOpensearchNodeGroupsOutputReference; } export interface MdbOpensearchClusterConfigOpensearch { /** * A set of requested OpenSearch plugins. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#plugins MdbOpensearchCluster#plugins} */ readonly plugins?: string[]; /** * node_groups block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#node_groups MdbOpensearchCluster#node_groups} */ readonly nodeGroups?: MdbOpensearchClusterConfigOpensearchNodeGroups[] | cdktf.IResolvable; } export declare function mdbOpensearchClusterConfigOpensearchToTerraform(struct?: MdbOpensearchClusterConfigOpensearch | cdktf.IResolvable): any; export declare function mdbOpensearchClusterConfigOpensearchToHclTerraform(struct?: MdbOpensearchClusterConfigOpensearch | cdktf.IResolvable): any; export declare class MdbOpensearchClusterConfigOpensearchOutputReference 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(): MdbOpensearchClusterConfigOpensearch | cdktf.IResolvable | undefined; set internalValue(value: MdbOpensearchClusterConfigOpensearch | cdktf.IResolvable | undefined); private _plugins?; get plugins(): string[]; set plugins(value: string[]); resetPlugins(): void; get pluginsInput(): string[]; private _nodeGroups; get nodeGroups(): MdbOpensearchClusterConfigOpensearchNodeGroupsList; putNodeGroups(value: MdbOpensearchClusterConfigOpensearchNodeGroups[] | cdktf.IResolvable): void; resetNodeGroups(): void; get nodeGroupsInput(): any; } export interface MdbOpensearchClusterConfigA { /** * Password for admin user of OpenSearch. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#admin_password MdbOpensearchCluster#admin_password} */ readonly adminPassword: string; /** * Version of OpenSearch. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#version MdbOpensearchCluster#version} */ readonly version?: string; /** * access block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#access MdbOpensearchCluster#access} */ readonly access?: MdbOpensearchClusterConfigAccess; /** * dashboards block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#dashboards MdbOpensearchCluster#dashboards} */ readonly dashboards?: MdbOpensearchClusterConfigDashboards; /** * opensearch block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#opensearch MdbOpensearchCluster#opensearch} */ readonly opensearch?: MdbOpensearchClusterConfigOpensearch; } export declare function mdbOpensearchClusterConfigAToTerraform(struct?: MdbOpensearchClusterConfigA | cdktf.IResolvable): any; export declare function mdbOpensearchClusterConfigAToHclTerraform(struct?: MdbOpensearchClusterConfigA | cdktf.IResolvable): any; export declare class MdbOpensearchClusterConfigAOutputReference 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(): MdbOpensearchClusterConfigA | cdktf.IResolvable | undefined; set internalValue(value: MdbOpensearchClusterConfigA | cdktf.IResolvable | undefined); private _adminPassword?; get adminPassword(): string; set adminPassword(value: string); get adminPasswordInput(): string; private _version?; get version(): string; set version(value: string); resetVersion(): void; get versionInput(): string; private _access; get access(): MdbOpensearchClusterConfigAccessOutputReference; putAccess(value: MdbOpensearchClusterConfigAccess): void; resetAccess(): void; get accessInput(): any; private _dashboards; get dashboards(): MdbOpensearchClusterConfigDashboardsOutputReference; putDashboards(value: MdbOpensearchClusterConfigDashboards): void; resetDashboards(): void; get dashboardsInput(): any; private _opensearch; get opensearch(): MdbOpensearchClusterConfigOpensearchOutputReference; putOpensearch(value: MdbOpensearchClusterConfigOpensearch): void; resetOpensearch(): void; get opensearchInput(): any; } export interface MdbOpensearchClusterMaintenanceWindow { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#day MdbOpensearchCluster#day} */ readonly day?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#hour MdbOpensearchCluster#hour} */ readonly hour?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#type MdbOpensearchCluster#type} */ readonly type: string; } export declare function mdbOpensearchClusterMaintenanceWindowToTerraform(struct?: MdbOpensearchClusterMaintenanceWindow | cdktf.IResolvable): any; export declare function mdbOpensearchClusterMaintenanceWindowToHclTerraform(struct?: MdbOpensearchClusterMaintenanceWindow | cdktf.IResolvable): any; export declare class MdbOpensearchClusterMaintenanceWindowOutputReference 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(): MdbOpensearchClusterMaintenanceWindow | cdktf.IResolvable | undefined; set internalValue(value: MdbOpensearchClusterMaintenanceWindow | 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); get typeInput(): string; } export interface MdbOpensearchClusterTimeouts { /** * 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/mdb_opensearch_cluster#create MdbOpensearchCluster#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/mdb_opensearch_cluster#delete MdbOpensearchCluster#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/mdb_opensearch_cluster#update MdbOpensearchCluster#update} */ readonly update?: string; } export declare function mdbOpensearchClusterTimeoutsToTerraform(struct?: MdbOpensearchClusterTimeouts | cdktf.IResolvable): any; export declare function mdbOpensearchClusterTimeoutsToHclTerraform(struct?: MdbOpensearchClusterTimeouts | cdktf.IResolvable): any; export declare class MdbOpensearchClusterTimeoutsOutputReference 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(): MdbOpensearchClusterTimeouts | cdktf.IResolvable | undefined; set internalValue(value: MdbOpensearchClusterTimeouts | 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/mdb_opensearch_cluster yandex_mdb_opensearch_cluster} */ export declare class MdbOpensearchCluster extends cdktf.TerraformResource { static readonly tfResourceType = "yandex_mdb_opensearch_cluster"; /** * Generates CDKTF code for importing a MdbOpensearchCluster 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 MdbOpensearchCluster to import * @param importFromId The id of the existing MdbOpensearchCluster that should be imported. Refer to the {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_opensearch_cluster#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the MdbOpensearchCluster 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/mdb_opensearch_cluster yandex_mdb_opensearch_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 MdbOpensearchClusterConfig */ constructor(scope: Construct, id: string, config: MdbOpensearchClusterConfig); private _authSettings; get authSettings(): MdbOpensearchClusterAuthSettingsOutputReference; putAuthSettings(value: MdbOpensearchClusterAuthSettings): void; resetAuthSettings(): void; get authSettingsInput(): any; private _clusterId?; get clusterId(): string; set clusterId(value: string); resetClusterId(): void; get clusterIdInput(): string; 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; private _diskEncryptionKeyId?; get diskEncryptionKeyId(): string; set diskEncryptionKeyId(value: string); resetDiskEncryptionKeyId(): void; get diskEncryptionKeyIdInput(): string; private _environment?; get environment(): string; set environment(value: string); resetEnvironment(): void; get environmentInput(): string; private _folderId?; get folderId(): string; set folderId(value: string); resetFolderId(): void; get folderIdInput(): string; get health(): any; private _hosts; get hosts(): MdbOpensearchClusterHostsList; get id(): any; private _labels?; get labels(): { [key: string]: string; }; set labels(value: { [key: string]: string; }); resetLabels(): void; get labelsInput(): { [key: string]: string; }; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _networkId?; get networkId(): string; set networkId(value: string); get networkIdInput(): 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; get status(): any; private _config; get config(): MdbOpensearchClusterConfigAOutputReference; putConfig(value: MdbOpensearchClusterConfigA): void; resetConfig(): void; get configInput(): any; private _maintenanceWindow; get maintenanceWindow(): MdbOpensearchClusterMaintenanceWindowOutputReference; putMaintenanceWindow(value: MdbOpensearchClusterMaintenanceWindow): void; resetMaintenanceWindow(): void; get maintenanceWindowInput(): any; private _timeouts; get timeouts(): MdbOpensearchClusterTimeoutsOutputReference; putTimeouts(value: MdbOpensearchClusterTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }