{"id":46337270,"url":"https://github.com/squareops/terraform-aws-opensearch","last_synced_at":"2026-03-04T19:05:33.403Z","repository":{"id":264139715,"uuid":"684552144","full_name":"squareops/terraform-aws-opensearch","owner":"squareops","description":"Terraform AWS OpenSearch module automates the deployment and management of OpenSearch clusters, ensuring optimal performance and security on AWS.","archived":false,"fork":false,"pushed_at":"2024-11-22T08:03:10.000Z","size":26,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-13T09:54:00.692Z","etag":null,"topics":["aws","aws-opensearch","eks","opensearch","terraform","terraform-module"],"latest_commit_sha":null,"homepage":"https://squareops.com","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/squareops.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-29T11:22:28.000Z","updated_at":"2024-11-22T08:01:16.000Z","dependencies_parsed_at":"2024-11-22T08:44:31.692Z","dependency_job_id":null,"html_url":"https://github.com/squareops/terraform-aws-opensearch","commit_stats":null,"previous_names":["squareops/terraform-aws-opensearch"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/squareops/terraform-aws-opensearch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squareops%2Fterraform-aws-opensearch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squareops%2Fterraform-aws-opensearch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squareops%2Fterraform-aws-opensearch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squareops%2Fterraform-aws-opensearch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/squareops","download_url":"https://codeload.github.com/squareops/terraform-aws-opensearch/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squareops%2Fterraform-aws-opensearch/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30090041,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T18:31:08.343Z","status":"ssl_error","status_checked_at":"2026-03-04T18:31:07.708Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","aws-opensearch","eks","opensearch","terraform","terraform-module"],"created_at":"2026-03-04T19:05:32.632Z","updated_at":"2026-03-04T19:05:33.380Z","avatar_url":"https://github.com/squareops.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"## terraform-kubernetes-opensearch\n\n![squareops_avatar]\n\n[squareops_avatar]: https://squareops.com/wp-content/uploads/2022/12/squareops-logo.png\n\n### [SquareOps Technologies](https://squareops.com/) Your DevOps Partner for Accelerating cloud journey.\n\u003cbr\u003e\n\nThis module deploys OpenSearch. With this module, take the advantage of OpenSearch installation in your AWS account. OpenSearch is a scalable, flexible, and extensible open-source software suite for search, analytics, and observability applications licensed under Apache 2.0. Powered by Apache Lucene and driven by the OpenSearch Project community, OpenSearch offers a vendor-agnostic toolset you can use to build secure, high-performance, cost-efficient applications. Use OpenSearch as an end-to-end solution or connect it with your preferred open-source tools or partner projects.OpenSearch is a distributed, community-driven, Apache 2.0-licensed, 100% open-source search and analytics suite used for a broad set of use cases like real-time application monitoring, log analytics, and website search. OpenSearch provides a highly scalable system for providing fast access and response to large volumes of data with an integrated visualization tool, OpenSearch Dashboards, that makes it easy for users to explore their data. OpenSearch is powered by the Apache Lucene search library, and it supports a number of search and analytics capabilities such as k-nearest neighbors (KNN) search, SQL, Anomaly Detection, Machine Learning Commons, Trace Analytics, full-text search, and more.\n\n## Important Notes:\nThis module is compatible with all the terraform versions which is great news for users deploying the module on AWS running account. Reviewed the module's documentation, meet specific configuration requirements, and test thoroughly after deployment to ensure everything works as expected.\n\n\n## Usage Example\n\n```hcl\nlocals {\n  region                         = \"\"\n  custom_master_password         = \"H2222@sbkQTX\"\n  custom_master_password_enabled = true\n  additional_tags = {\n    Owner      = \"organization_name\"\n    Expires    = \"Never\"\n    Department = \"Engineering\"\n  }\n}\n\nmodule \"aws_opensearch\" {\n  source         = \"squareops/opensearch/aws\"\n  version        = \"1.0.1\"\n  opensearch_enabled = true\n  domain_name    = \"skaf\"\n  engine_version = \"2.7\"\n  cluster_config = [{\n    instance_type            = \"t3.medium.search\"\n    instance_count           = 1\n#warm nodes depends on dedicated master type nodes. \n    dedicated_master_enabled = false\n    dedicated_master_type    = \"r6g.large.search\"\n    dedicated_master_count   = 3\n    warm_enabled             = false\n    zone_awareness_enabled   = false\n    availability_zone_count  = 1\n  }]\n\n  custom_master_password_enabled    = local.custom_master_password_enabled\n  custom_master_password            = local.custom_master_password\n  advanced_security_options_enabled = true\n  advanced_security_options = [{\n    master_user_options = {\n      master_user_name     = \"admin\"\n      master_user_password = local.custom_master_password_enabled ? local.custom_master_password : \"\"\n    }\n  }]\n\n  domain_endpoint_options = [{\n    enforce_https            = true\n    custom_endpoint_enabled  = false\n  }]\n\n  ebs_enabled = true\n  ebs_options = [{\n    volume_size = 10\n    volume_type = \"gp2\"\n    iops        = 3000\n  }]\n\n  #if you will not pass kms_key_id it will pick default key\n  encrypt_at_rest = [{\n    enabled = true\n    #kms_key_id = \"arn:aws:kms:us-east-2:271251951598:key/f1e2f1a9-686a-4e31-a5c8-38623e045e27\"\n  }]\n\n  cloudwatch_log_enabled = false\n  log_publishing_options = {\n    es_application_logs = {\n      enabled                          = true\n      log_publishing_options_retention = 30\n      cloudwatch_log_group_name        = \"os_application_logs_dev\"\n    }\n    audit_logs = {\n      enabled                          = false\n      log_publishing_options_retention = 30\n      cloudwatch_log_group_name        = \"os_audit_logs\"\n    }\n  }\n\n  node_to_node_encryption = [\n    {\n      enabled = true\n    }\n  ]\n\n  snapshot_options = [{\n    automated_snapshot_start_hour = 23\n  }]\n}\n```\n\n\u003c!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n## Requirements\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"requirement_aws\"\u003e\u003c/a\u003e [aws](#requirement\\_aws) | 4.67.0 |\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_aws\"\u003e\u003c/a\u003e [aws](#provider\\_aws) | 4.67.0 |\n| \u003ca name=\"provider_random\"\u003e\u003c/a\u003e [random](#provider\\_random) | n/a |\n\n## Modules\n\nNo modules.\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [aws_cloudwatch_log_group.es_cloudwatch_log_group](https://registry.terraform.io/providers/hashicorp/aws/4.67.0/docs/resources/cloudwatch_log_group) | resource |\n| [aws_cloudwatch_log_resource_policy.es_aws_cloudwatch_log_resource_policy](https://registry.terraform.io/providers/hashicorp/aws/4.67.0/docs/resources/cloudwatch_log_resource_policy) | resource |\n| [aws_iam_service_linked_role.es](https://registry.terraform.io/providers/hashicorp/aws/4.67.0/docs/resources/iam_service_linked_role) | resource |\n| [aws_opensearch_domain.es_domain](https://registry.terraform.io/providers/hashicorp/aws/4.67.0/docs/resources/opensearch_domain) | resource |\n| [random_password.master_password](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password) | resource |\n| [aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/4.67.0/docs/data-sources/caller_identity) | data source |\n| [aws_iam_policy_document.access_policy](https://registry.terraform.io/providers/hashicorp/aws/4.67.0/docs/data-sources/iam_policy_document) | data source |\n| [aws_kms_key.aws_es](https://registry.terraform.io/providers/hashicorp/aws/4.67.0/docs/data-sources/kms_key) | data source |\n| [aws_region.current](https://registry.terraform.io/providers/hashicorp/aws/4.67.0/docs/data-sources/region) | data source |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_advanced_options\"\u003e\u003c/a\u003e [advanced\\_options](#input\\_advanced\\_options) | 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 Terraform to want to recreate your Elasticsearch domain on every apply | `map(string)` | `{}` | no |\n| \u003ca name=\"input_advanced_security_options\"\u003e\u003c/a\u003e [advanced\\_security\\_options](#input\\_advanced\\_security\\_options) | Options for fine-grained access control | `any` | `{}` | no |\n| \u003ca name=\"input_advanced_security_options_create_random_master_password\"\u003e\u003c/a\u003e [advanced\\_security\\_options\\_create\\_random\\_master\\_password](#input\\_advanced\\_security\\_options\\_create\\_random\\_master\\_password) | Whether to create random master password for Elasticsearch master user | `bool` | `false` | no |\n| \u003ca name=\"input_advanced_security_options_enabled\"\u003e\u003c/a\u003e [advanced\\_security\\_options\\_enabled](#input\\_advanced\\_security\\_options\\_enabled) | Whether advanced security is enabled (Forces new resource) | `bool` | `false` | no |\n| \u003ca name=\"input_advanced_security_options_internal_user_database_enabled\"\u003e\u003c/a\u003e [advanced\\_security\\_options\\_internal\\_user\\_database\\_enabled](#input\\_advanced\\_security\\_options\\_internal\\_user\\_database\\_enabled) | Whether the internal user database is enabled. If not set, defaults to false by the AWS API. | `bool` | `false` | no |\n| \u003ca name=\"input_advanced_security_options_master_user_arn\"\u003e\u003c/a\u003e [advanced\\_security\\_options\\_master\\_user\\_arn](#input\\_advanced\\_security\\_options\\_master\\_user\\_arn) | ARN for the master user. Only specify if `internal_user_database_enabled` is not set or set to `false`) | `string` | `null` | no |\n| \u003ca name=\"input_advanced_security_options_master_user_password\"\u003e\u003c/a\u003e [advanced\\_security\\_options\\_master\\_user\\_password](#input\\_advanced\\_security\\_options\\_master\\_user\\_password) | The master user's password, which is stored in the Amazon Elasticsearch Service domain's internal database. Only specify if `internal_user_database_enabled` is set to `true`. | `string` | `\"Admin@2233\"` | no |\n| \u003ca name=\"input_advanced_security_options_master_user_username\"\u003e\u003c/a\u003e [advanced\\_security\\_options\\_master\\_user\\_username](#input\\_advanced\\_security\\_options\\_master\\_user\\_username) | The master user's username, which is stored in the Amazon Elasticsearch Service domain's internal database. Only specify if `internal_user_database_enabled` is set to `true`. | `string` | `\"admin\"` | no |\n| \u003ca name=\"input_advanced_security_options_random_master_password_length\"\u003e\u003c/a\u003e [advanced\\_security\\_options\\_random\\_master\\_password\\_length](#input\\_advanced\\_security\\_options\\_random\\_master\\_password\\_length) | Length of random master password to create | `number` | `8` | no |\n| \u003ca name=\"input_cloudwatch_log_enabled\"\u003e\u003c/a\u003e [cloudwatch\\_log\\_enabled](#input\\_cloudwatch\\_log\\_enabled) | Change to false to avoid deploying any Cloudwatch Logs resources | `bool` | `true` | no |\n| \u003ca name=\"input_cluster_config\"\u003e\u003c/a\u003e [cluster\\_config](#input\\_cluster\\_config) | Cluster configuration of the domain | `any` | `{}` | no |\n| \u003ca name=\"input_cluster_config_availability_zone_count\"\u003e\u003c/a\u003e [cluster\\_config\\_availability\\_zone\\_count](#input\\_cluster\\_config\\_availability\\_zone\\_count) | Number of Availability Zones for the domain to use with | `number` | `1` | no |\n| \u003ca name=\"input_cluster_config_cold_storage_options_enabled\"\u003e\u003c/a\u003e [cluster\\_config\\_cold\\_storage\\_options\\_enabled](#input\\_cluster\\_config\\_cold\\_storage\\_options\\_enabled) | Indicates whether to enable cold storage for an Elasticsearch domain | `bool` | `false` | no |\n| \u003ca name=\"input_cluster_config_dedicated_master_count\"\u003e\u003c/a\u003e [cluster\\_config\\_dedicated\\_master\\_count](#input\\_cluster\\_config\\_dedicated\\_master\\_count) | Number of dedicated master nodes in the cluster | `number` | `1` | no |\n| \u003ca name=\"input_cluster_config_dedicated_master_enabled\"\u003e\u003c/a\u003e [cluster\\_config\\_dedicated\\_master\\_enabled](#input\\_cluster\\_config\\_dedicated\\_master\\_enabled) | Indicates whether dedicated master nodes are enabled for the cluster | `bool` | `false` | no |\n| \u003ca name=\"input_cluster_config_dedicated_master_type\"\u003e\u003c/a\u003e [cluster\\_config\\_dedicated\\_master\\_type](#input\\_cluster\\_config\\_dedicated\\_master\\_type) | Instance type of the dedicated master nodes in the cluster | `string` | `\"t3.medium.search\"` | no |\n| \u003ca name=\"input_cluster_config_instance_count\"\u003e\u003c/a\u003e [cluster\\_config\\_instance\\_count](#input\\_cluster\\_config\\_instance\\_count) | Number of instances in the cluster | `number` | `1` | no |\n| \u003ca name=\"input_cluster_config_instance_type\"\u003e\u003c/a\u003e [cluster\\_config\\_instance\\_type](#input\\_cluster\\_config\\_instance\\_type) | Instance type of data nodes in the cluster | `string` | `\"t3.medium.search\"` | no |\n| \u003ca name=\"input_cluster_config_warm_count\"\u003e\u003c/a\u003e [cluster\\_config\\_warm\\_count](#input\\_cluster\\_config\\_warm\\_count) | The number of warm nodes in the cluster | `number` | `null` | no |\n| \u003ca name=\"input_cluster_config_warm_enabled\"\u003e\u003c/a\u003e [cluster\\_config\\_warm\\_enabled](#input\\_cluster\\_config\\_warm\\_enabled) | Indicates whether to enable warm storage | `bool` | `false` | no |\n| \u003ca name=\"input_cluster_config_warm_type\"\u003e\u003c/a\u003e [cluster\\_config\\_warm\\_type](#input\\_cluster\\_config\\_warm\\_type) | The instance type for the Elasticsearch cluster's warm nodes | `string` | `null` | no |\n| \u003ca name=\"input_cluster_config_zone_awareness_enabled\"\u003e\u003c/a\u003e [cluster\\_config\\_zone\\_awareness\\_enabled](#input\\_cluster\\_config\\_zone\\_awareness\\_enabled) | Indicates whether zone awareness is enabled. To enable awareness with three Availability Zones | `bool` | `false` | no |\n| \u003ca name=\"input_cognito_options\"\u003e\u003c/a\u003e [cognito\\_options](#input\\_cognito\\_options) | Options for Amazon Cognito Authentication for Kibana | `any` | `{}` | no |\n| \u003ca name=\"input_cognito_options_enabled\"\u003e\u003c/a\u003e [cognito\\_options\\_enabled](#input\\_cognito\\_options\\_enabled) | Specifies whether Amazon Cognito authentication with Kibana is enabled or not | `bool` | `false` | no |\n| \u003ca name=\"input_cognito_options_identity_pool_id\"\u003e\u003c/a\u003e [cognito\\_options\\_identity\\_pool\\_id](#input\\_cognito\\_options\\_identity\\_pool\\_id) | ID of the Cognito Identity Pool to use | `string` | `\"\"` | no |\n| \u003ca name=\"input_cognito_options_role_arn\"\u003e\u003c/a\u003e [cognito\\_options\\_role\\_arn](#input\\_cognito\\_options\\_role\\_arn) | ARN of the IAM role that has the AmazonESCognitoAccess policy attached | `string` | `\"\"` | no |\n| \u003ca name=\"input_cognito_options_user_pool_id\"\u003e\u003c/a\u003e [cognito\\_options\\_user\\_pool\\_id](#input\\_cognito\\_options\\_user\\_pool\\_id) | ID of the Cognito User Pool to use | `string` | `\"\"` | no |\n| \u003ca name=\"input_create_a_record\"\u003e\u003c/a\u003e [create\\_a\\_record](#input\\_create\\_a\\_record) | create route 53 record | `bool` | `false` | no |\n| \u003ca name=\"input_create_service_link_role\"\u003e\u003c/a\u003e [create\\_service\\_link\\_role](#input\\_create\\_service\\_link\\_role) | Create service link role for AWS Elasticsearch Service | `bool` | `true` | no |\n| \u003ca name=\"input_domain_endpoint_options\"\u003e\u003c/a\u003e [domain\\_endpoint\\_options](#input\\_domain\\_endpoint\\_options) | Domain endpoint HTTP(S) related options. | `any` | `{}` | no |\n| \u003ca name=\"input_domain_endpoint_options_custom_endpoint\"\u003e\u003c/a\u003e [domain\\_endpoint\\_options\\_custom\\_endpoint](#input\\_domain\\_endpoint\\_options\\_custom\\_endpoint) | Fully qualified domain for your custom endpoint | `string` | `null` | no |\n| \u003ca name=\"input_domain_endpoint_options_custom_endpoint_certificate_arn\"\u003e\u003c/a\u003e [domain\\_endpoint\\_options\\_custom\\_endpoint\\_certificate\\_arn](#input\\_domain\\_endpoint\\_options\\_custom\\_endpoint\\_certificate\\_arn) | ACM certificate ARN for your custom endpoint | `string` | `null` | no |\n| \u003ca name=\"input_domain_endpoint_options_custom_endpoint_enabled\"\u003e\u003c/a\u003e [domain\\_endpoint\\_options\\_custom\\_endpoint\\_enabled](#input\\_domain\\_endpoint\\_options\\_custom\\_endpoint\\_enabled) | Whether to enable custom endpoint for the Elasticsearch domain | `bool` | `false` | no |\n| \u003ca name=\"input_domain_endpoint_options_enforce_https\"\u003e\u003c/a\u003e [domain\\_endpoint\\_options\\_enforce\\_https](#input\\_domain\\_endpoint\\_options\\_enforce\\_https) | Whether or not to require HTTPS | `bool` | `true` | no |\n| \u003ca name=\"input_domain_endpoint_options_tls_security_policy\"\u003e\u003c/a\u003e [domain\\_endpoint\\_options\\_tls\\_security\\_policy](#input\\_domain\\_endpoint\\_options\\_tls\\_security\\_policy) | The name of the TLS security policy that needs to be applied to the HTTPS endpoint. Valid values: `Policy-Min-TLS-1-0-2019-07` and `Policy-Min-TLS-1-2-2019-07` | `string` | `\"Policy-Min-TLS-1-2-2019-07\"` | no |\n| \u003ca name=\"input_domain_name\"\u003e\u003c/a\u003e [domain\\_name](#input\\_domain\\_name) | Name of the domain | `string` | n/a | yes |\n| \u003ca name=\"input_ebs_enabled\"\u003e\u003c/a\u003e [ebs\\_enabled](#input\\_ebs\\_enabled) | Whether EBS volumes are attached to data nodes in the domain | `bool` | `true` | no |\n| \u003ca name=\"input_ebs_options\"\u003e\u003c/a\u003e [ebs\\_options](#input\\_ebs\\_options) | EBS related options, may be required based on chosen instance size | `any` | `{}` | no |\n| \u003ca name=\"input_ebs_options_iops\"\u003e\u003c/a\u003e [ebs\\_options\\_iops](#input\\_ebs\\_options\\_iops) | The baseline input/output (I/O) performance of EBS volumes attached to data nodes. Applicable only for the Provisioned IOPS EBS volume type | `number` | `0` | no |\n| \u003ca name=\"input_ebs_options_volume_size\"\u003e\u003c/a\u003e [ebs\\_options\\_volume\\_size](#input\\_ebs\\_options\\_volume\\_size) | The size of EBS volumes attached to data nodes (in GB). Required if ebs\\_enabled is set to true | `number` | `10` | no |\n| \u003ca name=\"input_ebs_options_volume_type\"\u003e\u003c/a\u003e [ebs\\_options\\_volume\\_type](#input\\_ebs\\_options\\_volume\\_type) | The type of EBS volumes attached to data nodes | `string` | `\"gp2\"` | no |\n| \u003ca name=\"input_enabled\"\u003e\u003c/a\u003e [enabled](#input\\_enabled) | Change to false to avoid deploying any AWS ElasticSearch resources | `bool` | `true` | no |\n| \u003ca name=\"input_encrypt_at_rest\"\u003e\u003c/a\u003e [encrypt\\_at\\_rest](#input\\_encrypt\\_at\\_rest) | Encrypt at rest options. Only available for certain instance types | `any` | `{}` | no |\n| \u003ca name=\"input_encrypt_at_rest_enabled\"\u003e\u003c/a\u003e [encrypt\\_at\\_rest\\_enabled](#input\\_encrypt\\_at\\_rest\\_enabled) | Whether to enable encryption at rest | `bool` | `true` | no |\n| \u003ca name=\"input_encrypt_at_rest_kms_key_id\"\u003e\u003c/a\u003e [encrypt\\_at\\_rest\\_kms\\_key\\_id](#input\\_encrypt\\_at\\_rest\\_kms\\_key\\_id) | The KMS key id to encrypt the Elasticsearch domain with. If not specified then it defaults to using the aws/es service KMS key | `string` | `\"alias/aws/es\"` | no |\n| \u003ca name=\"input_engine_version\"\u003e\u003c/a\u003e [engine\\_version](#input\\_engine\\_version) | The version of OpenSearch to deploy. | `string` | `\"2.7\"` | no |\n| \u003ca name=\"input_log_publishing_options\"\u003e\u003c/a\u003e [log\\_publishing\\_options](#input\\_log\\_publishing\\_options) | Options for publishing slow logs to CloudWatch Logs | `any` | `{}` | no |\n| \u003ca name=\"input_log_publishing_options_retention\"\u003e\u003c/a\u003e [log\\_publishing\\_options\\_retention](#input\\_log\\_publishing\\_options\\_retention) | Retention in days for the created Cloudwatch log group | `number` | `60` | no |\n| \u003ca name=\"input_node_to_node_encryption\"\u003e\u003c/a\u003e [node\\_to\\_node\\_encryption](#input\\_node\\_to\\_node\\_encryption) | Node-to-node encryption options | `any` | `{}` | no |\n| \u003ca name=\"input_node_to_node_encryption_enabled\"\u003e\u003c/a\u003e [node\\_to\\_node\\_encryption\\_enabled](#input\\_node\\_to\\_node\\_encryption\\_enabled) | Whether to enable node-to-node encryption | `bool` | `true` | no |\n| \u003ca name=\"input_snapshot_options\"\u003e\u003c/a\u003e [snapshot\\_options](#input\\_snapshot\\_options) | Snapshot related options | `any` | `{}` | no |\n| \u003ca name=\"input_snapshot_options_automated_snapshot_start_hour\"\u003e\u003c/a\u003e [snapshot\\_options\\_automated\\_snapshot\\_start\\_hour](#input\\_snapshot\\_options\\_automated\\_snapshot\\_start\\_hour) | Hour during which the service takes an automated daily snapshot of the indices in the domain | `number` | `0` | no |\n| \u003ca name=\"input_vpc_options\"\u003e\u003c/a\u003e [vpc\\_options](#input\\_vpc\\_options) | VPC related options, see below. Adding or removing this configuration forces a new resource | `any` | `{}` | no |\n| \u003ca name=\"input_vpc_options_security_group_ids\"\u003e\u003c/a\u003e [vpc\\_options\\_security\\_group\\_ids](#input\\_vpc\\_options\\_security\\_group\\_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 | `list(any)` | `[]` | no |\n| \u003ca name=\"input_vpc_options_subnet_ids\"\u003e\u003c/a\u003e [vpc\\_options\\_subnet\\_ids](#input\\_vpc\\_options\\_subnet\\_ids) | List of VPC Subnet IDs for the Elasticsearch domain endpoints to be created in | `list(any)` | `[]` | no |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_arn\"\u003e\u003c/a\u003e [arn](#output\\_arn) | Amazon Resource Name (ARN) of the domain |\n| \u003ca name=\"output_domain_id\"\u003e\u003c/a\u003e [domain\\_id](#output\\_domain\\_id) | Unique identifier for the domain |\n| \u003ca name=\"output_endpoint\"\u003e\u003c/a\u003e [endpoint](#output\\_endpoint) | Domain-specific endpoint used to submit index, search, and data upload requests |\n| \u003ca name=\"output_kibana_endpoint\"\u003e\u003c/a\u003e [kibana\\_endpoint](#output\\_kibana\\_endpoint) | Domain-specific endpoint for kibana without https scheme |\n| \u003ca name=\"output_master_password\"\u003e\u003c/a\u003e [master\\_password](#output\\_master\\_password) | Master password |\n| \u003ca name=\"output_master_username\"\u003e\u003c/a\u003e [master\\_username](#output\\_master\\_username) | Master username |\n| \u003ca name=\"output_vpc_options_availability_zones\"\u003e\u003c/a\u003e [vpc\\_options\\_availability\\_zones](#output\\_vpc\\_options\\_availability\\_zones) | If the domain was created inside a VPC, the names of the availability zones the configured subnet\\_ids were created inside |\n| \u003ca name=\"output_vpc_options_vpc_id\"\u003e\u003c/a\u003e [vpc\\_options\\_vpc\\_id](#output\\_vpc\\_options\\_vpc\\_id) | If the domain was created inside a VPC, the ID of the VPC |\n\u003c!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n\n## Contribution \u0026 Issue Reporting\n\nTo report an issue with a project:\n\n  1. Check the repository's [issue tracker](https://github.com/sq-ia/terraform-aws-opensearch/issues) on GitHub\n  2. Search to see if the issue has already been reported\n  3. If you can't find an answer to your question in the documentation or issue tracker, you can ask a question by creating a new issue. Be sure to provide enough context and details so others can understand your problem.\n\n## License\n\nApache License, Version 2.0, January 2004 (http://www.apache.org/licenses/).\n\n## Support Us\n\nTo support a GitHub project by liking it, you can follow these steps:\n\n  1. Visit the repository: Navigate to the [GitHub repository](https://github.com/sq-ia/terraform-aws-opensearch).\n\n  2. Click the \"Star\" button: On the repository page, you'll see a \"Star\" button in the upper right corner. Clicking on it will star the repository, indicating your support for the project.\n\n  3. Optionally, you can also leave a comment on the repository or open an issue to give feedback or suggest changes.\n\nStarring a repository on GitHub is a simple way to show your support and appreciation for the project. It also helps to increase the visibility of the project and make it more discoverable to others.\n\n## Who we are\n\nWe believe that the key to success in the digital age is the ability to deliver value quickly and reliably. That’s why we offer a comprehensive range of DevOps \u0026 Cloud services designed to help your organization optimize its systems \u0026 Processes for speed and agility.\n\n  1. We are an AWS Advanced consulting partner which reflects our deep expertise in AWS Cloud and helping 100+ clients over the last 5 years.\n  2. Expertise in Kubernetes and overall container solution helps companies expedite their journey by 10X.\n  3. Infrastructure Automation is a key component to the success of our Clients and our Expertise helps deliver the same in the shortest time.\n  4. DevSecOps as a service to implement security within the overall DevOps process and helping companies deploy securely and at speed.\n  5. Platform engineering which supports scalable,Cost efficient infrastructure that supports rapid development, testing, and deployment.\n  6. 24*7 SRE service to help you Monitor the state of your infrastructure and eradicate any issue within the SLA.\n\nWe provide [support](https://squareops.com/contact-us/) on all of our projects, no matter how small or large they may be.\n\nTo find more information about our company, visit [squareops.com](https://squareops.com/), follow us on [Linkedin](https://www.linkedin.com/company/squareops-technologies-pvt-ltd/), or fill out a [job application](https://squareops.com/careers/). You can also checkout our [Case-studies](https://squareops.com/case-studies/) or [Blogs](https://squareops.com/blog/) to understand more about our solutions. If you have any questions or would like assistance with your cloud strategy and implementation, please don't hesitate to [contact us](https://squareops.com/contact-us/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsquareops%2Fterraform-aws-opensearch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsquareops%2Fterraform-aws-opensearch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsquareops%2Fterraform-aws-opensearch/lists"}