diff --git a/lib/datadog_api_client/api_client.rb b/lib/datadog_api_client/api_client.rb index c8b7c698f6d1..0e018768fb62 100644 --- a/lib/datadog_api_client/api_client.rb +++ b/lib/datadog_api_client/api_client.rb @@ -43,6 +43,7 @@ def initialize(config = Configuration.default) 'User-Agent' => @user_agent } @default_headers['Accept-Encoding'] = 'gzip' if @config.compress + @default_headers['X-Datadog-Managed-By'] = 'iac' if @config.is_iac end def self.default diff --git a/lib/datadog_api_client/configuration.rb b/lib/datadog_api_client/configuration.rb index bc8d4bb1fd96..9d84b93b789b 100644 --- a/lib/datadog_api_client/configuration.rb +++ b/lib/datadog_api_client/configuration.rb @@ -97,6 +97,13 @@ class Configuration # Keep track of the unstable operations, and if they have been enabled attr_accessor :unstable_operations + # Set this to true to mark requests as originating from infrastructure-as-code (IaC) tooling. + # When enabled, the `X-Datadog-Managed-By: iac` header is sent with every request. + # Default to false. + # + # @return [true, false] + attr_accessor :is_iac + ### TLS/SSL setting # Set this to false to skip verifying SSL certificate when calling API from https server. # Default to true. @@ -180,6 +187,7 @@ def initialize @cert_file = nil @key_file = nil @debugging = false + @is_iac = false @inject_format = false @force_ending_format = false @compress = true