Domain
Manages an AWS Elasticsearch Domain.
Example Usage
Basic Usage
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var example = new Aws.ElasticSearch.Domain("example", new Aws.ElasticSearch.DomainArgs
{
ClusterConfig = new Aws.ElasticSearch.Inputs.DomainClusterConfigArgs
{
InstanceType = "r4.large.elasticsearch",
},
ElasticsearchVersion = "1.5",
SnapshotOptions = new Aws.ElasticSearch.Inputs.DomainSnapshotOptionsArgs
{
AutomatedSnapshotStartHour = 23,
},
Tags =
{
{ "Domain", "TestDomain" },
},
});
}
}
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/elasticsearch"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := elasticsearch.NewDomain(ctx, "example", &elasticsearch.DomainArgs{
ClusterConfig: &elasticsearch.DomainClusterConfigArgs{
InstanceType: pulumi.String("r4.large.elasticsearch"),
},
ElasticsearchVersion: pulumi.String("1.5"),
SnapshotOptions: &elasticsearch.DomainSnapshotOptionsArgs{
AutomatedSnapshotStartHour: pulumi.Int(23),
},
Tags: pulumi.StringMap{
"Domain": pulumi.String("TestDomain"),
},
})
if err != nil {
return err
}
return nil
})
}import pulumi
import pulumi_aws as aws
example = aws.elasticsearch.Domain("example",
cluster_config={
"instance_type": "r4.large.elasticsearch",
},
elasticsearch_version="1.5",
snapshot_options={
"automatedSnapshotStartHour": 23,
},
tags={
"Domain": "TestDomain",
})import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.elasticsearch.Domain("example", {
clusterConfig: {
instanceType: "r4.large.elasticsearch",
},
elasticsearchVersion: "1.5",
snapshotOptions: {
automatedSnapshotStartHour: 23,
},
tags: {
Domain: "TestDomain",
},
});Access Policy
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var config = new Config();
var domain = config.Get("domain") ?? "tf-test";
var currentRegion = Output.Create(Aws.GetRegion.InvokeAsync());
var currentCallerIdentity = Output.Create(Aws.GetCallerIdentity.InvokeAsync());
var example = new Aws.ElasticSearch.Domain("example", new Aws.ElasticSearch.DomainArgs
{
AccessPolicies = Output.Tuple(currentRegion, currentCallerIdentity).Apply(values =>
{
var currentRegion = values.Item1;
var currentCallerIdentity = values.Item2;
return @$"{{
""Version"": ""2012-10-17"",
""Statement"": [
{{
""Action"": ""es:*"",
""Principal"": ""*"",
""Effect"": ""Allow"",
""Resource"": ""arn:aws:es:{currentRegion.Name}:{currentCallerIdentity.AccountId}:domain/{domain}/*"",
""Condition"": {{
""IpAddress"": {{""aws:SourceIp"": [""66.193.100.22/32""]}}
}}
}}
]
}}
";
}),
});
}
}
package main
import (
"fmt"
"github.com/pulumi/pulumi-aws/sdk/v2/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/elasticsearch"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
currentRegion, err := aws.GetRegion(ctx, nil, nil)
if err != nil {
return err
}
currentCallerIdentity, err := aws.GetCallerIdentity(ctx, nil, nil)
if err != nil {
return err
}
_, err = elasticsearch.NewDomain(ctx, "example", &elasticsearch.DomainArgs{
AccessPolicies: pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", " \"Version\": \"2012-10-17\",\n", " \"Statement\": [\n", " {\n", " \"Action\": \"es:*\",\n", " \"Principal\": \"*\",\n", " \"Effect\": \"Allow\",\n", " \"Resource\": \"arn:aws:es:", currentRegion.Name, ":", currentCallerIdentity.AccountId, ":domain/", domain, "/*\",\n", " \"Condition\": {\n", " \"IpAddress\": {\"aws:SourceIp\": [\"66.193.100.22/32\"]}\n", " }\n", " }\n", " ]\n", "}\n", "\n")),
})
if err != nil {
return err
}
return nil
})
}import pulumi
import pulumi_aws as aws
config = pulumi.Config()
domain = config.get("domain")
if domain is None:
domain = "tf-test"
current_region = aws.get_region()
current_caller_identity = aws.get_caller_identity()
example = aws.elasticsearch.Domain("example", access_policies=f"""{{
"Version": "2012-10-17",
"Statement": [
{{
"Action": "es:*",
"Principal": "*",
"Effect": "Allow",
"Resource": "arn:aws:es:{current_region.name}:{current_caller_identity.account_id}:domain/{domain}/*",
"Condition": {{
"IpAddress": {{"aws:SourceIp": ["66.193.100.22/32"]}}
}}
}}
]
}}
""")import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const config = new pulumi.Config();
const domain = config.get("domain") || "tf-test";
const currentRegion = pulumi.output(aws.getRegion({ async: true }));
const currentCallerIdentity = pulumi.output(aws.getCallerIdentity({ async: true }));
const example = new aws.elasticsearch.Domain("example", {
accessPolicies: pulumi.interpolate`{
"Version": "2012-10-17",
"Statement": [
{
"Action": "es:*",
"Principal": "*",
"Effect": "Allow",
"Resource": "arn:aws:es:${currentRegion.name!}:${currentCallerIdentity.accountId}:domain/${domain}/*",
"Condition": {
"IpAddress": {"aws:SourceIp": ["66.193.100.22/32"]}
}
}
]
}
`,
});Log Publishing to CloudWatch Logs
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var exampleLogGroup = new Aws.CloudWatch.LogGroup("exampleLogGroup", new Aws.CloudWatch.LogGroupArgs
{
});
var exampleLogResourcePolicy = new Aws.CloudWatch.LogResourcePolicy("exampleLogResourcePolicy", new Aws.CloudWatch.LogResourcePolicyArgs
{
PolicyDocument = @"{
""Version"": ""2012-10-17"",
""Statement"": [
{
""Effect"": ""Allow"",
""Principal"": {
""Service"": ""es.amazonaws.com""
},
""Action"": [
""logs:PutLogEvents"",
""logs:PutLogEventsBatch"",
""logs:CreateLogStream""
],
""Resource"": ""arn:aws:logs:*""
}
]
}
",
PolicyName = "example",
});
var exampleDomain = new Aws.ElasticSearch.Domain("exampleDomain", new Aws.ElasticSearch.DomainArgs
{
LogPublishingOptions =
{
new Aws.ElasticSearch.Inputs.DomainLogPublishingOptionArgs
{
CloudwatchLogGroupArn = exampleLogGroup.Arn,
LogType = "INDEX_SLOW_LOGS",
},
},
});
}
}
package main
import (
"fmt"
"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/cloudwatch"
"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/elasticsearch"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
exampleLogGroup, err := cloudwatch.NewLogGroup(ctx, "exampleLogGroup", nil)
if err != nil {
return err
}
_, err = cloudwatch.NewLogResourcePolicy(ctx, "exampleLogResourcePolicy", &cloudwatch.LogResourcePolicyArgs{
PolicyDocument: pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", " \"Version\": \"2012-10-17\",\n", " \"Statement\": [\n", " {\n", " \"Effect\": \"Allow\",\n", " \"Principal\": {\n", " \"Service\": \"es.amazonaws.com\"\n", " },\n", " \"Action\": [\n", " \"logs:PutLogEvents\",\n", " \"logs:PutLogEventsBatch\",\n", " \"logs:CreateLogStream\"\n", " ],\n", " \"Resource\": \"arn:aws:logs:*\"\n", " }\n", " ]\n", "}\n", "\n")),
PolicyName: pulumi.String("example"),
})
if err != nil {
return err
}
_, err = elasticsearch.NewDomain(ctx, "exampleDomain", &elasticsearch.DomainArgs{
LogPublishingOptions: elasticsearch.DomainLogPublishingOptionArray{
&elasticsearch.DomainLogPublishingOptionArgs{
CloudwatchLogGroupArn: exampleLogGroup.Arn,
LogType: pulumi.String("INDEX_SLOW_LOGS"),
},
},
})
if err != nil {
return err
}
return nil
})
}import pulumi
import pulumi_aws as aws
example_log_group = aws.cloudwatch.LogGroup("exampleLogGroup")
example_log_resource_policy = aws.cloudwatch.LogResourcePolicy("exampleLogResourcePolicy",
policy_document="""{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "es.amazonaws.com"
},
"Action": [
"logs:PutLogEvents",
"logs:PutLogEventsBatch",
"logs:CreateLogStream"
],
"Resource": "arn:aws:logs:*"
}
]
}
""",
policy_name="example")
example_domain = aws.elasticsearch.Domain("exampleDomain", log_publishing_options=[{
"cloudwatch_log_group_arn": example_log_group.arn,
"logType": "INDEX_SLOW_LOGS",
}])import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const exampleLogGroup = new aws.cloudwatch.LogGroup("example", {});
const exampleLogResourcePolicy = new aws.cloudwatch.LogResourcePolicy("example", {
policyDocument: `{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "es.amazonaws.com"
},
"Action": [
"logs:PutLogEvents",
"logs:PutLogEventsBatch",
"logs:CreateLogStream"
],
"Resource": "arn:aws:logs:*"
}
]
}
`,
policyName: "example",
});
const exampleDomain = new aws.elasticsearch.Domain("example", {
logPublishingOptions: [{
cloudwatchLogGroupArn: exampleLogGroup.arn,
logType: "INDEX_SLOW_LOGS",
}],
});Create a Domain Resource
new Domain(name: string, args?: DomainArgs, opts?: CustomResourceOptions);def Domain(resource_name, opts=None, access_policies=None, advanced_options=None, advanced_security_options=None, cluster_config=None, cognito_options=None, domain_endpoint_options=None, domain_name=None, ebs_options=None, elasticsearch_version=None, encrypt_at_rest=None, log_publishing_options=None, node_to_node_encryption=None, snapshot_options=None, tags=None, vpc_options=None, __props__=None);func NewDomain(ctx *Context, name string, args *DomainArgs, opts ...ResourceOption) (*Domain, error)public Domain(string name, DomainArgs? args = null, CustomResourceOptions? opts = null)- name string
- The unique name of the resource.
- args DomainArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- opts ResourceOptions
- A bag of options that control this resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args DomainArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args DomainArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
Domain Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Programming Model docs.
Inputs
The Domain resource accepts the following input properties:
- Access
Policies string IAM policy document specifying the access policies for the domain
- Advanced
Options Dictionary<string, string> Key-value string pairs to specify advanced configuration options. Note that the values for these configuration options must be strings (wrapped in quotes) or they may be wrong and cause a perpetual diff, causing this provider to want to recreate your Elasticsearch domain on every apply.
- Advanced
Security DomainOptions Advanced Security Options Args Options for fine-grained access control. See below for more details.
- Cluster
Config DomainCluster Config Args Cluster configuration of the domain, see below.
- Cognito
Options DomainCognito Options Args - Domain
Endpoint DomainOptions Domain Endpoint Options Args Domain endpoint HTTP(S) related options. See below.
- Domain
Name string Name of the domain.
- Ebs
Options DomainEbs Options Args EBS related options, may be required based on chosen instance size. See below.
- Elasticsearch
Version string The version of Elasticsearch to deploy. Defaults to
1.5- Encrypt
At DomainRest Encrypt At Rest Args Encrypt at rest options. Only available for certain instance types. See below.
- Log
Publishing List<DomainOptions Log Publishing Option Args> Options for publishing slow logs to CloudWatch Logs.
- Node
To DomainNode Encryption Node To Node Encryption Args Node-to-node encryption options. See below.
- Snapshot
Options DomainSnapshot Options Args Snapshot related options, see below.
- Dictionary<string, string>
A map of tags to assign to the resource
- Vpc
Options DomainVpc Options Args VPC related options, see below. Adding or removing this configuration forces a new resource (documentation).
- Access
Policies interface{} IAM policy document specifying the access policies for the domain
- Advanced
Options map[string]string Key-value string pairs to specify advanced configuration options. Note that the values for these configuration options must be strings (wrapped in quotes) or they may be wrong and cause a perpetual diff, causing this provider to want to recreate your Elasticsearch domain on every apply.
- Advanced
Security DomainOptions Advanced Security Options Options for fine-grained access control. See below for more details.
- Cluster
Config DomainCluster Config Cluster configuration of the domain, see below.
- Cognito
Options DomainCognito Options - Domain
Endpoint DomainOptions Domain Endpoint Options Domain endpoint HTTP(S) related options. See below.
- Domain
Name string Name of the domain.
- Ebs
Options DomainEbs Options EBS related options, may be required based on chosen instance size. See below.
- Elasticsearch
Version string The version of Elasticsearch to deploy. Defaults to
1.5- Encrypt
At DomainRest Encrypt At Rest Encrypt at rest options. Only available for certain instance types. See below.
- Log
Publishing []DomainOptions Log Publishing Option Options for publishing slow logs to CloudWatch Logs.
- Node
To DomainNode Encryption Node To Node Encryption Node-to-node encryption options. See below.
- Snapshot
Options DomainSnapshot Options Snapshot related options, see below.
- map[string]string
A map of tags to assign to the resource
- Vpc
Options DomainVpc Options VPC related options, see below. Adding or removing this configuration forces a new resource (documentation).
- access
Policies string | PolicyDocument IAM policy document specifying the access policies for the domain
- advanced
Options {[key: string]: string} Key-value string pairs to specify advanced configuration options. Note that the values for these configuration options must be strings (wrapped in quotes) or they may be wrong and cause a perpetual diff, causing this provider to want to recreate your Elasticsearch domain on every apply.
- advanced
Security DomainOptions Advanced Security Options Options for fine-grained access control. See below for more details.
- cluster
Config DomainCluster Config Cluster configuration of the domain, see below.
- cognito
Options DomainCognito Options - domain
Endpoint DomainOptions Domain Endpoint Options Domain endpoint HTTP(S) related options. See below.
- domain
Name string Name of the domain.
- ebs
Options DomainEbs Options EBS related options, may be required based on chosen instance size. See below.
- elasticsearch
Version string The version of Elasticsearch to deploy. Defaults to
1.5- encrypt
At DomainRest Encrypt At Rest Encrypt at rest options. Only available for certain instance types. See below.
- log
Publishing DomainOptions Log Publishing Option[] Options for publishing slow logs to CloudWatch Logs.
- node
To DomainNode Encryption Node To Node Encryption Node-to-node encryption options. See below.
- snapshot
Options DomainSnapshot Options Snapshot related options, see below.
- {[key: string]: string}
A map of tags to assign to the resource
- vpc
Options DomainVpc Options VPC related options, see below. Adding or removing this configuration forces a new resource (documentation).
- access_
policies string | str IAM policy document specifying the access policies for the domain
- advanced_
options Dict[str, str] Key-value string pairs to specify advanced configuration options. Note that the values for these configuration options must be strings (wrapped in quotes) or they may be wrong and cause a perpetual diff, causing this provider to want to recreate your Elasticsearch domain on every apply.
- advanced_
security_ Dict[Domainoptions Advanced Security Options] Options for fine-grained access control. See below for more details.
- cluster_
config Dict[DomainCluster Config] Cluster configuration of the domain, see below.
- cognito_
options Dict[DomainCognito Options] - domain_
endpoint_ Dict[Domainoptions Domain Endpoint Options] Domain endpoint HTTP(S) related options. See below.
- domain_
name str Name of the domain.
- ebs_
options Dict[DomainEbs Options] EBS related options, may be required based on chosen instance size. See below.
- elasticsearch_
version str The version of Elasticsearch to deploy. Defaults to
1.5- encrypt_
at_ Dict[Domainrest Encrypt At Rest] Encrypt at rest options. Only available for certain instance types. See below.
- log_
publishing_ List[Domainoptions Log Publishing Option] Options for publishing slow logs to CloudWatch Logs.
- node_
to_ Dict[Domainnode_ encryption Node To Node Encryption] Node-to-node encryption options. See below.
- snapshot_
options Dict[DomainSnapshot Options] Snapshot related options, see below.
- Dict[str, str]
A map of tags to assign to the resource
- vpc_
options Dict[DomainVpc Options] VPC related options, see below. Adding or removing this configuration forces a new resource (documentation).
Outputs
All input properties are implicitly available as output properties. Additionally, the Domain resource produces the following output properties:
- Arn string
Amazon Resource Name (ARN) of the domain.
- Domain
Id string Unique identifier for the domain.
- Endpoint string
Domain-specific endpoint used to submit index, search, and data upload requests.
- Id string
- The provider-assigned unique ID for this managed resource.
- Kibana
Endpoint string Domain-specific endpoint for kibana without https scheme. *
vpc_options.0.availability_zones- If the domain was created inside a VPC, the names of the availability zones the configuredsubnet_idswere created inside. *vpc_options.0.vpc_id- If the domain was created inside a VPC, the ID of the VPC.
- Arn string
Amazon Resource Name (ARN) of the domain.
- Domain
Id string Unique identifier for the domain.
- Endpoint string
Domain-specific endpoint used to submit index, search, and data upload requests.
- Id string
- The provider-assigned unique ID for this managed resource.
- Kibana
Endpoint string Domain-specific endpoint for kibana without https scheme. *
vpc_options.0.availability_zones- If the domain was created inside a VPC, the names of the availability zones the configuredsubnet_idswere created inside. *vpc_options.0.vpc_id- If the domain was created inside a VPC, the ID of the VPC.
- arn string
Amazon Resource Name (ARN) of the domain.
- domain
Id string Unique identifier for the domain.
- endpoint string
Domain-specific endpoint used to submit index, search, and data upload requests.
- id string
- The provider-assigned unique ID for this managed resource.
- kibana
Endpoint string Domain-specific endpoint for kibana without https scheme. *
vpc_options.0.availability_zones- If the domain was created inside a VPC, the names of the availability zones the configuredsubnet_idswere created inside. *vpc_options.0.vpc_id- If the domain was created inside a VPC, the ID of the VPC.
- arn str
Amazon Resource Name (ARN) of the domain.
- domain_
id str Unique identifier for the domain.
- endpoint str
Domain-specific endpoint used to submit index, search, and data upload requests.
- id str
- The provider-assigned unique ID for this managed resource.
- kibana_
endpoint str Domain-specific endpoint for kibana without https scheme. *
vpc_options.0.availability_zones- If the domain was created inside a VPC, the names of the availability zones the configuredsubnet_idswere created inside. *vpc_options.0.vpc_id- If the domain was created inside a VPC, the ID of the VPC.
Look up an Existing Domain Resource
Get an existing Domain resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: DomainState, opts?: CustomResourceOptions): Domainstatic get(resource_name, id, opts=None, access_policies=None, advanced_options=None, advanced_security_options=None, arn=None, cluster_config=None, cognito_options=None, domain_endpoint_options=None, domain_id=None, domain_name=None, ebs_options=None, elasticsearch_version=None, encrypt_at_rest=None, endpoint=None, kibana_endpoint=None, log_publishing_options=None, node_to_node_encryption=None, snapshot_options=None, tags=None, vpc_options=None, __props__=None);func GetDomain(ctx *Context, name string, id IDInput, state *DomainState, opts ...ResourceOption) (*Domain, error)public static Domain Get(string name, Input<string> id, DomainState? state, CustomResourceOptions? opts = null)- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
The following state arguments are supported:
- Access
Policies string IAM policy document specifying the access policies for the domain
- Advanced
Options Dictionary<string, string> Key-value string pairs to specify advanced configuration options. Note that the values for these configuration options must be strings (wrapped in quotes) or they may be wrong and cause a perpetual diff, causing this provider to want to recreate your Elasticsearch domain on every apply.
- Advanced
Security DomainOptions Advanced Security Options Args Options for fine-grained access control. See below for more details.
- Arn string
Amazon Resource Name (ARN) of the domain.
- Cluster
Config DomainCluster Config Args Cluster configuration of the domain, see below.
- Cognito
Options DomainCognito Options Args - Domain
Endpoint DomainOptions Domain Endpoint Options Args Domain endpoint HTTP(S) related options. See below.
- Domain
Id string Unique identifier for the domain.
- Domain
Name string Name of the domain.
- Ebs
Options DomainEbs Options Args EBS related options, may be required based on chosen instance size. See below.
- Elasticsearch
Version string The version of Elasticsearch to deploy. Defaults to
1.5- Encrypt
At DomainRest Encrypt At Rest Args Encrypt at rest options. Only available for certain instance types. See below.
- Endpoint string
Domain-specific endpoint used to submit index, search, and data upload requests.
- Kibana
Endpoint string Domain-specific endpoint for kibana without https scheme. *
vpc_options.0.availability_zones- If the domain was created inside a VPC, the names of the availability zones the configuredsubnet_idswere created inside. *vpc_options.0.vpc_id- If the domain was created inside a VPC, the ID of the VPC.- Log
Publishing List<DomainOptions Log Publishing Option Args> Options for publishing slow logs to CloudWatch Logs.
- Node
To DomainNode Encryption Node To Node Encryption Args Node-to-node encryption options. See below.
- Snapshot
Options DomainSnapshot Options Args Snapshot related options, see below.
- Dictionary<string, string>
A map of tags to assign to the resource
- Vpc
Options DomainVpc Options Args VPC related options, see below. Adding or removing this configuration forces a new resource (documentation).
- Access
Policies interface{} IAM policy document specifying the access policies for the domain
- Advanced
Options map[string]string Key-value string pairs to specify advanced configuration options. Note that the values for these configuration options must be strings (wrapped in quotes) or they may be wrong and cause a perpetual diff, causing this provider to want to recreate your Elasticsearch domain on every apply.
- Advanced
Security DomainOptions Advanced Security Options Options for fine-grained access control. See below for more details.
- Arn string
Amazon Resource Name (ARN) of the domain.
- Cluster
Config DomainCluster Config Cluster configuration of the domain, see below.
- Cognito
Options DomainCognito Options - Domain
Endpoint DomainOptions Domain Endpoint Options Domain endpoint HTTP(S) related options. See below.
- Domain
Id string Unique identifier for the domain.
- Domain
Name string Name of the domain.
- Ebs
Options DomainEbs Options EBS related options, may be required based on chosen instance size. See below.
- Elasticsearch
Version string The version of Elasticsearch to deploy. Defaults to
1.5- Encrypt
At DomainRest Encrypt At Rest Encrypt at rest options. Only available for certain instance types. See below.
- Endpoint string
Domain-specific endpoint used to submit index, search, and data upload requests.
- Kibana
Endpoint string Domain-specific endpoint for kibana without https scheme. *
vpc_options.0.availability_zones- If the domain was created inside a VPC, the names of the availability zones the configuredsubnet_idswere created inside. *vpc_options.0.vpc_id- If the domain was created inside a VPC, the ID of the VPC.- Log
Publishing []DomainOptions Log Publishing Option Options for publishing slow logs to CloudWatch Logs.
- Node
To DomainNode Encryption Node To Node Encryption Node-to-node encryption options. See below.
- Snapshot
Options DomainSnapshot Options Snapshot related options, see below.
- map[string]string
A map of tags to assign to the resource
- Vpc
Options DomainVpc Options VPC related options, see below. Adding or removing this configuration forces a new resource (documentation).
- access
Policies string | PolicyDocument IAM policy document specifying the access policies for the domain
- advanced
Options {[key: string]: string} Key-value string pairs to specify advanced configuration options. Note that the values for these configuration options must be strings (wrapped in quotes) or they may be wrong and cause a perpetual diff, causing this provider to want to recreate your Elasticsearch domain on every apply.
- advanced
Security DomainOptions Advanced Security Options Options for fine-grained access control. See below for more details.
- arn string
Amazon Resource Name (ARN) of the domain.
- cluster
Config DomainCluster Config Cluster configuration of the domain, see below.
- cognito
Options DomainCognito Options - domain
Endpoint DomainOptions Domain Endpoint Options Domain endpoint HTTP(S) related options. See below.
- domain
Id string Unique identifier for the domain.
- domain
Name string Name of the domain.
- ebs
Options DomainEbs Options EBS related options, may be required based on chosen instance size. See below.
- elasticsearch
Version string The version of Elasticsearch to deploy. Defaults to
1.5- encrypt
At DomainRest Encrypt At Rest Encrypt at rest options. Only available for certain instance types. See below.
- endpoint string
Domain-specific endpoint used to submit index, search, and data upload requests.
- kibana
Endpoint string Domain-specific endpoint for kibana without https scheme. *
vpc_options.0.availability_zones- If the domain was created inside a VPC, the names of the availability zones the configuredsubnet_idswere created inside. *vpc_options.0.vpc_id- If the domain was created inside a VPC, the ID of the VPC.- log
Publishing DomainOptions Log Publishing Option[] Options for publishing slow logs to CloudWatch Logs.
- node
To DomainNode Encryption Node To Node Encryption Node-to-node encryption options. See below.
- snapshot
Options DomainSnapshot Options Snapshot related options, see below.
- {[key: string]: string}
A map of tags to assign to the resource
- vpc
Options DomainVpc Options VPC related options, see below. Adding or removing this configuration forces a new resource (documentation).
- access_
policies string | str IAM policy document specifying the access policies for the domain
- advanced_
options Dict[str, str] Key-value string pairs to specify advanced configuration options. Note that the values for these configuration options must be strings (wrapped in quotes) or they may be wrong and cause a perpetual diff, causing this provider to want to recreate your Elasticsearch domain on every apply.
- advanced_
security_ Dict[Domainoptions Advanced Security Options] Options for fine-grained access control. See below for more details.
- arn str
Amazon Resource Name (ARN) of the domain.
- cluster_
config Dict[DomainCluster Config] Cluster configuration of the domain, see below.
- cognito_
options Dict[DomainCognito Options] - domain_
endpoint_ Dict[Domainoptions Domain Endpoint Options] Domain endpoint HTTP(S) related options. See below.
- domain_
id str Unique identifier for the domain.
- domain_
name str Name of the domain.
- ebs_
options Dict[DomainEbs Options] EBS related options, may be required based on chosen instance size. See below.
- elasticsearch_
version str The version of Elasticsearch to deploy. Defaults to
1.5- encrypt_
at_ Dict[Domainrest Encrypt At Rest] Encrypt at rest options. Only available for certain instance types. See below.
- endpoint str
Domain-specific endpoint used to submit index, search, and data upload requests.
- kibana_
endpoint str Domain-specific endpoint for kibana without https scheme. *
vpc_options.0.availability_zones- If the domain was created inside a VPC, the names of the availability zones the configuredsubnet_idswere created inside. *vpc_options.0.vpc_id- If the domain was created inside a VPC, the ID of the VPC.- log_
publishing_ List[Domainoptions Log Publishing Option] Options for publishing slow logs to CloudWatch Logs.
- node_
to_ Dict[Domainnode_ encryption Node To Node Encryption] Node-to-node encryption options. See below.
- snapshot_
options Dict[DomainSnapshot Options] Snapshot related options, see below.
- Dict[str, str]
A map of tags to assign to the resource
- vpc_
options Dict[DomainVpc Options] VPC related options, see below. Adding or removing this configuration forces a new resource (documentation).
Supporting Types
DomainAdvancedSecurityOptions
- Enabled bool
Specifies whether Amazon Cognito authentication with Kibana is enabled or not
- Internal
User boolDatabase Enabled Whether the internal user database is enabled. If not set, defaults to
falseby the AWS API.- Master
User DomainOptions Advanced Security Options Master User Options Args Credentials for the master user: username and password, or ARN
- Enabled bool
Specifies whether Amazon Cognito authentication with Kibana is enabled or not
- Internal
User boolDatabase Enabled Whether the internal user database is enabled. If not set, defaults to
falseby the AWS API.- Master
User DomainOptions Advanced Security Options Master User Options Credentials for the master user: username and password, or ARN
- enabled boolean
Specifies whether Amazon Cognito authentication with Kibana is enabled or not
- internal
User booleanDatabase Enabled Whether the internal user database is enabled. If not set, defaults to
falseby the AWS API.- master
User DomainOptions Advanced Security Options Master User Options Credentials for the master user: username and password, or ARN
- enabled bool
Specifies whether Amazon Cognito authentication with Kibana is enabled or not
- internal
User boolDatabase Enabled Whether the internal user database is enabled. If not set, defaults to
falseby the AWS API.- master
User Dict[DomainOptions Advanced Security Options Master User Options] Credentials for the master user: username and password, or ARN
DomainAdvancedSecurityOptionsMasterUserOptions
- Master
User stringArn ARN for the master user. Only specify if
internal_user_database_enabledis not set or set tofalse)- Master
User stringName The master user’s username, which is stored in the Amazon Elasticsearch Service domain’s internal database. Only specify if
internal_user_database_enabledis set totrue.- Master
User stringPassword The master user’s password, which is stored in the Amazon Elasticsearch Service domain’s internal database. Only specify if
internal_user_database_enabledis set totrue.
- Master
User stringArn ARN for the master user. Only specify if
internal_user_database_enabledis not set or set tofalse)- Master
User stringName The master user’s username, which is stored in the Amazon Elasticsearch Service domain’s internal database. Only specify if
internal_user_database_enabledis set totrue.- Master
User stringPassword The master user’s password, which is stored in the Amazon Elasticsearch Service domain’s internal database. Only specify if
internal_user_database_enabledis set totrue.
- master
User stringArn ARN for the master user. Only specify if
internal_user_database_enabledis not set or set tofalse)- master
User stringName The master user’s username, which is stored in the Amazon Elasticsearch Service domain’s internal database. Only specify if
internal_user_database_enabledis set totrue.- master
User stringPassword The master user’s password, which is stored in the Amazon Elasticsearch Service domain’s internal database. Only specify if
internal_user_database_enabledis set totrue.
- master
User strArn ARN for the master user. Only specify if
internal_user_database_enabledis not set or set tofalse)- master
User strName The master user’s username, which is stored in the Amazon Elasticsearch Service domain’s internal database. Only specify if
internal_user_database_enabledis set totrue.- master
User strPassword The master user’s password, which is stored in the Amazon Elasticsearch Service domain’s internal database. Only specify if
internal_user_database_enabledis set totrue.
DomainClusterConfig
- Dedicated
Master intCount Number of dedicated master nodes in the cluster
- Dedicated
Master boolEnabled Indicates whether dedicated master nodes are enabled for the cluster.
- Dedicated
Master stringType Instance type of the dedicated master nodes in the cluster.
- Instance
Count int Number of instances in the cluster.
- Instance
Type string Instance type of data nodes in the cluster.
- Warm
Count int The number of warm nodes in the cluster. Valid values are between
2and150.warm_countcan be only and must be set whenwarm_enabledis set totrue.- Warm
Enabled bool Indicates whether to enable warm storage.
- Warm
Type string The instance type for the Elasticsearch cluster’s warm nodes. Valid values are
ultrawarm1.medium.elasticsearch,ultrawarm1.large.elasticsearchandultrawarm1.xlarge.elasticsearch.warm_typecan be only and must be set whenwarm_enabledis set totrue.- Zone
Awareness DomainConfig Cluster Config Zone Awareness Config Args Configuration block containing zone awareness settings. Documented below.
- Zone
Awareness boolEnabled Indicates whether zone awareness is enabled, set to
truefor multi-az deployment. To enable awareness with three Availability Zones, theavailability_zone_countwithin thezone_awareness_configmust be set to3.
- Dedicated
Master intCount Number of dedicated master nodes in the cluster
- Dedicated
Master boolEnabled Indicates whether dedicated master nodes are enabled for the cluster.
- Dedicated
Master stringType Instance type of the dedicated master nodes in the cluster.
- Instance
Count int Number of instances in the cluster.
- Instance
Type string Instance type of data nodes in the cluster.
- Warm
Count int The number of warm nodes in the cluster. Valid values are between
2and150.warm_countcan be only and must be set whenwarm_enabledis set totrue.- Warm
Enabled bool Indicates whether to enable warm storage.
- Warm
Type string The instance type for the Elasticsearch cluster’s warm nodes. Valid values are
ultrawarm1.medium.elasticsearch,ultrawarm1.large.elasticsearchandultrawarm1.xlarge.elasticsearch.warm_typecan be only and must be set whenwarm_enabledis set totrue.- Zone
Awareness DomainConfig Cluster Config Zone Awareness Config Configuration block containing zone awareness settings. Documented below.
- Zone
Awareness boolEnabled Indicates whether zone awareness is enabled, set to
truefor multi-az deployment. To enable awareness with three Availability Zones, theavailability_zone_countwithin thezone_awareness_configmust be set to3.
- dedicated
Master numberCount Number of dedicated master nodes in the cluster
- dedicated
Master booleanEnabled Indicates whether dedicated master nodes are enabled for the cluster.
- dedicated
Master stringType Instance type of the dedicated master nodes in the cluster.
- instance
Count number Number of instances in the cluster.
- instance
Type string Instance type of data nodes in the cluster.
- warm
Count number The number of warm nodes in the cluster. Valid values are between
2and150.warm_countcan be only and must be set whenwarm_enabledis set totrue.- warm
Enabled boolean Indicates whether to enable warm storage.
- warm
Type string The instance type for the Elasticsearch cluster’s warm nodes. Valid values are
ultrawarm1.medium.elasticsearch,ultrawarm1.large.elasticsearchandultrawarm1.xlarge.elasticsearch.warm_typecan be only and must be set whenwarm_enabledis set totrue.- zone
Awareness DomainConfig Cluster Config Zone Awareness Config Configuration block containing zone awareness settings. Documented below.
- zone
Awareness booleanEnabled Indicates whether zone awareness is enabled, set to
truefor multi-az deployment. To enable awareness with three Availability Zones, theavailability_zone_countwithin thezone_awareness_configmust be set to3.
- dedicated
Master floatCount Number of dedicated master nodes in the cluster
- dedicated
Master boolEnabled Indicates whether dedicated master nodes are enabled for the cluster.
- dedicated
Master strType Instance type of the dedicated master nodes in the cluster.
- instance_
count float Number of instances in the cluster.
- instance_
type str Instance type of data nodes in the cluster.
- warm
Count float The number of warm nodes in the cluster. Valid values are between
2and150.warm_countcan be only and must be set whenwarm_enabledis set totrue.- warm
Enabled bool Indicates whether to enable warm storage.
- warm
Type str The instance type for the Elasticsearch cluster’s warm nodes. Valid values are
ultrawarm1.medium.elasticsearch,ultrawarm1.large.elasticsearchandultrawarm1.xlarge.elasticsearch.warm_typecan be only and must be set whenwarm_enabledis set totrue.- zone
Awareness Dict[DomainConfig Cluster Config Zone Awareness Config] Configuration block containing zone awareness settings. Documented below.
- zone
Awareness boolEnabled Indicates whether zone awareness is enabled, set to
truefor multi-az deployment. To enable awareness with three Availability Zones, theavailability_zone_countwithin thezone_awareness_configmust be set to3.
DomainClusterConfigZoneAwarenessConfig
- Availability
Zone intCount Number of Availability Zones for the domain to use with
zone_awareness_enabled. Defaults to2. Valid values:2or3.
- Availability
Zone intCount Number of Availability Zones for the domain to use with
zone_awareness_enabled. Defaults to2. Valid values:2or3.
- availability
Zone numberCount Number of Availability Zones for the domain to use with
zone_awareness_enabled. Defaults to2. Valid values:2or3.
- availability
Zone floatCount Number of Availability Zones for the domain to use with
zone_awareness_enabled. Defaults to2. Valid values:2or3.
DomainCognitoOptions
- Identity
Pool stringId ID of the Cognito Identity Pool to use
- Role
Arn string ARN of the IAM role that has the AmazonESCognitoAccess policy attached
- User
Pool stringId ID of the Cognito User Pool to use
- Enabled bool
Specifies whether Amazon Cognito authentication with Kibana is enabled or not
- Identity
Pool stringId ID of the Cognito Identity Pool to use
- Role
Arn string ARN of the IAM role that has the AmazonESCognitoAccess policy attached
- User
Pool stringId ID of the Cognito User Pool to use
- Enabled bool
Specifies whether Amazon Cognito authentication with Kibana is enabled or not
- identity
Pool stringId ID of the Cognito Identity Pool to use
- role
Arn string ARN of the IAM role that has the AmazonESCognitoAccess policy attached
- user
Pool stringId ID of the Cognito User Pool to use
- enabled boolean
Specifies whether Amazon Cognito authentication with Kibana is enabled or not
- identity_
pool_ strid ID of the Cognito Identity Pool to use
- role_
arn str ARN of the IAM role that has the AmazonESCognitoAccess policy attached
- user_
pool_ strid ID of the Cognito User Pool to use
- enabled bool
Specifies whether Amazon Cognito authentication with Kibana is enabled or not
DomainDomainEndpointOptions
- Enforce
Https bool Whether or not to require HTTPS
- Tls
Security stringPolicy The name of the TLS security policy that needs to be applied to the HTTPS endpoint. Valid values:
Policy-Min-TLS-1-0-2019-07andPolicy-Min-TLS-1-2-2019-07. This provider will only perform drift detection if a configuration value is provided.
- Enforce
Https bool Whether or not to require HTTPS
- Tls
Security stringPolicy The name of the TLS security policy that needs to be applied to the HTTPS endpoint. Valid values:
Policy-Min-TLS-1-0-2019-07andPolicy-Min-TLS-1-2-2019-07. This provider will only perform drift detection if a configuration value is provided.
- enforce
Https boolean Whether or not to require HTTPS
- tls
Security stringPolicy The name of the TLS security policy that needs to be applied to the HTTPS endpoint. Valid values:
Policy-Min-TLS-1-0-2019-07andPolicy-Min-TLS-1-2-2019-07. This provider will only perform drift detection if a configuration value is provided.
- enforce
Https bool Whether or not to require HTTPS
- tls
Security strPolicy The name of the TLS security policy that needs to be applied to the HTTPS endpoint. Valid values:
Policy-Min-TLS-1-0-2019-07andPolicy-Min-TLS-1-2-2019-07. This provider will only perform drift detection if a configuration value is provided.
DomainEbsOptions
- Ebs
Enabled bool Whether EBS volumes are attached to data nodes in the domain.
- Iops int
The baseline input/output (I/O) performance of EBS volumes attached to data nodes. Applicable only for the Provisioned IOPS EBS volume type.
- Volume
Size int The size of EBS volumes attached to data nodes (in GB). Required if
ebs_enabledis set totrue.- Volume
Type string The type of EBS volumes attached to data nodes.
- Ebs
Enabled bool Whether EBS volumes are attached to data nodes in the domain.
- Iops int
The baseline input/output (I/O) performance of EBS volumes attached to data nodes. Applicable only for the Provisioned IOPS EBS volume type.
- Volume
Size int The size of EBS volumes attached to data nodes (in GB). Required if
ebs_enabledis set totrue.- Volume
Type string The type of EBS volumes attached to data nodes.
- ebs
Enabled boolean Whether EBS volumes are attached to data nodes in the domain.
- iops number
The baseline input/output (I/O) performance of EBS volumes attached to data nodes. Applicable only for the Provisioned IOPS EBS volume type.
- volume
Size number The size of EBS volumes attached to data nodes (in GB). Required if
ebs_enabledis set totrue.- volume
Type string The type of EBS volumes attached to data nodes.
- ebs
Enabled bool Whether EBS volumes are attached to data nodes in the domain.
- iops float
The baseline input/output (I/O) performance of EBS volumes attached to data nodes. Applicable only for the Provisioned IOPS EBS volume type.
- volume
Type str The type of EBS volumes attached to data nodes.
- volume_
size float The size of EBS volumes attached to data nodes (in GB). Required if
ebs_enabledis set totrue.
DomainEncryptAtRest
- enabled bool
Specifies whether Amazon Cognito authentication with Kibana is enabled or not
- kms_
key_ strid The KMS key id to encrypt the Elasticsearch domain with. If not specified then it defaults to using the
aws/esservice KMS key.
DomainLogPublishingOption
DomainNodeToNodeEncryption
DomainSnapshotOptions
- Automated
Snapshot intStart Hour Hour during which the service takes an automated daily snapshot of the indices in the domain.
- Automated
Snapshot intStart Hour Hour during which the service takes an automated daily snapshot of the indices in the domain.
- automated
Snapshot numberStart Hour Hour during which the service takes an automated daily snapshot of the indices in the domain.
- automated
Snapshot floatStart Hour Hour during which the service takes an automated daily snapshot of the indices in the domain.
DomainVpcOptions
- Availability
Zones List<string> - Security
Group List<string>Ids List of VPC Security Group IDs to be applied to the Elasticsearch domain endpoints. If omitted, the default Security Group for the VPC will be used.
- Subnet
Ids List<string> List of VPC Subnet IDs for the Elasticsearch domain endpoints to be created in.
- Vpc
Id string
- Availability
Zones []string - Security
Group []stringIds List of VPC Security Group IDs to be applied to the Elasticsearch domain endpoints. If omitted, the default Security Group for the VPC will be used.
- Subnet
Ids []string List of VPC Subnet IDs for the Elasticsearch domain endpoints to be created in.
- Vpc
Id string
- availability
Zones string[] - security
Group string[]Ids List of VPC Security Group IDs to be applied to the Elasticsearch domain endpoints. If omitted, the default Security Group for the VPC will be used.
- subnet
Ids string[] List of VPC Subnet IDs for the Elasticsearch domain endpoints to be created in.
- vpc
Id string
- availability_
zones List[str] - security_
group_ List[str]ids List of VPC Security Group IDs to be applied to the Elasticsearch domain endpoints. If omitted, the default Security Group for the VPC will be used.
- subnet_
ids List[str] List of VPC Subnet IDs for the Elasticsearch domain endpoints to be created in.
- vpc_
id str
Package Details
- Repository
- https://github.com/pulumi/pulumi-aws
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
awsTerraform Provider.