Skip to content

Generated CLI extension for new API version 2025-08-18-preview for Confluent Service#9685

Open
Shekar2004 wants to merge 1 commit intoAzure:mainfrom
Shekar2004:users/pgnanashekar/cf-2025-08-18-preview
Open

Generated CLI extension for new API version 2025-08-18-preview for Confluent Service#9685
Shekar2004 wants to merge 1 commit intoAzure:mainfrom
Shekar2004:users/pgnanashekar/cf-2025-08-18-preview

Conversation

@Shekar2004
Copy link
Member

@Shekar2004 Shekar2004 commented Mar 15, 2026

Description

This update introduces new Azure CLI command groups for managing Connectors and Topics within a Confluent Kafka cluster, backed by the 2025-08-18-preview API version.

The commands are auto-generated using aaz-dev-tools against the Microsoft.Confluent management-plane resource provider.


New Command Group

az confluent organization environment cluster connector

Manage Confluent Kafka Connect connectors within a cluster.

Command Description
az confluent organization environment cluster connector create Create a Confluent connector by name
az confluent organization environment cluster connector delete Delete a Confluent connector by name (supports --no-wait)
az confluent organization environment cluster connector list List all connectors in a cluster
az confluent organization environment cluster connector show Get a Confluent connector by name
az confluent organization environment cluster connector update Update a Confluent connector by name

az confluent organization environment cluster topic

Manage Kafka topics within a Confluent cluster.

Command Description
az confluent organization environment cluster topic create Create a Confluent topic by name
az confluent organization environment cluster topic delete Delete a Confluent topic by name
az confluent organization environment cluster topic list List all topics in a cluster
az confluent organization environment cluster topic show Get a Confluent topic by name
az confluent organization environment cluster topic update Update a Confluent topic by name

Implementation Details

  • Commands are auto-generated using aaz-dev-tools.
  • Generated against the Microsoft.Confluent management-plane resource provider.
  • API version used: 2025-08-18-preview.

Related command

General Guidelines

  • Have you run azdev style <YOUR_EXT> locally? (pip install azdev required)
  • Have you run python scripts/ci/test_index.py -q locally? (pip install wheel==0.30.0 required)
  • My extension version conforms to the Extension version schema

For new extensions:

About Extension Publish

There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify src/index.json.

@Shekar2004 Shekar2004 requested a review from yanzhudd as a code owner March 15, 2026 18:39
Copilot AI review requested due to automatic review settings March 15, 2026 18:39
@Shekar2004 Shekar2004 requested a review from jsntcy as a code owner March 15, 2026 18:39
@azure-client-tools-bot-prd
Copy link

azure-client-tools-bot-prd bot commented Mar 15, 2026

❌Azure CLI Extensions Breaking Change Test
⚠️confluent
rule cmd_name rule_message suggest_message
⚠️ 1011 - SubgroupAdd confluent agreement sub group confluent agreement added
⚠️ 1015 - SubgroupPropUpdate confluent organization environment cluster sub group confluent organization environment cluster updated property sub_groups from {} to {'confluent organization environment cluster topic': {'name': 'confluent organization environment cluster topic', 'commands': {'confluent organization environment cluster topic create': {'name': 'confluent organization environment cluster topic create', 'is_aaz': True, 'parameters': [{'name': '_change_reference', 'options': ['--change-reference']}, {'name': '_acquire_policy_token', 'options': ['--acquire-policy-token']}, {'name': 'cluster_id', 'options': ['--cluster-id'], 'required': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'environment_id', 'options': ['--environment-id'], 'required': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'organization_name', 'options': ['--organization-name'], 'required': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'resource_group', 'options': ['--resource-group', '-g'], 'required': True, 'id_part': 'resource_group', 'has_completer': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'topic_name', 'options': ['--name', '--topic-name', '-n'], 'required': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'configs', 'options': ['--configs'], 'nargs': '+', 'aaz_type': 'AAZObjectArg', 'type': 'Object'}, {'name': 'input_configs', 'options': ['--input-configs'], 'nargs': '+', 'aaz_type': 'AAZListArg', 'type': 'List<Object>'}, {'name': 'kind', 'options': ['--kind'], 'aaz_type': 'string', 'type': 'string'}, {'name': 'metadata', 'options': ['--metadata'], 'nargs': '+', 'aaz_type': 'AAZObjectArg', 'type': 'Object'}, {'name': 'partitions', 'options': ['--partitions'], 'nargs': '+', 'aaz_type': 'AAZObjectArg', 'type': 'Object'}, {'name': 'partitions_count', 'options': ['--partitions-count'], 'aaz_type': 'string', 'type': 'string'}, {'name': 'partitions_reassignments', 'options': ['--partitions-reassignments'], 'nargs': '+', 'aaz_type': 'AAZObjectArg', 'type': 'Object'}, {'name': 'replication_factor', 'options': ['--replication-factor'], 'aaz_type': 'string', 'type': 'string'}, {'name': 'topic_id', 'options': ['--topic-id'], 'aaz_type': 'string', 'type': 'string'}]}, 'confluent organization environment cluster topic delete': {'name': 'confluent organization environment cluster topic delete', 'is_aaz': True, 'supports_no_wait': True, 'parameters': [{'name': '_change_reference', 'options': ['--change-reference']}, {'name': '_acquire_policy_token', 'options': ['--acquire-policy-token']}, {'name': 'no_wait', 'options': ['--no-wait'], 'choices': ['0', '1', 'f', 'false', 'n', 'no', 't', 'true', 'y', 'yes'], 'nargs': '?', 'aaz_type': 'bool', 'type': 'bool'}, {'name': 'cluster_id', 'options': ['--cluster-id'], 'required': True, 'id_part': 'child_name_2', 'aaz_type': 'string', 'type': 'string'}, {'name': 'environment_id', 'options': ['--environment-id'], 'required': True, 'id_part': 'child_name_1', 'aaz_type': 'string', 'type': 'string'}, {'name': 'organization_name', 'options': ['--organization-name'], 'required': True, 'id_part': 'name', 'aaz_type': 'string', 'type': 'string'}, {'name': 'resource_group', 'options': ['--resource-group', '-g'], 'required': True, 'id_part': 'resource_group', 'has_completer': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'topic_name', 'options': ['--name', '--topic-name', '-n'], 'required': True, 'id_part': 'child_name_3', 'aaz_type': 'string', 'type': 'string'}, {'name': 'yes', 'options': ['--yes', '-y']}]}, 'confluent organization environment cluster topic list': {'name': 'confluent organization environment cluster topic list', 'is_aaz': True, 'parameters': [{'name': 'pagination_token', 'options': ['--next-token'], 'aaz_type': 'string', 'type': 'string'}, {'name': 'pagination_limit', 'options': ['--max-items'], 'aaz_type': 'int', 'type': 'int'}, {'name': 'cluster_id', 'options': ['--cluster-id'], 'required': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'environment_id', 'options': ['--environment-id'], 'required': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'organization_name', 'options': ['--organization-name'], 'required': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'resource_group', 'options': ['--resource-group', '-g'], 'required': True, 'id_part': 'resource_group', 'has_completer': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'page_size', 'options': ['--page-size'], 'aaz_type': 'int', 'type': 'int'}, {'name': 'page_token', 'options': ['--page-token'], 'aaz_type': 'string', 'type': 'string'}]}, 'confluent organization environment cluster topic show': {'name': 'confluent organization environment cluster topic show', 'is_aaz': True, 'parameters': [{'name': 'cluster_id', 'options': ['--cluster-id'], 'required': True, 'id_part': 'child_name_2', 'aaz_type': 'string', 'type': 'string'}, {'name': 'environment_id', 'options': ['--environment-id'], 'required': True, 'id_part': 'child_name_1', 'aaz_type': 'string', 'type': 'string'}, {'name': 'organization_name', 'options': ['--organization-name'], 'required': True, 'id_part': 'name', 'aaz_type': 'string', 'type': 'string'}, {'name': 'resource_group', 'options': ['--resource-group', '-g'], 'required': True, 'id_part': 'resource_group', 'has_completer': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'topic_name', 'options': ['--name', '--topic-name', '-n'], 'required': True, 'id_part': 'child_name_3', 'aaz_type': 'string', 'type': 'string'}]}, 'confluent organization environment cluster topic update': {'name': 'confluent organization environment cluster topic update', 'is_aaz': True, 'parameters': [{'name': '_change_reference', 'options': ['--change-reference']}, {'name': '_acquire_policy_token', 'options': ['--acquire-policy-token']}, {'name': 'generic_update_add', 'options': ['--add'], 'nargs': '+', 'aaz_type': 'AAZGenericUpdateAddArg'}, {'name': 'generic_update_set', 'options': ['--set'], 'nargs': '+', 'aaz_type': 'AAZGenericUpdateSetArg'}, {'name': 'generic_update_remove', 'options': ['--remove'], 'nargs': '+', 'aaz_type': 'AAZGenericUpdateRemoveArg'}, {'name': 'generic_update_force_string', 'options': ['--force-string'], 'choices': ['0', '1', 'f', 'false', 'n', 'no', 't', 'true', 'y', 'yes'], 'nargs': '?', 'aaz_type': 'bool', 'type': 'bool'}, {'name': 'cluster_id', 'options': ['--cluster-id'], 'required': True, 'id_part': 'child_name_2', 'aaz_type': 'string', 'type': 'string'}, {'name': 'environment_id', 'options': ['--environment-id'], 'required': True, 'id_part': 'child_name_1', 'aaz_type': 'string', 'type': 'string'}, {'name': 'organization_name', 'options': ['--organization-name'], 'required': True, 'id_part': 'name', 'aaz_type': 'string', 'type': 'string'}, {'name': 'resource_group', 'options': ['--resource-group', '-g'], 'required': True, 'id_part': 'resource_group', 'has_completer': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'topic_name', 'options': ['--name', '--topic-name', '-n'], 'required': True, 'id_part': 'child_name_3', 'aaz_type': 'string', 'type': 'string'}, {'name': 'configs', 'options': ['--configs'], 'nargs': '+', 'aaz_type': 'AAZObjectArg', 'type': 'Object'}, {'name': 'input_configs', 'options': ['--input-configs'], 'nargs': '+', 'aaz_type': 'AAZListArg', 'type': 'List<Object>'}, {'name': 'kind', 'options': ['--kind'], 'aaz_type': 'string', 'type': 'string'}, {'name': 'metadata', 'options': ['--metadata'], 'nargs': '+', 'aaz_type': 'AAZObjectArg', 'type': 'Object'}, {'name': 'partitions', 'options': ['--partitions'], 'nargs': '+', 'aaz_type': 'AAZObjectArg', 'type': 'Object'}, {'name': 'partitions_count', 'options': ['--partitions-count'], 'aaz_type': 'string', 'type': 'string'}, {'name': 'partitions_reassignments', 'options': ['--partitions-reassignments'], 'nargs': '+', 'aaz_type': 'AAZObjectArg', 'type': 'Object'}, {'name': 'replication_factor', 'options': ['--replication-factor'], 'aaz_type': 'string', 'type': 'string'}, {'name': 'topic_id', 'options': ['--topic-id'], 'aaz_type': 'string', 'type': 'string'}]}}, 'sub_groups': {}}, 'confluent organization environment cluster connector': {'name': 'confluent organization environment cluster connector', 'commands': {'confluent organization environment cluster connector create': {'name': 'confluent organization environment cluster connector create', 'is_aaz': True, 'parameters': [{'name': '_change_reference', 'options': ['--change-reference']}, {'name': '_acquire_policy_token', 'options': ['--acquire-policy-token']}, {'name': 'cluster_id', 'options': ['--cluster-id'], 'required': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'connector_name', 'options': ['--connector-name', '--name', '-n'], 'required': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'environment_id', 'options': ['--environment-id'], 'required': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'organization_name', 'options': ['--organization-name'], 'required': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'resource_group', 'options': ['--resource-group', '-g'], 'required': True, 'id_part': 'resource_group', 'has_completer': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'connector_basic_info', 'options': ['--connector-basic-info'], 'nargs': '+', 'aaz_type': 'AAZObjectArg', 'type': 'Object'}, {'name': 'connector_service_type_info', 'options': ['--connector-service-type-info'], 'nargs': '+', 'aaz_type': 'AAZObjectArg', 'type': 'Object'}, {'name': 'partner_connector_info', 'options': ['--partner-connector-info'], 'nargs': '+', 'aaz_type': 'AAZObjectArg', 'type': 'Object'}]}, 'confluent organization environment cluster connector delete': {'name': 'confluent organization environment cluster connector delete', 'is_aaz': True, 'supports_no_wait': True, 'parameters': [{'name': '_change_reference', 'options': ['--change-reference']}, {'name': '_acquire_policy_token', 'options': ['--acquire-policy-token']}, {'name': 'no_wait', 'options': ['--no-wait'], 'choices': ['0', '1', 'f', 'false', 'n', 'no', 't', 'true', 'y', 'yes'], 'nargs': '?', 'aaz_type': 'bool', 'type': 'bool'}, {'name': 'cluster_id', 'options': ['--cluster-id'], 'required': True, 'id_part': 'child_name_2', 'aaz_type': 'string', 'type': 'string'}, {'name': 'connector_name', 'options': ['--connector-name', '--name', '-n'], 'required': True, 'id_part': 'child_name_3', 'aaz_type': 'string', 'type': 'string'}, {'name': 'environment_id', 'options': ['--environment-id'], 'required': True, 'id_part': 'child_name_1', 'aaz_type': 'string', 'type': 'string'}, {'name': 'organization_name', 'options': ['--organization-name'], 'required': True, 'id_part': 'name', 'aaz_type': 'string', 'type': 'string'}, {'name': 'resource_group', 'options': ['--resource-group', '-g'], 'required': True, 'id_part': 'resource_group', 'has_completer': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'yes', 'options': ['--yes', '-y']}]}, 'confluent organization environment cluster connector list': {'name': 'confluent organization environment cluster connector list', 'is_aaz': True, 'parameters': [{'name': 'pagination_token', 'options': ['--next-token'], 'aaz_type': 'string', 'type': 'string'}, {'name': 'pagination_limit', 'options': ['--max-items'], 'aaz_type': 'int', 'type': 'int'}, {'name': 'cluster_id', 'options': ['--cluster-id'], 'required': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'environment_id', 'options': ['--environment-id'], 'required': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'organization_name', 'options': ['--organization-name'], 'required': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'resource_group', 'options': ['--resource-group', '-g'], 'required': True, 'id_part': 'resource_group', 'has_completer': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'page_size', 'options': ['--page-size'], 'aaz_type': 'int', 'type': 'int'}, {'name': 'page_token', 'options': ['--page-token'], 'aaz_type': 'string', 'type': 'string'}]}, 'confluent organization environment cluster connector show': {'name': 'confluent organization environment cluster connector show', 'is_aaz': True, 'parameters': [{'name': 'cluster_id', 'options': ['--cluster-id'], 'required': True, 'id_part': 'child_name_2', 'aaz_type': 'string', 'type': 'string'}, {'name': 'connector_name', 'options': ['--connector-name', '--name', '-n'], 'required': True, 'id_part': 'child_name_3', 'aaz_type': 'string', 'type': 'string'}, {'name': 'environment_id', 'options': ['--environment-id'], 'required': True, 'id_part': 'child_name_1', 'aaz_type': 'string', 'type': 'string'}, {'name': 'organization_name', 'options': ['--organization-name'], 'required': True, 'id_part': 'name', 'aaz_type': 'string', 'type': 'string'}, {'name': 'resource_group', 'options': ['--resource-group', '-g'], 'required': True, 'id_part': 'resource_group', 'has_completer': True, 'aaz_type': 'string', 'type': 'string'}]}, 'confluent organization environment cluster connector update': {'name': 'confluent organization environment cluster connector update', 'is_aaz': True, 'parameters': [{'name': '_change_reference', 'options': ['--change-reference']}, {'name': '_acquire_policy_token', 'options': ['--acquire-policy-token']}, {'name': 'generic_update_add', 'options': ['--add'], 'nargs': '+', 'aaz_type': 'AAZGenericUpdateAddArg'}, {'name': 'generic_update_set', 'options': ['--set'], 'nargs': '+', 'aaz_type': 'AAZGenericUpdateSetArg'}, {'name': 'generic_update_remove', 'options': ['--remove'], 'nargs': '+', 'aaz_type': 'AAZGenericUpdateRemoveArg'}, {'name': 'generic_update_force_string', 'options': ['--force-string'], 'choices': ['0', '1', 'f', 'false', 'n', 'no', 't', 'true', 'y', 'yes'], 'nargs': '?', 'aaz_type': 'bool', 'type': 'bool'}, {'name': 'cluster_id', 'options': ['--cluster-id'], 'required': True, 'id_part': 'child_name_2', 'aaz_type': 'string', 'type': 'string'}, {'name': 'connector_name', 'options': ['--connector-name', '--name', '-n'], 'required': True, 'id_part': 'child_name_3', 'aaz_type': 'string', 'type': 'string'}, {'name': 'environment_id', 'options': ['--environment-id'], 'required': True, 'id_part': 'child_name_1', 'aaz_type': 'string', 'type': 'string'}, {'name': 'organization_name', 'options': ['--organization-name'], 'required': True, 'id_part': 'name', 'aaz_type': 'string', 'type': 'string'}, {'name': 'resource_group', 'options': ['--resource-group', '-g'], 'required': True, 'id_part': 'resource_group', 'has_completer': True, 'aaz_type': 'string', 'type': 'string'}, {'name': 'connector_basic_info', 'options': ['--connector-basic-info'], 'nargs': '+', 'aaz_type': 'AAZObjectArg', 'type': 'Object'}, {'name': 'connector_service_type_info', 'options': ['--connector-service-type-info'], 'nargs': '+', 'aaz_type': 'AAZObjectArg', 'type': 'Object'}, {'name': 'partner_connector_info', 'options': ['--partner-connector-info'], 'nargs': '+', 'aaz_type': 'AAZObjectArg', 'type': 'Object'}]}}, 'sub_groups': {}}}
⚠️ 1001 - CmdAdd confluent organization environment cluster create cmd confluent organization environment cluster create added
⚠️ 1001 - CmdAdd confluent organization environment cluster delete cmd confluent organization environment cluster delete added
⚠️ 1001 - CmdAdd confluent organization environment cluster update cmd confluent organization environment cluster update added
⚠️ 1001 - CmdAdd confluent organization environment create cmd confluent organization environment create added
⚠️ 1001 - CmdAdd confluent organization environment delete cmd confluent organization environment delete added
⚠️ 1001 - CmdAdd confluent organization environment update cmd confluent organization environment update added
⚠️ 1011 - SubgroupAdd confluent validation sub group confluent validation added
❌durabletask
rule cmd_name rule_message suggest_message
1002 - CmdRemove durabletask scheduler attach cmd durabletask scheduler attach removed please confirm cmd durabletask scheduler attach removed

