gessnerfl / terraform-provider-instana

Terraform provider implementation for Instana REST API
Apache License 2.0
29 stars 16 forks source link

Tag call.http.header is independent of source or destination #137

Closed valentinvladimir closed 1 year ago

valentinvladimir commented 2 years ago

First of all, thank you for this provider!

Issue: Filtering based on a http header attribute can not be configured anymore.

terraform code: " resource "instana_application_config" "this" { ... tag_filter = "kubernetes.cluster.name EQUALS 'this' AND kubernetes.namespace EQUALS 'namespace' AND kubernetes.deployment.name EQUALS 'microservice' AND call.http.header:vf-country-code EQUALS 'PT'" } "

terraform plan:

~ tag_filter = "kubernetes.cluster.name@dest EQUALS 'this' AND kubernetes.namespace@dest EQUALS 'namespace' AND kubernetes.deployment.name@dest EQUALS 'microservice' -> "kubernetes.cluster.name@dest EQUALS 'this' AND kubernetes.namespace@dest EQUALS 'namespace' AND kubernetes.deployment.name@dest EQUALS 'microservice' AND call.http.header:vf-country-code@dest EQUALS 'PT'"

Error: "code":422,"message":"Tag call.http.header is independent of source or destination"

So the issue is @ dest after call.http.header:vf-country-code

The reply from Instana is:

" There were some improvements in release 228: • Improved the validation of stored tag-filters in various areas such as SmartAlerts, Application Perspectives and Service Level Objectives (SLOs): • Improved the error messages to include more details about the exact problem when invalid tag-filters are provided. • Invalid tag-filters are now rejected.

So, unfortunately, you won't be able to use this API call syntax anymore for Application Perspective. "

gessnerfl commented 2 years ago

@valentinvladimir I need to check this in more detail how I can address this issue. For now as a workaround you can explicitly set the entity origin to na:

tag_filter = "kubernetes.cluster.name EQUALS 'this' AND kubernetes.namespace EQUALS 'namespace' AND kubernetes.deployment.name EQUALS 'microservice' AND call.http.header@na EQUALS 'vf-country-code=PT'"
gessnerfl commented 2 years ago

@valentinvladimir: Currently there is no API available which would allow to get this information from instana. Because of this it is required to properly set the entity origin when defining a resource.