Skip to content

avlcloudtechnologies/terraform-aws-opensearch

Repository files navigation

terraform-aws-opensearch

This module handles creation of AWS Opensearch and SAML auth

Usage

provider "aws" {
  region = var.region
}

provider "elasticsearch" {
  url         = "https://${module.opensearch.fqdn}"
  aws_region  = var.region
  healthcheck = false
}

module "opensearch" {
  source =  "./terraform-aws-opensearch"

  create_opensearch   = var.create_opensearch
  region              = var.region
  name_prefix         = var.name_prefix
  environment         = var.environment
  root_domain_name    = var.root_domain_name

  enable_saml         = false
}

Requirements

Name Version
aws ~> 4.0
elasticsearch ~> 2.0

Providers

Name Version
aws ~> 4.0
elasticsearch ~> 2.0
http n/a
time n/a

Modules

Name Source Version
acm terraform-aws-modules/acm/aws ~> 4.1.0

Resources

Name Type
aws_iam_service_linked_role.opensearch resource
aws_opensearch_domain.this resource
aws_opensearch_domain_saml_options.this resource
aws_route53_record.opensearch resource
elasticsearch_opensearch_roles_mapping.this resource
time_sleep.wait_300_seconds resource
aws_caller_identity.current data source
aws_iam_policy_document.access_policy data source
aws_region.current data source
aws_route53_zone.env data source
http_http.saml_metadata data source

Inputs

Name Description Type Default Required
create_opensearch Whether to create OpenSearch cluster bool false no
enable_advanced_security_options Whether advanced security is enabled bool true no
enable_internal_user_database Whether the internal user database is enabled bool false no
enable_saml Whether OpenSearch SAML options are enabled bool true no
environment Environment name string n/a yes
master_user_arn User or role arn which is provisioning opensearch. This role is used to configure opensearch TF provider. string null no
name_prefix Prefix to be used with resources string n/a yes
opensearch_engine_version Either Elasticsearch_X.Y or OpenSearch_X.Y to specify the engine version for the Amazon OpenSearch Service domain string "OpenSearch_1.2" no
opensearch_instance_count Number of instances in the cluster string "1" no
opensearch_instance_type Instance type of data nodes in the cluster string "t3.small.search" no
opensearch_subdomain Route53 OpenSearch subdomain string "opensearch" no
opensearch_volume_size Size of EBS volumes attached to data nodes (in GiB) number 40 no
region Region name string n/a yes
roles_mappings OpenSearch roles mappings
map(object({
description = optional(string)
backend_roles = list(string)
}))
{} no
route_53_zone_name Route53 DNS zone string n/a yes
sso_admins_group_id AWS SSO admins group string null no
sso_entity_id AWS SSO entity ID string null no

Outputs

Name Description
fqdn opensearch_fqdn

About

Terraform module to manage AWS OpenSearch resources.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages