diff --git a/plugins/inputs/cloudwatch/cloudwatch.go b/plugins/inputs/cloudwatch/cloudwatch.go index 043bab390..dc2ae90fa 100644 --- a/plugins/inputs/cloudwatch/cloudwatch.go +++ b/plugins/inputs/cloudwatch/cloudwatch.go @@ -182,14 +182,19 @@ func (c *CloudWatch) initializeCloudWatch() error { return err } - cfg, err := c.CredentialConfig.Credentials() + awsCreds, err := c.CredentialConfig.Credentials() if err != nil { return err } - c.client = cwClient.NewFromConfig(cfg, func(options *cwClient.Options) { - // Disable logging - options.ClientLogMode = 0 + var customResolver cwClient.EndpointResolver + if c.CredentialConfig.EndpointURL != "" && c.CredentialConfig.Region != "" { + customResolver = cwClient.EndpointResolverFromURL(c.CredentialConfig.EndpointURL) + } + + c.client = cwClient.NewFromConfig(awsCreds, func(options *cwClient.Options) { + options.EndpointResolver = customResolver + options.ClientLogMode = 0 options.HTTPClient = &http.Client{ // use values from DefaultTransport Transport: &http.Transport{