Documentation
¶
Index ¶
- func CfnDomain_CFN_RESOURCE_TYPE_NAME() *string
- func CfnDomain_IsCfnElement(x interface{}) *bool
- func CfnDomain_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnDomain_IsConstruct(x interface{}) *bool
- func Domain_IsConstruct(x interface{}) *bool
- func Domain_IsResource(construct constructs.IConstruct) *bool
- func NewCfnDomain_Override(c CfnDomain, scope constructs.Construct, id *string, props *CfnDomainProps)
- func NewDomain_Override(d Domain, scope constructs.Construct, id *string, props *DomainProps)
- type AdvancedSecurityOptions
- type CapacityConfig
- type CfnDomain
- type CfnDomainProps
- type CfnDomain_AdvancedSecurityOptionsInputProperty
- type CfnDomain_CognitoOptionsProperty
- type CfnDomain_ColdStorageOptionsProperty
- type CfnDomain_DomainEndpointOptionsProperty
- type CfnDomain_EBSOptionsProperty
- type CfnDomain_ElasticsearchClusterConfigProperty
- type CfnDomain_EncryptionAtRestOptionsProperty
- type CfnDomain_LogPublishingOptionProperty
- type CfnDomain_MasterUserOptionsProperty
- type CfnDomain_NodeToNodeEncryptionOptionsProperty
- type CfnDomain_SnapshotOptionsProperty
- type CfnDomain_VPCOptionsProperty
- type CfnDomain_ZoneAwarenessConfigProperty
- type CognitoOptions
- type CustomEndpointOptions
- type Domain
- type DomainAttributes
- type DomainProps
- type EbsOptions
- type ElasticsearchVersion
- func ElasticsearchVersion_Of(version *string) ElasticsearchVersion
- func ElasticsearchVersion_V1_5() ElasticsearchVersion
- func ElasticsearchVersion_V2_3() ElasticsearchVersion
- func ElasticsearchVersion_V5_1() ElasticsearchVersion
- func ElasticsearchVersion_V5_3() ElasticsearchVersion
- func ElasticsearchVersion_V5_5() ElasticsearchVersion
- func ElasticsearchVersion_V5_6() ElasticsearchVersion
- func ElasticsearchVersion_V6_0() ElasticsearchVersion
- func ElasticsearchVersion_V6_2() ElasticsearchVersion
- func ElasticsearchVersion_V6_3() ElasticsearchVersion
- func ElasticsearchVersion_V6_4() ElasticsearchVersion
- func ElasticsearchVersion_V6_5() ElasticsearchVersion
- func ElasticsearchVersion_V6_7() ElasticsearchVersion
- func ElasticsearchVersion_V6_8() ElasticsearchVersion
- func ElasticsearchVersion_V7_1() ElasticsearchVersion
- func ElasticsearchVersion_V7_10() ElasticsearchVersion
- func ElasticsearchVersion_V7_4() ElasticsearchVersion
- func ElasticsearchVersion_V7_7() ElasticsearchVersion
- func ElasticsearchVersion_V7_8() ElasticsearchVersion
- func ElasticsearchVersion_V7_9() ElasticsearchVersion
- type EncryptionAtRestOptions
- type IDomain
- type LoggingOptions
- type TLSSecurityPolicy
- type ZoneAwarenessConfig
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.
func CfnDomain_IsCfnResource ¶
func CfnDomain_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
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.
func NewCfnDomain_Override ¶
func NewCfnDomain_Override(c CfnDomain, scope constructs.Construct, id *string, props *CfnDomainProps)
Create a new `AWS::Elasticsearch::Domain`.
func NewDomain_Override ¶
func NewDomain_Override(d Domain, scope constructs.Construct, id *string, props *DomainProps)
Types ¶
type AdvancedSecurityOptions ¶
type AdvancedSecurityOptions struct {
// ARN for the master user.
//
// Only specify this or masterUserName, but not both.
MasterUserArn *string `json:"masterUserArn"`
// Username for the master user.
//
// Only specify this or masterUserArn, but not both.
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.
MasterUserPassword awscdk.SecretValue `json:"masterUserPassword"`
}
Specifies options for fine-grained access control.
TODO: EXAMPLE
type CapacityConfig ¶
type CapacityConfig struct {
// The instance type for your data nodes, such as `m3.medium.elasticsearch`. For valid values, see [Supported Instance Types](https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/aes-supported-instance-types.html) in the Amazon Elasticsearch Service Developer Guide.
DataNodeInstanceType *string `json:"dataNodeInstanceType"`
// The number of data nodes (instances) to use in the Amazon ES domain.
DataNodes *float64 `json:"dataNodes"`
// The hardware configuration of the computer that hosts the dedicated master node, such as `m3.medium.elasticsearch`. For valid values, see [Supported Instance Types] (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/aes-supported-instance-types.html) in the Amazon Elasticsearch Service Developer Guide.
MasterNodeInstanceType *string `json:"masterNodeInstanceType"`
// The number of instances to use for the master node.
MasterNodes *float64 `json:"masterNodes"`
// The instance type for your UltraWarm node, such as `ultrawarm1.medium.elasticsearch`. For valid values, see [UltraWarm Storage Limits] (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/aes-limits.html#limits-ultrawarm) in the Amazon Elasticsearch Service Developer Guide.
WarmInstanceType *string `json:"warmInstanceType"`
// The number of UltraWarm nodes (instances) to use in the Amazon ES domain.
WarmNodes *float64 `json:"warmNodes"`
}
Configures the capacity of the cluster such as the instance type and the number of instances.
TODO: EXAMPLE
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
CfnOptions() awscdk.ICfnResourceOptions
CfnProperties() *map[string]interface{}
CfnResourceType() *string
CognitoOptions() interface{}
SetCognitoOptions(val interface{})
CreationStack() *[]*string
DomainEndpointOptions() interface{}
SetDomainEndpointOptions(val interface{})
DomainName() *string
SetDomainName(val *string)
EbsOptions() interface{}
SetEbsOptions(val interface{})
ElasticsearchClusterConfig() interface{}
SetElasticsearchClusterConfig(val interface{})
ElasticsearchVersion() *string
SetElasticsearchVersion(val *string)
EncryptionAtRestOptions() interface{}
SetEncryptionAtRestOptions(val interface{})
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::Elasticsearch::Domain`.
TODO: EXAMPLE
func NewCfnDomain ¶
func NewCfnDomain(scope constructs.Construct, id *string, props *CfnDomainProps) CfnDomain
Create a new `AWS::Elasticsearch::Domain`.
type CfnDomainProps ¶
type CfnDomainProps struct {
// `AWS::Elasticsearch::Domain.AccessPolicies`.
AccessPolicies interface{} `json:"accessPolicies"`
// `AWS::Elasticsearch::Domain.AdvancedOptions`.
AdvancedOptions interface{} `json:"advancedOptions"`
// `AWS::Elasticsearch::Domain.AdvancedSecurityOptions`.
AdvancedSecurityOptions interface{} `json:"advancedSecurityOptions"`
// `AWS::Elasticsearch::Domain.CognitoOptions`.
CognitoOptions interface{} `json:"cognitoOptions"`
// `AWS::Elasticsearch::Domain.DomainEndpointOptions`.
DomainEndpointOptions interface{} `json:"domainEndpointOptions"`
// `AWS::Elasticsearch::Domain.DomainName`.
DomainName *string `json:"domainName"`
// `AWS::Elasticsearch::Domain.EBSOptions`.
EbsOptions interface{} `json:"ebsOptions"`
// `AWS::Elasticsearch::Domain.ElasticsearchClusterConfig`.
ElasticsearchClusterConfig interface{} `json:"elasticsearchClusterConfig"`
// `AWS::Elasticsearch::Domain.ElasticsearchVersion`.
ElasticsearchVersion *string `json:"elasticsearchVersion"`
// `AWS::Elasticsearch::Domain.EncryptionAtRestOptions`.
EncryptionAtRestOptions interface{} `json:"encryptionAtRestOptions"`
// `AWS::Elasticsearch::Domain.LogPublishingOptions`.
LogPublishingOptions interface{} `json:"logPublishingOptions"`
// `AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions`.
NodeToNodeEncryptionOptions interface{} `json:"nodeToNodeEncryptionOptions"`
// `AWS::Elasticsearch::Domain.SnapshotOptions`.
SnapshotOptions interface{} `json:"snapshotOptions"`
// `AWS::Elasticsearch::Domain.Tags`.
Tags *[]*awscdk.CfnTag `json:"tags"`
// `AWS::Elasticsearch::Domain.VPCOptions`.
VpcOptions interface{} `json:"vpcOptions"`
}
Properties for defining a `AWS::Elasticsearch::Domain`.
TODO: EXAMPLE
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"`
}
TODO: EXAMPLE
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"`
}
TODO: EXAMPLE
type CfnDomain_ColdStorageOptionsProperty ¶
type CfnDomain_ColdStorageOptionsProperty struct {
// `CfnDomain.ColdStorageOptionsProperty.Enabled`.
Enabled interface{} `json:"enabled"`
}
TODO: EXAMPLE
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"`
}
TODO: EXAMPLE
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"`
}
TODO: EXAMPLE
type CfnDomain_ElasticsearchClusterConfigProperty ¶
type CfnDomain_ElasticsearchClusterConfigProperty struct {
// `CfnDomain.ElasticsearchClusterConfigProperty.ColdStorageOptions`.
ColdStorageOptions interface{} `json:"coldStorageOptions"`
// `CfnDomain.ElasticsearchClusterConfigProperty.DedicatedMasterCount`.
DedicatedMasterCount *float64 `json:"dedicatedMasterCount"`
// `CfnDomain.ElasticsearchClusterConfigProperty.DedicatedMasterEnabled`.
DedicatedMasterEnabled interface{} `json:"dedicatedMasterEnabled"`
// `CfnDomain.ElasticsearchClusterConfigProperty.DedicatedMasterType`.
DedicatedMasterType *string `json:"dedicatedMasterType"`
// `CfnDomain.ElasticsearchClusterConfigProperty.InstanceCount`.
InstanceCount *float64 `json:"instanceCount"`
// `CfnDomain.ElasticsearchClusterConfigProperty.InstanceType`.
InstanceType *string `json:"instanceType"`
// `CfnDomain.ElasticsearchClusterConfigProperty.WarmCount`.
WarmCount *float64 `json:"warmCount"`
// `CfnDomain.ElasticsearchClusterConfigProperty.WarmEnabled`.
WarmEnabled interface{} `json:"warmEnabled"`
// `CfnDomain.ElasticsearchClusterConfigProperty.WarmType`.
WarmType *string `json:"warmType"`
// `CfnDomain.ElasticsearchClusterConfigProperty.ZoneAwarenessConfig`.
ZoneAwarenessConfig interface{} `json:"zoneAwarenessConfig"`
// `CfnDomain.ElasticsearchClusterConfigProperty.ZoneAwarenessEnabled`.
ZoneAwarenessEnabled interface{} `json:"zoneAwarenessEnabled"`
}
TODO: EXAMPLE
type CfnDomain_EncryptionAtRestOptionsProperty ¶
type CfnDomain_EncryptionAtRestOptionsProperty struct {
// `CfnDomain.EncryptionAtRestOptionsProperty.Enabled`.
Enabled interface{} `json:"enabled"`
// `CfnDomain.EncryptionAtRestOptionsProperty.KmsKeyId`.
KmsKeyId *string `json:"kmsKeyId"`
}
TODO: EXAMPLE
type CfnDomain_LogPublishingOptionProperty ¶
type CfnDomain_LogPublishingOptionProperty struct {
// `CfnDomain.LogPublishingOptionProperty.CloudWatchLogsLogGroupArn`.
CloudWatchLogsLogGroupArn *string `json:"cloudWatchLogsLogGroupArn"`
// `CfnDomain.LogPublishingOptionProperty.Enabled`.
Enabled interface{} `json:"enabled"`
}
TODO: EXAMPLE
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"`
}
TODO: EXAMPLE
type CfnDomain_NodeToNodeEncryptionOptionsProperty ¶
type CfnDomain_NodeToNodeEncryptionOptionsProperty struct {
// `CfnDomain.NodeToNodeEncryptionOptionsProperty.Enabled`.
Enabled interface{} `json:"enabled"`
}
TODO: EXAMPLE
type CfnDomain_SnapshotOptionsProperty ¶
type CfnDomain_SnapshotOptionsProperty struct {
// `CfnDomain.SnapshotOptionsProperty.AutomatedSnapshotStartHour`.
AutomatedSnapshotStartHour *float64 `json:"automatedSnapshotStartHour"`
}
TODO: EXAMPLE
type CfnDomain_VPCOptionsProperty ¶
type CfnDomain_VPCOptionsProperty struct {
// `CfnDomain.VPCOptionsProperty.SecurityGroupIds`.
SecurityGroupIds *[]*string `json:"securityGroupIds"`
// `CfnDomain.VPCOptionsProperty.SubnetIds`.
SubnetIds *[]*string `json:"subnetIds"`
}
TODO: EXAMPLE
type CfnDomain_ZoneAwarenessConfigProperty ¶
type CfnDomain_ZoneAwarenessConfigProperty struct {
// `CfnDomain.ZoneAwarenessConfigProperty.AvailabilityZoneCount`.
AvailabilityZoneCount *float64 `json:"availabilityZoneCount"`
}
TODO: EXAMPLE
type CognitoOptions ¶
type CognitoOptions struct {
// The Amazon Cognito identity pool ID that you want Amazon ES to use for Kibana authentication.
IdentityPoolId *string `json:"identityPoolId"`
// A role that allows Amazon ES to configure your user pool and identity pool.
//
// It must have the `AmazonESCognitoAccess` policy attached to it.
// See: https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html#es-cognito-auth-prereq
//
Role awsiam.IRole `json:"role"`
// The Amazon Cognito user pool ID that you want Amazon ES to use for Kibana authentication.
UserPoolId *string `json:"userPoolId"`
}
Configures Amazon ES to use Amazon Cognito authentication for Kibana.
TODO: EXAMPLE
See: https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html
type CustomEndpointOptions ¶
type CustomEndpointOptions struct {
// The custom domain name to assign.
DomainName *string `json:"domainName"`
// The certificate to use.
Certificate awscertificatemanager.ICertificate `json:"certificate"`
// The hosted zone in Route53 to create the CNAME record in.
HostedZone awsroute53.IHostedZone `json:"hostedZone"`
}
Configures a custom domain endpoint for the ES domain.
TODO: EXAMPLE
type Domain ¶
type Domain interface {
awscdk.Resource
awsec2.IConnectable
IDomain
AppLogGroup() awslogs.ILogGroup
AuditLogGroup() awslogs.ILogGroup
Connections() awsec2.Connections
DomainArn() *string
DomainEndpoint() *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 Elasticsearch domain.
TODO: EXAMPLE
func NewDomain ¶
func NewDomain(scope constructs.Construct, id *string, props *DomainProps) Domain
type DomainAttributes ¶
type DomainAttributes struct {
// The ARN of the Elasticsearch domain.
DomainArn *string `json:"domainArn"`
// The domain endpoint of the Elasticsearch domain.
DomainEndpoint *string `json:"domainEndpoint"`
}
Reference to an Elasticsearch domain.
TODO: EXAMPLE
type DomainProps ¶
type DomainProps struct {
// The Elasticsearch version that your domain will leverage.
Version ElasticsearchVersion `json:"version"`
// Domain Access policies.
AccessPolicies *[]awsiam.PolicyStatement `json:"accessPolicies"`
// Additional options to specify for the Amazon ES domain.
// See: https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-advanced-options
//
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 ES domain.
//
// Only applies for Elasticsearch
// versions below 5.3.
AutomatedSnapshotStartHour *float64 `json:"automatedSnapshotStartHour"`
// The cluster capacity configuration for the Amazon ES domain.
Capacity *CapacityConfig `json:"capacity"`
// Configures Amazon ES to use Amazon Cognito authentication for Kibana.
CognitoKibanaAuth *CognitoOptions `json:"cognitoKibanaAuth"`
// 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
CustomEndpoint *CustomEndpointOptions `json:"customEndpoint"`
// Enforces a particular physical domain name.
DomainName *string `json:"domainName"`
// The configurations of Amazon Elastic Block Store (Amazon EBS) volumes that are attached to data nodes in the Amazon ES domain.
//
// For more information, see
// [Configuring EBS-based Storage]
// (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-ebs)
// in the Amazon Elasticsearch Service Developer Guide.
Ebs *EbsOptions `json:"ebs"`
// To upgrade an Amazon ES domain to a new version of Elasticsearch 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-upgradeelasticsearchdomain
//
EnableVersionUpgrade *bool `json:"enableVersionUpgrade"`
// Encryption at rest options for the cluster.
EncryptionAtRest *EncryptionAtRestOptions `json:"encryptionAtRest"`
// True to require that all traffic to the domain arrive over HTTPS.
EnforceHttps *bool `json:"enforceHttps"`
// Specifies options for fine-grained access control.
//
// Requires Elasticsearch version 6.7 or later. Enabling fine-grained access control
// also requires encryption of data at rest and node-to-node encryption, along with
// enforced HTTPS.
FineGrainedAccessControl *AdvancedSecurityOptions `json:"fineGrainedAccessControl"`
// Configuration log publishing configuration options.
Logging *LoggingOptions `json:"logging"`
// Specify true to enable node to node encryption.
//
// Requires Elasticsearch version 6.0 or later.
NodeToNodeEncryption *bool `json:"nodeToNodeEncryption"`
// Policy to apply when the domain is removed from the stack.
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
//
SecurityGroups *[]awsec2.ISecurityGroup `json:"securityGroups"`
// The minimum TLS version required for traffic to the domain.
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.
UseUnsignedBasicAuth *bool `json:"useUnsignedBasicAuth"`
// Place the domain inside this VPC.
// See: https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html
//
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
//
VpcSubnets *[]*awsec2.SubnetSelection `json:"vpcSubnets"`
// The cluster zone awareness configuration for the Amazon ES domain.
ZoneAwareness *ZoneAwarenessConfig `json:"zoneAwareness"`
}
Properties for an AWS Elasticsearch Domain.
TODO: EXAMPLE
type EbsOptions ¶
type EbsOptions struct {
// Specifies whether Amazon EBS volumes are attached to data nodes in the Amazon ES domain.
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.
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 more information, see
// [Configuring EBS-based Storage]
// (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-ebs)
// in the Amazon Elasticsearch Service Developer Guide.
VolumeSize *float64 `json:"volumeSize"`
// The EBS volume type to use with the Amazon ES domain, such as standard, gp2, io1.
//
// For more information, see[Configuring EBS-based Storage]
// (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-ebs)
// in the Amazon Elasticsearch Service Developer Guide.
VolumeType awsec2.EbsDeviceVolumeType `json:"volumeType"`
}
The configurations of Amazon Elastic Block Store (Amazon EBS) volumes that are attached to data nodes in the Amazon ES domain.
For more information, see [Configuring EBS-based Storage] (https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-ebs) in the Amazon Elasticsearch Service Developer Guide.
TODO: EXAMPLE
type ElasticsearchVersion ¶
type ElasticsearchVersion interface {
Version() *string
}
Elasticsearch version.
TODO: EXAMPLE
func ElasticsearchVersion_Of ¶
func ElasticsearchVersion_Of(version *string) ElasticsearchVersion
Custom Elasticsearch version.
func ElasticsearchVersion_V1_5 ¶
func ElasticsearchVersion_V1_5() ElasticsearchVersion
func ElasticsearchVersion_V2_3 ¶
func ElasticsearchVersion_V2_3() ElasticsearchVersion
func ElasticsearchVersion_V5_1 ¶
func ElasticsearchVersion_V5_1() ElasticsearchVersion
func ElasticsearchVersion_V5_3 ¶
func ElasticsearchVersion_V5_3() ElasticsearchVersion
func ElasticsearchVersion_V5_5 ¶
func ElasticsearchVersion_V5_5() ElasticsearchVersion
func ElasticsearchVersion_V5_6 ¶
func ElasticsearchVersion_V5_6() ElasticsearchVersion
func ElasticsearchVersion_V6_0 ¶
func ElasticsearchVersion_V6_0() ElasticsearchVersion
func ElasticsearchVersion_V6_2 ¶
func ElasticsearchVersion_V6_2() ElasticsearchVersion
func ElasticsearchVersion_V6_3 ¶
func ElasticsearchVersion_V6_3() ElasticsearchVersion
func ElasticsearchVersion_V6_4 ¶
func ElasticsearchVersion_V6_4() ElasticsearchVersion
func ElasticsearchVersion_V6_5 ¶
func ElasticsearchVersion_V6_5() ElasticsearchVersion
func ElasticsearchVersion_V6_7 ¶
func ElasticsearchVersion_V6_7() ElasticsearchVersion
func ElasticsearchVersion_V6_8 ¶
func ElasticsearchVersion_V6_8() ElasticsearchVersion
func ElasticsearchVersion_V7_1 ¶
func ElasticsearchVersion_V7_1() ElasticsearchVersion
func ElasticsearchVersion_V7_10 ¶
func ElasticsearchVersion_V7_10() ElasticsearchVersion
func ElasticsearchVersion_V7_4 ¶
func ElasticsearchVersion_V7_4() ElasticsearchVersion
func ElasticsearchVersion_V7_7 ¶
func ElasticsearchVersion_V7_7() ElasticsearchVersion
func ElasticsearchVersion_V7_8 ¶
func ElasticsearchVersion_V7_8() ElasticsearchVersion
func ElasticsearchVersion_V7_9 ¶
func ElasticsearchVersion_V7_9() ElasticsearchVersion
type EncryptionAtRestOptions ¶
type EncryptionAtRestOptions struct {
// Specify true to enable encryption at rest.
Enabled *bool `json:"enabled"`
// Supply if using KMS key for encryption at rest.
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.
TODO: EXAMPLE
type IDomain ¶
type IDomain interface {
awscdk.IResource
// Grant read permissions for an index in this domain to an IAM principal (Role/Group/User).
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).
GrantIndexReadWrite(index *string, identity awsiam.IGrantable) awsiam.Grant
// Grant write permissions for an index in this domain to an IAM principal (Role/Group/User).
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).
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).
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).
GrantPathWrite(path *string, identity awsiam.IGrantable) awsiam.Grant
// Grant read permissions for this domain and its contents to an IAM principal (Role/Group/User).
GrantRead(identity awsiam.IGrantable) awsiam.Grant
// Grant read/write permissions for this domain and its contents to an IAM principal (Role/Group/User).
GrantReadWrite(identity awsiam.IGrantable) awsiam.Grant
// Grant write permissions for this domain and its contents to an IAM principal (Role/Group/User).
GrantWrite(identity awsiam.IGrantable) awsiam.Grant
// Return the given named metric for this Domain.
Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric
// Metric for automated snapshot failures.
MetricAutomatedSnapshotFailure(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
// Metric for the cluster blocking index writes.
MetricClusterIndexWritesBlocked(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
// Metric for the time the cluster status is red.
MetricClusterStatusRed(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
// Metric for the time the cluster status is yellow.
MetricClusterStatusYellow(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
// Metric for CPU utilization.
MetricCPUUtilization(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
// Metric for the storage space of nodes in the cluster.
MetricFreeStorageSpace(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
// Metric for indexing latency.
MetricIndexingLatency(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
// Metric for JVM memory pressure.
MetricJVMMemoryPressure(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
// Metric for KMS key errors.
MetricKMSKeyError(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
// Metric for KMS key being inaccessible.
MetricKMSKeyInaccessible(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
// Metric for master CPU utilization.
MetricMasterCPUUtilization(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
// Metric for master JVM memory pressure.
MetricMasterJVMMemoryPressure(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
// Metric for the number of nodes.
MetricNodes(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
// Metric for number of searchable documents.
MetricSearchableDocuments(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
// Metric for search latency.
MetricSearchLatency(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
// Arn of the Elasticsearch domain.
DomainArn() *string
// Endpoint of the Elasticsearch domain.
DomainEndpoint() *string
// Domain name of the Elasticsearch domain.
DomainName() *string
}
An interface that represents an Elasticsearch domain - either created with the CDK, or an existing one.
func Domain_FromDomainAttributes ¶
func Domain_FromDomainAttributes(scope constructs.Construct, id *string, attrs *DomainAttributes) IDomain
Creates a Domain construct that represents an external domain.
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.
type LoggingOptions ¶
type LoggingOptions struct {
// Specify if Elasticsearch application logging should be set up.
//
// Requires Elasticsearch version 5.1 or later.
AppLogEnabled *bool `json:"appLogEnabled"`
// Log Elasticsearch application logs to this log group.
AppLogGroup awslogs.ILogGroup `json:"appLogGroup"`
// Specify if Elasticsearch audit logging should be set up.
//
// Requires Elasticsearch version 6.7 or later and fine grained access control to be enabled.
AuditLogEnabled *bool `json:"auditLogEnabled"`
// Log Elasticsearch audit logs to this log group.
AuditLogGroup awslogs.ILogGroup `json:"auditLogGroup"`
// Specify if slow index logging should be set up.
//
// Requires Elasticsearch version 5.1 or later.
SlowIndexLogEnabled *bool `json:"slowIndexLogEnabled"`
// Log slow indices to this log group.
SlowIndexLogGroup awslogs.ILogGroup `json:"slowIndexLogGroup"`
// Specify if slow search logging should be set up.
//
// Requires Elasticsearch version 5.1 or later.
SlowSearchLogEnabled *bool `json:"slowSearchLogEnabled"`
// Log slow searches to this log group.
SlowSearchLogGroup awslogs.ILogGroup `json:"slowSearchLogGroup"`
}
Configures log settings for the domain.
TODO: EXAMPLE
type TLSSecurityPolicy ¶
type TLSSecurityPolicy string
The minimum TLS version required for traffic to the domain.
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.
AvailabilityZoneCount *float64 `json:"availabilityZoneCount"`
// Indicates whether to enable zone awareness for the Amazon ES domain.
//
// When you enable zone awareness, Amazon ES 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/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-managedomains-multiaz)
// in the Amazon Elasticsearch Service Developer Guide.
Enabled *bool `json:"enabled"`
}
Specifies zone awareness configuration options.
TODO: EXAMPLE