If you use the module and pass the variable create with the value false you get a lot of errors regarding the coalesce function used inside the module: Call to function "coalesce" failed: no non-null, non-empty-string arguments which breaks the module completely
Expected Behavior
Setting create to false should allow terraform to succeed and just not create the module (or even remove it if it had been created before)
Steps to Reproduce
Setup the module and pass create with the value false
Screenshots
╷
│ Error: Error in function call
│
│ on .terraform/modules/tds_opensearch_public.elasticsearch/main.tf line 7, in locals:
│ 7: aws_service_domain_arn = coalesce(join("", aws_elasticsearch_domain.default[].arn), join("", aws_opensearch_domain.default[].arn))
│ ├────────────────
│ │ while calling coalesce(vals...)
│ │ aws_elasticsearch_domain.default is empty tuple
│ │ aws_opensearch_domain.default is empty tuple
│
│ Call to function "coalesce" failed: no non-null, non-empty-string
│ arguments.
╵
╷
│ Error: Error in function call
│
│ on .terraform/modules/tds_opensearch_public.elasticsearch/main.tf line 8, in locals:
│ 8: aws_service_domain_endpoint = coalesce(join("", aws_elasticsearch_domain.default[].endpoint), join("", aws_opensearch_domain.default[].endpoint))
│ ├────────────────
│ │ while calling coalesce(vals...)
│ │ aws_elasticsearch_domain.default is empty tuple
│ │ aws_opensearch_domain.default is empty tuple
│
│ Call to function "coalesce" failed: no non-null, non-empty-string
│ arguments.
╵
╷
│ Error: Error in function call
│
│ on .terraform/modules/tds_opensearch_public.elasticsearch/main.tf line 9, in locals:
│ 9: aws_service_domain_id = coalesce(join("", aws_elasticsearch_domain.default[].domain_id), join("", aws_opensearch_domain.default[].domain_id))
│ ├────────────────
│ │ while calling coalesce(vals...)
│ │ aws_elasticsearch_domain.default is empty tuple
│ │ aws_opensearch_domain.default is empty tuple
│
│ Call to function "coalesce" failed: no non-null, non-empty-string
│ arguments.
╵
╷
│ Error: Error in function call
│
│ on .terraform/modules/tds_opensearch_public.elasticsearch/main.tf line 10, in locals:
│ 10: aws_service_domain_name = coalesce(join("", aws_elasticsearch_domain.default[].domain_name), join("", aws_opensearch_domain.default[].domain_name))
│ ├────────────────
│ │ while calling coalesce(vals...)
│ │ aws_elasticsearch_domain.default is empty tuple
│ │ aws_opensearch_domain.default is empty tuple
│
│ Call to function "coalesce" failed: no non-null, non-empty-string
│ arguments.
╵
╷
│ Error: Error in function call
│
│ on .terraform/modules/tds_opensearch_public.elasticsearch/main.tf line 11, in locals:
│ 11: aws_service_domain_kibana_endpoint = coalesce(join("", aws_elasticsearch_domain.default[].kibana_endpoint), join("", aws_opensearch_domain.default[].kibana_endpoint))
│ ├────────────────
│ │ while calling coalesce(vals...)
│ │ aws_elasticsearch_domain.default is empty tuple
│ │ aws_opensearch_domain.default is empty tuple
│
│ Call to function "coalesce" failed: no non-null, non-empty-string
│ arguments.
Describe the Bug
If you use the module and pass the variable
create
with the valuefalse
you get a lot of errors regarding the coalesce function used inside the module:Call to function "coalesce" failed: no non-null, non-empty-string arguments
which breaks the module completelyExpected Behavior
Setting
create
tofalse
should allow terraform to succeed and just not create the module (or even remove it if it had been created before)Steps to Reproduce
Setup the module and pass
create
with the valuefalse
Screenshots
╷ │ Error: Error in function call │ │ on .terraform/modules/tds_opensearch_public.elasticsearch/main.tf line 7, in locals: │ 7: aws_service_domain_arn = coalesce(join("", aws_elasticsearch_domain.default[].arn), join("", aws_opensearch_domain.default[].arn)) │ ├──────────────── │ │ while calling coalesce(vals...) │ │ aws_elasticsearch_domain.default is empty tuple │ │ aws_opensearch_domain.default is empty tuple │ │ Call to function "coalesce" failed: no non-null, non-empty-string │ arguments. ╵ ╷ │ Error: Error in function call │ │ on .terraform/modules/tds_opensearch_public.elasticsearch/main.tf line 8, in locals: │ 8: aws_service_domain_endpoint = coalesce(join("", aws_elasticsearch_domain.default[].endpoint), join("", aws_opensearch_domain.default[].endpoint)) │ ├──────────────── │ │ while calling coalesce(vals...) │ │ aws_elasticsearch_domain.default is empty tuple │ │ aws_opensearch_domain.default is empty tuple │ │ Call to function "coalesce" failed: no non-null, non-empty-string │ arguments. ╵ ╷ │ Error: Error in function call │ │ on .terraform/modules/tds_opensearch_public.elasticsearch/main.tf line 9, in locals: │ 9: aws_service_domain_id = coalesce(join("", aws_elasticsearch_domain.default[].domain_id), join("", aws_opensearch_domain.default[].domain_id)) │ ├──────────────── │ │ while calling coalesce(vals...) │ │ aws_elasticsearch_domain.default is empty tuple │ │ aws_opensearch_domain.default is empty tuple │ │ Call to function "coalesce" failed: no non-null, non-empty-string │ arguments. ╵ ╷ │ Error: Error in function call │ │ on .terraform/modules/tds_opensearch_public.elasticsearch/main.tf line 10, in locals: │ 10: aws_service_domain_name = coalesce(join("", aws_elasticsearch_domain.default[].domain_name), join("", aws_opensearch_domain.default[].domain_name)) │ ├──────────────── │ │ while calling coalesce(vals...) │ │ aws_elasticsearch_domain.default is empty tuple │ │ aws_opensearch_domain.default is empty tuple │ │ Call to function "coalesce" failed: no non-null, non-empty-string │ arguments. ╵ ╷ │ Error: Error in function call │ │ on .terraform/modules/tds_opensearch_public.elasticsearch/main.tf line 11, in locals: │ 11: aws_service_domain_kibana_endpoint = coalesce(join("", aws_elasticsearch_domain.default[].kibana_endpoint), join("", aws_opensearch_domain.default[].kibana_endpoint)) │ ├──────────────── │ │ while calling coalesce(vals...) │ │ aws_elasticsearch_domain.default is empty tuple │ │ aws_opensearch_domain.default is empty tuple │ │ Call to function "coalesce" failed: no non-null, non-empty-string │ arguments.
Environment
No response
Additional Context
No response