UNPKG

@altostra/core

Version:

Core library for shared types and logic

86 lines (85 loc) 2.82 kB
import type { NonEmptyString } from "../../../common/CustomTypes/NonEmptyString"; import type { Arn } from "../../Arn"; import type { AwsResourceCommon, CloudFormationTags } from "../common"; import type { CloudFormationValue } from "../IntrinsicFunctions"; import type { IamPolicyDocument } from "../PolicyDocument"; export declare type OpenSearchType = 'AWS::OpenSearchService::Domain'; export interface OpenSearch extends AwsResourceCommon { Type: OpenSearchType; Properties: OpenSearchProperties; } export interface OpenSearchProperties { AccessPolicies?: IamPolicyDocument; AdvancedOptions?: OpenSearchAdvancedOption; AdvancedSecurityOptions?: AdvancedSecurityOptionsInput; ClusterConfig?: ClusterConfig; CognitoOptions?: CognitoOptions; DomainEndpointOptions?: DomainEndpointOptions; DomainName: NonEmptyString; EBSOptions?: EBSOptions; EncryptionAtRestOptions?: EncryptionAtRestOptions; EngineVersion?: NonEmptyString; NodeToNodeEncryptionOptions?: EnableOption; Tags?: CloudFormationTags; VPCOptions?: VPCOptions; } interface VPCOptions { SecurityGroupIds: NonEmptyString[]; SubnetIds: NonEmptyString[]; } interface EnableOption { Enabled: boolean; } interface EncryptionAtRestOptions extends EnableOption { KmsKeyId: CloudFormationValue<Arn>; } interface EBSOptions { EBSEnabled: boolean; Iops?: number; Throughput?: number; VolumeSize?: number; VolumeType?: string; } interface DomainEndpointOptions { CustomEndpoint?: string; CustomEndpointCertificateArn?: string; CustomEndpointEnabled: boolean; EnforceHTTPS?: boolean; TLSSecurityPolicy?: string; } interface CognitoOptions extends EnableOption { IdentityPoolId?: CloudFormationValue<string>; RoleArn?: CloudFormationValue<Arn>; UserPoolId?: CloudFormationValue<string>; } interface ClusterConfig { DedicatedMasterCount?: number; DedicatedMasterEnabled?: number; DedicatedMasterType?: string; InstanceCount?: number; InstanceType?: string; WarmCount?: number; WarmEnabled?: boolean; WarmType?: string; ZoneAwarenessConfig?: ZoneAwarenessConfig; ZoneAwarenessEnabled?: boolean; } interface ZoneAwarenessConfig { AvailabilityZoneCount?: number; } interface AdvancedSecurityOptionsInput extends EnableOption { InternalUserDatabaseEnabled: boolean; MasterUserOptions?: MasterUserOptions; } interface MasterUserOptions { MasterUserARN?: CloudFormationValue<Arn>; MasterUserName?: string; MasterUserPassword?: string; } interface OpenSearchAdvancedOption { 'rest.action.multi.allow_explicit_index'?: boolean; 'indices.fielddata.cache.size'?: number; 'indices.query.bool.max_clause_count'?: number; 'override_main_response_version'?: boolean; } export {};