awsopensearchservice

package
v2.0.0-rc.29 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 10, 2021 License: Apache-2.0 Imports: 13 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CfnDomain_CFN_RESOURCE_TYPE_NAME

func CfnDomain_CFN_RESOURCE_TYPE_NAME() *string

func CfnDomain_IsCfnElement

func CfnDomain_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnDomain_IsCfnResource

func CfnDomain_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnDomain_IsConstruct

func CfnDomain_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func Domain_IsConstruct

func Domain_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func Domain_IsResource

func Domain_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func NewCfnDomain_Override

func NewCfnDomain_Override(c CfnDomain, scope constructs.Construct, id *string, props *CfnDomainProps)

Create a new `AWS::OpenSearchService::Domain`.

func NewDomain_Override

func NewDomain_Override(d Domain, scope constructs.Construct, id *string, props *DomainProps)

Experimental.

Types

type AdvancedSecurityOptions

type AdvancedSecurityOptions struct {
	// ARN for the master user.
	//
	// Only specify this or masterUserName, but not both.
	// Experimental.
	MasterUserArn *string `json:"masterUserArn"`
	// Username for the master user.
	//
	// Only specify this or masterUserArn, but not both.
	// Experimental.
	MasterUserName *string `json:"masterUserName"`
	// Password for the master user.
	//
	// You can use `SecretValue.plainText` to specify a password in plain text or
	// use `secretsmanager.Secret.fromSecretAttributes` to reference a secret in
	// Secrets Manager.
	// Experimental.
	MasterUserPassword awscdk.SecretValue `json:"masterUserPassword"`
}

Specifies options for fine-grained access control. Experimental.

type CapacityConfig

type CapacityConfig struct {
	// The instance type for your data nodes, such as `m3.medium.search`. For valid values, see [Supported Instance Types](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/supported-instance-types.html) in the Amazon OpenSearch Service Developer Guide.
	// Experimental.
	DataNodeInstanceType *string `json:"dataNodeInstanceType"`
	// The number of data nodes (instances) to use in the Amazon OpenSearch Service domain.
	// Experimental.
	DataNodes *float64 `json:"dataNodes"`
	// The hardware configuration of the computer that hosts the dedicated master node, such as `m3.medium.search`. For valid values, see [Supported Instance Types] (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/supported-instance-types.html) in the Amazon OpenSearch Service Developer Guide.
	// Experimental.
	MasterNodeInstanceType *string `json:"masterNodeInstanceType"`
	// The number of instances to use for the master node.
	// Experimental.
	MasterNodes *float64 `json:"masterNodes"`
	// The instance type for your UltraWarm node, such as `ultrawarm1.medium.search`. For valid values, see [UltraWarm Storage Limits] (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/limits.html#limits-ultrawarm) in the Amazon OpenSearch Service Developer Guide.
	// Experimental.
	WarmInstanceType *string `json:"warmInstanceType"`
	// The number of UltraWarm nodes (instances) to use in the Amazon OpenSearch Service domain.
	// Experimental.
	WarmNodes *float64 `json:"warmNodes"`
}

Configures the capacity of the cluster such as the instance type and the number of instances. Experimental.

type CfnDomain