@azure-client-tools-bot-prd
Copy link

Hi @Shekar2004,
Please write the description of changes which can be perceived by customers into HISTORY.rst.
If you want to release a new extension version, please update the version in setup.py as well.

@yonzhan
Copy link
Collaborator

yonzhan commented Mar 15, 2026

Thank you for your contribution! We will review the pull request and get back to you soon.

@github-actions
Copy link
Contributor

The git hooks are available for azure-cli and azure-cli-extensions repos. They could help you run required checks before creating the PR.

Please sync the latest code with latest dev branch (for azure-cli) or main branch (for azure-cli-extensions).
After that please run the following commands to enable git hooks:

pip install azdev --upgrade
azdev setup -c <your azure-cli repo path> -r <your azure-cli-extensions repo path>

@github-actions
Copy link
Contributor

CodeGen Tools Feedback Collection

Thank you for using our CodeGen tool. We value your feedback, and we would like to know how we can improve our product. Please take a few minutes to fill our codegen survey

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Auto-generated Azure CLI extension update for the Confluent service, adding new command groups for managing connectors, topics, environments, and clusters, along with validation and agreement commands.

Changes:

  • Added connector and topic CRUD commands under confluent organization environment cluster using API version 2024-07-01
  • Added environment and cluster CRUD commands (create/delete/update) using API version 2025-08-18-preview
  • Added agreement and validation command groups using API version 2024-02-13

Reviewed changes

Copilot reviewed 33 out of 33 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
azext_metadata.json Bumps minimum CLI core version to 2.75.0
agreement/ New agreement list and default create commands
validation/ New orgvalidate and orgvalidate-v2 commands
organization/environment/_create.py, _delete.py, _update.py New environment CRUD commands (preview, 2025-08-18-preview API)
organization/environment/cluster/_create.py, _delete.py, _update.py New cluster CRUD commands (preview, 2025-08-18-preview API)
organization/environment/cluster/connector/ New connector CRUD commands (2024-07-01 API)
organization/environment/cluster/topic/ New topic CRUD commands (2024-07-01 API)
Various init.py and __cmd_group.py Module registration and command group definitions

You can also share your feedback on Copilot code review. Take the survey.

Comment on lines +22 to +26
_aaz_info = {
"version": "2025-08-18-preview",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.confluent/organizations/{}/environments/{}", "2025-08-18-preview"],
]
@github-actions
Copy link
Contributor

github-actions bot commented Mar 15, 2026

@Shekar2004
Copy link
Member Author

@necusjz This is the PR corresponding to the code changes for commands generated in PR in aaz repo: Azure/aaz#968

@necusjz
Copy link
Member

necusjz commented Mar 16, 2026

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 2 pipeline(s).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants