import * as core from "@terrascript/core"; export interface DomainEndpointOptionsArgs extends core.SchemaArgs { customEndpoint?: string | core.StringOut; customEndpointCertificateArn?: string | core.StringOut; customEndpointEnabled?: boolean | core.BooleanOut; enforceHttps?: boolean | core.BooleanOut; tlsSecurityPolicy?: string | core.StringOut; } export declare class DomainEndpointOptions extends core.Schema { customEndpoint?: string | core.StringOut; customEndpointCertificateArn?: string | core.StringOut; customEndpointEnabled?: boolean | core.BooleanOut; enforceHttps?: boolean | core.BooleanOut; tlsSecurityPolicy?: string | core.StringOut; } export interface EncryptAtRestArgs extends core.SchemaArgs { enabled: boolean | core.BooleanOut; kmsKeyId?: string | core.StringOut; } export declare class EncryptAtRest extends core.Schema { enabled: boolean | core.BooleanOut; kmsKeyId?: string | core.StringOut; } export interface ZoneAwarenessConfigArgs extends core.SchemaArgs { availabilityZoneCount?: number | core.NumberOut; } export declare class ZoneAwarenessConfig extends core.Schema { availabilityZoneCount?: number | core.NumberOut; } export interface ColdStorageOptionsArgs extends core.SchemaArgs { enabled?: boolean | core.BooleanOut; } export declare class ColdStorageOptions extends core.Schema { enabled?: boolean | core.BooleanOut; } export interface ClusterConfigArgs extends core.SchemaArgs { coldStorageOptions?: ColdStorageOptions; dedicatedMasterCount?: number | core.NumberOut; dedicatedMasterEnabled?: boolean | core.BooleanOut; dedicatedMasterType?: string | core.StringOut; instanceCount?: number | core.NumberOut; instanceType?: string | core.StringOut; warmCount?: number | core.NumberOut; warmEnabled?: boolean | core.BooleanOut; warmType?: string | core.StringOut; zoneAwarenessConfig?: ZoneAwarenessConfig; zoneAwarenessEnabled?: boolean | core.BooleanOut; } export declare class ClusterConfig extends core.Schema { coldStorageOptions?: ColdStorageOptions; dedicatedMasterCount?: number | core.NumberOut; dedicatedMasterEnabled?: boolean | core.BooleanOut; dedicatedMasterType?: string | core.StringOut; instanceCount?: number | core.NumberOut; instanceType?: string | core.StringOut; warmCount?: number | core.NumberOut; warmEnabled?: boolean | core.BooleanOut; warmType?: string | core.StringOut; zoneAwarenessConfig?: ZoneAwarenessConfig; zoneAwarenessEnabled?: boolean | core.BooleanOut; } export interface EbsOptionsArgs extends core.SchemaArgs { ebsEnabled: boolean | core.BooleanOut; iops?: number | core.NumberOut; throughput?: number | core.NumberOut; volumeSize?: number | core.NumberOut; volumeType?: string | core.StringOut; } export declare class EbsOptions extends core.Schema { ebsEnabled: boolean | core.BooleanOut; iops?: number | core.NumberOut; throughput?: number | core.NumberOut; volumeSize?: number | core.NumberOut; volumeType?: string | core.StringOut; } export interface NodeToNodeEncryptionArgs extends core.SchemaArgs { enabled: boolean | core.BooleanOut; } export declare class NodeToNodeEncryption extends core.Schema { enabled: boolean | core.BooleanOut; } export interface LogPublishingOptionsArgs extends core.SchemaArgs { cloudwatchLogGroupArn: string | core.StringOut; enabled?: boolean | core.BooleanOut; logType: string | core.StringOut; } export declare class LogPublishingOptions extends core.Schema { cloudwatchLogGroupArn: string | core.StringOut; enabled?: boolean | core.BooleanOut; logType: string | core.StringOut; } export interface MasterUserOptionsArgs extends core.SchemaArgs { masterUserArn?: string | core.StringOut; masterUserName?: string | core.StringOut; masterUserPassword?: string | core.StringOut; } export declare class MasterUserOptions extends core.Schema { masterUserArn?: string | core.StringOut; masterUserName?: string | core.StringOut; masterUserPassword?: string | core.StringOut; } export interface AdvancedSecurityOptionsArgs extends core.SchemaArgs { enabled: boolean | core.BooleanOut; internalUserDatabaseEnabled?: boolean | core.BooleanOut; masterUserOptions?: MasterUserOptions; } export declare class AdvancedSecurityOptions extends core.Schema { enabled: boolean | core.BooleanOut; internalUserDatabaseEnabled?: boolean | core.BooleanOut; masterUserOptions?: MasterUserOptions; } export interface SnapshotOptionsArgs extends core.SchemaArgs { automatedSnapshotStartHour: number | core.NumberOut; } export declare class SnapshotOptions extends core.Schema { automatedSnapshotStartHour: number | core.NumberOut; } export interface CognitoOptionsArgs extends core.SchemaArgs { enabled?: boolean | core.BooleanOut; identityPoolId: string | core.StringOut; roleArn: string | core.StringOut; userPoolId: string | core.StringOut; } export declare class CognitoOptions extends core.Schema { enabled?: boolean | core.BooleanOut; identityPoolId: string | core.StringOut; roleArn: string | core.StringOut; userPoolId: string | core.StringOut; } export interface DurationArgs extends core.SchemaArgs { unit: string | core.StringOut; value: number | core.NumberOut; } export declare class Duration extends core.Schema { unit: string | core.StringOut; value: number | core.NumberOut; } export interface MaintenanceScheduleArgs extends core.SchemaArgs { cronExpressionForRecurrence: string | core.StringOut; duration: Duration; startAt: string | core.StringOut; } export declare class MaintenanceSchedule extends core.Schema { cronExpressionForRecurrence: string | core.StringOut; duration: Duration; startAt: string | core.StringOut; } export interface AutoTuneOptionsArgs extends core.SchemaArgs { desiredState: string | core.StringOut; maintenanceSchedule?: core.Array | core.ArrayOut; rollbackOnDisable?: string | core.StringOut; } export declare class AutoTuneOptions extends core.Schema { desiredState: string | core.StringOut; maintenanceSchedule?: core.Array | core.ArrayOut; rollbackOnDisable?: string | core.StringOut; } export interface VpcOptionsArgs extends core.SchemaArgs { availabilityZones: core.Array | core.ArrayOut; securityGroupIds?: core.Array | core.ArrayOut; subnetIds?: core.Array | core.ArrayOut; vpcId: string | core.StringOut; } export declare class VpcOptions extends core.Schema { availabilityZones: core.Array | core.ArrayOut; securityGroupIds?: core.Array | core.ArrayOut; subnetIds?: core.Array | core.ArrayOut; vpcId: string | core.StringOut; } export interface DomainArgs extends core.ResourceArgs { /** * (Optional) IAM policy document specifying the access policies for the domain. */ accessPolicies?: string | core.StringOut; /** * (Optional) Key-value string pairs to specify advanced configuration options. Note that the values fo * r these configuration options must be strings (wrapped in quotes) or they may be wrong and cause a p * erpetual diff, causing Terraform to want to recreate your OpenSearch domain on every apply. */ advancedOptions?: core.Map | core.MapOut; /** * (Optional) Configuration block for [fine-grained access control](https://docs.aws.amazon.com/opensea * rch-service/latest/developerguide/fgac.html). Detailed below. */ advancedSecurityOptions?: AdvancedSecurityOptions; /** * (Optional) Configuration block for the Auto-Tune options of the domain. Detailed below. */ autoTuneOptions?: AutoTuneOptions; /** * (Optional) Configuration block for the cluster of the domain. Detailed below. */ clusterConfig?: ClusterConfig; /** * (Optional) Configuration block for authenticating Kibana with Cognito. Detailed below. */ cognitoOptions?: CognitoOptions; /** * (Optional) Configuration block for domain endpoint HTTP(S) related options. Detailed below. */ domainEndpointOptions?: DomainEndpointOptions; /** * (Required) Name of the domain. */ domainName: string | core.StringOut; /** * (Optional) Configuration block for EBS related options, may be required based on chosen [instance si * ze](https://aws.amazon.com/opensearch-service/pricing/). Detailed below. */ ebsOptions?: EbsOptions; /** * (Optional) Configuration block for encrypt at rest options. Only available for [certain instance typ * es](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/encryption-at-rest.html). D * etailed below. */ encryptAtRest?: EncryptAtRest; /** * (Optional) Either `Elasticsearch_X.Y` or `OpenSearch_X.Y` to specify the engine version for the Amaz * on OpenSearch Service domain. For example, `OpenSearch_1.0` or `Elasticsearch_7.9`. See [Creating an * d managing Amazon OpenSearch Service domains](http://docs.aws.amazon.com/opensearch-service/latest/d * eveloperguide/createupdatedomains.html#createdomains). Defaults to `OpenSearch_1.1`. */ engineVersion?: string | core.StringOut; /** * (Optional) Configuration block for publishing slow and application logs to CloudWatch Logs. This blo * ck can be declared multiple times, for each log_type, within the same resource. Detailed below. */ logPublishingOptions?: core.Array | core.ArrayOut; /** * (Optional) Configuration block for node-to-node encryption options. Detailed below. */ nodeToNodeEncryption?: NodeToNodeEncryption; /** * (Optional) Configuration block for snapshot related options. Detailed below. DEPRECATED. For domains * running OpenSearch 5.3 and later, Amazon OpenSearch takes hourly automated snapshots, making this s * etting irrelevant. For domains running earlier versions, OpenSearch takes daily automated snapshots. */ snapshotOptions?: SnapshotOptions; /** * (Optional) Map of tags to assign to the resource. If configured with a provider [`default_tags` conf * iguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-conf * iguration-block) present, tags with matching keys will overwrite those defined at the provider-level * . */ tags?: core.Map | core.MapOut; /** * Map of tags assigned to the resource, including those inherited from the provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block). */ tagsAll?: core.Map | core.MapOut; /** * (Optional) Configuration block for VPC related options. Adding or removing this configuration forces * a new resource ([documentation](https://docs.aws.amazon.com/opensearch-service/latest/developerguid * e/vpc.html)). Detailed below. */ vpcOptions?: VpcOptions; } export declare class Domain extends core.Resource { /** * (Optional) IAM policy document specifying the access policies for the domain. */ accessPolicies?: string | core.StringOut; /** * (Optional) Key-value string pairs to specify advanced configuration options. Note that the values fo * r these configuration options must be strings (wrapped in quotes) or they may be wrong and cause a p * erpetual diff, causing Terraform to want to recreate your OpenSearch domain on every apply. */ advancedOptions?: core.Map | core.MapOut; /** * (Optional) Configuration block for [fine-grained access control](https://docs.aws.amazon.com/opensea * rch-service/latest/developerguide/fgac.html). Detailed below. */ advancedSecurityOptions?: AdvancedSecurityOptions; /** * ARN of the domain. */ arn: string | core.StringOut; /** * (Optional) Configuration block for the Auto-Tune options of the domain. Detailed below. */ autoTuneOptions?: AutoTuneOptions; /** * (Optional) Configuration block for the cluster of the domain. Detailed below. */ clusterConfig?: ClusterConfig; /** * (Optional) Configuration block for authenticating Kibana with Cognito. Detailed below. */ cognitoOptions?: CognitoOptions; /** * (Optional) Configuration block for domain endpoint HTTP(S) related options. Detailed below. */ domainEndpointOptions?: DomainEndpointOptions; /** * Unique identifier for the domain. */ domainId: string | core.StringOut; /** * (Required) Name of the domain. */ domainName: string | core.StringOut; /** * (Optional) Configuration block for EBS related options, may be required based on chosen [instance si * ze](https://aws.amazon.com/opensearch-service/pricing/). Detailed below. */ ebsOptions?: EbsOptions; /** * (Optional) Configuration block for encrypt at rest options. Only available for [certain instance typ * es](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/encryption-at-rest.html). D * etailed below. */ encryptAtRest?: EncryptAtRest; /** * Domain-specific endpoint used to submit index, search, and data upload requests. */ endpoint: string | core.StringOut; /** * (Optional) Either `Elasticsearch_X.Y` or `OpenSearch_X.Y` to specify the engine version for the Amaz * on OpenSearch Service domain. For example, `OpenSearch_1.0` or `Elasticsearch_7.9`. See [Creating an * d managing Amazon OpenSearch Service domains](http://docs.aws.amazon.com/opensearch-service/latest/d * eveloperguide/createupdatedomains.html#createdomains). Defaults to `OpenSearch_1.1`. */ engineVersion?: string | core.StringOut; id: string | core.StringOut; /** * Domain-specific endpoint for kibana without https scheme. */ kibanaEndpoint: string | core.StringOut; /** * (Optional) Configuration block for publishing slow and application logs to CloudWatch Logs. This blo * ck can be declared multiple times, for each log_type, within the same resource. Detailed below. */ logPublishingOptions?: core.Array | core.ArrayOut; /** * (Optional) Configuration block for node-to-node encryption options. Detailed below. */ nodeToNodeEncryption?: NodeToNodeEncryption; /** * (Optional) Configuration block for snapshot related options. Detailed below. DEPRECATED. For domains * running OpenSearch 5.3 and later, Amazon OpenSearch takes hourly automated snapshots, making this s * etting irrelevant. For domains running earlier versions, OpenSearch takes daily automated snapshots. */ snapshotOptions?: SnapshotOptions; /** * (Optional) Map of tags to assign to the resource. If configured with a provider [`default_tags` conf * iguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-conf * iguration-block) present, tags with matching keys will overwrite those defined at the provider-level * . */ tags?: core.Map | core.MapOut; /** * Map of tags assigned to the resource, including those inherited from the provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block). */ tagsAll?: core.Map | core.MapOut; /** * (Optional) Configuration block for VPC related options. Adding or removing this configuration forces * a new resource ([documentation](https://docs.aws.amazon.com/opensearch-service/latest/developerguid * e/vpc.html)). Detailed below. */ vpcOptions?: VpcOptions; constructor(name: string, args?: DomainArgs); getNamespace(): string; } //# sourceMappingURL=domain.d.ts.map