type CfnDomain interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AccessPolicies() interface{}
	SetAccessPolicies(val interface{})
	AdvancedOptions() interface{}
	SetAdvancedOptions(val interface{})
	AdvancedSecurityOptions() interface{}
	SetAdvancedSecurityOptions(val interface{})
	AttrArn() *string
	AttrDomainEndpoint() *string
	AttrId() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	ClusterConfig() interface{}
	SetClusterConfig(val interface{})
	CognitoOptions() interface{}
	SetCognitoOptions(val interface{})
	CreationStack() *[]*string
	DomainEndpointOptions() interface{}
	SetDomainEndpointOptions(val interface{})
	DomainName() *string
	SetDomainName(val *string)
	EbsOptions() interface{}
	SetEbsOptions(val interface{})
	EncryptionAtRestOptions() interface{}
	SetEncryptionAtRestOptions(val interface{})
	EngineVersion() *string
	SetEngineVersion(val *string)
	LogicalId() *string
	LogPublishingOptions() interface{}
	SetLogPublishingOptions(val interface{})
	Node() constructs.Node
	NodeToNodeEncryptionOptions() interface{}
	SetNodeToNodeEncryptionOptions(val interface{})
	Ref() *string
	SnapshotOptions() interface{}
	SetSnapshotOptions(val interface{})
	Stack() awscdk.Stack
	Tags() awscdk.TagManager
	UpdatedProperites() *map[string]interface{}
	VpcOptions() interface{}
	SetVpcOptions(val interface{})
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::OpenSearchService::Domain`.

func NewCfnDomain

func NewCfnDomain(scope constructs.Construct, id *string, props *CfnDomainProps) CfnDomain

Create a new `AWS::OpenSearchService::Domain`.

type CfnDomainProps

type CfnDomainProps struct {
	// `AWS::OpenSearchService::Domain.AccessPolicies`.
	AccessPolicies interface{} `json:"accessPolicies"`
	// `AWS::OpenSearchService::Domain.AdvancedOptions`.
	AdvancedOptions interface{} `json:"advancedOptions"`
	// `AWS::OpenSearchService::Domain.AdvancedSecurityOptions`.
	AdvancedSecurityOptions interface{} `json:"advancedSecurityOptions"`
	// `AWS::OpenSearchService::Domain.ClusterConfig`.
	ClusterConfig interface{} `json:"clusterConfig"`
	// `AWS::OpenSearchService::Domain.CognitoOptions`.
	CognitoOptions interface{} `json:"cognitoOptions"`
	// `AWS::OpenSearchService::Domain.DomainEndpointOptions`.
	DomainEndpointOptions interface{} `json:"domainEndpointOptions"`
	// `AWS::OpenSearchService::Domain.DomainName`.
	DomainName *string `json:"domainName"`
	// `AWS::OpenSearchService::Domain.EBSOptions`.
	EbsOptions interface{} `json:"ebsOptions"`
	// `AWS::OpenSearchService::Domain.EncryptionAtRestOptions`.
	EncryptionAtRestOptions interface{} `json:"encryptionAtRestOptions"`
	// `AWS::OpenSearchService::Domain.EngineVersion`.
	EngineVersion *string `json:"engineVersion"`
	// `AWS::OpenSearchService::Domain.LogPublishingOptions`.
	LogPublishingOptions interface{} `json:"logPublishingOptions"`
	// `AWS::OpenSearchService::Domain.NodeToNodeEncryptionOptions`.
	NodeToNodeEncryptionOptions interface{} `json:"nodeToNodeEncryptionOptions"`
	// `AWS::OpenSearchService::Domain.SnapshotOptions`.
	SnapshotOptions interface{} `json:"snapshotOptions"`
	// `AWS::OpenSearchService::Domain.Tags`.
	Tags *[]*awscdk.CfnTag `json:"tags"`
	// `AWS::OpenSearchService::Domain.VPCOptions`.
	VpcOptions interface{} `json:"vpcOptions"`
}

Properties for defining a `AWS::OpenSearchService::Domain`.

type CfnDomain_AdvancedSecurityOptionsInputProperty

type CfnDomain_AdvancedSecurityOptionsInputProperty struct {
	// `CfnDomain.AdvancedSecurityOptionsInputProperty.Enabled`.
	Enabled interface{} `json:"enabled"`
	// `CfnDomain.AdvancedSecurityOptionsInputProperty.InternalUserDatabaseEnabled`.
	InternalUserDatabaseEnabled interface{} `json:"internalUserDatabaseEnabled"`
	// `CfnDomain.AdvancedSecurityOptionsInputProperty.MasterUserOptions`.
	MasterUserOptions interface{} `json:"masterUserOptions"`
}

type CfnDomain_ClusterConfigProperty

type CfnDomain_ClusterConfigProperty struct {
	// `CfnDomain.ClusterConfigProperty.DedicatedMasterCount`.
	DedicatedMasterCount *float64 `json:"dedicatedMasterCount"`
	// `CfnDomain.ClusterConfigProperty.DedicatedMasterEnabled`.
	DedicatedMasterEnabled interface{} `json:"dedicatedMasterEnabled"`
	// `CfnDomain.ClusterConfigProperty.DedicatedMasterType`.
	DedicatedMasterType *string `json:"dedicatedMasterType"`
	// `CfnDomain.ClusterConfigProperty.InstanceCount`.
	InstanceCount *float64 `json:"instanceCount"`
	// `CfnDomain.ClusterConfigProperty.InstanceType`.
	InstanceType *string `json:"instanceType"`
	// `CfnDomain.ClusterConfigProperty.WarmCount`.
	WarmCount *float64 `json:"warmCount"`
	// `CfnDomain.ClusterConfigProperty.WarmEnabled`.
	WarmEnabled interface{} `json:"warmEnabled"`
	// `CfnDomain.ClusterConfigProperty.WarmType`.
	WarmType *string `json:"warmType"`
	// `CfnDomain.ClusterConfigProperty.ZoneAwarenessConfig`.
	ZoneAwarenessConfig interface{} `json:"zoneAwarenessConfig"`
	// `CfnDomain.ClusterConfigProperty.ZoneAwarenessEnabled`.
	ZoneAwarenessEnabled interface{} `json:"zoneAwarenessEnabled"`
}

type CfnDomain_CognitoOptionsProperty

type CfnDomain_CognitoOptionsProperty struct {
	// `CfnDomain.CognitoOptionsProperty.Enabled`.
	Enabled interface{} `json:"enabled"`
	// `CfnDomain.CognitoOptionsProperty.IdentityPoolId`.
	IdentityPoolId *string `json:"identityPoolId"`
	// `CfnDomain.CognitoOptionsProperty.RoleArn`.
	RoleArn *string `json:"roleArn"`
	// `CfnDomain.CognitoOptionsProperty.UserPoolId`.
	UserPoolId *string `json:"userPoolId"`
}

type CfnDomain_DomainEndpointOptionsProperty

type CfnDomain_DomainEndpointOptionsProperty struct {
	// `CfnDomain.DomainEndpointOptionsProperty.CustomEndpoint`.
	CustomEndpoint *string `json:"customEndpoint"`
	// `CfnDomain.DomainEndpointOptionsProperty.CustomEndpointCertificateArn`.
	CustomEndpointCertificateArn *string `json:"customEndpointCertificateArn"`
	// `CfnDomain.DomainEndpointOptionsProperty.CustomEndpointEnabled`.
	CustomEndpointEnabled interface{} `json:"customEndpointEnabled"`
	// `CfnDomain.DomainEndpointOptionsProperty.EnforceHTTPS`.
	EnforceHttps interface{} `json:"enforceHttps"`
	// `CfnDomain.DomainEndpointOptionsProperty.TLSSecurityPolicy`.
	TlsSecurityPolicy *string `json:"tlsSecurityPolicy"`
}

type CfnDomain_EBSOptionsProperty

type CfnDomain_EBSOptionsProperty struct {
	// `CfnDomain.EBSOptionsProperty.EBSEnabled`.
	EbsEnabled interface{} `json:"ebsEnabled"`
	// `CfnDomain.EBSOptionsProperty.Iops`.
	Iops *float64 `json:"iops"`
	// `CfnDomain.EBSOptionsProperty.VolumeSize`.
	VolumeSize *float64 `json:"volumeSize"`
	// `CfnDomain.EBSOptionsProperty.VolumeType`.
	VolumeType *string `json:"volumeType"`
}

type CfnDomain_EncryptionAtRestOptionsProperty

type CfnDomain_EncryptionAtRestOptionsProperty struct {
	// `CfnDomain.EncryptionAtRestOptionsProperty.Enabled`.
	Enabled interface{} `json:"enabled"`
	// `CfnDomain.EncryptionAtRestOptionsProperty.KmsKeyId`.
	KmsKeyId *string `json:"kmsKeyId"`
}

type CfnDomain_LogPublishingOptionProperty

type CfnDomain_LogPublishingOptionProperty struct {
	// `CfnDomain.LogPublishingOptionProperty.CloudWatchLogsLogGroupArn`.
	CloudWatchLogsLogGroupArn *string `json:"cloudWatchLogsLogGroupArn"`
	// `CfnDomain.LogPublishingOptionProperty.Enabled`.
	Enabled interface{} `json:"enabled"`
}

type CfnDomain_MasterUserOptionsProperty

type CfnDomain_MasterUserOptionsProperty struct {
	// `CfnDomain.MasterUserOptionsProperty.MasterUserARN`.
	MasterUserArn *string `json:"masterUserArn"`
	// `CfnDomain.MasterUserOptionsProperty.MasterUserName`.
	MasterUserName *string `json:"masterUserName"`
	// `CfnDomain.MasterUserOptionsProperty.MasterUserPassword`.
	MasterUserPassword *string `json:"masterUserPassword"`
}

type CfnDomain_NodeToNodeEncryptionOptionsProperty

type CfnDomain_NodeToNodeEncryptionOptionsProperty struct {
	// `CfnDomain.NodeToNodeEncryptionOptionsProperty.Enabled`.
	Enabled interface{} `json:"enabled"`
}

type CfnDomain_SnapshotOptionsProperty

type CfnDomain_SnapshotOptionsProperty struct {
	// `CfnDomain.SnapshotOptionsProperty.AutomatedSnapshotStartHour`.
	AutomatedSnapshotStartHour *float64 `json:"automatedSnapshotStartHour"`
}

type CfnDomain_VPCOptionsProperty

type CfnDomain_VPCOptionsProperty struct {
	// `CfnDomain.VPCOptionsProperty.SecurityGroupIds`.
	SecurityGroupIds *[]*string `json:"securityGroupIds"`
	// `CfnDomain.VPCOptionsProperty.SubnetIds`.
	SubnetIds *[]*string `json:"subnetIds"`
}

type CfnDomain_ZoneAwarenessConfigProperty

type CfnDomain_ZoneAwarenessConfigProperty struct {
	// `CfnDomain.ZoneAwarenessConfigProperty.AvailabilityZoneCount`.
	AvailabilityZoneCount *float64 `json:"availabilityZoneCount"`
}

type CognitoOptions

type CognitoOptions struct {
	// The Amazon Cognito identity pool ID that you want Amazon OpenSearch Service to use for OpenSearch Dashboards authentication.
	// Experimental.
	IdentityPoolId *string `json:"identityPoolId"`
	// A role that allows Amazon OpenSearch Service to configure your user pool and identity pool.
	//
	// It must have the `AmazonESCognitoAccess` policy attached to it.
	// See: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/cognito-auth.html#cognito-auth-prereq
	//
	// Experimental.
	Role awsiam.IRole `json:"role"`
	// The Amazon Cognito user pool ID that you want Amazon OpenSearch Service to use for OpenSearch Dashboards authentication.
	// Experimental.
	UserPoolId *string `json:"userPoolId"`
}

Configures Amazon OpenSearch Service to use Amazon Cognito authentication for OpenSearch Dashboards. See: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/cognito-auth.html

Experimental.

type CustomEndpointOptions

type CustomEndpointOptions struct {
	// The custom domain name to assign.
	// Experimental.
	DomainName *string `json:"domainName"`
	// The certificate to use.
	// Experimental.
	Certificate awscertificatemanager.ICertificate `json:"certificate"`
	// The hosted zone in Route53 to create the CNAME record in.
	// Experimental.
	HostedZone awsroute53.IHostedZone `json:"hostedZone"`
}

Configures a custom domain endpoint for the Amazon OpenSearch Service domain. Experimental.

type Domain

type Domain interface {
	awscdk.Resource
	awsec2.IConnectable
	IDomain
	AppLogGroup() awslogs.ILogGroup
	AuditLogGroup() awslogs.ILogGroup
	Connections() awsec2.Connections
	DomainArn() *string
	DomainEndpoint() *string
	DomainId() *string
	DomainName() *string
	Env() *awscdk.ResourceEnvironment
	MasterUserPassword() awscdk.SecretValue
	Node() constructs.Node
	PhysicalName() *string
	SlowIndexLogGroup() awslogs.ILogGroup
	SlowSearchLogGroup() awslogs.ILogGroup
	Stack() awscdk.Stack
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	GrantIndexRead(index *string, identity awsiam.IGrantable) awsiam.Grant
	GrantIndexReadWrite(index *string, identity awsiam.IGrantable) awsiam.Grant
	GrantIndexWrite(index *string, identity awsiam.IGrantable) awsiam.Grant
	GrantPathRead(path *string, identity awsiam.IGrantable) awsiam.Grant
	GrantPathReadWrite(path *string, identity awsiam.IGrantable) awsiam.Grant
	GrantPathWrite(path *string, identity awsiam.IGrantable) awsiam.Grant
	GrantRead(identity awsiam.IGrantable) awsiam.Grant
	GrantReadWrite(identity awsiam.IGrantable) awsiam.Grant
	GrantWrite(identity awsiam.IGrantable) awsiam.Grant
	Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricAutomatedSnapshotFailure(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricClusterIndexWritesBlocked(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricClusterStatusRed(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricClusterStatusYellow(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricCPUUtilization(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricFreeStorageSpace(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricIndexingLatency(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricJVMMemoryPressure(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricKMSKeyError(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricKMSKeyInaccessible(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricMasterCPUUtilization(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricMasterJVMMemoryPressure(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricNodes(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricSearchableDocuments(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricSearchLatency(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	ToString() *string
}

Provides an Amazon OpenSearch Service domain. Experimental.

func NewDomain

func NewDomain(scope constructs.Construct, id *string, props *DomainProps) Domain

Experimental.

type DomainAttributes

type DomainAttributes struct {
	// The ARN of the Amazon OpenSearch Service domain.
	// Experimental.
	DomainArn *string `json:"domainArn"`
	// The domain endpoint of the Amazon OpenSearch Service domain.
	// Experimental.
	DomainEndpoint *string `json:"domainEndpoint"`
}

Reference to an Amazon OpenSearch Service domain. Experimental.

type DomainProps

type DomainProps struct {
	// The Elasticsearch/OpenSearch version that your domain will leverage.
	// Experimental.
	Version EngineVersion `json:"version"`
	// Domain access policies.
	// Experimental.
	AccessPolicies *[]awsiam.PolicyStatement `json:"accessPolicies"`
	// Additional options to specify for the Amazon OpenSearch Service domain.
	// See: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomain-configure-advanced-options
	//
	// Experimental.
	AdvancedOptions *map[string]*string `json:"advancedOptions"`
	// The hour in UTC during which the service takes an automated daily snapshot of the indices in the Amazon OpenSearch Service domain.
	//
	// Only applies for Elasticsearch versions
	// below 5.3.
	// Experimental.
	AutomatedSnapshotStartHour *float64 `json:"automatedSnapshotStartHour"`
	// The cluster capacity configuration for the Amazon OpenSearch Service domain.
	// Experimental.
	Capacity *CapacityConfig `json:"capacity"`
	// Configures Amazon OpenSearch Service to use Amazon Cognito authentication for OpenSearch Dashboards.
	// Experimental.
	CognitoDashboardsAuth *CognitoOptions `json:"cognitoDashboardsAuth"`
	// To configure a custom domain configure these options.
	//
	// If you specify a Route53 hosted zone it will create a CNAME record and use DNS validation for the certificate
	// Experimental.
	CustomEndpoint *CustomEndpointOptions `json:"customEndpoint"`
	// Enforces a particular physical domain name.
	// Experimental.
	DomainName *string `json:"domainName"`
	// The configurations of Amazon Elastic Block Store (Amazon EBS) volumes that are attached to data nodes in the Amazon OpenSearch Service domain.
	// Experimental.
	Ebs *EbsOptions `json:"ebs"`
	// To upgrade an Amazon OpenSearch Service domain to a new version, rather than replacing the entire domain resource, use the EnableVersionUpgrade update policy.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html#cfn-attributes-updatepolicy-upgradeopensearchdomain
	//
	// Experimental.
	EnableVersionUpgrade *bool `json:"enableVersionUpgrade"`
	// Encryption at rest options for the cluster.
	// Experimental.
	EncryptionAtRest *EncryptionAtRestOptions `json:"encryptionAtRest"`
	// True to require that all traffic to the domain arrive over HTTPS.
	// Experimental.
	EnforceHttps *bool `json:"enforceHttps"`
	// Specifies options for fine-grained access control.
	//
	// Requires Elasticsearch version 6.7 or later or OpenSearch version 1.0 or later. Enabling fine-grained access control
	// also requires encryption of data at rest and node-to-node encryption, along with
	// enforced HTTPS.
	// Experimental.
	FineGrainedAccessControl *AdvancedSecurityOptions `json:"fineGrainedAccessControl"`
	// Configuration log publishing configuration options.
	// Experimental.
	Logging *LoggingOptions `json:"logging"`
	// Specify true to enable node to node encryption.
	//
	// Requires Elasticsearch version 6.0 or later or OpenSearch version 1.0 or later.
	// Experimental.
	NodeToNodeEncryption *bool `json:"nodeToNodeEncryption"`
	// Policy to apply when the domain is removed from the stack.
	// Experimental.
	RemovalPolicy awscdk.RemovalPolicy `json:"removalPolicy"`
	// The list of security groups that are associated with the VPC endpoints for the domain.
	//
	// Only used if `vpc` is specified.
	// See: https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html
	//
	// Experimental.
	SecurityGroups *[]awsec2.ISecurityGroup `json:"securityGroups"`
	// The minimum TLS version required for traffic to the domain.
	// Experimental.
	TlsSecurityPolicy TLSSecurityPolicy `json:"tlsSecurityPolicy"`
	// Configures the domain so that unsigned basic auth is enabled.
	//
	// If no master user is provided a default master user
	// with username `admin` and a dynamically generated password stored in KMS is created. The password can be retrieved
	// by getting `masterUserPassword` from the domain instance.
	//
	// Setting this to true will also add an access policy that allows unsigned
	// access, enable node to node encryption, encryption at rest. If conflicting
	// settings are encountered (like disabling encryption at rest) enabling this
	// setting will cause a failure.
	// Experimental.
	UseUnsignedBasicAuth *bool `json:"useUnsignedBasicAuth"`
	// Place the domain inside this VPC.
	// See: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html
	//
	// Experimental.
	Vpc awsec2.IVpc `json:"vpc"`
	// The specific vpc subnets the domain will be placed in.
	//
	// You must provide one subnet for each Availability Zone
	// that your domain uses. For example, you must specify three subnet IDs for a three Availability Zone
	// domain.
	//
	// Only used if `vpc` is specified.
	// See: https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html
	//
	// Experimental.
	VpcSubnets *[]*awsec2.SubnetSelection `json:"vpcSubnets"`
	// The cluster zone awareness configuration for the Amazon OpenSearch Service domain.
	// Experimental.
	ZoneAwareness *ZoneAwarenessConfig `json:"zoneAwareness"`
}

Properties for an Amazon OpenSearch Service domain. Experimental.

type EbsOptions

type EbsOptions struct {
	// Specifies whether Amazon EBS volumes are attached to data nodes in the Amazon OpenSearch Service domain.
	// Experimental.
	Enabled *bool `json:"enabled"`
	// The number of I/O operations per second (IOPS) that the volume supports.
	//
	// This property applies only to the Provisioned IOPS (SSD) EBS
	// volume type.
	// Experimental.
	Iops *float64 `json:"iops"`
	// The size (in GiB) of the EBS volume for each data node.
	//
	// The minimum and
	// maximum size of an EBS volume depends on the EBS volume type and the
	// instance type to which it is attached.  For  valid values, see
	// [EBS volume size limits]
	// (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/limits.html#ebsresource)
	// in the Amazon OpenSearch Service Developer Guide.
	// Experimental.
	VolumeSize *float64 `json:"volumeSize"`
	// The EBS volume type to use with the Amazon OpenSearch Service domain, such as standard, gp2, io1.
	// Experimental.
	VolumeType awsec2.EbsDeviceVolumeType `json:"volumeType"`
}

The configurations of Amazon Elastic Block Store (Amazon EBS) volumes that are attached to data nodes in the Amazon OpenSearch Service domain.

For more information, see [Amazon EBS] (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html) in the Amazon Elastic Compute Cloud Developer Guide. Experimental.

type EncryptionAtRestOptions

type EncryptionAtRestOptions struct {
	// Specify true to enable encryption at rest.
	// Experimental.
	Enabled *bool `json:"enabled"`
	// Supply if using KMS key for encryption at rest.
	// Experimental.
	KmsKey awskms.IKey `json:"kmsKey"`
}

Whether the domain should encrypt data at rest, and if so, the AWS Key Management Service (KMS) key to use.

Can only be used to create a new domain, not update an existing one. Requires Elasticsearch version 5.1 or later or OpenSearch version 1.0 or later. Experimental.

type EngineVersion

type EngineVersion interface {
	Version() *string
}

OpenSearch version. Experimental.

func EngineVersion_ELASTICSEARCH_1_5

func EngineVersion_ELASTICSEARCH_1_5() EngineVersion

func EngineVersion_ELASTICSEARCH_2_3

func EngineVersion_ELASTICSEARCH_2_3() EngineVersion

func EngineVersion_ELASTICSEARCH_5_1

func EngineVersion_ELASTICSEARCH_5_1() EngineVersion

func EngineVersion_ELASTICSEARCH_5_3

func EngineVersion_ELASTICSEARCH_5_3() EngineVersion

func EngineVersion_ELASTICSEARCH_5_5

func EngineVersion_ELASTICSEARCH_5_5() EngineVersion

func EngineVersion_ELASTICSEARCH_5_6

func EngineVersion_ELASTICSEARCH_5_6() EngineVersion

func EngineVersion_ELASTICSEARCH_6_0

func EngineVersion_ELASTICSEARCH_6_0() EngineVersion

func EngineVersion_ELASTICSEARCH_6_2

func EngineVersion_ELASTICSEARCH_6_2() EngineVersion

func EngineVersion_ELASTICSEARCH_6_3

func EngineVersion_ELASTICSEARCH_6_3() EngineVersion

func EngineVersion_ELASTICSEARCH_6_4

func EngineVersion_ELASTICSEARCH_6_4() EngineVersion

func EngineVersion_ELASTICSEARCH_6_5

func EngineVersion_ELASTICSEARCH_6_5() EngineVersion

func EngineVersion_ELASTICSEARCH_6_7

func EngineVersion_ELASTICSEARCH_6_7() EngineVersion

func EngineVersion_ELASTICSEARCH_6_8

func EngineVersion_ELASTICSEARCH_6_8() EngineVersion

func EngineVersion_ELASTICSEARCH_7_1

func EngineVersion_ELASTICSEARCH_7_1() EngineVersion

func EngineVersion_ELASTICSEARCH_7_10

func EngineVersion_ELASTICSEARCH_7_10() EngineVersion

func EngineVersion_ELASTICSEARCH_7_4

func EngineVersion_ELASTICSEARCH_7_4() EngineVersion

func EngineVersion_ELASTICSEARCH_7_7

func EngineVersion_ELASTICSEARCH_7_7() EngineVersion

func EngineVersion_ELASTICSEARCH_7_8

func EngineVersion_ELASTICSEARCH_7_8() EngineVersion

func EngineVersion_ELASTICSEARCH_7_9

func EngineVersion_ELASTICSEARCH_7_9() EngineVersion

func EngineVersion_Elasticsearch

func EngineVersion_Elasticsearch(version *string) EngineVersion

Custom ElasticSearch version. Experimental.

func EngineVersion_OPENSEARCH_1_0

func EngineVersion_OPENSEARCH_1_0() EngineVersion

func EngineVersion_OpenSearch

func EngineVersion_OpenSearch(version *string) EngineVersion

Custom OpenSearch version. Experimental.

type IDomain

type IDomain interface {
	awscdk.IResource
	// Grant read permissions for an index in this domain to an IAM principal (Role/Group/User).
	// Experimental.
	GrantIndexRead(index *string, identity awsiam.IGrantable) awsiam.Grant
	// Grant read/write permissions for an index in this domain to an IAM principal (Role/Group/User).
	// Experimental.
	GrantIndexReadWrite(index *string, identity awsiam.IGrantable) awsiam.Grant
	// Grant write permissions for an index in this domain to an IAM principal (Role/Group/User).
	// Experimental.
	GrantIndexWrite(index *string, identity awsiam.IGrantable) awsiam.Grant
	// Grant read permissions for a specific path in this domain to an IAM principal (Role/Group/User).
	// Experimental.
	GrantPathRead(path *string, identity awsiam.IGrantable) awsiam.Grant
	// Grant read/write permissions for a specific path in this domain to an IAM principal (Role/Group/User).
	// Experimental.
	GrantPathReadWrite(path *string, identity awsiam.IGrantable) awsiam.Grant
	// Grant write permissions for a specific path in this domain to an IAM principal (Role/Group/User).
	// Experimental.
	GrantPathWrite(path *string, identity awsiam.IGrantable) awsiam.Grant
	// Grant read permissions for this domain and its contents to an IAM principal (Role/Group/User).
	// Experimental.
	GrantRead(identity awsiam.IGrantable) awsiam.Grant
	// Grant read/write permissions for this domain and its contents to an IAM principal (Role/Group/User).
	// Experimental.
	GrantReadWrite(identity awsiam.IGrantable) awsiam.Grant
	// Grant write permissions for this domain and its contents to an IAM principal (Role/Group/User).
	// Experimental.
	GrantWrite(identity awsiam.IGrantable) awsiam.Grant
	// Return the given named metric for this domain.
	// Experimental.
	Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for automated snapshot failures.
	// Experimental.
	MetricAutomatedSnapshotFailure(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for the cluster blocking index writes.
	// Experimental.
	MetricClusterIndexWritesBlocked(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for the time the cluster status is red.
	// Experimental.
	MetricClusterStatusRed(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for the time the cluster status is yellow.
	// Experimental.
	MetricClusterStatusYellow(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for CPU utilization.
	// Experimental.
	MetricCPUUtilization(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for the storage space of nodes in the cluster.
	// Experimental.
	MetricFreeStorageSpace(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for indexing latency.
	// Experimental.
	MetricIndexingLatency(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for JVM memory pressure.
	// Experimental.
	MetricJVMMemoryPressure(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for KMS key errors.
	// Experimental.
	MetricKMSKeyError(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for KMS key being inaccessible.
	// Experimental.
	MetricKMSKeyInaccessible(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for master CPU utilization.
	// Experimental.
	MetricMasterCPUUtilization(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for master JVM memory pressure.
	// Experimental.
	MetricMasterJVMMemoryPressure(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for the number of nodes.
	// Experimental.
	MetricNodes(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for number of searchable documents.
	// Experimental.
	MetricSearchableDocuments(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for search latency.
	// Experimental.
	MetricSearchLatency(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Arn of the Amazon OpenSearch Service domain.
	// Experimental.
	DomainArn() *string
	// Endpoint of the Amazon OpenSearch Service domain.
	// Experimental.
	DomainEndpoint() *string
	// Identifier of the Amazon OpenSearch Service domain.
	// Experimental.
	DomainId() *string
	// Domain name of the Amazon OpenSearch Service domain.
	// Experimental.
	DomainName() *string
}

An interface that represents an Amazon OpenSearch Service domain - either created with the CDK, or an existing one. Experimental.

func Domain_FromDomainAttributes

func Domain_FromDomainAttributes(scope constructs.Construct, id *string, attrs *DomainAttributes) IDomain

Creates a domain construct that represents an external domain. Experimental.

func Domain_FromDomainEndpoint

func Domain_FromDomainEndpoint(scope constructs.Construct, id *string, domainEndpoint *string) IDomain

Creates a domain construct that represents an external domain via domain endpoint. Experimental.

type LoggingOptions

type LoggingOptions struct {
	// Specify if Amazon OpenSearch Service application logging should be set up.
	//
	// Requires Elasticsearch version 5.1 or later or OpenSearch version 1.0 or later.
	// Experimental.
	AppLogEnabled *bool `json:"appLogEnabled"`
	// Log Amazon OpenSearch Service application logs to this log group.
	// Experimental.
	AppLogGroup awslogs.ILogGroup `json:"appLogGroup"`
	// Specify if Amazon OpenSearch Service audit logging should be set up.
	//
	// Requires Elasticsearch version 6.7 or later or OpenSearch version 1.0 or later and fine grained access control to be enabled.
	// Experimental.
	AuditLogEnabled *bool `json:"auditLogEnabled"`
	// Log Amazon OpenSearch Service audit logs to this log group.
	// Experimental.
	AuditLogGroup awslogs.ILogGroup `json:"auditLogGroup"`
	// Specify if slow index logging should be set up.
	//
	// Requires Elasticsearch version 5.1 or later or OpenSearch version 1.0 or later.
	// Experimental.
	SlowIndexLogEnabled *bool `json:"slowIndexLogEnabled"`
	// Log slow indices to this log group.
	// Experimental.
	SlowIndexLogGroup awslogs.ILogGroup `json:"slowIndexLogGroup"`
	// Specify if slow search logging should be set up.
	//
	// Requires Elasticsearch version 5.1 or later or OpenSearch version 1.0 or later.
	// Experimental.
	SlowSearchLogEnabled *bool `json:"slowSearchLogEnabled"`
	// Log slow searches to this log group.
	// Experimental.
	SlowSearchLogGroup awslogs.ILogGroup `json:"slowSearchLogGroup"`
}

Configures log settings for the domain. Experimental.

type TLSSecurityPolicy

type TLSSecurityPolicy string

The minimum TLS version required for traffic to the domain. Experimental.

const (
	TLSSecurityPolicy_TLS_1_0 TLSSecurityPolicy = "TLS_1_0"
	TLSSecurityPolicy_TLS_1_2 TLSSecurityPolicy = "TLS_1_2"
)

type ZoneAwarenessConfig

type ZoneAwarenessConfig struct {
	// If you enabled multiple Availability Zones (AZs), the number of AZs that you want the domain to use.
	//
	// Valid values are 2 and 3.
	// Experimental.
	AvailabilityZoneCount *float64 `json:"availabilityZoneCount"`
	// Indicates whether to enable zone awareness for the Amazon OpenSearch Service domain.
	//
	// When you enable zone awareness, Amazon OpenSearch Service allocates the nodes and replica
	// index shards that belong to a cluster across two Availability Zones (AZs)
	// in the same region to prevent data loss and minimize downtime in the event
	// of node or data center failure. Don't enable zone awareness if your cluster
	// has no replica index shards or is a single-node cluster. For more information,
	// see [Configuring a Multi-AZ Domain]
	// (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/managedomains-multiaz.html)
	// in the Amazon OpenSearch Service Developer Guide.
	// Experimental.
	Enabled *bool `json:"enabled"`
}

Specifies zone awareness configuration options. Experimental.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL