Skip to content

2026 03 02 preview cli#9647

Open
frantran wants to merge 8 commits intoAzure:mainfrom
frantran:2026-03-02-preview-cli
Open

2026 03 02 preview cli#9647
frantran wants to merge 8 commits intoAzure:mainfrom
frantran:2026-03-02-preview-cli

Conversation

@frantran
Copy link
Copy Markdown
Member

@frantran frantran commented Mar 3, 2026


This checklist is used to make sure that common guidelines for a pull request are followed.

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.

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

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

❌Azure CLI Extensions Breaking Change Test
⚠️fleet
rule cmd_name rule_message suggest_message
⚠️ 1011 - SubgroupAdd fleet clustermeshprofile sub group fleet clustermeshprofile added
⚠️ 1006 - ParaAdd fleet member list cmd fleet member list added parameter cluster_mesh_profile
❌managedcleanroom
rule cmd_name rule_message suggest_message
1007 - ParaRemove managedcleanroom frontend analytics auditevent list cmd managedcleanroom frontend analytics auditevent list removed parameter api_version please add back parameter api_version for cmd managedcleanroom frontend analytics auditevent list
1007 - ParaRemove managedcleanroom frontend analytics auditevent list cmd managedcleanroom frontend analytics auditevent list removed parameter from_seqno please add back parameter from_seqno for cmd managedcleanroom frontend analytics auditevent list
1007 - ParaRemove managedcleanroom frontend analytics auditevent list cmd managedcleanroom frontend analytics auditevent list removed parameter scope please add back parameter scope for cmd managedcleanroom frontend analytics auditevent list
1007 - ParaRemove managedcleanroom frontend analytics auditevent list cmd managedcleanroom frontend analytics auditevent list removed parameter to_seqno please add back parameter to_seqno for cmd managedcleanroom frontend analytics auditevent list
1007 - ParaRemove managedcleanroom frontend analytics cleanroompolicy cmd managedcleanroom frontend analytics cleanroompolicy removed parameter api_version please add back parameter api_version for cmd managedcleanroom frontend analytics cleanroompolicy
1007 - ParaRemove managedcleanroom frontend analytics dataset list cmd managedcleanroom frontend analytics dataset list removed parameter api_version please add back parameter api_version for cmd managedcleanroom frontend analytics dataset list
1007 - ParaRemove managedcleanroom frontend analytics dataset publish cmd managedcleanroom frontend analytics dataset publish removed parameter access_mode please add back parameter access_mode for cmd managedcleanroom frontend analytics dataset publish
1007 - ParaRemove managedcleanroom frontend analytics dataset publish cmd managedcleanroom frontend analytics dataset publish removed parameter allowed_fields please add back parameter allowed_fields for cmd managedcleanroom frontend analytics dataset publish
1007 - ParaRemove managedcleanroom frontend analytics dataset publish cmd managedcleanroom frontend analytics dataset publish removed parameter api_version please add back parameter api_version for cmd managedcleanroom frontend analytics dataset publish
1007 - ParaRemove managedcleanroom frontend analytics dataset publish cmd managedcleanroom frontend analytics dataset publish removed parameter container_name please add back parameter container_name for cmd managedcleanroom frontend analytics dataset publish
1007 - ParaRemove managedcleanroom frontend analytics dataset publish cmd managedcleanroom frontend analytics dataset publish removed parameter dek_keyvault_url please add back parameter dek_keyvault_url for cmd managedcleanroom frontend analytics dataset publish
1007 - ParaRemove managedcleanroom frontend analytics dataset publish cmd managedcleanroom frontend analytics dataset publish removed parameter dek_secret_id please add back parameter dek_secret_id for cmd managedcleanroom frontend analytics dataset publish
1007 - ParaRemove managedcleanroom frontend analytics dataset publish cmd managedcleanroom frontend analytics dataset publish removed parameter encryption_mode please add back parameter encryption_mode for cmd managedcleanroom frontend analytics dataset publish
1007 - ParaRemove managedcleanroom frontend analytics dataset publish cmd managedcleanroom frontend analytics dataset publish removed parameter identity_client_id please add back parameter identity_client_id for cmd managedcleanroom frontend analytics dataset publish
1007 - ParaRemove managedcleanroom frontend analytics dataset publish cmd managedcleanroom frontend analytics dataset publish removed parameter identity_issuer_url please add back parameter identity_issuer_url for cmd managedcleanroom frontend analytics dataset publish
1007 - ParaRemove managedcleanroom frontend analytics dataset publish cmd managedcleanroom frontend analytics dataset publish removed parameter identity_name please add back parameter identity_name for cmd managedcleanroom frontend analytics dataset publish
1007 - ParaRemove managedcleanroom frontend analytics dataset publish cmd managedcleanroom frontend analytics dataset publish removed parameter identity_tenant_id please add back parameter identity_tenant_id for cmd managedcleanroom frontend analytics dataset publish
1007 - ParaRemove managedcleanroom frontend analytics dataset publish cmd managedcleanroom frontend analytics dataset publish removed parameter kek_keyvault_url please add back parameter kek_keyvault_url for cmd managedcleanroom frontend analytics dataset publish
1007 - ParaRemove managedcleanroom frontend analytics dataset publish cmd managedcleanroom frontend analytics dataset publish removed parameter kek_maa_url please add back parameter kek_maa_url for cmd managedcleanroom frontend analytics dataset publish
1007 - ParaRemove managedcleanroom frontend analytics dataset publish cmd managedcleanroom frontend analytics dataset publish removed parameter kek_secret_id please add back parameter kek_secret_id for cmd managedcleanroom frontend analytics dataset publish
1007 - ParaRemove managedcleanroom frontend analytics dataset publish cmd managedcleanroom frontend analytics dataset publish removed parameter schema_file please add back parameter schema_file for cmd managedcleanroom frontend analytics dataset publish
1007 - ParaRemove managedcleanroom frontend analytics dataset publish cmd managedcleanroom frontend analytics dataset publish removed parameter schema_format please add back parameter schema_format for cmd managedcleanroom frontend analytics dataset publish
1007 - ParaRemove managedcleanroom frontend analytics dataset publish cmd managedcleanroom frontend analytics dataset publish removed parameter storage_account_type please add back parameter storage_account_type for cmd managedcleanroom frontend analytics dataset publish
1007 - ParaRemove managedcleanroom frontend analytics dataset publish cmd managedcleanroom frontend analytics dataset publish removed parameter storage_account_url please add back parameter storage_account_url for cmd managedcleanroom frontend analytics dataset publish
1008 - ParaPropAdd managedcleanroom frontend analytics dataset publish cmd managedcleanroom frontend analytics dataset publish update parameter body: added property required=True please remove property required=True for parameter body of cmd managedcleanroom frontend analytics dataset publish
1002 - CmdRemove managedcleanroom frontend analytics dataset queries cmd managedcleanroom frontend analytics dataset queries removed please confirm cmd managedcleanroom frontend analytics dataset queries removed
1007 - ParaRemove managedcleanroom frontend analytics dataset show cmd managedcleanroom frontend analytics dataset show removed parameter api_version please add back parameter api_version for cmd managedcleanroom frontend analytics dataset show
1007 - ParaRemove managedcleanroom frontend analytics query list cmd managedcleanroom frontend analytics query list removed parameter api_version please add back parameter api_version for cmd managedcleanroom frontend analytics query list
1007 - ParaRemove managedcleanroom frontend analytics query publish cmd managedcleanroom frontend analytics query publish removed parameter api_version please add back parameter api_version for cmd managedcleanroom frontend analytics query publish
1007 - ParaRemove managedcleanroom frontend analytics query publish cmd managedcleanroom frontend analytics query publish removed parameter execution_sequence please add back parameter execution_sequence for cmd managedcleanroom frontend analytics query publish
1007 - ParaRemove managedcleanroom frontend analytics query publish cmd managedcleanroom frontend analytics query publish removed parameter input_datasets please add back parameter input_datasets for cmd managedcleanroom frontend analytics query publish
1007 - ParaRemove managedcleanroom frontend analytics query publish cmd managedcleanroom frontend analytics query publish removed parameter output_dataset please add back parameter output_dataset for cmd managedcleanroom frontend analytics query publish
1007 - ParaRemove managedcleanroom frontend analytics query publish cmd managedcleanroom frontend analytics query publish removed parameter query_segment please add back parameter query_segment for cmd managedcleanroom frontend analytics query publish
1008 - ParaPropAdd managedcleanroom frontend analytics query publish cmd managedcleanroom frontend analytics query publish update parameter body: added property required=True please remove property required=True for parameter body of cmd managedcleanroom frontend analytics query publish
1007 - ParaRemove managedcleanroom frontend analytics query run cmd managedcleanroom frontend analytics query run removed parameter api_version please add back parameter api_version for cmd managedcleanroom frontend analytics query run
1007 - ParaRemove managedcleanroom frontend analytics query run cmd managedcleanroom frontend analytics query run removed parameter dry_run please add back parameter dry_run for cmd managedcleanroom frontend analytics query run
1007 - ParaRemove managedcleanroom frontend analytics query run cmd managedcleanroom frontend analytics query run removed parameter end_date please add back parameter end_date for cmd managedcleanroom frontend analytics query run
1007 - ParaRemove managedcleanroom frontend analytics query run cmd managedcleanroom frontend analytics query run removed parameter start_date please add back parameter start_date for cmd managedcleanroom frontend analytics query run
1007 - ParaRemove managedcleanroom frontend analytics query run cmd managedcleanroom frontend analytics query run removed parameter use_optimizer please add back parameter use_optimizer for cmd managedcleanroom frontend analytics query run
1007 - ParaRemove managedcleanroom frontend analytics query runhistory list cmd managedcleanroom frontend analytics query runhistory list removed parameter api_version please add back parameter api_version for cmd managedcleanroom frontend analytics query runhistory list
1007 - ParaRemove managedcleanroom frontend analytics query runresult show cmd managedcleanroom frontend analytics query runresult show removed parameter api_version please add back parameter api_version for cmd managedcleanroom frontend analytics query runresult show
1007 - ParaRemove managedcleanroom frontend analytics query show cmd managedcleanroom frontend analytics query show removed parameter api_version please add back parameter api_version for cmd managedcleanroom frontend analytics query show
1002 - CmdRemove managedcleanroom frontend analytics query vote cmd managedcleanroom frontend analytics query vote removed please confirm cmd managedcleanroom frontend analytics query vote removed
1012 - SubgroupRemove managedcleanroom frontend analytics secret sub group managedcleanroom frontend analytics secret removed please confirm sub group managedcleanroom frontend analytics secret removed
1007 - ParaRemove managedcleanroom frontend analytics show cmd managedcleanroom frontend analytics show removed parameter api_version please add back parameter api_version for cmd managedcleanroom frontend analytics show
1007 - ParaRemove managedcleanroom frontend collaboration list cmd managedcleanroom frontend collaboration list removed parameter active_only please add back parameter active_only for cmd managedcleanroom frontend collaboration list
1007 - ParaRemove managedcleanroom frontend collaboration list cmd managedcleanroom frontend collaboration list removed parameter api_version please add back parameter api_version for cmd managedcleanroom frontend collaboration list
1007 - ParaRemove managedcleanroom frontend consent check cmd managedcleanroom frontend consent check removed parameter api_version please add back parameter api_version for cmd managedcleanroom frontend consent check
1007 - ParaRemove managedcleanroom frontend consent set cmd managedcleanroom frontend consent set removed parameter api_version please add back parameter api_version for cmd managedcleanroom frontend consent set
1007 - ParaRemove managedcleanroom frontend invitation accept cmd managedcleanroom frontend invitation accept removed parameter api_version please add back parameter api_version for cmd managedcleanroom frontend invitation accept
1007 - ParaRemove managedcleanroom frontend invitation list cmd managedcleanroom frontend invitation list removed parameter api_version please add back parameter api_version for cmd managedcleanroom frontend invitation list
1007 - ParaRemove managedcleanroom frontend invitation list cmd managedcleanroom frontend invitation list removed parameter pending_only please add back parameter pending_only for cmd managedcleanroom frontend invitation list
1007 - ParaRemove managedcleanroom frontend invitation show cmd managedcleanroom frontend invitation show removed parameter api_version please add back parameter api_version for cmd managedcleanroom frontend invitation show
1007 - ParaRemove managedcleanroom frontend oidc issuerinfo show cmd managedcleanroom frontend oidc issuerinfo show removed parameter api_version please add back parameter api_version for cmd managedcleanroom frontend oidc issuerinfo show
1002 - CmdRemove managedcleanroom frontend report cmd managedcleanroom frontend report removed please confirm cmd managedcleanroom frontend report removed
1007 - ParaRemove managedcleanroom frontend show cmd managedcleanroom frontend show removed parameter active_only please add back parameter active_only for cmd managedcleanroom frontend show
1007 - ParaRemove managedcleanroom frontend show cmd managedcleanroom frontend show removed parameter api_version please add back parameter api_version for cmd managedcleanroom frontend show
⚠️ 1011 - SubgroupAdd managedcleanroom frontend analytics attestationreport sub group managedcleanroom frontend analytics attestationreport added
⚠️ 1001 - CmdAdd managedcleanroom frontend analytics deploymentinfo cmd managedcleanroom frontend analytics deploymentinfo added
⚠️ 1011 - SubgroupAdd managedcleanroom frontend analytics query vote sub group managedcleanroom frontend analytics query vote added
⚠️ 1011 - SubgroupAdd managedcleanroom frontend attestation sub group managedcleanroom frontend attestation added
⚠️ 1015 - SubgroupPropUpdate managedcleanroom frontend oidc sub group managedcleanroom frontend oidc updated property commands from {'managedcleanroom frontend oidc set-issuer-url': {'name': 'managedcleanroom frontend oidc set-issuer-url', 'is_aaz': False, 'parameters': [{'name': '_change_reference', 'options': ['--change-reference']}, {'name': '_acquire_policy_token', 'options': ['--acquire-policy-token']}, {'name': 'collaboration_id', 'options': ['--collaboration-id', '-c'], 'required': True}, {'name': 'url', 'options': ['--url'], 'required': True}, {'name': 'api_version', 'options': ['--api-version'], 'choices': ['2026-03-01-preview'], 'default': '2026-03-01-preview'}]}, 'managedcleanroom frontend oidc keys': {'name': 'managedcleanroom frontend oidc keys', 'is_aaz': False, 'parameters': [{'name': '_change_reference', 'options': ['--change-reference']}, {'name': '_acquire_policy_token', 'options': ['--acquire-policy-token']}, {'name': 'collaboration_id', 'options': ['--collaboration-id', '-c'], 'required': True}, {'name': 'api_version', 'options': ['--api-version'], 'choices': ['2026-03-01-preview'], 'default': '2026-03-01-preview'}]}} to {}
⚠️ 1011 - SubgroupAdd managedcleanroom frontend workloads sub group managedcleanroom frontend workloads added

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

Hi @frantran,
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
Copy Markdown
Collaborator

yonzhan commented Mar 3, 2026

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

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 3, 2026

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>

@yonzhan yonzhan requested review from kairu-ms and necusjz March 3, 2026 23:29
@yonzhan yonzhan requested a review from jsntcy March 3, 2026 23:29
@frantran frantran marked this pull request as ready for review March 24, 2026 20:19
Copilot AI review requested due to automatic review settings March 24, 2026 20:19
Copy link
Copy Markdown
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

This PR updates the fleet extension to the 2026-03-02-preview Fleet management API, refreshes the vendored SDK accordingly, and introduces new CLI surface area for managing Cluster Mesh Profiles (including a what-if style preview of membership changes).

Changes:

  • Bump extension version to 2.0.0 and update HISTORY.rst for the new preview API.
  • Vendor the v2026_03_02_preview management SDK and wire it up as the extension’s “latest” client.
  • Add new az fleet clustermeshprofile command group plus member filtering support via $filter.

Reviewed changes

Copilot reviewed 51 out of 57 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
src/fleet/setup.py Bumps extension package version to 2.0.0.
src/fleet/HISTORY.rst Adds 2.0.0 release notes for 2026-03-02-preview / ClusterMesh support.
src/fleet/azext_fleet/custom.py Adds cluster mesh profile commands, what-if logic, and member list filtering.
src/fleet/azext_fleet/commands.py Registers new fleet clustermeshprofile command group.
src/fleet/azext_fleet/_params.py Adds parameters for cluster mesh profile commands and member filtering.
src/fleet/azext_fleet/_help.py Adds help + examples for new commands and new filter option.
src/fleet/azext_fleet/_client_factory.py Updates mgmt client creation (now explicitly sets base_url).
src/fleet/azext_fleet/init.py Updates resource type registration to use no SDK profile mapping.
src/fleet/azext_fleet/tests/latest/test_stages_json.py Updates test imports to v2026_03_02_preview models.
src/fleet/azext_fleet/vendored_sdks/init.py Points vendored SDK to v2026_03_02_preview and aliases models/operations modules.
src/fleet/azext_fleet/vendored_sdks/models.py Removes old re-export shim for v2026_02_01_preview models.
src/fleet/azext_fleet/vendored_sdks/_version.py Removes old SDK version file at vendored_sdks root.
src/fleet/azext_fleet/vendored_sdks/_container_service_fleet_mgmt_client.py Removes old multi-api client implementation.
src/fleet/azext_fleet/vendored_sdks/_configuration.py Removes old shared configuration.
src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/py.typed Removes typing marker from previous preview package.
src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/_patch.py Removes generated patch file from previous preview package.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/py.typed Adds PEP 561 typing marker for new preview package.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/_serialization.py Adds/updates shared serialization module used by generated code.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/_patch.py Adds generated patch hook module.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/init.py Adds package init for new preview SDK.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/_version.py Adds new preview SDK version constant.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/_utils/init.py Adds generated utils package init.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/_container_service_fleet_mgmt_client.py Adds ClusterMeshProfiles operations + updates base_url handling and api_version default.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/_configuration.py Updates default api_version to 2026-03-02-preview and simplifies config.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/models/_patch.py Updates generated models patch module typing.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/models/_models_py3.py Adds ClusterMesh models + MeshProperties on FleetMember; updates typing + serialization import.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/models/_container_service_fleet_mgmt_client_enums.py Adds ClusterMesh-related enums.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/models/init.py Exposes new ClusterMesh models/enums from package.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_update_runs_operations.py Updates api-version default and serialization import; typing cleanups.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_operations.py Updates api-version default and serialization import; typing cleanups.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_gates_operations.py Updates api-version default and serialization import; typing cleanups.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_fleets_operations.py Updates api-version default and serialization import; typing cleanups.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_fleet_update_strategies_operations.py Updates api-version default and serialization import; typing cleanups.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_fleet_members_operations.py Adds $filter support to list-by-fleet; updates api-version default.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_fleet_managed_namespaces_operations.py Updates api-version default and serialization import; typing cleanups.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_auto_upgrade_profiles_operations.py Updates api-version default and serialization import; typing cleanups.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_auto_upgrade_profile_operations_operations.py Updates api-version default and serialization import; typing cleanups.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_patch.py Adds generated operations patch hook module.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_cluster_mesh_profiles_operations.py Adds new ClusterMeshProfiles operation group (sync).
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/init.py Exports ClusterMeshProfilesOperations.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/init.py Adds async client package init.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/_patch.py Updates async patch hook typing.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/_configuration.py Updates async config default api_version to 2026-03-02-preview.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/_container_service_fleet_mgmt_client.py Adds ClusterMeshProfiles operations + updates base_url handling (async).
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_update_runs_operations.py Updates serialization import + typing; api-version alignment.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_operations.py Updates serialization import + typing; api-version alignment.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_gates_operations.py Updates serialization import + typing; api-version alignment.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_fleets_operations.py Updates serialization import + typing; api-version alignment.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_fleet_update_strategies_operations.py Updates serialization import + typing; api-version alignment.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_fleet_members_operations.py Updates serialization import + typing; supports list-by-fleet filtering.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_fleet_managed_namespaces_operations.py Updates serialization import + typing; api-version alignment.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_auto_upgrade_profiles_operations.py Updates serialization import + typing; api-version alignment.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_auto_upgrade_profile_operations_operations.py Updates serialization import + typing; api-version alignment.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_patch.py Updates async operations patch hook typing.
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_cluster_mesh_profiles_operations.py Adds new ClusterMeshProfiles operation group (async).
src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/init.py Exports async ClusterMeshProfilesOperations.

