Skip to content

CAMEL-23232 - Camel-Azure components: Standardize CredentialType enums across all Azure components#22203

Merged
oscerd merged 3 commits intomainfrom
CAMEL-23232
Mar 23, 2026
Merged

CAMEL-23232 - Camel-Azure components: Standardize CredentialType enums across all Azure components#22203
oscerd merged 3 commits intomainfrom
CAMEL-23232

Conversation

@oscerd
Copy link
Contributor

@oscerd oscerd commented Mar 23, 2026

Description

Target

  • I checked that the commit is targeting the correct branch (Camel 4 uses the main branch)

Tracking

  • If this is a large change, bug fix, or code improvement, I checked there is a JIRA issue filed for the change (usually before you start working on it).

Apache Camel coding standards and style

  • I checked that each commit in the pull request has a meaningful subject line and body.
  • I have run mvn clean install -DskipTests locally from root folder and I have committed all auto-generated changes.

oscerd added 2 commits March 23, 2026 18:09
…s across all Azure components

Create a new camel-azure-common module with a unified CredentialType
enum containing all 10 credential types (SHARED_KEY_CREDENTIAL,
SHARED_ACCOUNT_KEY, AZURE_IDENTITY, AZURE_SAS, CONNECTION_STRING,
CLIENT_SECRET, TOKEN_CREDENTIAL, SERVICE_CLIENT_INSTANCE, ACCESS_KEY,
FUNCTION_KEY) with a component support matrix in the javadoc.

Deprecate the 10 component-specific CredentialType enums in cosmosdb,
eventhubs, files, key-vault, servicebus, storage-blob, storage-datalake,
storage-queue, eventgrid, and functions with @deprecated(since="4.19.0")
pointing to the shared enum.

Add migration guide entry to camel-4x-upgrade-guide-4_19.adoc.
URI-based configuration requires no changes; Java API users only need
to update the import statement.

Signed-off-by: Andrea Cosentino <ancosen@gmail.com>
…s across all Azure components

Signed-off-by: Andrea Cosentino <ancosen@gmail.com>
@github-actions
Copy link
Contributor

🌟 Thank you for your contribution to the Apache Camel project! 🌟
🤖 CI automation will test this PR automatically.

🐫 Apache Camel Committers, please review the following items:

  • First-time contributors require MANUAL approval for the GitHub Actions to run
  • You can use the command /component-test (camel-)component-name1 (camel-)component-name2.. to request a test from the test bot although they are normally detected and executed by CI.
  • You can label PRs using build-all, build-dependents, skip-tests and test-dependents to fine-tune the checks executed by this PR.
  • Build and test logs are available in the summary page. Only Apache Camel committers have access to the summary.

⚠️ Be careful when sharing logs. Review their contents before sharing them publicly.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 23, 2026

🧪 CI tested the following changed modules:

  • bom/camel-bom
  • catalog/camel-allcomponents
  • components/camel-azure
  • components/camel-azure/camel-azure-common
  • components/camel-azure/camel-azure-cosmosdb
  • components/camel-azure/camel-azure-eventgrid
  • components/camel-azure/camel-azure-eventhubs
  • components/camel-azure/camel-azure-files
  • components/camel-azure/camel-azure-functions
  • components/camel-azure/camel-azure-key-vault
  • components/camel-azure/camel-azure-servicebus
  • components/camel-azure/camel-azure-storage-blob
  • components/camel-azure/camel-azure-storage-datalake
  • components/camel-azure/camel-azure-storage-queue
  • coverage
  • docs
  • parent
  • tooling/maven/camel-package-maven-plugin

ℹ️ Dependent modules were not tested because the total number of affected modules exceeded the threshold (50). Use the test-dependents label to force testing all dependents.

Build reactor — dependencies compiled but only changed modules were tested (36 modules)
  • Camel :: All Components Sync point
  • Camel :: All Components Sync point [pom]
  • Camel :: Azure :: Common
  • Camel :: Azure :: Common [jar]
  • Camel :: Azure :: CosmosDB
  • Camel :: Azure :: CosmosDB [jar]
  • Camel :: Azure :: Event Grid
  • Camel :: Azure :: Event Grid [jar]
  • Camel :: Azure :: Event Hubs
  • Camel :: Azure :: Event Hubs [jar]
  • Camel :: Azure :: Files
  • Camel :: Azure :: Files [jar]
  • Camel :: Azure :: Functions
  • Camel :: Azure :: Functions [jar]
  • Camel :: Azure :: Key Vault
  • Camel :: Azure :: Key Vault [jar]
  • Camel :: Azure :: Parent
  • Camel :: Azure :: Parent [pom]
  • Camel :: Azure :: ServiceBus
  • Camel :: Azure :: ServiceBus [jar]
  • Camel :: Azure :: Storage Blob
  • Camel :: Azure :: Storage Blob [jar]
  • Camel :: Azure :: Storage Datalake
  • Camel :: Azure :: Storage Datalake [jar]
  • Camel :: Azure :: Storage Queue
  • Camel :: Azure :: Storage Queue [jar]
  • Camel :: BOM
  • Camel :: BOM [pom]
  • Camel :: Coverage
  • Camel :: Coverage [pom]
  • Camel :: Docs
  • Camel :: Docs [pom]
  • Camel :: Maven Plugins :: Camel Maven Package
  • Camel :: Maven Plugins :: Camel Maven Package [maven-plugin]
  • Camel :: Parent
  • Camel :: Parent [pom]

Copy link
Contributor

@gnodet gnodet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code on behalf of Guillaume Nodet

Looks good — clean approach for phase 1 of the migration. A couple of notes:

Migration guide accuracy: The upgrade guide says "Java API users only need to update the import statement," but the component configuration setters (e.g., BlobConfiguration.setCredentialType()) still accept the component-specific enum type, not the common one. Java API users can't actually switch imports yet without a type mismatch. The URI-based claim is correct (Camel resolves enums by name), but the Java API part should probably be reworded to clarify this is preparation for a future migration, or the guide should be deferred until the setters are updated.

Everything else looks good — BOM, parent POM, coverage, catalog exclusion, and module plumbing are all correctly wired.

The component configuration classes still use the component-specific
CredentialType enum types. Clarify that the Java import migration
will apply once the configs are updated in a future release.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link
Contributor

@gnodet gnodet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code on behalf of Guillaume Nodet

LGTM, thanks!

@oscerd oscerd merged commit 34889f7 into main Mar 23, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants