elasticsearch

This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the pulumi/pulumi-aws repo; however, if that doesn’t turn up anything, please consult the source terraform-providers/terraform-provider-aws repo.

class pulumi_aws.elasticsearch.AwaitableGetDomainResult(access_policies=None, advanced_options=None, arn=None, cluster_configs=None, cognito_options=None, created=None, deleted=None, domain_id=None, domain_name=None, ebs_options=None, elasticsearch_version=None, encryption_at_rests=None, endpoint=None, kibana_endpoint=None, log_publishing_options=None, node_to_node_encryptions=None, processing=None, snapshot_options=None, tags=None, vpc_options=None, id=None)
class pulumi_aws.elasticsearch.Domain(resource_name, opts=None, access_policies=None, advanced_options=None, cluster_config=None, cognito_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, __name__=None, __opts__=None)

Manages an AWS Elasticsearch Domain.

Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • access_policies (pulumi.Input[str]) – IAM policy document specifying the access policies for the domain

  • advanced_options (pulumi.Input[dict]) – 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.

  • cluster_config (pulumi.Input[dict]) – Cluster configuration of the domain, see below.

  • domain_name (pulumi.Input[str]) – Name of the domain.

  • ebs_options (pulumi.Input[dict]) – EBS related options, may be required based on chosen instance size. See below.

  • elasticsearch_version (pulumi.Input[str]) – The version of Elasticsearch to deploy. Defaults to 1.5

  • encrypt_at_rest (pulumi.Input[dict]) – Encrypt at rest options. Only available for certain instance types. See below.

  • log_publishing_options (pulumi.Input[list]) – Options for publishing slow logs to CloudWatch Logs.

  • node_to_node_encryption (pulumi.Input[dict]) – Node-to-node encryption options. See below.

  • snapshot_options (pulumi.Input[dict]) – Snapshot related options, see below.

  • tags (pulumi.Input[dict]) – A mapping of tags to assign to the resource

  • vpc_options (pulumi.Input[dict]) – VPC related options, see below. Adding or removing this configuration forces a new resource (documentation).

The cluster_config object supports the following:

  • dedicatedMasterCount (pulumi.Input[float]) - Number of dedicated master nodes in the cluster

  • dedicatedMasterEnabled (pulumi.Input[bool]) - Indicates whether dedicated master nodes are enabled for the cluster.

  • dedicatedMasterType (pulumi.Input[str]) - Instance type of the dedicated master nodes in the cluster.

  • instance_count (pulumi.Input[float]) - Number of instances in the cluster.

  • instance_type (pulumi.Input[str]) - Instance type of data nodes in the cluster.

  • zoneAwarenessConfig (pulumi.Input[dict]) - Configuration block containing zone awareness settings. Documented below.

    • availabilityZoneCount (pulumi.Input[float]) - Number of Availability Zones for the domain to use with zone_awareness_enabled. Defaults to 2. Valid values: 2 or 3.

  • zoneAwarenessEnabled (pulumi.Input[bool]) - Indicates whether zone awareness is enabled. To enable awareness with three Availability Zones, the availability_zone_count within the zone_awareness_config must be set to 3.

The cognito_options object supports the following:

  • enabled (pulumi.Input[bool]) - Specifies whether Amazon Cognito authentication with Kibana is enabled or not

  • identity_pool_id (pulumi.Input[str]) - ID of the Cognito Identity Pool to use

  • role_arn (pulumi.Input[str]) - ARN of the IAM role that has the AmazonESCognitoAccess policy attached

  • user_pool_id (pulumi.Input[str]) - ID of the Cognito User Pool to use

The ebs_options object supports the following:

  • ebsEnabled (pulumi.Input[bool]) - Whether EBS volumes are attached to data nodes in the domain.

  • iops (pulumi.Input[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_size (pulumi.Input[float]) - The size of EBS volumes attached to data nodes (in GB). Required if ebs_enabled is set to true.

  • volumeType (pulumi.Input[str]) - The type of EBS volumes attached to data nodes.

The encrypt_at_rest object supports the following:

  • enabled (pulumi.Input[bool]) - Specifies whether Amazon Cognito authentication with Kibana is enabled or not

  • kms_key_id (pulumi.Input[str]) - The KMS key id to encrypt the Elasticsearch domain with. If not specified then it defaults to using the aws/es service KMS key.

The log_publishing_options object supports the following:

  • cloudwatch_log_group_arn (pulumi.Input[str]) - ARN of the Cloudwatch log group to which log needs to be published.

  • enabled (pulumi.Input[bool]) - Specifies whether Amazon Cognito authentication with Kibana is enabled or not

  • logType (pulumi.Input[str]) - A type of Elasticsearch log. Valid values: INDEX_SLOW_LOGS, SEARCH_SLOW_LOGS, ES_APPLICATION_LOGS

The node_to_node_encryption object supports the following:

  • enabled (pulumi.Input[bool]) - Specifies whether Amazon Cognito authentication with Kibana is enabled or not

The snapshot_options object supports the following:

  • automatedSnapshotStartHour (pulumi.Input[float]) - Hour during which the service takes an automated daily snapshot of the indices in the domain.

The vpc_options object supports the following:

  • availability_zones (pulumi.Input[list])

  • security_group_ids (pulumi.Input[list]) - 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 (pulumi.Input[list]) - List of VPC Subnet IDs for the Elasticsearch domain endpoints to be created in.

  • vpc_id (pulumi.Input[str])

access_policies = None

IAM policy document specifying the access policies for the domain

advanced_options = None

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.

arn = None

Amazon Resource Name (ARN) of the domain.

cluster_config = None

Cluster configuration of the domain, see below.

  • dedicatedMasterCount (float) - Number of dedicated master nodes in the cluster

  • dedicatedMasterEnabled (bool) - Indicates whether dedicated master nodes are enabled for the cluster.

  • dedicatedMasterType (str) - 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.

  • zoneAwarenessConfig (dict) - Configuration block containing zone awareness settings. Documented below.

    • availabilityZoneCount (float) - Number of Availability Zones for the domain to use with zone_awareness_enabled. Defaults to 2. Valid values: 2 or 3.

  • zoneAwarenessEnabled (bool) - Indicates whether zone awareness is enabled. To enable awareness with three Availability Zones, the availability_zone_count within the zone_awareness_config must be set to 3.

domain_id = None

Unique identifier for the domain.

domain_name = None

Name of the domain.

ebs_options = None

EBS related options, may be required based on chosen instance size. See below.

  • ebsEnabled (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_size (float) - The size of EBS volumes attached to data nodes (in GB). Required if ebs_enabled is set to true.

  • volumeType (str) - The type of EBS volumes attached to data nodes.

elasticsearch_version = None

The version of Elasticsearch to deploy. Defaults to 1.5

encrypt_at_rest = None

Encrypt at rest options. Only available for certain instance types. See below.

  • enabled (bool) - Specifies whether Amazon Cognito authentication with Kibana is enabled or not

  • kms_key_id (str) - The KMS key id to encrypt the Elasticsearch domain with. If not specified then it defaults to using the aws/es service KMS key.

endpoint = None

Domain-specific endpoint used to submit index, search, and data upload requests.

kibana_endpoint = None

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 configured subnet_ids were created inside.

  • vpc_options.0.vpc_id - If the domain was created inside a VPC, the ID of the VPC.

log_publishing_options = None

Options for publishing slow logs to CloudWatch Logs.

  • cloudwatch_log_group_arn (str) - ARN of the Cloudwatch log group to which log needs to be published.

  • enabled (bool) - Specifies whether Amazon Cognito authentication with Kibana is enabled or not

  • logType (str) - A type of Elasticsearch log. Valid values: INDEX_SLOW_LOGS, SEARCH_SLOW_LOGS, ES_APPLICATION_LOGS

node_to_node_encryption = None

Node-to-node encryption options. See below.

  • enabled (bool) - Specifies whether Amazon Cognito authentication with Kibana is enabled or not

snapshot_options = None

Snapshot related options, see below.

  • automatedSnapshotStartHour (float) - Hour during which the service takes an automated daily snapshot of the indices in the domain.

tags = None

A mapping of tags to assign to the resource

vpc_options = None

VPC related options, see below. Adding or removing this configuration forces a new resource (documentation).

  • availability_zones (list)

  • security_group_ids (list) - 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) - List of VPC Subnet IDs for the Elasticsearch domain endpoints to be created in.

  • vpc_id (str)

static get(resource_name, id, opts=None, access_policies=None, advanced_options=None, arn=None, cluster_config=None, cognito_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)

Get an existing Domain resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • access_policies (pulumi.Input[str]) – IAM policy document specifying the access policies for the domain

  • advanced_options (pulumi.Input[dict]) – 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.

  • arn (pulumi.Input[str]) – Amazon Resource Name (ARN) of the domain.

  • cluster_config (pulumi.Input[dict]) – Cluster configuration of the domain, see below.

  • domain_id (pulumi.Input[str]) – Unique identifier for the domain.

  • domain_name (pulumi.Input[str]) – Name of the domain.

  • ebs_options (pulumi.Input[dict]) –

    EBS related options, may be required based on chosen instance size. See below.

  • elasticsearch_version (pulumi.Input[str]) – The version of Elasticsearch to deploy. Defaults to 1.5

  • encrypt_at_rest (pulumi.Input[dict]) –

    Encrypt at rest options. Only available for certain instance types. See below.

  • endpoint (pulumi.Input[str]) – Domain-specific endpoint used to submit index, search, and data upload requests.

  • kibana_endpoint (pulumi.Input[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 configured `subnet_ids` were created inside.
* `vpc_options.0.vpc_id` - If the domain was created inside a VPC, the ID of the VPC.
Parameters
  • log_publishing_options (pulumi.Input[list]) – Options for publishing slow logs to CloudWatch Logs.

  • node_to_node_encryption (pulumi.Input[dict]) – Node-to-node encryption options. See below.

  • snapshot_options (pulumi.Input[dict]) – Snapshot related options, see below.

  • tags (pulumi.Input[dict]) – A mapping of tags to assign to the resource

  • vpc_options (pulumi.Input[dict]) –

    VPC related options, see below. Adding or removing this configuration forces a new resource (documentation).

The cluster_config object supports the following:

  • dedicatedMasterCount (pulumi.Input[float]) - Number of dedicated master nodes in the cluster

  • dedicatedMasterEnabled (pulumi.Input[bool]) - Indicates whether dedicated master nodes are enabled for the cluster.

  • dedicatedMasterType (pulumi.Input[str]) - Instance type of the dedicated master nodes in the cluster.

  • instance_count (pulumi.Input[float]) - Number of instances in the cluster.

  • instance_type (pulumi.Input[str]) - Instance type of data nodes in the cluster.

  • zoneAwarenessConfig (pulumi.Input[dict]) - Configuration block containing zone awareness settings. Documented below.

    • availabilityZoneCount (pulumi.Input[float]) - Number of Availability Zones for the domain to use with zone_awareness_enabled. Defaults to 2. Valid values: 2 or 3.

  • zoneAwarenessEnabled (pulumi.Input[bool]) - Indicates whether zone awareness is enabled. To enable awareness with three Availability Zones, the availability_zone_count within the zone_awareness_config must be set to 3.

The cognito_options object supports the following:

  • enabled (pulumi.Input[bool]) - Specifies whether Amazon Cognito authentication with Kibana is enabled or not

  • identity_pool_id (pulumi.Input[str]) - ID of the Cognito Identity Pool to use

  • role_arn (pulumi.Input[str]) - ARN of the IAM role that has the AmazonESCognitoAccess policy attached

  • user_pool_id (pulumi.Input[str]) - ID of the Cognito User Pool to use

The ebs_options object supports the following:

  • ebsEnabled (pulumi.Input[bool]) - Whether EBS volumes are attached to data nodes in the domain.

  • iops (pulumi.Input[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_size (pulumi.Input[float]) - The size of EBS volumes attached to data nodes (in GB). Required if ebs_enabled is set to true.

  • volumeType (pulumi.Input[str]) - The type of EBS volumes attached to data nodes.

The encrypt_at_rest object supports the following:

  • enabled (pulumi.Input[bool]) - Specifies whether Amazon Cognito authentication with Kibana is enabled or not

  • kms_key_id (pulumi.Input[str]) - The KMS key id to encrypt the Elasticsearch domain with. If not specified then it defaults to using the aws/es service KMS key.

The log_publishing_options object supports the following:

  • cloudwatch_log_group_arn (pulumi.Input[str]) - ARN of the Cloudwatch log group to which log needs to be published.

  • enabled (pulumi.Input[bool]) - Specifies whether Amazon Cognito authentication with Kibana is enabled or not

  • logType (pulumi.Input[str]) - A type of Elasticsearch log. Valid values: INDEX_SLOW_LOGS, SEARCH_SLOW_LOGS, ES_APPLICATION_LOGS

The node_to_node_encryption object supports the following:

  • enabled (pulumi.Input[bool]) - Specifies whether Amazon Cognito authentication with Kibana is enabled or not

The snapshot_options object supports the following:

  • automatedSnapshotStartHour (pulumi.Input[float]) - Hour during which the service takes an automated daily snapshot of the indices in the domain.

The vpc_options object supports the following:

  • availability_zones (pulumi.Input[list])

  • security_group_ids (pulumi.Input[list]) - 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 (pulumi.Input[list]) - List of VPC Subnet IDs for the Elasticsearch domain endpoints to be created in.

  • vpc_id (pulumi.Input[str])

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_aws.elasticsearch.DomainPolicy(resource_name, opts=None, access_policies=None, domain_name=None, __props__=None, __name__=None, __opts__=None)

Allows setting policy to an Elasticsearch domain while referencing domain attributes (e.g. ARN)

Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • access_policies (pulumi.Input[str]) – IAM policy document specifying the access policies for the domain

  • domain_name (pulumi.Input[str]) – Name of the domain.

access_policies = None

IAM policy document specifying the access policies for the domain

domain_name = None

Name of the domain.

static get(resource_name, id, opts=None, access_policies=None, domain_name=None)

Get an existing DomainPolicy resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • access_policies (pulumi.Input[str]) – IAM policy document specifying the access policies for the domain

  • domain_name (pulumi.Input[str]) – Name of the domain.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_aws.elasticsearch.GetDomainResult(access_policies=None, advanced_options=None, arn=None, cluster_configs=None, cognito_options=None, created=None, deleted=None, domain_id=None, domain_name=None, ebs_options=None, elasticsearch_version=None, encryption_at_rests=None, endpoint=None, kibana_endpoint=None, log_publishing_options=None, node_to_node_encryptions=None, processing=None, snapshot_options=None, tags=None, vpc_options=None, id=None)

A collection of values returned by getDomain.

access_policies = None

The policy document attached to the domain.

advanced_options = None

Key-value string pairs to specify advanced configuration options.

arn = None

The Amazon Resource Name (ARN) of the domain.

cluster_configs = None

Cluster configuration of the domain.

cognito_options = None

Domain Amazon Cognito Authentication options for Kibana.

created = None

Status of the creation of the domain.

deleted = None

Status of the deletion of the domain.

domain_id = None

Unique identifier for the domain.

ebs_options = None

EBS Options for the instances in the domain.

elasticsearch_version = None

ElasticSearch version for the domain.

encryption_at_rests = None

Domain encryption at rest related options.

endpoint = None

Domain-specific endpoint used to submit index, search, and data upload requests.

kibana_endpoint = None

Domain-specific endpoint used to access the Kibana application.

log_publishing_options = None

Domain log publishing related options.

node_to_node_encryptions = None

Domain in transit encryption related options.

processing = None

Status of a configuration change in the domain.

  • snapshot_options – Domain snapshot related options.

tags = None

The tags assigned to the domain.

vpc_options = None

VPC Options for private Elasticsearch domains.

id = None

id is the provider-assigned unique ID for this managed resource.

pulumi_aws.elasticsearch.get_domain(domain_name=None, tags=None, opts=None)

Use this data source to get information about an Elasticsearch Domain

Parameters

domain_name (str) – Name of the domain.