Comment on lines +1166 to +1171
members_client = cf_fleet_members(cmd.cli_ctx)
if selector:
filter_expr = f"clusterMeshProfile.Selector eq {name}"
else:
filter_expr = f"clusterMeshProfile eq {name}"
return members_client.list_by_fleet(resource_group_name, fleet_name, filter=filter_expr)
Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

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

Cluster mesh member filtering builds $filter expressions without quoting the mesh profile name. These comparisons are against string fields, so the value should be quoted (and escaped) to avoid invalid OData syntax and incorrect server-side filtering.

Copilot uses AI. Check for mistakes.
Comment on lines +1178 to +1191
# Members currently in the mesh (already applied)
current_filter = f"clusterMeshProfile eq {name}"
current_members = {
m.name: m for m in members_client.list_by_fleet(
resource_group_name, fleet_name, filter=current_filter
)
}

# Members that match the selector (would be in the mesh after apply)
selector_filter = f"clusterMeshProfile.Selector eq {name}"
desired_members = {
m.name: m for m in members_client.list_by_fleet(
resource_group_name, fleet_name, filter=selector_filter
)
Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

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

The what-if implementation also constructs $filter values without quoting the mesh profile name. This will likely break the list calls (and can change semantics if the name contains special characters). Quote/escape the value consistently with the other filter usage.

Copilot uses AI. Check for mistakes.
Comment on lines +17 to +27
FLEET_BASE_URL = "https://management.azure.com"


# container service clients
def get_container_service_client(cli_ctx, subscription_id=None):
return get_mgmt_service_client(cli_ctx, CUSTOM_MGMT_FLEET, subscription_id=subscription_id)
return get_mgmt_service_client(
cli_ctx, CUSTOM_MGMT_FLEET,
subscription_id=subscription_id,
base_url_bound=False,
base_url=FLEET_BASE_URL
)
Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

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

FLEET_BASE_URL is hard-coded to the public Azure Resource Manager endpoint. This will break the extension in sovereign clouds (Azure Government/China/Stack) where the ARM endpoint differs. Prefer deriving the base URL from cli_ctx.cloud.endpoints.resource_manager (or letting get_mgmt_service_client supply it) instead of a constant.

Copilot uses AI. Check for mistakes.
Comment on lines +1075 to +1150
def create_cluster_mesh_profile(cmd,
client,
resource_group_name,
fleet_name,
name,
member_selector=None,
no_wait=False):
cluster_mesh_profile_model = cmd.get_models(
"ClusterMeshProfile",
resource_type=CUSTOM_MGMT_FLEET,
operation_group="cluster_mesh_profiles"
)
cluster_mesh_profile_properties_model = cmd.get_models(
"ClusterMeshProfileProperties",
resource_type=CUSTOM_MGMT_FLEET,
operation_group="cluster_mesh_profiles"
)
member_selector_model = cmd.get_models(
"MemberSelector",
resource_type=CUSTOM_MGMT_FLEET,
operation_group="cluster_mesh_profiles"
)

selector = None
if member_selector is not None:
selector = member_selector_model(by_label=member_selector)

properties = cluster_mesh_profile_properties_model(member_selector=selector)
profile = cluster_mesh_profile_model(properties=properties)

return sdk_no_wait(
no_wait,
client.begin_create_or_update,
resource_group_name,
fleet_name,
name,
profile
)


def show_cluster_mesh_profile(cmd, # pylint: disable=unused-argument
client,
resource_group_name,
fleet_name,
name):
return client.get(resource_group_name, fleet_name, name)


def list_cluster_mesh_profiles(cmd, # pylint: disable=unused-argument
client,
resource_group_name,
fleet_name):
return client.list_by_fleet(resource_group_name, fleet_name)


def delete_cluster_mesh_profile(cmd, # pylint: disable=unused-argument
client,
resource_group_name,
fleet_name,
name,
no_wait=False):
return sdk_no_wait(no_wait, client.begin_delete, resource_group_name, fleet_name, name)


def apply_cluster_mesh_profile(cmd,
client,
resource_group_name,
fleet_name,
name,
what_if=False,
no_wait=False):
if what_if:
return _apply_cluster_mesh_what_if(cmd, resource_group_name, fleet_name, name)

return sdk_no_wait(no_wait, client.begin_apply, resource_group_name, fleet_name, name)

Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

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

New cluster mesh profile commands and the --what-if diff logic introduce non-trivial behavior (model construction, server-side filtering, and client-side diffing) but there are no accompanying tests under azext_fleet/tests/latest to validate it. Adding unit tests for filter construction/quoting and basic what-if diff output would help prevent regressions.

Copilot uses AI. Check for mistakes.
cluster_mesh_profile=None):
filter_expr = None
if cluster_mesh_profile:
filter_expr = f"clusterMeshProfile eq {cluster_mesh_profile}"
Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

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

The OData $filter expression for --cluster-mesh-profile is constructed without quoting the profile name. For string comparisons, the value should be quoted (and any embedded quotes escaped), otherwise requests may fail or the filter could be parsed incorrectly.

Suggested change
filter_expr = f"clusterMeshProfile eq {cluster_mesh_profile}"
escaped_profile = str(cluster_mesh_profile).replace("'", "''")
filter_expr = f"clusterMeshProfile eq '{escaped_profile}'"

Copilot uses AI. Check for mistakes.
@github-actions
Copy link
Copy Markdown
Contributor

Hi @frantran

⚠️ Release Requirements

Module: fleet

  • ⚠️ Please update VERSION to be 1.10.0 in src/fleet/setup.py

Notes

@github-actions github-actions bot added the release-version-block Updates do not qualify release version rules. NOTE: please do not edit it manually. label Mar 24, 2026
@necusjz
Copy link
Copy Markdown
Member

necusjz commented Mar 27, 2026

/azp run

@azure-pipelines
Copy link
Copy Markdown

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

release-version-block Updates do not qualify release version rules. NOTE: please do not edit it manually.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants