add Cloud foundry resource provider (#13782)

This commit is contained in:
Gregor Zeitlinger 2025-05-06 08:49:47 +02:00 committed by GitHub
parent 60a9a45655
commit 4221178664
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 45 additions and 33 deletions

View File

@ -32,6 +32,7 @@
'io.opentelemetry.contrib:opentelemetry-aws-resources',
'io.opentelemetry.contrib:opentelemetry-aws-xray-propagator',
'io.opentelemetry.contrib:opentelemetry-gcp-resources',
'io.opentelemetry.contrib:opentelemetry-cloudfoundry-resources',
'io.opentelemetry.contrib:opentelemetry-baggage-processor',
'io.opentelemetry.proto:opentelemetry-proto',
'io.opentelemetry.semconv:opentelemetry-semconv',

View File

@ -106,6 +106,7 @@ val DEPENDENCIES = listOf(
"io.opentelemetry.contrib:opentelemetry-aws-resources:${otelContribVersion}",
"io.opentelemetry.contrib:opentelemetry-aws-xray-propagator:${otelContribVersion}",
"io.opentelemetry.contrib:opentelemetry-gcp-resources:${otelContribVersion}",
"io.opentelemetry.contrib:opentelemetry-cloudfoundry-resources:${otelContribVersion}",
"io.opentelemetry.contrib:opentelemetry-baggage-processor:${otelContribVersion}",
"io.opentelemetry.proto:opentelemetry-proto:1.5.0-alpha",
"io.opentelemetry:opentelemetry-extension-annotations:1.18.0", // deprecated, no longer part of bom

View File

@ -99,6 +99,7 @@ class OpenTelemetryAutoConfigurationTest {
"io.opentelemetry.contrib.aws.resource.EksResourceProvider",
"io.opentelemetry.contrib.aws.resource.LambdaResourceProvider",
"io.opentelemetry.contrib.gcp.resource.GCPResourceProvider",
"io.opentelemetry.contrib.cloudfoundry.resources.CloudFoundryResourceProvider",
"io.opentelemetry.instrumentation.resources.ResourceProviderPropertiesCustomizerTest$Provider");
}));
}

View File

@ -24,5 +24,6 @@ dependencies {
implementation("io.opentelemetry.contrib:opentelemetry-azure-resources")
implementation("io.opentelemetry.contrib:opentelemetry-aws-resources")
implementation("io.opentelemetry.contrib:opentelemetry-gcp-resources")
implementation("io.opentelemetry.contrib:opentelemetry-cloudfoundry-resources")
implementation("io.opentelemetry.contrib:opentelemetry-baggage-processor")
}

View File

@ -44,6 +44,7 @@ dependencies {
implementation("io.opentelemetry.contrib:opentelemetry-azure-resources")
implementation("io.opentelemetry.contrib:opentelemetry-aws-resources")
implementation("io.opentelemetry.contrib:opentelemetry-gcp-resources")
implementation("io.opentelemetry.contrib:opentelemetry-cloudfoundry-resources")
implementation("io.opentelemetry.contrib:opentelemetry-baggage-processor")
api("net.bytebuddy:byte-buddy-dep")

66
licenses/licenses.md generated
View File

@ -166,169 +166,173 @@
> - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
**38** **Group:** `io.opentelemetry.contrib` **Name:** `opentelemetry-gcp-resources` **Version:** `1.46.0-alpha`
**38** **Group:** `io.opentelemetry.contrib` **Name:** `opentelemetry-cloudfoundry-resources` **Version:** `1.46.0-alpha`
> - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
**39** **Group:** `io.opentelemetry.semconv` **Name:** `opentelemetry-semconv` **Version:** `1.32.0`
**39** **Group:** `io.opentelemetry.contrib` **Name:** `opentelemetry-gcp-resources` **Version:** `1.46.0-alpha`
> - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
**40** **Group:** `io.opentelemetry.semconv` **Name:** `opentelemetry-semconv` **Version:** `1.32.0`
> - **POM Project URL**: [https://github.com/open-telemetry/semantic-conventions-java](https://github.com/open-telemetry/semantic-conventions-java)
> - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
**40** **Group:** `io.opentelemetry.semconv` **Name:** `opentelemetry-semconv-incubating` **Version:** `1.32.0-alpha`
**41** **Group:** `io.opentelemetry.semconv` **Name:** `opentelemetry-semconv-incubating` **Version:** `1.32.0-alpha`
> - **POM Project URL**: [https://github.com/open-telemetry/semantic-conventions-java](https://github.com/open-telemetry/semantic-conventions-java)
> - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
**41** **Group:** `io.prometheus` **Name:** `prometheus-metrics-config` **Version:** `1.3.6`
**42** **Group:** `io.prometheus` **Name:** `prometheus-metrics-config` **Version:** `1.3.6`
> - **Manifest License**: Apache License, Version 2.0 (Not Packaged)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
**42** **Group:** `io.prometheus` **Name:** `prometheus-metrics-exporter-common` **Version:** `1.3.6`
**43** **Group:** `io.prometheus` **Name:** `prometheus-metrics-exporter-common` **Version:** `1.3.6`
> - **Manifest License**: Apache License, Version 2.0 (Not Packaged)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
**43** **Group:** `io.prometheus` **Name:** `prometheus-metrics-exporter-httpserver` **Version:** `1.3.6`
**44** **Group:** `io.prometheus` **Name:** `prometheus-metrics-exporter-httpserver` **Version:** `1.3.6`
> - **Manifest License**: Apache License, Version 2.0 (Not Packaged)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
**44** **Group:** `io.prometheus` **Name:** `prometheus-metrics-exposition-formats` **Version:** `1.3.6`
**45** **Group:** `io.prometheus` **Name:** `prometheus-metrics-exposition-formats` **Version:** `1.3.6`
> - **Manifest License**: Apache License, Version 2.0 (Not Packaged)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
**45** **Group:** `io.prometheus` **Name:** `prometheus-metrics-exposition-textformats` **Version:** `1.3.6`
**46** **Group:** `io.prometheus` **Name:** `prometheus-metrics-exposition-textformats` **Version:** `1.3.6`
> - **Manifest License**: Apache License, Version 2.0 (Not Packaged)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
**46** **Group:** `io.prometheus` **Name:** `prometheus-metrics-model` **Version:** `1.3.6`
**47** **Group:** `io.prometheus` **Name:** `prometheus-metrics-model` **Version:** `1.3.6`
> - **Manifest License**: Apache License, Version 2.0 (Not Packaged)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
**47** **Group:** `io.zipkin.reporter2` **Name:** `zipkin-reporter` **Version:** `3.5.0`
**48** **Group:** `io.zipkin.reporter2` **Name:** `zipkin-reporter` **Version:** `3.5.0`
> - **Manifest Project URL**: [https://zipkin.io/](https://zipkin.io/)
> - **Manifest License**: Apache License, Version 2.0 (Not Packaged)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
> - **Embedded license files**: [zipkin-reporter-3.5.0.jar/META-INF/LICENSE](zipkin-reporter-3.5.0.jar/META-INF/LICENSE)
**48** **Group:** `io.zipkin.reporter2` **Name:** `zipkin-sender-okhttp3` **Version:** `3.5.0`
**49** **Group:** `io.zipkin.reporter2` **Name:** `zipkin-sender-okhttp3` **Version:** `3.5.0`
> - **Manifest Project URL**: [https://zipkin.io/](https://zipkin.io/)
> - **Manifest License**: Apache License, Version 2.0 (Not Packaged)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
> - **Embedded license files**: [zipkin-sender-okhttp3-3.5.0.jar/META-INF/LICENSE](zipkin-sender-okhttp3-3.5.0.jar/META-INF/LICENSE)
**49** **Group:** `io.zipkin.zipkin2` **Name:** `zipkin` **Version:** `2.27.1`
**50** **Group:** `io.zipkin.zipkin2` **Name:** `zipkin` **Version:** `2.27.1`
> - **Manifest Project URL**: [http://zipkin.io/](http://zipkin.io/)
> - **Manifest License**: Apache License, Version 2.0 (Not Packaged)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
> - **Embedded license files**: [zipkin-2.27.1.jar/META-INF/LICENSE](zipkin-2.27.1.jar/META-INF/LICENSE)
**50** **Group:** `net.bytebuddy` **Name:** `byte-buddy-dep` **Version:** `1.17.5`
**51** **Group:** `net.bytebuddy` **Name:** `byte-buddy-dep` **Version:** `1.17.5`
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
> - **Embedded license files**: [byte-buddy-dep-1.17.5.jar/META-INF/LICENSE](byte-buddy-dep-1.17.5.jar/META-INF/LICENSE)
- [byte-buddy-dep-1.17.5.jar/META-INF/NOTICE](byte-buddy-dep-1.17.5.jar/META-INF/NOTICE)
**51** **Group:** `org.jetbrains` **Name:** `annotations` **Version:** `13.0`
**52** **Group:** `org.jetbrains` **Name:** `annotations` **Version:** `13.0`
> - **POM Project URL**: [http://www.jetbrains.org](http://www.jetbrains.org)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
**52** **Group:** `org.jetbrains.kotlin` **Name:** `kotlin-stdlib` **Version:** `2.1.20`
**53** **Group:** `org.jetbrains.kotlin` **Name:** `kotlin-stdlib` **Version:** `2.1.20`
> - **POM Project URL**: [https://kotlinlang.org/](https://kotlinlang.org/)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
**53** **Group:** `org.jetbrains.kotlin` **Name:** `kotlin-stdlib-jdk7` **Version:** `2.1.20`
**54** **Group:** `org.jetbrains.kotlin` **Name:** `kotlin-stdlib-jdk7` **Version:** `2.1.20`
> - **POM Project URL**: [https://kotlinlang.org/](https://kotlinlang.org/)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
**54** **Group:** `org.jetbrains.kotlin` **Name:** `kotlin-stdlib-jdk8` **Version:** `2.1.20`
**55** **Group:** `org.jetbrains.kotlin` **Name:** `kotlin-stdlib-jdk8` **Version:** `2.1.20`
> - **POM Project URL**: [https://kotlinlang.org/](https://kotlinlang.org/)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
**55** **Group:** `org.ow2.asm` **Name:** `asm` **Version:** `9.8`
**56** **Group:** `org.ow2.asm` **Name:** `asm` **Version:** `9.8`
> - **Manifest Project URL**: [http://asm.ow2.org](http://asm.ow2.org)
> - **Manifest License**: The 3-Clause BSD License (Not Packaged)
> - **POM Project URL**: [http://asm.ow2.io/](http://asm.ow2.io/)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
> - **POM License**: The 3-Clause BSD License - [https://opensource.org/licenses/BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause)
**56** **Group:** `org.ow2.asm` **Name:** `asm-analysis` **Version:** `9.8`
**57** **Group:** `org.ow2.asm` **Name:** `asm-analysis` **Version:** `9.8`
> - **Manifest Project URL**: [http://asm.ow2.org](http://asm.ow2.org)
> - **Manifest License**: The 3-Clause BSD License (Not Packaged)
> - **POM Project URL**: [http://asm.ow2.io/](http://asm.ow2.io/)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
> - **POM License**: The 3-Clause BSD License - [https://opensource.org/licenses/BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause)
**57** **Group:** `org.ow2.asm` **Name:** `asm-commons` **Version:** `9.8`
**58** **Group:** `org.ow2.asm` **Name:** `asm-commons` **Version:** `9.8`
> - **Manifest Project URL**: [http://asm.ow2.org](http://asm.ow2.org)
> - **Manifest License**: The 3-Clause BSD License (Not Packaged)
> - **POM Project URL**: [http://asm.ow2.io/](http://asm.ow2.io/)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
> - **POM License**: The 3-Clause BSD License - [https://opensource.org/licenses/BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause)
**58** **Group:** `org.ow2.asm` **Name:** `asm-tree` **Version:** `9.8`
**59** **Group:** `org.ow2.asm` **Name:** `asm-tree` **Version:** `9.8`
> - **Manifest Project URL**: [http://asm.ow2.org](http://asm.ow2.org)
> - **Manifest License**: The 3-Clause BSD License (Not Packaged)
> - **POM Project URL**: [http://asm.ow2.io/](http://asm.ow2.io/)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
> - **POM License**: The 3-Clause BSD License - [https://opensource.org/licenses/BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause)
**59** **Group:** `org.ow2.asm` **Name:** `asm-util` **Version:** `9.8`
**60** **Group:** `org.ow2.asm` **Name:** `asm-util` **Version:** `9.8`
> - **Manifest Project URL**: [http://asm.ow2.org](http://asm.ow2.org)
> - **Manifest License**: The 3-Clause BSD License (Not Packaged)
> - **POM Project URL**: [http://asm.ow2.io/](http://asm.ow2.io/)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
> - **POM License**: The 3-Clause BSD License - [https://opensource.org/licenses/BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause)
**60** **Group:** `org.snakeyaml` **Name:** `snakeyaml-engine` **Version:** `2.9`
**61** **Group:** `org.snakeyaml` **Name:** `snakeyaml-engine` **Version:** `2.9`
> - **Manifest License**: Apache License, Version 2.0 (Not Packaged)
> - **POM Project URL**: [https://bitbucket.org/snakeyaml/snakeyaml-engine](https://bitbucket.org/snakeyaml/snakeyaml-engine)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
**61** **Group:** `org.yaml` **Name:** `snakeyaml` **Version:** `2.4`
**62** **Group:** `org.yaml` **Name:** `snakeyaml` **Version:** `2.4`
> - **Manifest License**: Apache License, Version 2.0 (Not Packaged)
> - **POM Project URL**: [https://bitbucket.org/snakeyaml/snakeyaml](https://bitbucket.org/snakeyaml/snakeyaml)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
## MIT License
**62** **Group:** `org.slf4j` **Name:** `slf4j-api` **Version:** `2.0.17`
**63** **Group:** `org.slf4j` **Name:** `slf4j-api` **Version:** `2.0.17`
> - **Project URL**: [http://www.slf4j.org](http://www.slf4j.org)
> - **POM License**: MIT License - [https://opensource.org/licenses/MIT](https://opensource.org/licenses/MIT)
> - **Embedded license files**: [slf4j-api-2.0.17.jar/META-INF/LICENSE.txt](slf4j-api-2.0.17.jar/META-INF/LICENSE.txt)
**63** **Group:** `org.slf4j` **Name:** `slf4j-simple` **Version:** `2.0.17`
**64** **Group:** `org.slf4j` **Name:** `slf4j-simple` **Version:** `2.0.17`
> - **Project URL**: [http://www.slf4j.org](http://www.slf4j.org)
> - **POM License**: MIT License - [https://opensource.org/licenses/MIT](https://opensource.org/licenses/MIT)
> - **Embedded license files**: [slf4j-simple-2.0.17.jar/META-INF/LICENSE.txt](slf4j-simple-2.0.17.jar/META-INF/LICENSE.txt)
## The 3-Clause BSD License
**64** **Group:** `org.ow2.asm` **Name:** `asm` **Version:** `9.8`
**65** **Group:** `org.ow2.asm` **Name:** `asm` **Version:** `9.8`
> - **Manifest Project URL**: [http://asm.ow2.org](http://asm.ow2.org)
> - **Manifest License**: The 3-Clause BSD License (Not Packaged)
> - **POM Project URL**: [http://asm.ow2.io/](http://asm.ow2.io/)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
> - **POM License**: The 3-Clause BSD License - [https://opensource.org/licenses/BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause)
**65** **Group:** `org.ow2.asm` **Name:** `asm-analysis` **Version:** `9.8`
**66** **Group:** `org.ow2.asm` **Name:** `asm-analysis` **Version:** `9.8`
> - **Manifest Project URL**: [http://asm.ow2.org](http://asm.ow2.org)
> - **Manifest License**: The 3-Clause BSD License (Not Packaged)
> - **POM Project URL**: [http://asm.ow2.io/](http://asm.ow2.io/)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
> - **POM License**: The 3-Clause BSD License - [https://opensource.org/licenses/BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause)
**66** **Group:** `org.ow2.asm` **Name:** `asm-commons` **Version:** `9.8`
**67** **Group:** `org.ow2.asm` **Name:** `asm-commons` **Version:** `9.8`
> - **Manifest Project URL**: [http://asm.ow2.org](http://asm.ow2.org)
> - **Manifest License**: The 3-Clause BSD License (Not Packaged)
> - **POM Project URL**: [http://asm.ow2.io/](http://asm.ow2.io/)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
> - **POM License**: The 3-Clause BSD License - [https://opensource.org/licenses/BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause)
**67** **Group:** `org.ow2.asm` **Name:** `asm-tree` **Version:** `9.8`
**68** **Group:** `org.ow2.asm` **Name:** `asm-tree` **Version:** `9.8`
> - **Manifest Project URL**: [http://asm.ow2.org](http://asm.ow2.org)
> - **Manifest License**: The 3-Clause BSD License (Not Packaged)
> - **POM Project URL**: [http://asm.ow2.io/](http://asm.ow2.io/)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
> - **POM License**: The 3-Clause BSD License - [https://opensource.org/licenses/BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause)
**68** **Group:** `org.ow2.asm` **Name:** `asm-util` **Version:** `9.8`
**69** **Group:** `org.ow2.asm` **Name:** `asm-util` **Version:** `9.8`
> - **Manifest Project URL**: [http://asm.ow2.org](http://asm.ow2.org)
> - **Manifest License**: The 3-Clause BSD License (Not Packaged)
> - **POM Project URL**: [http://asm.ow2.io/](http://asm.ow2.io/)

View File

@ -44,6 +44,9 @@ public class ResourceProviderPropertiesCustomizer implements AutoConfigurationCu
"io.opentelemetry.contrib.aws.resource.LambdaResourceProvider", "aws");
DISABLED_BY_DEFAULT_RESOURCE_PROVIDERS.put(
"io.opentelemetry.contrib.gcp.resource.GCPResourceProvider", "gcp");
DISABLED_BY_DEFAULT_RESOURCE_PROVIDERS.put(
"io.opentelemetry.contrib.cloudfoundry.resources.CloudFoundryResourceProvider",
"cloudfoundry");
// for testing
DISABLED_BY_DEFAULT_RESOURCE_PROVIDERS.put(
"io.opentelemetry.instrumentation.resources.ResourceProviderPropertiesCustomizerTest$Provider",
@ -68,10 +71,10 @@ public class ResourceProviderPropertiesCustomizer implements AutoConfigurationCu
DISABLED_BY_DEFAULT_RESOURCE_PROVIDERS.entrySet()) {
String providerName = providerEntry.getKey();
String providerGroup = providerEntry.getValue();
Boolean explictEnabled =
Boolean explicitEnabled =
config.getBoolean(String.format("otel.resource.providers.%s.enabled", providerGroup));
if (isEnabled(providerName, enabledProviders, explictEnabled)) {
if (isEnabled(providerName, enabledProviders, explicitEnabled)) {
enabled.add(providerName);
} else {
disabled.add(providerName);