diff --git a/src/fleet/HISTORY.rst b/src/fleet/HISTORY.rst index fd354aa666f..d65a8922193 100644 --- a/src/fleet/HISTORY.rst +++ b/src/fleet/HISTORY.rst @@ -176,4 +176,8 @@ Release History 1.9.0 ++++++ -* Add 2026-02-01-preview API Version with UpdateRun MaxConcurrency support. Add fix for ControlPlaneOnly upgrade type requiring no node image selection. \ No newline at end of file +* Add 2026-02-01-preview API Version with UpdateRun MaxConcurrency support. Add fix for ControlPlaneOnly upgrade type requiring no node image selection. + +2.0.0 +++++++ +* Add 2026-03-02-preview API version with ClusterMesh support. \ No newline at end of file diff --git a/src/fleet/azext_fleet/__init__.py b/src/fleet/azext_fleet/__init__.py index 6426327310b..5e4830edcaa 100644 --- a/src/fleet/azext_fleet/__init__.py +++ b/src/fleet/azext_fleet/__init__.py @@ -4,7 +4,7 @@ # -------------------------------------------------------------------------------------------- from azure.cli.core import AzCommandsLoader -from azure.cli.core.profiles import register_resource_type, SDKProfile +from azure.cli.core.profiles import register_resource_type # pylint: disable=unused-import from azext_fleet._help import helps @@ -15,7 +15,7 @@ def register_fleet_resource_type(): register_resource_type( "latest", CUSTOM_MGMT_FLEET, - SDKProfile("2026-02-01-preview"), + None, ) diff --git a/src/fleet/azext_fleet/_client_factory.py b/src/fleet/azext_fleet/_client_factory.py index eac3ef71413..ff936226173 100644 --- a/src/fleet/azext_fleet/_client_factory.py +++ b/src/fleet/azext_fleet/_client_factory.py @@ -14,9 +14,19 @@ CUSTOM_MGMT_FLEET = CustomResourceType('azext_fleet.vendored_sdks', 'ContainerServiceFleetMgmtClient') +# TODO: Remove this override once the API version is rolled out to production ARM. +# During preview, this API version is only available in the centraluseuap environment. +FLEET_BASE_URL = "https://centraluseuap.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 + ) def cf_fleets(cli_ctx, *_): @@ -56,6 +66,10 @@ def cf_auto_upgrade_profile_operations(cli_ctx, *_): return get_container_service_client(cli_ctx).auto_upgrade_profile_operations +def cf_cluster_mesh_profiles(cli_ctx, *_): + return get_container_service_client(cli_ctx).cluster_mesh_profiles + + def get_provider_client(cli_ctx): return get_mgmt_service_client( cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES) diff --git a/src/fleet/azext_fleet/_help.py b/src/fleet/azext_fleet/_help.py index e4ae468f269..6fa4db0def8 100644 --- a/src/fleet/azext_fleet/_help.py +++ b/src/fleet/azext_fleet/_help.py @@ -145,6 +145,8 @@ examples: - name: List all members for a given fleet. text: az fleet member list -g MyFleetResourceGroup -f MyFleetName + - name: List members filtered by a cluster mesh profile. + text: az fleet member list -g MyFleetResourceGroup -f MyFleetName --cluster-mesh-profile MyClusterMeshProfile """ helps['fleet member show'] = """ @@ -584,3 +586,69 @@ - name: Save kubeconfig to a specific file. text: az fleet namespace get-credentials -g MyFleetResourceGroup -f MyFleetName -n MyManagedNamespace --file ~/my-namespace-config """ + +helps['fleet clustermeshprofile'] = """ + type: group + short-summary: Commands to manage cluster mesh profiles. +""" + +helps['fleet clustermeshprofile create'] = """ + type: command + short-summary: Creates or updates a cluster mesh profile. + parameters: + - name: --member-selector --selector -s + type: string + short-summary: "Kubernetes-style label selector for selecting Fleet members, e.g. 'env=production'." + examples: + - name: Create a cluster mesh profile with a label selector. + text: az fleet clustermeshprofile create -g MyFleetResourceGroup -f MyFleetName -n MyClusterMeshProfile --selector "env=production" + - name: Create a cluster mesh profile without a selector (no members selected initially). + text: az fleet clustermeshprofile create -g MyFleetResourceGroup -f MyFleetName -n MyClusterMeshProfile +""" + +helps['fleet clustermeshprofile show'] = """ + type: command + short-summary: Gets a cluster mesh profile. + examples: + - name: Show the details of a cluster mesh profile. + text: az fleet clustermeshprofile show -g MyFleetResourceGroup -f MyFleetName -n MyClusterMeshProfile +""" + +helps['fleet clustermeshprofile list'] = """ + type: command + short-summary: Lists all cluster mesh profiles for a fleet. + examples: + - name: List all cluster mesh profiles for a given fleet. + text: az fleet clustermeshprofile list -g MyFleetResourceGroup -f MyFleetName +""" + +helps['fleet clustermeshprofile delete'] = """ + type: command + short-summary: Deletes a cluster mesh profile. All members must be removed from the cluster mesh profile before it can be deleted. + examples: + - name: Delete a specific cluster mesh profile. + text: az fleet clustermeshprofile delete -g MyFleetResourceGroup -f MyFleetName -n MyClusterMeshProfile +""" + +helps['fleet clustermeshprofile apply'] = """ + type: command + short-summary: Applies the cluster mesh profile to selected fleet members. + examples: + - name: Apply a cluster mesh profile. + text: az fleet clustermeshprofile apply -g MyFleetResourceGroup -f MyFleetName -n MyClusterMeshProfile + - name: Preview what changes would be made without actually applying. + text: az fleet clustermeshprofile apply -g MyFleetResourceGroup -f MyFleetName -n MyClusterMeshProfile --what-if --output table +""" + +helps['fleet clustermeshprofile list-members'] = """ + type: command + short-summary: Lists fleet members for a cluster mesh profile. + long-summary: | + Without --selector, lists members currently applied to the mesh profile. + With --selector, lists members that would match the profile's label selector (i.e. candidates for the next apply). + examples: + - name: List members currently applied to the mesh. + text: az fleet clustermeshprofile list-members -g MyFleetResourceGroup -f MyFleetName -n MyClusterMeshProfile + - name: List members that would match the profile's selector. + text: az fleet clustermeshprofile list-members -g MyFleetResourceGroup -f MyFleetName -n MyClusterMeshProfile --selector +""" diff --git a/src/fleet/azext_fleet/_params.py b/src/fleet/azext_fleet/_params.py index daa1ac25e35..daff1570016 100644 --- a/src/fleet/azext_fleet/_params.py +++ b/src/fleet/azext_fleet/_params.py @@ -90,6 +90,10 @@ def load_arguments(self, _): help='Space-separated labels in key=value format. Example: env=production region=us-west team=devops' ) + with self.argument_context('fleet member list') as c: + c.argument('cluster_mesh_profile', options_list=['--cluster-mesh-profile'], + help='Filter members by cluster mesh profile name.') + with self.argument_context('fleet updaterun') as c: c.argument('name', options_list=['--name', '-n'], help='Specify name for the update run.') c.argument('fleet_name', options_list=['--fleet-name', '-f'], help='Specify the fleet name.') @@ -207,3 +211,20 @@ def load_arguments(self, _): c.argument('overwrite_existing', help='Overwrite any existing cluster entry with the same name.') c.argument('path', options_list=['--file'], type=file_type, completer=FilesCompleter(), default=os.path.join(os.path.expanduser('~'), '.kube', 'config')) + + with self.argument_context('fleet clustermeshprofile') as c: + c.argument('name', options_list=['--name', '-n'], help='Specify name for the cluster mesh profile.') + c.argument('fleet_name', options_list=['--fleet-name', '-f'], help='Specify the fleet name.') + + with self.argument_context('fleet clustermeshprofile create') as c: + c.argument('member_selector', options_list=['--member-selector', '--selector', '-s'], + help='Kubernetes-style label selector for selecting Fleet members, e.g. "env=production".') + + with self.argument_context('fleet clustermeshprofile apply') as c: + c.argument('what_if', action='store_true', options_list=['--what-if'], + help='Show what changes would be made by the apply operation without actually performing it.') + + with self.argument_context('fleet clustermeshprofile list-members') as c: + c.argument('selector', action='store_true', options_list=['--selector'], + help='Filter by the profile\'s label selector (members that would match after apply) ' + 'instead of currently applied members.') diff --git a/src/fleet/azext_fleet/commands.py b/src/fleet/azext_fleet/commands.py index 8ef6ba34a1c..73cb14ccbc7 100644 --- a/src/fleet/azext_fleet/commands.py +++ b/src/fleet/azext_fleet/commands.py @@ -13,7 +13,8 @@ cf_auto_upgrade_profiles, cf_auto_upgrade_profile_operations, cf_gates, - cf_fleet_managed_namespaces + cf_fleet_managed_namespaces, + cf_cluster_mesh_profiles ) @@ -67,6 +68,12 @@ def load_command_table(self, _): client_factory=cf_gates ) + cluster_mesh_profiles_sdk = CliCommandType( + operations_tmpl="azext_fleet.vendored_sdks.operations._cluster_mesh_profiles_operations#ClusterMeshProfilesOperations.{}", + operation_group="cluster_mesh_profiles", + client_factory=cf_cluster_mesh_profiles + ) + # fleets command group with self.command_group("fleet", fleets_sdk, client_factory=cf_fleets) as g: g.custom_command("create", "create_fleet", supports_no_wait=True) @@ -135,3 +142,12 @@ def load_command_table(self, _): g.custom_show_command("show", "show_managed_namespace") g.custom_command("get-credentials", "get_namespace_credentials") g.wait_command("wait") + + # cluster mesh profiles command group + with self.command_group("fleet clustermeshprofile", cluster_mesh_profiles_sdk, client_factory=cf_cluster_mesh_profiles, is_preview=True) as g: + g.custom_command("create", "create_cluster_mesh_profile", supports_no_wait=True) + g.custom_show_command("show", "show_cluster_mesh_profile") + g.custom_command("list", "list_cluster_mesh_profiles") + g.custom_command("delete", "delete_cluster_mesh_profile", supports_no_wait=True, confirmation=True) + g.custom_command("apply", "apply_cluster_mesh_profile", supports_no_wait=True) + g.custom_command("list-members", "list_cluster_mesh_profile_members") diff --git a/src/fleet/azext_fleet/custom.py b/src/fleet/azext_fleet/custom.py index bc9eff420f1..dd63e2efda3 100644 --- a/src/fleet/azext_fleet/custom.py +++ b/src/fleet/azext_fleet/custom.py @@ -30,13 +30,13 @@ from azext_fleet.constants import SUPPORTED_GATE_STATES_FILTERS from azext_fleet.constants import SUPPORTED_GATE_STATES_PATCH from azext_fleet.constants import FLEET_1P_APP_ID -from azext_fleet.vendored_sdks.v2026_02_01_preview.models import ( +from azext_fleet.vendored_sdks.v2026_03_02_preview.models import ( PropagationPolicy, PlacementProfile, PlacementV1ClusterResourcePlacementSpec, PlacementV1PlacementPolicy, PropagationType, - PlacementType + PlacementType, ) logger = get_logger(__name__) @@ -381,8 +381,12 @@ def update_fleet_member(cmd, def list_fleet_member(cmd, # pylint: disable=unused-argument client, resource_group_name, - fleet_name): - return client.list_by_fleet(resource_group_name, fleet_name) + fleet_name, + cluster_mesh_profile=None): + filter_expr = None + if cluster_mesh_profile: + filter_expr = f"clusterMeshProfile eq {cluster_mesh_profile}" + return client.list_by_fleet(resource_group_name, fleet_name, filter=filter_expr) def show_fleet_member(cmd, # pylint: disable=unused-argument @@ -1066,3 +1070,153 @@ def get_namespace_credentials(cmd, # Apply kubelogin conversion to the final file after namespace modification _convert_kubeconfig_to_azurecli(path) + + +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) + + +def list_cluster_mesh_profile_members(cmd, + client, # pylint: disable=unused-argument + resource_group_name, + fleet_name, + name, + selector=False): + """List fleet members for a cluster mesh profile. + + Modes: + --name cmp-1 members currently applied to the mesh + (server-side: $filter=clusterMeshProfile eq cmp-1) + --name cmp-1 --selector members matching the profile's label selector + (server-side: $filter=clusterMeshProfile.Selector eq cmp-1) + """ + 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) + + +def _apply_cluster_mesh_what_if(cmd, resource_group_name, fleet_name, name): + """Simulate apply by comparing currently-applied members vs selector-matched members.""" + members_client = cf_fleet_members(cmd.cli_ctx) + + # 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 + ) + } + + results = [] + all_names = set(current_members.keys()) | set(desired_members.keys()) + + for member_name in sorted(all_names): + in_current = member_name in current_members + in_desired = member_name in desired_members + + member = desired_members.get(member_name) or current_members.get(member_name) + + mesh_state = None + if member.mesh_properties and member.mesh_properties.status: + mesh_state = member.mesh_properties.status.state + + if in_desired and not in_current: + action = "Add" + elif in_current and not in_desired: + action = "Remove" + else: + action = "-" + + results.append({ + "ClusterResourceId": member.cluster_resource_id, + "ETag": member.e_tag, + "Name": member.name, + "Action": action, + "MeshMembershipState": mesh_state or "-" + }) + + return results diff --git a/src/fleet/azext_fleet/tests/latest/test_stages_json.py b/src/fleet/azext_fleet/tests/latest/test_stages_json.py index 2a53578e5ed..f4afe64dd89 100644 --- a/src/fleet/azext_fleet/tests/latest/test_stages_json.py +++ b/src/fleet/azext_fleet/tests/latest/test_stages_json.py @@ -9,7 +9,7 @@ import os from unittest.mock import MagicMock, patch from azext_fleet.custom import get_update_run_strategy -from azext_fleet.vendored_sdks.v2026_02_01_preview.models import UpdateRunStrategy, UpdateStage, UpdateGroup +from azext_fleet.vendored_sdks.v2026_03_02_preview.models import UpdateRunStrategy, UpdateStage, UpdateGroup from azure.cli.core.azclierror import ( InvalidArgumentValueError, ) diff --git a/src/fleet/azext_fleet/vendored_sdks/__init__.py b/src/fleet/azext_fleet/vendored_sdks/__init__.py index b7d7040aff5..695c0f3f3fe 100644 --- a/src/fleet/azext_fleet/vendored_sdks/__init__.py +++ b/src/fleet/azext_fleet/vendored_sdks/__init__.py @@ -2,19 +2,19 @@ # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._container_service_fleet_mgmt_client import ContainerServiceFleetMgmtClient -__all__ = ['ContainerServiceFleetMgmtClient'] +import sys -try: - from ._patch import patch_sdk # type: ignore - patch_sdk() -except ImportError: - pass +from .v2026_03_02_preview import ContainerServiceFleetMgmtClient +from .v2026_03_02_preview import models as _models +from .v2026_03_02_preview import operations as _operations -from ._version import VERSION +# Register the versioned sub-packages under short aliases so that +# import paths like "azext_fleet.vendored_sdks.operations._fleets_operations" +# and model resolution via cmd.get_models() both work without embedding the +# API version string everywhere. +sys.modules[__name__ + ".models"] = _models +sys.modules[__name__ + ".operations"] = _operations -__version__ = VERSION +__all__ = ["ContainerServiceFleetMgmtClient"] diff --git a/src/fleet/azext_fleet/vendored_sdks/_configuration.py b/src/fleet/azext_fleet/vendored_sdks/_configuration.py deleted file mode 100644 index c56e7af656c..00000000000 --- a/src/fleet/azext_fleet/vendored_sdks/_configuration.py +++ /dev/null @@ -1,66 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- -from typing import Any, TYPE_CHECKING - -from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy - -from ._version import VERSION - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from azure.core.credentials import TokenCredential - -class ContainerServiceFleetMgmtClientConfiguration: - """Configuration for ContainerServiceFleetMgmtClient. - - Note that all parameters used to create this instance are saved as instance - attributes. - - :param credential: Credential needed for the client to connect to Azure. Required. - :type credential: ~azure.core.credentials.TokenCredential - :param subscription_id: The ID of the target subscription. The value must be an UUID. Required. - :type subscription_id: str - """ - - def __init__( - self, - credential: "TokenCredential", - subscription_id: str, - **kwargs: Any - ): - if credential is None: - raise ValueError("Parameter 'credential' must not be None.") - if subscription_id is None: - raise ValueError("Parameter 'subscription_id' must not be None.") - - self.credential = credential - self.subscription_id = subscription_id - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'azure-mgmt-containerservicefleet/{}'.format(VERSION)) - self.polling_interval = kwargs.get("polling_interval", 30) - self._configure(**kwargs) - - def _configure( - self, - **kwargs: Any - ): - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') - if self.credential and not self.authentication_policy: - self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/fleet/azext_fleet/vendored_sdks/_container_service_fleet_mgmt_client.py b/src/fleet/azext_fleet/vendored_sdks/_container_service_fleet_mgmt_client.py deleted file mode 100644 index a4e35de0627..00000000000 --- a/src/fleet/azext_fleet/vendored_sdks/_container_service_fleet_mgmt_client.py +++ /dev/null @@ -1,474 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from typing import Any, Optional, TYPE_CHECKING, cast -from typing_extensions import Self - -from azure.core.pipeline import policies -from azure.core.settings import settings -from azure.mgmt.core import ARMPipelineClient -from azure.mgmt.core.policies import ARMAutoResourceProviderRegistrationPolicy -from azure.mgmt.core.tools import get_arm_endpoints -from azure.profiles import KnownProfiles, ProfileDefinition -from azure.profiles.multiapiclient import MultiApiClientMixin - -from ._configuration import ContainerServiceFleetMgmtClientConfiguration -from ._serialization import Deserializer, Serializer - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from azure.core.credentials import TokenCredential - -class _SDKClient(object): - def __init__(self, *args, **kwargs): - """This is a fake class to support current implementation of MultiApiClientMixin." - Will be removed in final version of multiapi azure-core based client - """ - pass - -class ContainerServiceFleetMgmtClient(MultiApiClientMixin, _SDKClient): - """Azure Kubernetes Fleet Manager api client. - - This ready contains multiple API versions, to help you deal with all of the Azure clouds - (Azure Stack, Azure Government, Azure China, etc.). - By default, it uses the latest API version available on public Azure. - For production, you should stick to a particular api-version and/or profile. - The profile sets a mapping between an operation group and its API version. - The api-version parameter sets the default API version if the operation - group is not described in the profile. - - :param credential: Credential needed for the client to connect to Azure. Required. - :type credential: ~azure.core.credentials.TokenCredential - :param subscription_id: The ID of the target subscription. The value must be an UUID. Required. - :type subscription_id: str - :param api_version: API version to use if no profile is provided, or if missing in profile. - :type api_version: str - :param base_url: Service URL - :type base_url: str - :param profile: A profile definition, from KnownProfiles to dict. - :type profile: azure.profiles.KnownProfiles - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - """ - - DEFAULT_API_VERSION = '2026-02-01-preview' - _PROFILE_TAG = "azure.mgmt.containerservicefleet.ContainerServiceFleetMgmtClient" - LATEST_PROFILE = ProfileDefinition({ - _PROFILE_TAG: { - None: DEFAULT_API_VERSION, - }}, - _PROFILE_TAG + " latest" - ) - - def __init__( - self, - credential: "TokenCredential", - subscription_id: str, - api_version: Optional[str]=None, - base_url: Optional[str] = None, - profile: KnownProfiles=KnownProfiles.default, - **kwargs: Any - ): - if api_version: - kwargs.setdefault('api_version', api_version) - _cloud = kwargs.pop("cloud_setting", None) or settings.current.azure_cloud # type: ignore - _endpoints = get_arm_endpoints(_cloud) - if not base_url: - base_url = _endpoints["resource_manager"] - credential_scopes = kwargs.pop("credential_scopes", _endpoints["credential_scopes"]) - self._config = ContainerServiceFleetMgmtClientConfiguration(credential, subscription_id, credential_scopes=credential_scopes, **kwargs) - _policies = kwargs.pop("policies", None) - if _policies is None: - _policies = [ - policies.RequestIdPolicy(**kwargs), - self._config.headers_policy, - self._config.user_agent_policy, - self._config.proxy_policy, - policies.ContentDecodePolicy(**kwargs), - ARMAutoResourceProviderRegistrationPolicy(), - self._config.redirect_policy, - self._config.retry_policy, - self._config.authentication_policy, - self._config.custom_hook_policy, - self._config.logging_policy, - policies.DistributedTracingPolicy(**kwargs), - policies.SensitiveHeaderCleanupPolicy(**kwargs) if self._config.redirect_policy else None, - self._config.http_logging_policy, - ] - self._client: ARMPipelineClient = ARMPipelineClient(base_url=cast(str, base_url), policies=_policies, **kwargs) - super(ContainerServiceFleetMgmtClient, self).__init__( - api_version=api_version, - profile=profile - ) - - @classmethod - def _models_dict(cls, api_version): - return {k: v for k, v in cls.models(api_version).__dict__.items() if isinstance(v, type)} - - @classmethod - def models(cls, api_version=DEFAULT_API_VERSION): - """Module depends on the API version: - - * 2022-06-02-preview: :mod:`v2022_06_preview.models` - * 2022-07-02-preview: :mod:`v2022_07_preview.models` - * 2022-09-02-preview: :mod:`v2022_09_preview.models` - * 2023-03-15-preview: :mod:`v2023_03_preview.models` - * 2023-06-15-preview: :mod:`v2023_06_preview.models` - * 2023-08-15-preview: :mod:`v2023_08_preview.models` - * 2023-10-15: :mod:`v2023_10_01.models` - * 2024-02-02-preview: :mod:`v2024_02_preview.models` - * 2025-03-01: :mod:`v2025_03_01.models` - * 2025-04-01-preview: :mod:`v2025_04_01_preview.models` - * 2025-08-01-preview: :mod:`v2025_08_01_preview.models` - * 2026-02-01-preview: :mod:`v2026_02_01_preview.models` - """ - if api_version == '2022-06-02-preview': - from .v2022_06_preview import models - return models - elif api_version == '2022-07-02-preview': - from .v2022_07_preview import models - return models - elif api_version == '2022-09-02-preview': - from .v2022_09_preview import models - return models - elif api_version == '2023-03-15-preview': - from .v2023_03_preview import models - return models - elif api_version == '2023-06-15-preview': - from .v2023_06_preview import models - return models - elif api_version == '2023-08-15-preview': - from .v2023_08_preview import models - return models - elif api_version == '2023-10-15': - from .v2023_10_01 import models - return models - elif api_version == '2024-02-02-preview': - from .v2024_02_preview import models - return models - elif api_version == '2025-03-01': - from .v2025_03_01 import models - return models - elif api_version == '2025-04-01-preview': - from .v2025_04_01_preview import models - return models - elif api_version == '2025-08-01-preview': - from .v2025_08_01_preview import models - return models - elif api_version == '2026-02-01-preview': - from .v2026_02_01_preview import models - return models - raise ValueError("API version {} is not available".format(api_version)) - - @property - def auto_upgrade_profile_operations(self): - """Instance depends on the API version: - - * 2025-03-01: :class:`AutoUpgradeProfileOperationsOperations` - * 2025-04-01-preview: :class:`AutoUpgradeProfileOperationsOperations` - * 2025-08-01-preview: :class:`AutoUpgradeProfileOperationsOperations` - * 2026-02-01-preview: :class:`AutoUpgradeProfileOperationsOperations` - - """ - api_version = self._get_api_version('auto_upgrade_profile_operations') - if api_version == '2025-03-01': - from .v2025_03_01.operations import AutoUpgradeProfileOperationsOperations as OperationClass - elif api_version == '2025-04-01-preview': - from .v2025_04_01_preview.operations import AutoUpgradeProfileOperationsOperations as OperationClass - elif api_version == '2025-08-01-preview': - from .v2025_08_01_preview.operations import AutoUpgradeProfileOperationsOperations as OperationClass - elif api_version == '2026-02-01-preview': - from .v2026_02_01_preview.operations import AutoUpgradeProfileOperationsOperations as OperationClass - else: - raise ValueError("API version {} does not have operation group 'auto_upgrade_profile_operations'".format(api_version)) - self._config.api_version = api_version - return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version)), api_version) - - @property - def auto_upgrade_profiles(self): - """Instance depends on the API version: - - * 2025-03-01: :class:`AutoUpgradeProfilesOperations` - * 2025-04-01-preview: :class:`AutoUpgradeProfilesOperations` - * 2025-08-01-preview: :class:`AutoUpgradeProfilesOperations` - * 2026-02-01-preview: :class:`AutoUpgradeProfilesOperations` - - """ - api_version = self._get_api_version('auto_upgrade_profiles') - if api_version == '2025-03-01': - from .v2025_03_01.operations import AutoUpgradeProfilesOperations as OperationClass - elif api_version == '2025-04-01-preview': - from .v2025_04_01_preview.operations import AutoUpgradeProfilesOperations as OperationClass - elif api_version == '2025-08-01-preview': - from .v2025_08_01_preview.operations import AutoUpgradeProfilesOperations as OperationClass - elif api_version == '2026-02-01-preview': - from .v2026_02_01_preview.operations import AutoUpgradeProfilesOperations as OperationClass - else: - raise ValueError("API version {} does not have operation group 'auto_upgrade_profiles'".format(api_version)) - self._config.api_version = api_version - return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version)), api_version) - - @property - def fleet_managed_namespaces(self): - """Instance depends on the API version: - - * 2025-08-01-preview: :class:`FleetManagedNamespacesOperations` - * 2026-02-01-preview: :class:`FleetManagedNamespacesOperations` - - """ - api_version = self._get_api_version('fleet_managed_namespaces') - if api_version == '2025-08-01-preview': - from .v2025_08_01_preview.operations import FleetManagedNamespacesOperations as OperationClass - elif api_version == '2026-02-01-preview': - from .v2026_02_01_preview.operations import FleetManagedNamespacesOperations as OperationClass - else: - raise ValueError("API version {} does not have operation group 'fleet_managed_namespaces'".format(api_version)) - self._config.api_version = api_version - return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version)), api_version) - - @property - def fleet_members(self): - """Instance depends on the API version: - - * 2022-06-02-preview: :class:`FleetMembersOperations` - * 2022-07-02-preview: :class:`FleetMembersOperations` - * 2022-09-02-preview: :class:`FleetMembersOperations` - * 2023-03-15-preview: :class:`FleetMembersOperations` - * 2023-06-15-preview: :class:`FleetMembersOperations` - * 2023-08-15-preview: :class:`FleetMembersOperations` - * 2023-10-15: :class:`FleetMembersOperations` - * 2024-02-02-preview: :class:`FleetMembersOperations` - * 2025-03-01: :class:`FleetMembersOperations` - * 2025-04-01-preview: :class:`FleetMembersOperations` - * 2025-08-01-preview: :class:`FleetMembersOperations` - * 2026-02-01-preview: :class:`FleetMembersOperations` - - """ - api_version = self._get_api_version('fleet_members') - if api_version == '2022-06-02-preview': - from .v2022_06_preview.operations import FleetMembersOperations as OperationClass - elif api_version == '2022-07-02-preview': - from .v2022_07_preview.operations import FleetMembersOperations as OperationClass - elif api_version == '2022-09-02-preview': - from .v2022_09_preview.operations import FleetMembersOperations as OperationClass - elif api_version == '2023-03-15-preview': - from .v2023_03_preview.operations import FleetMembersOperations as OperationClass - elif api_version == '2023-06-15-preview': - from .v2023_06_preview.operations import FleetMembersOperations as OperationClass - elif api_version == '2023-08-15-preview': - from .v2023_08_preview.operations import FleetMembersOperations as OperationClass - elif api_version == '2023-10-15': - from .v2023_10_01.operations import FleetMembersOperations as OperationClass - elif api_version == '2024-02-02-preview': - from .v2024_02_preview.operations import FleetMembersOperations as OperationClass - elif api_version == '2025-03-01': - from .v2025_03_01.operations import FleetMembersOperations as OperationClass - elif api_version == '2025-04-01-preview': - from .v2025_04_01_preview.operations import FleetMembersOperations as OperationClass - elif api_version == '2025-08-01-preview': - from .v2025_08_01_preview.operations import FleetMembersOperations as OperationClass - elif api_version == '2026-02-01-preview': - from .v2026_02_01_preview.operations import FleetMembersOperations as OperationClass - else: - raise ValueError("API version {} does not have operation group 'fleet_members'".format(api_version)) - self._config.api_version = api_version - return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version)), api_version) - - @property - def fleet_update_strategies(self): - """Instance depends on the API version: - - * 2023-08-15-preview: :class:`FleetUpdateStrategiesOperations` - * 2023-10-15: :class:`FleetUpdateStrategiesOperations` - * 2024-02-02-preview: :class:`FleetUpdateStrategiesOperations` - * 2025-03-01: :class:`FleetUpdateStrategiesOperations` - * 2025-04-01-preview: :class:`FleetUpdateStrategiesOperations` - * 2025-08-01-preview: :class:`FleetUpdateStrategiesOperations` - * 2026-02-01-preview: :class:`FleetUpdateStrategiesOperations` - - """ - api_version = self._get_api_version('fleet_update_strategies') - if api_version == '2023-08-15-preview': - from .v2023_08_preview.operations import FleetUpdateStrategiesOperations as OperationClass - elif api_version == '2023-10-15': - from .v2023_10_01.operations import FleetUpdateStrategiesOperations as OperationClass - elif api_version == '2024-02-02-preview': - from .v2024_02_preview.operations import FleetUpdateStrategiesOperations as OperationClass - elif api_version == '2025-03-01': - from .v2025_03_01.operations import FleetUpdateStrategiesOperations as OperationClass - elif api_version == '2025-04-01-preview': - from .v2025_04_01_preview.operations import FleetUpdateStrategiesOperations as OperationClass - elif api_version == '2025-08-01-preview': - from .v2025_08_01_preview.operations import FleetUpdateStrategiesOperations as OperationClass - elif api_version == '2026-02-01-preview': - from .v2026_02_01_preview.operations import FleetUpdateStrategiesOperations as OperationClass - else: - raise ValueError("API version {} does not have operation group 'fleet_update_strategies'".format(api_version)) - self._config.api_version = api_version - return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version)), api_version) - - @property - def fleets(self): - """Instance depends on the API version: - - * 2022-06-02-preview: :class:`FleetsOperations` - * 2022-07-02-preview: :class:`FleetsOperations` - * 2022-09-02-preview: :class:`FleetsOperations` - * 2023-03-15-preview: :class:`FleetsOperations` - * 2023-06-15-preview: :class:`FleetsOperations` - * 2023-08-15-preview: :class:`FleetsOperations` - * 2023-10-15: :class:`FleetsOperations` - * 2024-02-02-preview: :class:`FleetsOperations` - * 2025-03-01: :class:`FleetsOperations` - * 2025-04-01-preview: :class:`FleetsOperations` - * 2025-08-01-preview: :class:`FleetsOperations` - * 2026-02-01-preview: :class:`FleetsOperations` - - """ - api_version = self._get_api_version('fleets') - if api_version == '2022-06-02-preview': - from .v2022_06_preview.operations import FleetsOperations as OperationClass - elif api_version == '2022-07-02-preview': - from .v2022_07_preview.operations import FleetsOperations as OperationClass - elif api_version == '2022-09-02-preview': - from .v2022_09_preview.operations import FleetsOperations as OperationClass - elif api_version == '2023-03-15-preview': - from .v2023_03_preview.operations import FleetsOperations as OperationClass - elif api_version == '2023-06-15-preview': - from .v2023_06_preview.operations import FleetsOperations as OperationClass - elif api_version == '2023-08-15-preview': - from .v2023_08_preview.operations import FleetsOperations as OperationClass - elif api_version == '2023-10-15': - from .v2023_10_01.operations import FleetsOperations as OperationClass - elif api_version == '2024-02-02-preview': - from .v2024_02_preview.operations import FleetsOperations as OperationClass - elif api_version == '2025-03-01': - from .v2025_03_01.operations import FleetsOperations as OperationClass - elif api_version == '2025-04-01-preview': - from .v2025_04_01_preview.operations import FleetsOperations as OperationClass - elif api_version == '2025-08-01-preview': - from .v2025_08_01_preview.operations import FleetsOperations as OperationClass - elif api_version == '2026-02-01-preview': - from .v2026_02_01_preview.operations import FleetsOperations as OperationClass - else: - raise ValueError("API version {} does not have operation group 'fleets'".format(api_version)) - self._config.api_version = api_version - return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version)), api_version) - - @property - def gates(self): - """Instance depends on the API version: - - * 2025-04-01-preview: :class:`GatesOperations` - * 2025-08-01-preview: :class:`GatesOperations` - * 2026-02-01-preview: :class:`GatesOperations` - - - """ - api_version = self._get_api_version('gates') - if api_version == '2025-04-01-preview': - from .v2025_04_01_preview.operations import GatesOperations as OperationClass - elif api_version == '2025-08-01-preview': - from .v2025_08_01_preview.operations import GatesOperations as OperationClass - elif api_version == '2026-02-01-preview': - from .v2026_02_01_preview.operations import GatesOperations as OperationClass - else: - raise ValueError("API version {} does not have operation group 'gates'".format(api_version)) - self._config.api_version = api_version - return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version)), api_version) - - @property - def operations(self): - """Instance depends on the API version: - - * 2022-09-02-preview: :class:`Operations` - * 2023-03-15-preview: :class:`Operations` - * 2023-06-15-preview: :class:`Operations` - * 2023-08-15-preview: :class:`Operations` - * 2023-10-15: :class:`Operations` - * 2024-02-02-preview: :class:`Operations` - * 2025-03-01: :class:`Operations` - * 2025-04-01-preview: :class:`Operations` - * 2025-08-01-preview: :class:`Operations` - * 2026-02-01-preview: :class:`Operations` - - """ - api_version = self._get_api_version('operations') - if api_version == '2022-09-02-preview': - from .v2022_09_preview.operations import Operations as OperationClass - elif api_version == '2023-03-15-preview': - from .v2023_03_preview.operations import Operations as OperationClass - elif api_version == '2023-06-15-preview': - from .v2023_06_preview.operations import Operations as OperationClass - elif api_version == '2023-08-15-preview': - from .v2023_08_preview.operations import Operations as OperationClass - elif api_version == '2023-10-15': - from .v2023_10_01.operations import Operations as OperationClass - elif api_version == '2024-02-02-preview': - from .v2024_02_preview.operations import Operations as OperationClass - elif api_version == '2025-03-01': - from .v2025_03_01.operations import Operations as OperationClass - elif api_version == '2025-04-01-preview': - from .v2025_04_01_preview.operations import Operations as OperationClass - elif api_version == '2025-08-01-preview': - from .v2025_08_01_preview.operations import Operations as OperationClass - elif api_version == '2026-02-01-preview': - from .v2026_02_01_preview.operations import Operations as OperationClass - else: - raise ValueError("API version {} does not have operation group 'operations'".format(api_version)) - self._config.api_version = api_version - return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version)), api_version) - - @property - def update_runs(self): - """Instance depends on the API version: - - * 2023-03-15-preview: :class:`UpdateRunsOperations` - * 2023-06-15-preview: :class:`UpdateRunsOperations` - * 2023-08-15-preview: :class:`UpdateRunsOperations` - * 2023-10-15: :class:`UpdateRunsOperations` - * 2024-02-02-preview: :class:`UpdateRunsOperations` - * 2025-03-01: :class:`UpdateRunsOperations` - * 2025-04-01-preview: :class:`UpdateRunsOperations` - * 2025-08-01-preview: :class:`UpdateRunsOperations` - * 2026-02-01-preview: :class:`UpdateRunsOperations` - - """ - api_version = self._get_api_version('update_runs') - if api_version == '2023-03-15-preview': - from .v2023_03_preview.operations import UpdateRunsOperations as OperationClass - elif api_version == '2023-06-15-preview': - from .v2023_06_preview.operations import UpdateRunsOperations as OperationClass - elif api_version == '2023-08-15-preview': - from .v2023_08_preview.operations import UpdateRunsOperations as OperationClass - elif api_version == '2023-10-15': - from .v2023_10_01.operations import UpdateRunsOperations as OperationClass - elif api_version == '2024-02-02-preview': - from .v2024_02_preview.operations import UpdateRunsOperations as OperationClass - elif api_version == '2025-03-01': - from .v2025_03_01.operations import UpdateRunsOperations as OperationClass - elif api_version == '2025-04-01-preview': - from .v2025_04_01_preview.operations import UpdateRunsOperations as OperationClass - elif api_version == '2025-08-01-preview': - from .v2025_08_01_preview.operations import UpdateRunsOperations as OperationClass - elif api_version == '2026-02-01-preview': - from .v2026_02_01_preview.operations import UpdateRunsOperations as OperationClass - else: - raise ValueError("API version {} does not have operation group 'update_runs'".format(api_version)) - self._config.api_version = api_version - return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version)), api_version) - - def close(self): - self._client.close() - def __enter__(self): - self._client.__enter__() - return self - def __exit__(self, *exc_details): - self._client.__exit__(*exc_details) diff --git a/src/fleet/azext_fleet/vendored_sdks/_version.py b/src/fleet/azext_fleet/vendored_sdks/_version.py deleted file mode 100644 index a78dee7e23c..00000000000 --- a/src/fleet/azext_fleet/vendored_sdks/_version.py +++ /dev/null @@ -1,9 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -VERSION = "3.3.0" diff --git a/src/fleet/azext_fleet/vendored_sdks/models.py b/src/fleet/azext_fleet/vendored_sdks/models.py deleted file mode 100644 index 950282c330a..00000000000 --- a/src/fleet/azext_fleet/vendored_sdks/models.py +++ /dev/null @@ -1,7 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -------------------------------------------------------------------------- -from .v2026_02_01_preview.models import * diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/_patch.py b/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/_patch.py deleted file mode 100644 index 87676c65a8f..00000000000 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/_patch.py +++ /dev/null @@ -1,21 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------- -"""Customize generated code here. - -Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize -""" - - -__all__: list[str] = [] # Add all objects you want publicly available to users at this package level - - -def patch_sdk(): - """Do not remove from this file. - - `patch_sdk` is a last resort escape hatch that allows you to do customizations - you can't accomplish using the techniques described in - https://aka.ms/azsdk/python/dpcodegen/python/customize - """ diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/py.typed b/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/py.typed deleted file mode 100644 index e5aff4f83af..00000000000 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/py.typed +++ /dev/null @@ -1 +0,0 @@ -# Marker file for PEP 561. \ No newline at end of file diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/__init__.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/__init__.py similarity index 100% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/__init__.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/__init__.py diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/_configuration.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/_configuration.py similarity index 81% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/_configuration.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/_configuration.py index 5060446f3df..fdd6b640a9e 100644 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/_configuration.py +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/_configuration.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import Any, Optional, TYPE_CHECKING +from typing import Any, TYPE_CHECKING from azure.core.pipeline import policies from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy @@ -14,7 +14,6 @@ from ._version import VERSION if TYPE_CHECKING: - from azure.core import AzureClouds from azure.core.credentials import TokenCredential @@ -28,22 +27,13 @@ class ContainerServiceFleetMgmtClientConfiguration: # pylint: disable=too-many- :type credential: ~azure.core.credentials.TokenCredential :param subscription_id: The ID of the target subscription. The value must be an UUID. Required. :type subscription_id: str - :param cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is - None. - :type cloud_setting: ~azure.core.AzureClouds - :keyword api_version: Api Version. Default value is "2026-02-01-preview". Note that overriding + :keyword api_version: Api Version. Default value is "2026-03-02-preview". Note that overriding this default value may result in unsupported behavior. :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - subscription_id: str, - cloud_setting: Optional["AzureClouds"] = None, - **kwargs: Any - ) -> None: - api_version: str = kwargs.pop("api_version", "2026-02-01-preview") + def __init__(self, credential: "TokenCredential", subscription_id: str, **kwargs: Any) -> None: + api_version: str = kwargs.pop("api_version", "2026-03-02-preview") if credential is None: raise ValueError("Parameter 'credential' must not be None.") @@ -52,9 +42,8 @@ def __init__( self.credential = credential self.subscription_id = subscription_id - self.cloud_setting = cloud_setting self.api_version = api_version - self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://centraluseuap.management.azure.com/.default"]) kwargs.setdefault("sdk_moniker", "mgmt-containerservicefleet/{}".format(VERSION)) self.polling_interval = kwargs.get("polling_interval", 30) self._configure(**kwargs) diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/_container_service_fleet_mgmt_client.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/_container_service_fleet_mgmt_client.py similarity index 85% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/_container_service_fleet_mgmt_client.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/_container_service_fleet_mgmt_client.py index 1b53b07cce0..1095546e90e 100644 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/_container_service_fleet_mgmt_client.py +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/_container_service_fleet_mgmt_client.py @@ -7,22 +7,21 @@ # -------------------------------------------------------------------------- from copy import deepcopy -from typing import Any, Optional, TYPE_CHECKING, cast +from typing import Any, TYPE_CHECKING from typing_extensions import Self from azure.core.pipeline import policies from azure.core.rest import HttpRequest, HttpResponse -from azure.core.settings import settings from azure.mgmt.core import ARMPipelineClient from azure.mgmt.core.policies import ARMAutoResourceProviderRegistrationPolicy -from azure.mgmt.core.tools import get_arm_endpoints from . import models as _models from ._configuration import ContainerServiceFleetMgmtClientConfiguration -from ._utils.serialization import Deserializer, Serializer +from ._serialization import Deserializer, Serializer from .operations import ( AutoUpgradeProfileOperationsOperations, AutoUpgradeProfilesOperations, + ClusterMeshProfilesOperations, FleetManagedNamespacesOperations, FleetMembersOperations, FleetUpdateStrategiesOperations, @@ -33,7 +32,6 @@ ) if TYPE_CHECKING: - from azure.core import AzureClouds from azure.core.credentials import TokenCredential @@ -50,6 +48,9 @@ class ContainerServiceFleetMgmtClient: # pylint: disable=too-many-instance-attr :ivar auto_upgrade_profile_operations: AutoUpgradeProfileOperationsOperations operations :vartype auto_upgrade_profile_operations: azure.mgmt.containerservicefleet.operations.AutoUpgradeProfileOperationsOperations + :ivar cluster_mesh_profiles: ClusterMeshProfilesOperations operations + :vartype cluster_mesh_profiles: + azure.mgmt.containerservicefleet.operations.ClusterMeshProfilesOperations :ivar gates: GatesOperations operations :vartype gates: azure.mgmt.containerservicefleet.operations.GatesOperations :ivar fleet_managed_namespaces: FleetManagedNamespacesOperations operations @@ -66,12 +67,9 @@ class ContainerServiceFleetMgmtClient: # pylint: disable=too-many-instance-attr :type credential: ~azure.core.credentials.TokenCredential :param subscription_id: The ID of the target subscription. The value must be an UUID. Required. :type subscription_id: str - :param base_url: Service URL. Default value is None. + :param base_url: Service URL. Default value is "https://management.azure.com". :type base_url: str - :keyword cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is - None. - :paramtype cloud_setting: ~azure.core.AzureClouds - :keyword api_version: Api Version. Default value is "2026-02-01-preview". Note that overriding + :keyword api_version: Api Version. Default value is "2026-03-02-preview". Note that overriding this default value may result in unsupported behavior. :paramtype api_version: str :keyword int polling_interval: Default waiting time between two polls for LRO operations if no @@ -82,24 +80,12 @@ def __init__( self, credential: "TokenCredential", subscription_id: str, - base_url: Optional[str] = None, - *, - cloud_setting: Optional["AzureClouds"] = None, + base_url: str = "https://management.azure.com", **kwargs: Any ) -> None: - _cloud = cloud_setting or settings.current.azure_cloud # type: ignore - _endpoints = get_arm_endpoints(_cloud) - if not base_url: - base_url = _endpoints["resource_manager"] - credential_scopes = kwargs.pop("credential_scopes", _endpoints["credential_scopes"]) self._config = ContainerServiceFleetMgmtClientConfiguration( - credential=credential, - subscription_id=subscription_id, - cloud_setting=cloud_setting, - credential_scopes=credential_scopes, - **kwargs + credential=credential, subscription_id=subscription_id, **kwargs ) - _policies = kwargs.pop("policies", None) if _policies is None: _policies = [ @@ -118,7 +104,7 @@ def __init__( policies.SensitiveHeaderCleanupPolicy(**kwargs) if self._config.redirect_policy else None, self._config.http_logging_policy, ] - self._client: ARMPipelineClient = ARMPipelineClient(base_url=cast(str, base_url), policies=_policies, **kwargs) + self._client: ARMPipelineClient = ARMPipelineClient(base_url=base_url, policies=_policies, **kwargs) client_models = {k: v for k, v in _models.__dict__.items() if isinstance(v, type)} self._serialize = Serializer(client_models) @@ -132,6 +118,9 @@ def __init__( self.auto_upgrade_profile_operations = AutoUpgradeProfileOperationsOperations( self._client, self._config, self._serialize, self._deserialize ) + self.cluster_mesh_profiles = ClusterMeshProfilesOperations( + self._client, self._config, self._serialize, self._deserialize + ) self.gates = GatesOperations(self._client, self._config, self._serialize, self._deserialize) self.fleet_managed_namespaces = FleetManagedNamespacesOperations( self._client, self._config, self._serialize, self._deserialize diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/_patch.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/_patch.py similarity index 89% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/_patch.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/_patch.py index 87676c65a8f..8bcb627aa47 100644 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/_patch.py +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/_patch.py @@ -7,9 +7,9 @@ Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize """ +from typing import List - -__all__: list[str] = [] # Add all objects you want publicly available to users at this package level +__all__: List[str] = [] # Add all objects you want publicly available to users at this package level def patch_sdk(): diff --git a/src/fleet/azext_fleet/vendored_sdks/_serialization.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/_serialization.py similarity index 99% rename from src/fleet/azext_fleet/vendored_sdks/_serialization.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/_serialization.py index 05bcd7d403a..f5187701d7b 100644 --- a/src/fleet/azext_fleet/vendored_sdks/_serialization.py +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/_serialization.py @@ -1,4 +1,11 @@ +# pylint: disable=line-too-long,useless-suppression,too-many-lines # coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- # pyright: reportUnnecessaryTypeIgnoreComment=false diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/_utils/__init__.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/_utils/__init__.py similarity index 100% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/_utils/__init__.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/_utils/__init__.py diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/_utils/serialization.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/_utils/serialization.py similarity index 100% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/_utils/serialization.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/_utils/serialization.py diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/_version.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/_version.py similarity index 100% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/_version.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/_version.py diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/__init__.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/__init__.py similarity index 100% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/__init__.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/__init__.py diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/_configuration.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/_configuration.py similarity index 81% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/_configuration.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/_configuration.py index e30ca21d340..9ceb2a2bf21 100644 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/_configuration.py +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/_configuration.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import Any, Optional, TYPE_CHECKING +from typing import Any, TYPE_CHECKING from azure.core.pipeline import policies from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy @@ -14,7 +14,6 @@ from .._version import VERSION if TYPE_CHECKING: - from azure.core import AzureClouds from azure.core.credentials_async import AsyncTokenCredential @@ -28,22 +27,13 @@ class ContainerServiceFleetMgmtClientConfiguration: # pylint: disable=too-many- :type credential: ~azure.core.credentials_async.AsyncTokenCredential :param subscription_id: The ID of the target subscription. The value must be an UUID. Required. :type subscription_id: str - :param cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is - None. - :type cloud_setting: ~azure.core.AzureClouds - :keyword api_version: Api Version. Default value is "2026-02-01-preview". Note that overriding + :keyword api_version: Api Version. Default value is "2026-03-02-preview". Note that overriding this default value may result in unsupported behavior. :paramtype api_version: str """ - def __init__( - self, - credential: "AsyncTokenCredential", - subscription_id: str, - cloud_setting: Optional["AzureClouds"] = None, - **kwargs: Any - ) -> None: - api_version: str = kwargs.pop("api_version", "2026-02-01-preview") + def __init__(self, credential: "AsyncTokenCredential", subscription_id: str, **kwargs: Any) -> None: + api_version: str = kwargs.pop("api_version", "2026-03-02-preview") if credential is None: raise ValueError("Parameter 'credential' must not be None.") @@ -52,9 +42,8 @@ def __init__( self.credential = credential self.subscription_id = subscription_id - self.cloud_setting = cloud_setting self.api_version = api_version - self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://centraluseuap.management.azure.com/.default"]) kwargs.setdefault("sdk_moniker", "mgmt-containerservicefleet/{}".format(VERSION)) self.polling_interval = kwargs.get("polling_interval", 30) self._configure(**kwargs) diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/_container_service_fleet_mgmt_client.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/_container_service_fleet_mgmt_client.py similarity index 85% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/_container_service_fleet_mgmt_client.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/_container_service_fleet_mgmt_client.py index 4129b046d3f..e4b042dd527 100644 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/_container_service_fleet_mgmt_client.py +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/_container_service_fleet_mgmt_client.py @@ -7,22 +7,21 @@ # -------------------------------------------------------------------------- from copy import deepcopy -from typing import Any, Awaitable, Optional, TYPE_CHECKING, cast +from typing import Any, Awaitable, TYPE_CHECKING from typing_extensions import Self from azure.core.pipeline import policies from azure.core.rest import AsyncHttpResponse, HttpRequest -from azure.core.settings import settings from azure.mgmt.core import AsyncARMPipelineClient from azure.mgmt.core.policies import AsyncARMAutoResourceProviderRegistrationPolicy -from azure.mgmt.core.tools import get_arm_endpoints from .. import models as _models -from .._utils.serialization import Deserializer, Serializer +from .._serialization import Deserializer, Serializer from ._configuration import ContainerServiceFleetMgmtClientConfiguration from .operations import ( AutoUpgradeProfileOperationsOperations, AutoUpgradeProfilesOperations, + ClusterMeshProfilesOperations, FleetManagedNamespacesOperations, FleetMembersOperations, FleetUpdateStrategiesOperations, @@ -33,7 +32,6 @@ ) if TYPE_CHECKING: - from azure.core import AzureClouds from azure.core.credentials_async import AsyncTokenCredential @@ -50,6 +48,9 @@ class ContainerServiceFleetMgmtClient: # pylint: disable=too-many-instance-attr :ivar auto_upgrade_profile_operations: AutoUpgradeProfileOperationsOperations operations :vartype auto_upgrade_profile_operations: azure.mgmt.containerservicefleet.aio.operations.AutoUpgradeProfileOperationsOperations + :ivar cluster_mesh_profiles: ClusterMeshProfilesOperations operations + :vartype cluster_mesh_profiles: + azure.mgmt.containerservicefleet.aio.operations.ClusterMeshProfilesOperations :ivar gates: GatesOperations operations :vartype gates: azure.mgmt.containerservicefleet.aio.operations.GatesOperations :ivar fleet_managed_namespaces: FleetManagedNamespacesOperations operations @@ -66,12 +67,9 @@ class ContainerServiceFleetMgmtClient: # pylint: disable=too-many-instance-attr :type credential: ~azure.core.credentials_async.AsyncTokenCredential :param subscription_id: The ID of the target subscription. The value must be an UUID. Required. :type subscription_id: str - :param base_url: Service URL. Default value is None. + :param base_url: Service URL. Default value is "https://management.azure.com". :type base_url: str - :keyword cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is - None. - :paramtype cloud_setting: ~azure.core.AzureClouds - :keyword api_version: Api Version. Default value is "2026-02-01-preview". Note that overriding + :keyword api_version: Api Version. Default value is "2026-03-02-preview". Note that overriding this default value may result in unsupported behavior. :paramtype api_version: str :keyword int polling_interval: Default waiting time between two polls for LRO operations if no @@ -82,24 +80,12 @@ def __init__( self, credential: "AsyncTokenCredential", subscription_id: str, - base_url: Optional[str] = None, - *, - cloud_setting: Optional["AzureClouds"] = None, + base_url: str = "https://centraluseuap.management.azure.com", **kwargs: Any ) -> None: - _cloud = cloud_setting or settings.current.azure_cloud # type: ignore - _endpoints = get_arm_endpoints(_cloud) - if not base_url: - base_url = _endpoints["resource_manager"] - credential_scopes = kwargs.pop("credential_scopes", _endpoints["credential_scopes"]) self._config = ContainerServiceFleetMgmtClientConfiguration( - credential=credential, - subscription_id=subscription_id, - cloud_setting=cloud_setting, - credential_scopes=credential_scopes, - **kwargs + credential=credential, subscription_id=subscription_id, **kwargs ) - _policies = kwargs.pop("policies", None) if _policies is None: _policies = [ @@ -118,9 +104,7 @@ def __init__( policies.SensitiveHeaderCleanupPolicy(**kwargs) if self._config.redirect_policy else None, self._config.http_logging_policy, ] - self._client: AsyncARMPipelineClient = AsyncARMPipelineClient( - base_url=cast(str, base_url), policies=_policies, **kwargs - ) + self._client: AsyncARMPipelineClient = AsyncARMPipelineClient(base_url=base_url, policies=_policies, **kwargs) client_models = {k: v for k, v in _models.__dict__.items() if isinstance(v, type)} self._serialize = Serializer(client_models) @@ -134,6 +118,9 @@ def __init__( self.auto_upgrade_profile_operations = AutoUpgradeProfileOperationsOperations( self._client, self._config, self._serialize, self._deserialize ) + self.cluster_mesh_profiles = ClusterMeshProfilesOperations( + self._client, self._config, self._serialize, self._deserialize + ) self.gates = GatesOperations(self._client, self._config, self._serialize, self._deserialize) self.fleet_managed_namespaces = FleetManagedNamespacesOperations( self._client, self._config, self._serialize, self._deserialize diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/_patch.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/_patch.py similarity index 89% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/_patch.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/_patch.py index 87676c65a8f..8bcb627aa47 100644 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/_patch.py +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/_patch.py @@ -7,9 +7,9 @@ Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize """ +from typing import List - -__all__: list[str] = [] # Add all objects you want publicly available to users at this package level +__all__: List[str] = [] # Add all objects you want publicly available to users at this package level def patch_sdk(): diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/__init__.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/__init__.py similarity index 93% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/__init__.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/__init__.py index 8b7809a8595..557bb51eb14 100644 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/__init__.py +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/__init__.py @@ -16,6 +16,7 @@ from ._fleets_operations import FleetsOperations # type: ignore from ._auto_upgrade_profiles_operations import AutoUpgradeProfilesOperations # type: ignore from ._auto_upgrade_profile_operations_operations import AutoUpgradeProfileOperationsOperations # type: ignore +from ._cluster_mesh_profiles_operations import ClusterMeshProfilesOperations # type: ignore from ._gates_operations import GatesOperations # type: ignore from ._fleet_managed_namespaces_operations import FleetManagedNamespacesOperations # type: ignore from ._fleet_members_operations import FleetMembersOperations # type: ignore @@ -31,6 +32,7 @@ "FleetsOperations", "AutoUpgradeProfilesOperations", "AutoUpgradeProfileOperationsOperations", + "ClusterMeshProfilesOperations", "GatesOperations", "FleetManagedNamespacesOperations", "FleetMembersOperations", diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/_auto_upgrade_profile_operations_operations.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_auto_upgrade_profile_operations_operations.py similarity index 96% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/_auto_upgrade_profile_operations_operations.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_auto_upgrade_profile_operations_operations.py index 4605deb6cb7..4cabf499a85 100644 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/_auto_upgrade_profile_operations_operations.py +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_auto_upgrade_profile_operations_operations.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from collections.abc import MutableMapping -from typing import Any, AsyncIterator, Callable, Optional, TypeVar, Union, cast +from typing import Any, AsyncIterator, Callable, Dict, Optional, TypeVar, Union, cast from azure.core import AsyncPipelineClient from azure.core.exceptions import ( @@ -28,13 +28,12 @@ from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models -from ..._utils.serialization import Deserializer, Serializer +from ..._serialization import Deserializer, Serializer from ...operations._auto_upgrade_profile_operations_operations import build_generate_update_run_request from .._configuration import ContainerServiceFleetMgmtClientConfiguration T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] -List = list +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] class AutoUpgradeProfileOperationsOperations: @@ -100,10 +99,7 @@ async def _generate_update_run_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/_auto_upgrade_profiles_operations.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_auto_upgrade_profiles_operations.py similarity index 96% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/_auto_upgrade_profiles_operations.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_auto_upgrade_profiles_operations.py index 036ade0533b..c9ad54d0492 100644 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/_auto_upgrade_profiles_operations.py +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_auto_upgrade_profiles_operations.py @@ -7,7 +7,7 @@ # -------------------------------------------------------------------------- from collections.abc import MutableMapping from io import IOBase -from typing import Any, AsyncIterator, Callable, IO, Optional, TypeVar, Union, cast, overload +from typing import Any, AsyncIterable, AsyncIterator, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload import urllib.parse from azure.core import AsyncPipelineClient @@ -32,7 +32,7 @@ from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models -from ..._utils.serialization import Deserializer, Serializer +from ..._serialization import Deserializer, Serializer from ...operations._auto_upgrade_profiles_operations import ( build_create_or_update_request, build_delete_request, @@ -42,8 +42,7 @@ from .._configuration import ContainerServiceFleetMgmtClientConfiguration T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] -List = list +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] class AutoUpgradeProfilesOperations: @@ -75,7 +74,7 @@ def list_by_fleet( top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> AsyncItemPaged["_models.AutoUpgradeProfile"]: + ) -> AsyncIterable["_models.AutoUpgradeProfile"]: """List AutoUpgradeProfile resources by Fleet. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -157,10 +156,7 @@ async def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -218,10 +214,7 @@ async def get( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("AutoUpgradeProfile", pipeline_response.http_response) @@ -294,10 +287,7 @@ async def _create_or_update_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -530,10 +520,7 @@ async def _delete_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_cluster_mesh_profiles_operations.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_cluster_mesh_profiles_operations.py new file mode 100644 index 00000000000..4a518b33d86 --- /dev/null +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_cluster_mesh_profiles_operations.py @@ -0,0 +1,729 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from collections.abc import MutableMapping +from io import IOBase +from typing import Any, AsyncIterable, AsyncIterator, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload +import urllib.parse + +from azure.core import AsyncPipelineClient +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + ResourceNotModifiedError, + StreamClosedError, + StreamConsumedError, + map_error, +) +from azure.core.pipeline import PipelineResponse +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import AsyncHttpResponse, HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.core.utils import case_insensitive_dict +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._serialization import Deserializer, Serializer +from ...operations._cluster_mesh_profiles_operations import ( + build_apply_request, + build_create_or_update_request, + build_delete_request, + build_get_request, + build_list_by_fleet_request, +) +from .._configuration import ContainerServiceFleetMgmtClientConfiguration + +T = TypeVar("T") +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + + +class ClusterMeshProfilesOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.containerservicefleet.aio.ContainerServiceFleetMgmtClient`'s + :attr:`cluster_mesh_profiles` attribute. + """ + + models = _models + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: ContainerServiceFleetMgmtClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @distributed_trace + def list_by_fleet( + self, resource_group_name: str, fleet_name: str, **kwargs: Any + ) -> AsyncIterable["_models.ClusterMeshProfile"]: + """List ClusterMeshProfile resources by Fleet. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param fleet_name: The name of the Fleet resource. Required. + :type fleet_name: str + :return: An iterator like instance of either ClusterMeshProfile or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservicefleet.models.ClusterMeshProfile] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.ClusterMeshProfileListResult] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_list_by_fleet_request( + resource_group_name=resource_group_name, + fleet_name=fleet_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ClusterMeshProfileListResult", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + _request = prepare_request(next_link) + + _stream = False + pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + @distributed_trace_async + async def get( + self, resource_group_name: str, fleet_name: str, cluster_mesh_profile_name: str, **kwargs: Any + ) -> _models.ClusterMeshProfile: + """Get a ClusterMeshProfile. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param fleet_name: The name of the Fleet resource. Required. + :type fleet_name: str + :param cluster_mesh_profile_name: The name of the ClusterMeshProfile resource. Required. + :type cluster_mesh_profile_name: str + :return: ClusterMeshProfile or the result of cls(response) + :rtype: ~azure.mgmt.containerservicefleet.models.ClusterMeshProfile + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.ClusterMeshProfile] = kwargs.pop("cls", None) + + _request = build_get_request( + resource_group_name=resource_group_name, + fleet_name=fleet_name, + cluster_mesh_profile_name=cluster_mesh_profile_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _stream = False + pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize("ClusterMeshProfile", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + fleet_name: str, + cluster_mesh_profile_name: str, + resource: Union[_models.ClusterMeshProfile, IO[bytes]], + if_match: Optional[str] = None, + if_none_match: Optional[str] = None, + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(resource, (IOBase, bytes)): + _content = resource + else: + _json = self._serialize.body(resource, "ClusterMeshProfile") + + _request = build_create_or_update_request( + resource_group_name=resource_group_name, + fleet_name=fleet_name, + cluster_mesh_profile_name=cluster_mesh_profile_name, + subscription_id=self._config.subscription_id, + if_match=if_match, + if_none_match=if_none_match, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 201: + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_create_or_update( + self, + resource_group_name: str, + fleet_name: str, + cluster_mesh_profile_name: str, + resource: _models.ClusterMeshProfile, + if_match: Optional[str] = None, + if_none_match: Optional[str] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.ClusterMeshProfile]: + """Create a ClusterMeshProfile. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param fleet_name: The name of the Fleet resource. Required. + :type fleet_name: str + :param cluster_mesh_profile_name: The name of the ClusterMeshProfile resource. Required. + :type cluster_mesh_profile_name: str + :param resource: Resource create parameters. Required. + :type resource: ~azure.mgmt.containerservicefleet.models.ClusterMeshProfile + :param if_match: The request should only proceed if an entity matches this string. Default + value is None. + :type if_match: str + :param if_none_match: The request should only proceed if no entity matches this string. Default + value is None. + :type if_none_match: str + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns either ClusterMeshProfile or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservicefleet.models.ClusterMeshProfile] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_create_or_update( + self, + resource_group_name: str, + fleet_name: str, + cluster_mesh_profile_name: str, + resource: IO[bytes], + if_match: Optional[str] = None, + if_none_match: Optional[str] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.ClusterMeshProfile]: + """Create a ClusterMeshProfile. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param fleet_name: The name of the Fleet resource. Required. + :type fleet_name: str + :param cluster_mesh_profile_name: The name of the ClusterMeshProfile resource. Required. + :type cluster_mesh_profile_name: str + :param resource: Resource create parameters. Required. + :type resource: IO[bytes] + :param if_match: The request should only proceed if an entity matches this string. Default + value is None. + :type if_match: str + :param if_none_match: The request should only proceed if no entity matches this string. Default + value is None. + :type if_none_match: str + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of AsyncLROPoller that returns either ClusterMeshProfile or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservicefleet.models.ClusterMeshProfile] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_create_or_update( + self, + resource_group_name: str, + fleet_name: str, + cluster_mesh_profile_name: str, + resource: Union[_models.ClusterMeshProfile, IO[bytes]], + if_match: Optional[str] = None, + if_none_match: Optional[str] = None, + **kwargs: Any + ) -> AsyncLROPoller[_models.ClusterMeshProfile]: + """Create a ClusterMeshProfile. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param fleet_name: The name of the Fleet resource. Required. + :type fleet_name: str + :param cluster_mesh_profile_name: The name of the ClusterMeshProfile resource. Required. + :type cluster_mesh_profile_name: str + :param resource: Resource create parameters. Is either a ClusterMeshProfile type or a IO[bytes] + type. Required. + :type resource: ~azure.mgmt.containerservicefleet.models.ClusterMeshProfile or IO[bytes] + :param if_match: The request should only proceed if an entity matches this string. Default + value is None. + :type if_match: str + :param if_none_match: The request should only proceed if no entity matches this string. Default + value is None. + :type if_none_match: str + :return: An instance of AsyncLROPoller that returns either ClusterMeshProfile or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservicefleet.models.ClusterMeshProfile] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.ClusterMeshProfile] = kwargs.pop("cls", None) + polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token: Optional[str] = kwargs.pop("continuation_token", None) + if cont_token is None: + raw_result = await self._create_or_update_initial( + resource_group_name=resource_group_name, + fleet_name=fleet_name, + cluster_mesh_profile_name=cluster_mesh_profile_name, + resource=resource, + if_match=if_match, + if_none_match=if_none_match, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize("ClusterMeshProfile", pipeline_response.http_response) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, + AsyncARMPolling(lro_delay, lro_options={"final-state-via": "original-uri"}, **kwargs), + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.ClusterMeshProfile].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.ClusterMeshProfile]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + async def _delete_initial( + self, + resource_group_name: str, + fleet_name: str, + cluster_mesh_profile_name: str, + if_match: Optional[str] = None, + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + _request = build_delete_request( + resource_group_name=resource_group_name, + fleet_name=fleet_name, + cluster_mesh_profile_name=cluster_mesh_profile_name, + subscription_id=self._config.subscription_id, + if_match=if_match, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [202, 204]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + fleet_name: str, + cluster_mesh_profile_name: str, + if_match: Optional[str] = None, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Delete a ClusterMeshProfile. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param fleet_name: The name of the Fleet resource. Required. + :type fleet_name: str + :param cluster_mesh_profile_name: The name of the ClusterMeshProfile resource. Required. + :type cluster_mesh_profile_name: str + :param if_match: The request should only proceed if an entity matches this string. Default + value is None. + :type if_match: str + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[None] = kwargs.pop("cls", None) + polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token: Optional[str] = kwargs.pop("continuation_token", None) + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + fleet_name=fleet_name, + cluster_mesh_profile_name=cluster_mesh_profile_name, + if_match=if_match, + api_version=api_version, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + async def _apply_initial( + self, + resource_group_name: str, + fleet_name: str, + cluster_mesh_profile_name: str, + if_match: Optional[str] = None, + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + _request = build_apply_request( + resource_group_name=resource_group_name, + fleet_name=fleet_name, + cluster_mesh_profile_name=cluster_mesh_profile_name, + subscription_id=self._config.subscription_id, + if_match=if_match, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + async def begin_apply( + self, + resource_group_name: str, + fleet_name: str, + cluster_mesh_profile_name: str, + if_match: Optional[str] = None, + **kwargs: Any + ) -> AsyncLROPoller[_models.ClusterMeshProfile]: + """Applies the cluster mesh profile to selected fleet members. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param fleet_name: The name of the Fleet resource. Required. + :type fleet_name: str + :param cluster_mesh_profile_name: The name of the ClusterMeshProfile resource. Required. + :type cluster_mesh_profile_name: str + :param if_match: The request should only proceed if an entity matches this string. Default + value is None. + :type if_match: str + :return: An instance of AsyncLROPoller that returns either ClusterMeshProfile or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservicefleet.models.ClusterMeshProfile] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.ClusterMeshProfile] = kwargs.pop("cls", None) + polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True) + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token: Optional[str] = kwargs.pop("continuation_token", None) + if cont_token is None: + raw_result = await self._apply_initial( + resource_group_name=resource_group_name, + fleet_name=fleet_name, + cluster_mesh_profile_name=cluster_mesh_profile_name, + if_match=if_match, + api_version=api_version, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize("ClusterMeshProfile", pipeline_response.http_response) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.ClusterMeshProfile].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.ClusterMeshProfile]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/_fleet_managed_namespaces_operations.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_fleet_managed_namespaces_operations.py similarity index 97% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/_fleet_managed_namespaces_operations.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_fleet_managed_namespaces_operations.py index f90f3f820d4..a7c03ae7743 100644 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/_fleet_managed_namespaces_operations.py +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_fleet_managed_namespaces_operations.py @@ -7,7 +7,7 @@ # -------------------------------------------------------------------------- from collections.abc import MutableMapping from io import IOBase -from typing import Any, AsyncIterator, Callable, IO, Optional, TypeVar, Union, cast, overload +from typing import Any, AsyncIterable, AsyncIterator, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload import urllib.parse from azure.core import AsyncPipelineClient @@ -32,7 +32,7 @@ from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models -from ..._utils.serialization import Deserializer, Serializer +from ..._serialization import Deserializer, Serializer from ...operations._fleet_managed_namespaces_operations import ( build_create_or_update_request, build_delete_request, @@ -43,8 +43,7 @@ from .._configuration import ContainerServiceFleetMgmtClientConfiguration T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] -List = list +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] class FleetManagedNamespacesOperations: @@ -71,7 +70,7 @@ def __init__(self, *args, **kwargs) -> None: @distributed_trace def list_by_fleet( self, resource_group_name: str, fleet_name: str, **kwargs: Any - ) -> AsyncItemPaged["_models.FleetManagedNamespace"]: + ) -> AsyncIterable["_models.FleetManagedNamespace"]: """List FleetManagedNamespace resources by Fleet. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -147,10 +146,7 @@ async def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -208,10 +204,7 @@ async def get( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("FleetManagedNamespace", pipeline_response.http_response) @@ -284,10 +277,7 @@ async def _create_or_update_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -533,10 +523,7 @@ async def _update_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -754,10 +741,7 @@ async def _delete_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/_fleet_members_operations.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_fleet_members_operations.py similarity index 97% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/_fleet_members_operations.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_fleet_members_operations.py index 8ff9023527c..fc08578b0d3 100644 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/_fleet_members_operations.py +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_fleet_members_operations.py @@ -7,7 +7,7 @@ # -------------------------------------------------------------------------- from collections.abc import MutableMapping from io import IOBase -from typing import Any, AsyncIterator, Callable, IO, Optional, TypeVar, Union, cast, overload +from typing import Any, AsyncIterable, AsyncIterator, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload import urllib.parse from azure.core import AsyncPipelineClient @@ -32,7 +32,7 @@ from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models -from ..._utils.serialization import Deserializer, Serializer +from ..._serialization import Deserializer, Serializer from ...operations._fleet_members_operations import ( build_create_request, build_delete_request, @@ -43,8 +43,7 @@ from .._configuration import ContainerServiceFleetMgmtClientConfiguration T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] -List = list +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] class FleetMembersOperations: @@ -77,7 +76,7 @@ def list_by_fleet( skip_token: Optional[str] = None, filter: Optional[str] = None, **kwargs: Any - ) -> AsyncItemPaged["_models.FleetMember"]: + ) -> AsyncIterable["_models.FleetMember"]: """List FleetMember resources by Fleet. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -162,10 +161,7 @@ async def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -223,10 +219,7 @@ async def get( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("FleetMember", pipeline_response.http_response) @@ -299,10 +292,7 @@ async def _create_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -545,10 +535,7 @@ async def _update_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -766,10 +753,7 @@ async def _delete_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/_fleet_update_strategies_operations.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_fleet_update_strategies_operations.py similarity index 96% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/_fleet_update_strategies_operations.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_fleet_update_strategies_operations.py index 7eed19c3ea1..4c79a047221 100644 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/_fleet_update_strategies_operations.py +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_fleet_update_strategies_operations.py @@ -7,7 +7,7 @@ # -------------------------------------------------------------------------- from collections.abc import MutableMapping from io import IOBase -from typing import Any, AsyncIterator, Callable, IO, Optional, TypeVar, Union, cast, overload +from typing import Any, AsyncIterable, AsyncIterator, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload import urllib.parse from azure.core import AsyncPipelineClient @@ -32,7 +32,7 @@ from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models -from ..._utils.serialization import Deserializer, Serializer +from ..._serialization import Deserializer, Serializer from ...operations._fleet_update_strategies_operations import ( build_create_or_update_request, build_delete_request, @@ -42,8 +42,7 @@ from .._configuration import ContainerServiceFleetMgmtClientConfiguration T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] -List = list +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] class FleetUpdateStrategiesOperations: @@ -75,7 +74,7 @@ def list_by_fleet( top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> AsyncItemPaged["_models.FleetUpdateStrategy"]: + ) -> AsyncIterable["_models.FleetUpdateStrategy"]: """List FleetUpdateStrategy resources by Fleet. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -157,10 +156,7 @@ async def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -218,10 +214,7 @@ async def get( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("FleetUpdateStrategy", pipeline_response.http_response) @@ -294,10 +287,7 @@ async def _create_or_update_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -527,10 +517,7 @@ async def _delete_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/_fleets_operations.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_fleets_operations.py similarity index 96% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/_fleets_operations.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_fleets_operations.py index a2b205de776..38135d7d58a 100644 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/_fleets_operations.py +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_fleets_operations.py @@ -7,7 +7,7 @@ # -------------------------------------------------------------------------- from collections.abc import MutableMapping from io import IOBase -from typing import Any, AsyncIterator, Callable, IO, Optional, TypeVar, Union, cast, overload +from typing import Any, AsyncIterable, AsyncIterator, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload import urllib.parse from azure.core import AsyncPipelineClient @@ -32,7 +32,7 @@ from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models -from ..._utils.serialization import Deserializer, Serializer +from ..._serialization import Deserializer, Serializer from ...operations._fleets_operations import ( build_create_or_update_request, build_delete_request, @@ -45,8 +45,7 @@ from .._configuration import ContainerServiceFleetMgmtClientConfiguration T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] -List = list +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] class FleetsOperations: @@ -73,7 +72,7 @@ def __init__(self, *args, **kwargs) -> None: @distributed_trace def list_by_subscription( self, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> AsyncItemPaged["_models.Fleet"]: + ) -> AsyncIterable["_models.Fleet"]: """Lists fleets in the specified subscription. :param top: The number of result items to return. Default value is None. @@ -147,10 +146,7 @@ async def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -158,7 +154,7 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) @distributed_trace - def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> AsyncItemPaged["_models.Fleet"]: + def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> AsyncIterable["_models.Fleet"]: """Lists fleets in the specified subscription and resource group. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -229,10 +225,7 @@ async def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -285,10 +278,7 @@ async def get(self, resource_group_name: str, fleet_name: str, **kwargs: Any) -> if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("Fleet", pipeline_response.http_response) @@ -359,10 +349,7 @@ async def _create_or_update_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -587,10 +574,7 @@ async def _update_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -786,10 +770,7 @@ async def _delete_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -913,10 +894,7 @@ async def list_credentials( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("FleetCredentialResults", pipeline_response.http_response) diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/_gates_operations.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_gates_operations.py similarity index 96% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/_gates_operations.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_gates_operations.py index c5c068e7bde..279309ed2a5 100644 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/_gates_operations.py +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_gates_operations.py @@ -7,7 +7,7 @@ # -------------------------------------------------------------------------- from collections.abc import MutableMapping from io import IOBase -from typing import Any, AsyncIterator, Callable, IO, Optional, TypeVar, Union, cast, overload +from typing import Any, AsyncIterable, AsyncIterator, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload import urllib.parse from azure.core import AsyncPipelineClient @@ -32,13 +32,12 @@ from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models -from ..._utils.serialization import Deserializer, Serializer +from ..._serialization import Deserializer, Serializer from ...operations._gates_operations import build_get_request, build_list_by_fleet_request, build_update_request from .._configuration import ContainerServiceFleetMgmtClientConfiguration T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] -List = list +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] class GatesOperations: @@ -71,7 +70,7 @@ def list_by_fleet( top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> AsyncItemPaged["_models.Gate"]: + ) -> AsyncIterable["_models.Gate"]: """List Gate resources by Fleet. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -155,10 +154,7 @@ async def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -214,10 +210,7 @@ async def get(self, resource_group_name: str, fleet_name: str, gate_name: str, * if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("Gate", pipeline_response.http_response) @@ -290,10 +283,7 @@ async def _update_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/_operations.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_operations.py similarity index 92% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/_operations.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_operations.py index 7ae9124626a..a4352c4abf2 100644 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/_operations.py +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_operations.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from collections.abc import MutableMapping -from typing import Any, Callable, Optional, TypeVar +from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar import urllib.parse from azure.core import AsyncPipelineClient @@ -26,13 +26,12 @@ from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models -from ..._utils.serialization import Deserializer, Serializer +from ..._serialization import Deserializer, Serializer from ...operations._operations import build_list_request from .._configuration import ContainerServiceFleetMgmtClientConfiguration T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] -List = list +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] class Operations: @@ -57,7 +56,7 @@ def __init__(self, *args, **kwargs) -> None: self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @distributed_trace - def list(self, **kwargs: Any) -> AsyncItemPaged["_models.Operation"]: + def list(self, **kwargs: Any) -> AsyncIterable["_models.Operation"]: """List the operations for the provider. :return: An iterator like instance of either Operation or the result of cls(response) @@ -124,10 +123,7 @@ async def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/models/_patch.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_patch.py similarity index 89% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/models/_patch.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_patch.py index 87676c65a8f..8bcb627aa47 100644 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/models/_patch.py +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_patch.py @@ -7,9 +7,9 @@ Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize """ +from typing import List - -__all__: list[str] = [] # Add all objects you want publicly available to users at this package level +__all__: List[str] = [] # Add all objects you want publicly available to users at this package level def patch_sdk(): diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/_update_runs_operations.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_update_runs_operations.py similarity index 97% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/_update_runs_operations.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_update_runs_operations.py index 1b65d1b5680..00b67fa2184 100644 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/_update_runs_operations.py +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/aio/operations/_update_runs_operations.py @@ -8,7 +8,7 @@ # -------------------------------------------------------------------------- from collections.abc import MutableMapping from io import IOBase -from typing import Any, AsyncIterator, Callable, IO, Optional, TypeVar, Union, cast, overload +from typing import Any, AsyncIterable, AsyncIterator, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload import urllib.parse from azure.core import AsyncPipelineClient @@ -33,7 +33,7 @@ from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models -from ..._utils.serialization import Deserializer, Serializer +from ..._serialization import Deserializer, Serializer from ...operations._update_runs_operations import ( build_create_or_update_request, build_delete_request, @@ -46,8 +46,7 @@ from .._configuration import ContainerServiceFleetMgmtClientConfiguration T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] -List = list +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] class UpdateRunsOperations: @@ -79,7 +78,7 @@ def list_by_fleet( top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> AsyncItemPaged["_models.UpdateRun"]: + ) -> AsyncIterable["_models.UpdateRun"]: """List UpdateRun resources by Fleet. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -161,10 +160,7 @@ async def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -222,10 +218,7 @@ async def get( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("UpdateRun", pipeline_response.http_response) @@ -298,10 +291,7 @@ async def _create_or_update_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -528,10 +518,7 @@ async def _delete_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -676,10 +663,7 @@ async def _skip_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -893,10 +877,7 @@ async def _start_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -1033,10 +1014,7 @@ async def _stop_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/models/__init__.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/models/__init__.py similarity index 91% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/models/__init__.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/models/__init__.py index bfc077404b2..33d28a2154f 100644 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/models/__init__.py +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/models/__init__.py @@ -20,6 +20,11 @@ AutoUpgradeProfile, AutoUpgradeProfileListResult, AutoUpgradeProfileStatus, + CiliumProperties, + ClusterMeshProfile, + ClusterMeshProfileListResult, + ClusterMeshProfileProperties, + ClusterMeshProfileStatus, ErrorAdditionalInfo, ErrorDetail, ErrorResponse, @@ -52,7 +57,10 @@ ManagedClusterUpgradeSpec, ManagedNamespaceProperties, ManagedServiceIdentity, + MemberSelector, MemberUpdateStatus, + MeshMemberStatus, + MeshProperties, MetaV1LabelSelector, MetaV1LabelSelectorRequirement, NetworkPolicy, @@ -101,6 +109,8 @@ AutoUpgradeLastTriggerStatus, AutoUpgradeNodeImageSelectionType, AutoUpgradeProfileProvisioningState, + ClusterMeshProfileProvisioningState, + ClusterMeshState, CreatedByType, DeletePolicy, FleetManagedNamespaceProvisioningState, @@ -113,6 +123,7 @@ LabelSelectorOperator, ManagedClusterUpgradeType, ManagedServiceIdentityType, + MeshMemberState, NodeImageSelectionType, Origin, PlacementType, @@ -138,6 +149,11 @@ "AutoUpgradeProfile", "AutoUpgradeProfileListResult", "AutoUpgradeProfileStatus", + "CiliumProperties", + "ClusterMeshProfile", + "ClusterMeshProfileListResult", + "ClusterMeshProfileProperties", + "ClusterMeshProfileStatus", "ErrorAdditionalInfo", "ErrorDetail", "ErrorResponse", @@ -170,7 +186,10 @@ "ManagedClusterUpgradeSpec", "ManagedNamespaceProperties", "ManagedServiceIdentity", + "MemberSelector", "MemberUpdateStatus", + "MeshMemberStatus", + "MeshProperties", "MetaV1LabelSelector", "MetaV1LabelSelectorRequirement", "NetworkPolicy", @@ -216,6 +235,8 @@ "AutoUpgradeLastTriggerStatus", "AutoUpgradeNodeImageSelectionType", "AutoUpgradeProfileProvisioningState", + "ClusterMeshProfileProvisioningState", + "ClusterMeshState", "CreatedByType", "DeletePolicy", "FleetManagedNamespaceProvisioningState", @@ -228,6 +249,7 @@ "LabelSelectorOperator", "ManagedClusterUpgradeType", "ManagedServiceIdentityType", + "MeshMemberState", "NodeImageSelectionType", "Origin", "PlacementType", diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/models/_container_service_fleet_mgmt_client_enums.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/models/_container_service_fleet_mgmt_client_enums.py similarity index 93% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/models/_container_service_fleet_mgmt_client_enums.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/models/_container_service_fleet_mgmt_client_enums.py index c3f3fe7e907..a509cecb712 100644 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/models/_container_service_fleet_mgmt_client_enums.py +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/models/_container_service_fleet_mgmt_client_enums.py @@ -68,6 +68,30 @@ class AutoUpgradeProfileProvisioningState(str, Enum, metaclass=CaseInsensitiveEn """Resource creation was canceled.""" +class ClusterMeshProfileProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The provisioning state of the cluster mesh profile resource.""" + + SUCCEEDED = "Succeeded" + """Resource has been created.""" + FAILED = "Failed" + """Resource creation failed.""" + CANCELED = "Canceled" + """Resource creation was canceled.""" + + +class ClusterMeshState(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Cluster mesh state.""" + + NOT_CONNECTED = "NotConnected" + """The mesh is not connected.""" + CONNECTING = "Connecting" + """The mesh is connecting.""" + CONNECTED = "Connected" + """The mesh is connected.""" + FAILED = "Failed" + """The mesh failed to connect.""" + + class CreatedByType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The type of identity that created the resource.""" @@ -218,6 +242,21 @@ class ManagedServiceIdentityType(str, Enum, metaclass=CaseInsensitiveEnumMeta): SYSTEM_ASSIGNED_USER_ASSIGNED = "SystemAssigned, UserAssigned" +class MeshMemberState(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Mesh member state.""" + + NOT_CONNECTED = "NotConnected" + """The member is not connected to the mesh.""" + CONNECTING = "Connecting" + """The member is connecting to the mesh.""" + CONNECTED = "Connected" + """The member is connected to the mesh.""" + DISCONNECTING = "Disconnecting" + """The member is disconnecting from the mesh.""" + FAILED = "Failed" + """The member failed to connect due to an error.""" + + class NodeImageSelectionType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The node image upgrade type.""" diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/models/_models_py3.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/models/_models_py3.py similarity index 90% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/models/_models_py3.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/models/_models_py3.py index 07ed0fe1882..e6722d5db31 100644 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/models/_models_py3.py +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/models/_models_py3.py @@ -7,15 +7,13 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from collections.abc import MutableMapping import datetime -from typing import Any, Optional, TYPE_CHECKING, Union +from typing import Any, Dict, List, Optional, TYPE_CHECKING, Union -from .._utils import serialization as _serialization +from .. import _serialization if TYPE_CHECKING: from .. import models as _models -JSON = MutableMapping[str, Any] class AgentProfile(_serialization.Model): @@ -355,7 +353,7 @@ class AutoUpgradeProfileListResult(_serialization.Model): } def __init__( - self, *, value: list["_models.AutoUpgradeProfile"], next_link: Optional[str] = None, **kwargs: Any + self, *, value: List["_models.AutoUpgradeProfile"], next_link: Optional[str] = None, **kwargs: Any ) -> None: """ :keyword value: The AutoUpgradeProfile items on this page. Required. @@ -407,7 +405,212 @@ def __init__(self, **kwargs: Any) -> None: self.last_triggered_at: Optional[datetime.datetime] = None self.last_trigger_status: Optional[Union[str, "_models.AutoUpgradeLastTriggerStatus"]] = None self.last_trigger_error: Optional["_models.ErrorDetail"] = None - self.last_trigger_upgrade_versions: Optional[list[str]] = None + self.last_trigger_upgrade_versions: Optional[List[str]] = None + + +class CiliumProperties(_serialization.Model): + """The Cilium specific properties of the member cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to server. + + :ivar id: Cilium requires each cluster to be assigned a unique numeric cluster id from 1 - 255. + The id is managed by Fleet and cannot be set by the user. Required. + :vartype id: int + :ivar name: Cilium requires each cluster to be assigned a unique human-readable name. The name + is managed by Fleet, based on the Fleet Member name, and cannot be set by the user. Required. + :vartype name: str + """ + + _validation = { + "id": {"required": True, "readonly": True}, + "name": {"required": True, "readonly": True}, + } + + _attribute_map = { + "id": {"key": "id", "type": "int"}, + "name": {"key": "name", "type": "str"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.id: Optional[int] = None + self.name: Optional[str] = None + + +class ClusterMeshProfile(ProxyResource): + """A cluster mesh profile stores the general information about the mesh. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~azure.mgmt.containerservicefleet.models.SystemData + :ivar properties: The resource-specific properties for this resource. + :vartype properties: ~azure.mgmt.containerservicefleet.models.ClusterMeshProfileProperties + :ivar e_tag: If eTag is provided in the response body, it may also be provided as a header per + the normal etag convention. Entity tags are used for comparing two or more entities from the + same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match + (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. + :vartype e_tag: str + """ + + _validation = { + "id": {"readonly": True}, + "name": {"readonly": True}, + "type": {"readonly": True}, + "system_data": {"readonly": True}, + "e_tag": {"readonly": True}, + } + + _attribute_map = { + "id": {"key": "id", "type": "str"}, + "name": {"key": "name", "type": "str"}, + "type": {"key": "type", "type": "str"}, + "system_data": {"key": "systemData", "type": "SystemData"}, + "properties": {"key": "properties", "type": "ClusterMeshProfileProperties"}, + "e_tag": {"key": "eTag", "type": "str"}, + } + + def __init__(self, *, properties: Optional["_models.ClusterMeshProfileProperties"] = None, **kwargs: Any) -> None: + """ + :keyword properties: The resource-specific properties for this resource. + :paramtype properties: ~azure.mgmt.containerservicefleet.models.ClusterMeshProfileProperties + """ + super().__init__(**kwargs) + self.properties = properties + self.e_tag: Optional[str] = None + + +class ClusterMeshProfileListResult(_serialization.Model): + """The response of a ClusterMeshProfile list operation. + + All required parameters must be populated in order to send to server. + + :ivar value: The ClusterMeshProfile items on this page. Required. + :vartype value: list[~azure.mgmt.containerservicefleet.models.ClusterMeshProfile] + :ivar next_link: The link to the next page of items. + :vartype next_link: str + """ + + _validation = { + "value": {"required": True}, + } + + _attribute_map = { + "value": {"key": "value", "type": "[ClusterMeshProfile]"}, + "next_link": {"key": "nextLink", "type": "str"}, + } + + def __init__( + self, *, value: List["_models.ClusterMeshProfile"], next_link: Optional[str] = None, **kwargs: Any + ) -> None: + """ + :keyword value: The ClusterMeshProfile items on this page. Required. + :paramtype value: list[~azure.mgmt.containerservicefleet.models.ClusterMeshProfile] + :keyword next_link: The link to the next page of items. + :paramtype next_link: str + """ + super().__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class ClusterMeshProfileProperties(_serialization.Model): + """A cluster mesh profile stores the general information about the mesh. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provisioning_state: The provisioning state of the cluster mesh profile. Known values are: + "Succeeded", "Failed", and "Canceled". + :vartype provisioning_state: str or + ~azure.mgmt.containerservicefleet.models.ClusterMeshProfileProvisioningState + :ivar member_selector: Select the members of the mesh. + + + * Only key/value pairs with the ``=`` operator are accepted in the label selector. + * If empty or not specified, no Fleet members will be selected to join the mesh. + :vartype member_selector: ~azure.mgmt.containerservicefleet.models.MemberSelector + :ivar status: The cluster mesh profile status. + :vartype status: ~azure.mgmt.containerservicefleet.models.ClusterMeshProfileStatus + """ + + _validation = { + "provisioning_state": {"readonly": True}, + "status": {"readonly": True}, + } + + _attribute_map = { + "provisioning_state": {"key": "provisioningState", "type": "str"}, + "member_selector": {"key": "memberSelector", "type": "MemberSelector"}, + "status": {"key": "status", "type": "ClusterMeshProfileStatus"}, + } + + def __init__(self, *, member_selector: Optional["_models.MemberSelector"] = None, **kwargs: Any) -> None: + """ + :keyword member_selector: Select the members of the mesh. + + + * Only key/value pairs with the ``=`` operator are accepted in the label selector. + * If empty or not specified, no Fleet members will be selected to join the mesh. + :paramtype member_selector: ~azure.mgmt.containerservicefleet.models.MemberSelector + """ + super().__init__(**kwargs) + self.provisioning_state: Optional[Union[str, "_models.ClusterMeshProfileProvisioningState"]] = None + self.member_selector = member_selector + self.status: Optional["_models.ClusterMeshProfileStatus"] = None + + +class ClusterMeshProfileStatus(_serialization.Model): + """Status of the cluster mesh. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to server. + + :ivar state: The state of the cluster mesh. Required. Known values are: "NotConnected", + "Connecting", "Connected", and "Failed". + :vartype state: str or ~azure.mgmt.containerservicefleet.models.ClusterMeshState + :ivar last_applied_member_selector: The last applied MemberSelector for the cluster mesh + profile. + :vartype last_applied_member_selector: ~azure.mgmt.containerservicefleet.models.MemberSelector + :ivar last_operation_id: The last operation ID for the cluster mesh profile. + :vartype last_operation_id: str + :ivar last_operation_error: The last operation error of the cluster mesh profile. + :vartype last_operation_error: ~azure.mgmt.containerservicefleet.models.ErrorDetail + """ + + _validation = { + "state": {"required": True, "readonly": True}, + "last_applied_member_selector": {"readonly": True}, + "last_operation_id": {"readonly": True}, + "last_operation_error": {"readonly": True}, + } + + _attribute_map = { + "state": {"key": "state", "type": "str"}, + "last_applied_member_selector": {"key": "lastAppliedMemberSelector", "type": "MemberSelector"}, + "last_operation_id": {"key": "lastOperationId", "type": "str"}, + "last_operation_error": {"key": "lastOperationError", "type": "ErrorDetail"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.state: Optional[Union[str, "_models.ClusterMeshState"]] = None + self.last_applied_member_selector: Optional["_models.MemberSelector"] = None + self.last_operation_id: Optional[str] = None + self.last_operation_error: Optional["_models.ErrorDetail"] = None class ErrorAdditionalInfo(_serialization.Model): @@ -477,8 +680,8 @@ def __init__(self, **kwargs: Any) -> None: self.code: Optional[str] = None self.message: Optional[str] = None self.target: Optional[str] = None - self.details: Optional[list["_models.ErrorDetail"]] = None - self.additional_info: Optional[list["_models.ErrorAdditionalInfo"]] = None + self.details: Optional[List["_models.ErrorDetail"]] = None + self.additional_info: Optional[List["_models.ErrorAdditionalInfo"]] = None class ErrorResponse(_serialization.Model): @@ -544,7 +747,7 @@ class TrackedResource(Resource): "location": {"key": "location", "type": "str"}, } - def __init__(self, *, location: str, tags: Optional[dict[str, str]] = None, **kwargs: Any) -> None: + def __init__(self, *, location: str, tags: Optional[Dict[str, str]] = None, **kwargs: Any) -> None: """ :keyword tags: Resource tags. :paramtype tags: dict[str, str] @@ -624,7 +827,7 @@ def __init__( self, *, location: str, - tags: Optional[dict[str, str]] = None, + tags: Optional[Dict[str, str]] = None, identity: Optional["_models.ManagedServiceIdentity"] = None, hub_profile: Optional["_models.FleetHubProfile"] = None, **kwargs: Any @@ -695,7 +898,7 @@ class FleetCredentialResults(_serialization.Model): def __init__(self, **kwargs: Any) -> None: """ """ super().__init__(**kwargs) - self.kubeconfigs: Optional[list["_models.FleetCredentialResult"]] = None + self.kubeconfigs: Optional[List["_models.FleetCredentialResult"]] = None class FleetHubProfile(_serialization.Model): @@ -784,7 +987,7 @@ class FleetListResult(_serialization.Model): "next_link": {"key": "nextLink", "type": "str"}, } - def __init__(self, *, value: list["_models.Fleet"], next_link: Optional[str] = None, **kwargs: Any) -> None: + def __init__(self, *, value: List["_models.Fleet"], next_link: Optional[str] = None, **kwargs: Any) -> None: """ :keyword value: The Fleet items on this page. Required. :paramtype value: list[~azure.mgmt.containerservicefleet.models.Fleet] @@ -851,7 +1054,7 @@ def __init__( self, *, location: str, - tags: Optional[dict[str, str]] = None, + tags: Optional[Dict[str, str]] = None, properties: Optional["_models.FleetManagedNamespaceProperties"] = None, **kwargs: Any ) -> None: @@ -889,7 +1092,7 @@ class FleetManagedNamespaceListResult(_serialization.Model): } def __init__( - self, *, value: list["_models.FleetManagedNamespace"], next_link: Optional[str] = None, **kwargs: Any + self, *, value: List["_models.FleetManagedNamespace"], next_link: Optional[str] = None, **kwargs: Any ) -> None: """ :keyword value: The FleetManagedNamespace items on this page. Required. @@ -913,7 +1116,7 @@ class FleetManagedNamespacePatch(_serialization.Model): "tags": {"key": "tags", "type": "{str}"}, } - def __init__(self, *, tags: Optional[dict[str, str]] = None, **kwargs: Any) -> None: + def __init__(self, *, tags: Optional[Dict[str, str]] = None, **kwargs: Any) -> None: """ :keyword tags: Resource tags. :paramtype tags: dict[str, str] @@ -1064,6 +1267,8 @@ class FleetMember(ProxyResource): :vartype labels: dict[str, str] :ivar status: Status information of the last operation for fleet member. :vartype status: ~azure.mgmt.containerservicefleet.models.FleetMemberStatus + :ivar mesh_properties: The Mesh Member Properties associated with this Fleet Member. + :vartype mesh_properties: ~azure.mgmt.containerservicefleet.models.MeshProperties """ _validation = { @@ -1075,6 +1280,7 @@ class FleetMember(ProxyResource): "group": {"max_length": 50, "min_length": 1, "pattern": r"^[a-z0-9]([-a-z0-9]*[a-z0-9])?$"}, "provisioning_state": {"readonly": True}, "status": {"readonly": True}, + "mesh_properties": {"readonly": True}, } _attribute_map = { @@ -1088,6 +1294,7 @@ class FleetMember(ProxyResource): "provisioning_state": {"key": "properties.provisioningState", "type": "str"}, "labels": {"key": "properties.labels", "type": "{str}"}, "status": {"key": "properties.status", "type": "FleetMemberStatus"}, + "mesh_properties": {"key": "properties.meshProperties", "type": "MeshProperties"}, } def __init__( @@ -1095,7 +1302,7 @@ def __init__( *, cluster_resource_id: Optional[str] = None, group: Optional[str] = None, - labels: Optional[dict[str, str]] = None, + labels: Optional[Dict[str, str]] = None, **kwargs: Any ) -> None: """ @@ -1115,6 +1322,7 @@ def __init__( self.provisioning_state: Optional[Union[str, "_models.FleetMemberProvisioningState"]] = None self.labels = labels self.status: Optional["_models.FleetMemberStatus"] = None + self.mesh_properties: Optional["_models.MeshProperties"] = None class FleetMemberListResult(_serialization.Model): @@ -1137,7 +1345,7 @@ class FleetMemberListResult(_serialization.Model): "next_link": {"key": "nextLink", "type": "str"}, } - def __init__(self, *, value: list["_models.FleetMember"], next_link: Optional[str] = None, **kwargs: Any) -> None: + def __init__(self, *, value: List["_models.FleetMember"], next_link: Optional[str] = None, **kwargs: Any) -> None: """ :keyword value: The FleetMember items on this page. Required. :paramtype value: list[~azure.mgmt.containerservicefleet.models.FleetMember] @@ -1195,7 +1403,7 @@ class FleetMemberUpdate(_serialization.Model): "labels": {"key": "properties.labels", "type": "{str}"}, } - def __init__(self, *, group: Optional[str] = None, labels: Optional[dict[str, str]] = None, **kwargs: Any) -> None: + def __init__(self, *, group: Optional[str] = None, labels: Optional[Dict[str, str]] = None, **kwargs: Any) -> None: """ :keyword group: The group this member belongs to for multi-cluster update management. :paramtype group: str @@ -1224,7 +1432,7 @@ class FleetPatch(_serialization.Model): def __init__( self, *, - tags: Optional[dict[str, str]] = None, + tags: Optional[Dict[str, str]] = None, identity: Optional["_models.ManagedServiceIdentity"] = None, **kwargs: Any ) -> None: @@ -1347,7 +1555,7 @@ class FleetUpdateStrategyListResult(_serialization.Model): } def __init__( - self, *, value: list["_models.FleetUpdateStrategy"], next_link: Optional[str] = None, **kwargs: Any + self, *, value: List["_models.FleetUpdateStrategy"], next_link: Optional[str] = None, **kwargs: Any ) -> None: """ :keyword value: The FleetUpdateStrategy items on this page. Required. @@ -1501,7 +1709,7 @@ class GateListResult(_serialization.Model): "next_link": {"key": "nextLink", "type": "str"}, } - def __init__(self, *, value: list["_models.Gate"], next_link: Optional[str] = None, **kwargs: Any) -> None: + def __init__(self, *, value: List["_models.Gate"], next_link: Optional[str] = None, **kwargs: Any) -> None: """ :keyword value: The Gate items on this page. Required. :paramtype value: list[~azure.mgmt.containerservicefleet.models.Gate] @@ -1724,8 +1932,8 @@ class ManagedNamespaceProperties(_serialization.Model): def __init__( self, *, - labels: Optional[dict[str, str]] = None, - annotations: Optional[dict[str, str]] = None, + labels: Optional[Dict[str, str]] = None, + annotations: Optional[Dict[str, str]] = None, default_resource_quota: Optional["_models.ResourceQuota"] = None, default_network_policy: Optional["_models.NetworkPolicy"] = None, **kwargs: Any @@ -1789,7 +1997,7 @@ def __init__( self, *, type: Union[str, "_models.ManagedServiceIdentityType"], - user_assigned_identities: Optional[dict[str, "_models.UserAssignedIdentity"]] = None, + user_assigned_identities: Optional[Dict[str, "_models.UserAssignedIdentity"]] = None, **kwargs: Any ) -> None: """ @@ -1811,6 +2019,34 @@ def __init__( self.user_assigned_identities = user_assigned_identities +class MemberSelector(_serialization.Model): + """Select members of a fleet. + + All required parameters must be populated in order to send to server. + + :ivar by_label: Kubernetes-style label selector for selecting Fleet members, e.g. + ``env=production``. Required. + :vartype by_label: str + """ + + _validation = { + "by_label": {"required": True, "max_length": 512}, + } + + _attribute_map = { + "by_label": {"key": "byLabel", "type": "str"}, + } + + def __init__(self, *, by_label: str, **kwargs: Any) -> None: + """ + :keyword by_label: Kubernetes-style label selector for selecting Fleet members, e.g. + ``env=production``. Required. + :paramtype by_label: str + """ + super().__init__(**kwargs) + self.by_label = by_label + + class MemberUpdateStatus(_serialization.Model): """The status of a member update operation. @@ -1854,6 +2090,84 @@ def __init__(self, **kwargs: Any) -> None: self.message: Optional[str] = None +class MeshMemberStatus(_serialization.Model): + """Status of the mesh member. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to server. + + :ivar state: The mesh member state. Required. Known values are: "NotConnected", "Connecting", + "Connected", "Disconnecting", and "Failed". + :vartype state: str or ~azure.mgmt.containerservicefleet.models.MeshMemberState + :ivar last_updated_at: When the status was last updated. + :vartype last_updated_at: ~datetime.datetime + :ivar last_operation_id: The last operation ID that affected the mesh properties of the fleet + member. + :vartype last_operation_id: str + :ivar error: The error affecting this member. + :vartype error: ~azure.mgmt.containerservicefleet.models.ErrorDetail + """ + + _validation = { + "state": {"required": True, "readonly": True}, + "last_updated_at": {"readonly": True}, + "last_operation_id": {"readonly": True}, + "error": {"readonly": True}, + } + + _attribute_map = { + "state": {"key": "state", "type": "str"}, + "last_updated_at": {"key": "lastUpdatedAt", "type": "iso-8601"}, + "last_operation_id": {"key": "lastOperationId", "type": "str"}, + "error": {"key": "error", "type": "ErrorDetail"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.state: Optional[Union[str, "_models.MeshMemberState"]] = None + self.last_updated_at: Optional[datetime.datetime] = None + self.last_operation_id: Optional[str] = None + self.error: Optional["_models.ErrorDetail"] = None + + +class MeshProperties(_serialization.Model): + """The Mesh Member data for a Fleet Member resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to server. + + :ivar cilium_properties: The Cilium cluster properties. Required. + :vartype cilium_properties: ~azure.mgmt.containerservicefleet.models.CiliumProperties + :ivar status: The status of the mesh member. Required. + :vartype status: ~azure.mgmt.containerservicefleet.models.MeshMemberStatus + :ivar cluster_mesh_profile_resource_id: Resource id of the cluster mesh profile associated with + this mesh member. Required. + :vartype cluster_mesh_profile_resource_id: str + """ + + _validation = { + "cilium_properties": {"required": True, "readonly": True}, + "status": {"required": True, "readonly": True}, + "cluster_mesh_profile_resource_id": {"required": True, "readonly": True}, + } + + _attribute_map = { + "cilium_properties": {"key": "ciliumProperties", "type": "CiliumProperties"}, + "status": {"key": "status", "type": "MeshMemberStatus"}, + "cluster_mesh_profile_resource_id": {"key": "clusterMeshProfileResourceId", "type": "str"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.cilium_properties: Optional["_models.CiliumProperties"] = None + self.status: Optional["_models.MeshMemberStatus"] = None + self.cluster_mesh_profile_resource_id: Optional[str] = None + + class MetaV1LabelSelector(_serialization.Model): """A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector @@ -1877,8 +2191,8 @@ class MetaV1LabelSelector(_serialization.Model): def __init__( self, *, - match_labels: Optional[dict[str, str]] = None, - match_expressions: Optional[list["_models.MetaV1LabelSelectorRequirement"]] = None, + match_labels: Optional[Dict[str, str]] = None, + match_expressions: Optional[List["_models.MetaV1LabelSelectorRequirement"]] = None, **kwargs: Any ) -> None: """ @@ -1930,7 +2244,7 @@ def __init__( *, key: str, operator: Union[str, "_models.LabelSelectorOperator"], - values: Optional[list[str]] = None, + values: Optional[List[str]] = None, **kwargs: Any ) -> None: """ @@ -2018,7 +2332,7 @@ def __init__( self, *, type: Union[str, "_models.NodeImageSelectionType"], - custom_node_image_versions: Optional[list["_models.NodeImageVersion"]] = None, + custom_node_image_versions: Optional[List["_models.NodeImageVersion"]] = None, **kwargs: Any ) -> None: """ @@ -2060,7 +2374,7 @@ class NodeImageSelectionStatus(_serialization.Model): def __init__(self, **kwargs: Any) -> None: """ """ super().__init__(**kwargs) - self.selected_node_image_versions: Optional[list["_models.NodeImageVersion"]] = None + self.selected_node_image_versions: Optional[List["_models.NodeImageVersion"]] = None class NodeImageVersion(_serialization.Model): @@ -2204,7 +2518,7 @@ class OperationListResult(_serialization.Model): def __init__(self, **kwargs: Any) -> None: """ """ super().__init__(**kwargs) - self.value: Optional[list["_models.Operation"]] = None + self.value: Optional[List["_models.Operation"]] = None self.next_link: Optional[str] = None @@ -2345,7 +2659,7 @@ class PlacementV1ClusterSelector(_serialization.Model): } def __init__( - self, *, cluster_selector_terms: list["_models.PlacementV1ClusterSelectorTerm"], **kwargs: Any + self, *, cluster_selector_terms: List["_models.PlacementV1ClusterSelectorTerm"], **kwargs: Any ) -> None: """ :keyword cluster_selector_terms: ClusterSelectorTerms is a list of cluster selector terms. The @@ -2437,9 +2751,9 @@ def __init__( self, *, placement_type: Optional[Union[str, "_models.PlacementType"]] = None, - cluster_names: Optional[list[str]] = None, + cluster_names: Optional[List[str]] = None, affinity: Optional["_models.PlacementV1Affinity"] = None, - tolerations: Optional[list["_models.PlacementV1Toleration"]] = None, + tolerations: Optional[List["_models.PlacementV1Toleration"]] = None, **kwargs: Any ) -> None: """ @@ -2486,7 +2800,7 @@ class PlacementV1PropertySelector(_serialization.Model): } def __init__( - self, *, match_expressions: list["_models.PlacementV1PropertySelectorRequirement"], **kwargs: Any + self, *, match_expressions: List["_models.PlacementV1PropertySelectorRequirement"], **kwargs: Any ) -> None: """ :keyword match_expressions: MatchExpressions is an array of PropertySelectorRequirements. The @@ -2532,7 +2846,7 @@ class PlacementV1PropertySelectorRequirement(_serialization.Model): } def __init__( - self, *, name: str, operator: Union[str, "_models.PropertySelectorOperator"], values: list[str], **kwargs: Any + self, *, name: str, operator: Union[str, "_models.PropertySelectorOperator"], values: List[str], **kwargs: Any ) -> None: """ :keyword name: Name is the name of the property; it should be a Kubernetes label name. @@ -2726,7 +3040,7 @@ class SkipProperties(_serialization.Model): "targets": {"key": "targets", "type": "[SkipTarget]"}, } - def __init__(self, *, targets: list["_models.SkipTarget"], **kwargs: Any) -> None: + def __init__(self, *, targets: List["_models.SkipTarget"], **kwargs: Any) -> None: """ :keyword targets: The targets to skip. Required. :paramtype targets: list[~azure.mgmt.containerservicefleet.models.SkipTarget] @@ -2888,8 +3202,8 @@ def __init__( *, name: str, max_concurrency: Optional[str] = None, - before_gates: Optional[list["_models.GateConfiguration"]] = None, - after_gates: Optional[list["_models.GateConfiguration"]] = None, + before_gates: Optional[List["_models.GateConfiguration"]] = None, + after_gates: Optional[List["_models.GateConfiguration"]] = None, **kwargs: Any ) -> None: """ @@ -2972,9 +3286,9 @@ def __init__(self, **kwargs: Any) -> None: self.status: Optional["_models.UpdateStatus"] = None self.name: Optional[str] = None self.max_concurrency: Optional[int] = None - self.members: Optional[list["_models.MemberUpdateStatus"]] = None - self.before_gates: Optional[list["_models.UpdateRunGateStatus"]] = None - self.after_gates: Optional[list["_models.UpdateRunGateStatus"]] = None + self.members: Optional[List["_models.MemberUpdateStatus"]] = None + self.before_gates: Optional[List["_models.UpdateRunGateStatus"]] = None + self.after_gates: Optional[List["_models.UpdateRunGateStatus"]] = None class UpdateRun(ProxyResource): @@ -3211,7 +3525,7 @@ class UpdateRunListResult(_serialization.Model): "next_link": {"key": "nextLink", "type": "str"}, } - def __init__(self, *, value: list["_models.UpdateRun"], next_link: Optional[str] = None, **kwargs: Any) -> None: + def __init__(self, *, value: List["_models.UpdateRun"], next_link: Optional[str] = None, **kwargs: Any) -> None: """ :keyword value: The UpdateRun items on this page. Required. :paramtype value: list[~azure.mgmt.containerservicefleet.models.UpdateRun] @@ -3255,7 +3569,7 @@ def __init__(self, **kwargs: Any) -> None: """ """ super().__init__(**kwargs) self.status: Optional["_models.UpdateStatus"] = None - self.stages: Optional[list["_models.UpdateStageStatus"]] = None + self.stages: Optional[List["_models.UpdateStageStatus"]] = None self.node_image_selection: Optional["_models.NodeImageSelectionStatus"] = None @@ -3282,7 +3596,7 @@ class UpdateRunStrategy(_serialization.Model): "stages": {"key": "stages", "type": "[UpdateStage]"}, } - def __init__(self, *, stages: list["_models.UpdateStage"], **kwargs: Any) -> None: + def __init__(self, *, stages: List["_models.UpdateStage"], **kwargs: Any) -> None: """ :keyword stages: The list of stages that compose this update run. Min size: 1. Required. :paramtype stages: list[~azure.mgmt.containerservicefleet.models.UpdateStage] @@ -3346,11 +3660,11 @@ def __init__( self, *, name: str, - groups: Optional[list["_models.UpdateGroup"]] = None, + groups: Optional[List["_models.UpdateGroup"]] = None, after_stage_wait_in_seconds: Optional[int] = None, max_concurrency: Optional[str] = None, - before_gates: Optional[list["_models.GateConfiguration"]] = None, - after_gates: Optional[list["_models.GateConfiguration"]] = None, + before_gates: Optional[List["_models.GateConfiguration"]] = None, + after_gates: Optional[List["_models.GateConfiguration"]] = None, **kwargs: Any ) -> None: """ @@ -3441,9 +3755,9 @@ def __init__(self, **kwargs: Any) -> None: self.status: Optional["_models.UpdateStatus"] = None self.name: Optional[str] = None self.max_concurrency: Optional[int] = None - self.groups: Optional[list["_models.UpdateGroupStatus"]] = None - self.before_gates: Optional[list["_models.UpdateRunGateStatus"]] = None - self.after_gates: Optional[list["_models.UpdateRunGateStatus"]] = None + self.groups: Optional[List["_models.UpdateGroupStatus"]] = None + self.before_gates: Optional[List["_models.UpdateRunGateStatus"]] = None + self.after_gates: Optional[List["_models.UpdateRunGateStatus"]] = None self.after_stage_wait_status: Optional["_models.WaitStatus"] = None diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/_patch.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/models/_patch.py similarity index 89% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/_patch.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/models/_patch.py index 87676c65a8f..8bcb627aa47 100644 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/_patch.py +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/models/_patch.py @@ -7,9 +7,9 @@ Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize """ +from typing import List - -__all__: list[str] = [] # Add all objects you want publicly available to users at this package level +__all__: List[str] = [] # Add all objects you want publicly available to users at this package level def patch_sdk(): diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/__init__.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/__init__.py similarity index 93% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/__init__.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/__init__.py index 8b7809a8595..557bb51eb14 100644 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/aio/operations/__init__.py +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/__init__.py @@ -16,6 +16,7 @@ from ._fleets_operations import FleetsOperations # type: ignore from ._auto_upgrade_profiles_operations import AutoUpgradeProfilesOperations # type: ignore from ._auto_upgrade_profile_operations_operations import AutoUpgradeProfileOperationsOperations # type: ignore +from ._cluster_mesh_profiles_operations import ClusterMeshProfilesOperations # type: ignore from ._gates_operations import GatesOperations # type: ignore from ._fleet_managed_namespaces_operations import FleetManagedNamespacesOperations # type: ignore from ._fleet_members_operations import FleetMembersOperations # type: ignore @@ -31,6 +32,7 @@ "FleetsOperations", "AutoUpgradeProfilesOperations", "AutoUpgradeProfileOperationsOperations", + "ClusterMeshProfilesOperations", "GatesOperations", "FleetManagedNamespacesOperations", "FleetMembersOperations", diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/_auto_upgrade_profile_operations_operations.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_auto_upgrade_profile_operations_operations.py similarity index 95% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/_auto_upgrade_profile_operations_operations.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_auto_upgrade_profile_operations_operations.py index 376b0c7c5dd..ba766359afd 100644 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/_auto_upgrade_profile_operations_operations.py +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_auto_upgrade_profile_operations_operations.py @@ -7,7 +7,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from collections.abc import MutableMapping -from typing import Any, Callable, Iterator, Optional, TypeVar, Union, cast +from typing import Any, Callable, Dict, Iterator, Optional, TypeVar, Union, cast from azure.core import PipelineClient from azure.core.exceptions import ( @@ -30,11 +30,10 @@ from .. import models as _models from .._configuration import ContainerServiceFleetMgmtClientConfiguration -from .._utils.serialization import Deserializer, Serializer +from .._serialization import Deserializer, Serializer T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] -List = list +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False @@ -46,7 +45,7 @@ def build_generate_update_run_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -95,7 +94,7 @@ class AutoUpgradeProfileOperationsOperations: models = _models - def __init__(self, *args, **kwargs) -> None: + def __init__(self, *args, **kwargs): input_args = list(args) self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") self._config: ContainerServiceFleetMgmtClientConfiguration = ( @@ -146,10 +145,7 @@ def _generate_update_run_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/_auto_upgrade_profiles_operations.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_auto_upgrade_profiles_operations.py similarity index 96% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/_auto_upgrade_profiles_operations.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_auto_upgrade_profiles_operations.py index d02a5f1ddce..286a531896e 100644 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/_auto_upgrade_profiles_operations.py +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_auto_upgrade_profiles_operations.py @@ -8,7 +8,7 @@ # -------------------------------------------------------------------------- from collections.abc import MutableMapping from io import IOBase -from typing import Any, Callable, IO, Iterator, Optional, TypeVar, Union, cast, overload +from typing import Any, Callable, Dict, IO, Iterable, Iterator, Optional, TypeVar, Union, cast, overload import urllib.parse from azure.core import PipelineClient @@ -33,11 +33,10 @@ from .. import models as _models from .._configuration import ContainerServiceFleetMgmtClientConfiguration -from .._utils.serialization import Deserializer, Serializer +from .._serialization import Deserializer, Serializer T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] -List = list +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False @@ -55,7 +54,7 @@ def build_list_by_fleet_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -94,7 +93,7 @@ def build_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -144,7 +143,7 @@ def build_create_or_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -200,7 +199,7 @@ def build_delete_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -251,7 +250,7 @@ class AutoUpgradeProfilesOperations: models = _models - def __init__(self, *args, **kwargs) -> None: + def __init__(self, *args, **kwargs): input_args = list(args) self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") self._config: ContainerServiceFleetMgmtClientConfiguration = ( @@ -268,7 +267,7 @@ def list_by_fleet( top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> ItemPaged["_models.AutoUpgradeProfile"]: + ) -> Iterable["_models.AutoUpgradeProfile"]: """List AutoUpgradeProfile resources by Fleet. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -350,10 +349,7 @@ def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -411,10 +407,7 @@ def get( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("AutoUpgradeProfile", pipeline_response.http_response) @@ -487,10 +480,7 @@ def _create_or_update_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -722,10 +712,7 @@ def _delete_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_cluster_mesh_profiles_operations.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_cluster_mesh_profiles_operations.py new file mode 100644 index 00000000000..7e9da95e545 --- /dev/null +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_cluster_mesh_profiles_operations.py @@ -0,0 +1,961 @@ +# pylint: disable=line-too-long,useless-suppression +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from collections.abc import MutableMapping +from io import IOBase +from typing import Any, Callable, Dict, IO, Iterable, Iterator, Optional, TypeVar, Union, cast, overload +import urllib.parse + +from azure.core import PipelineClient +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + ResourceNotModifiedError, + StreamClosedError, + StreamConsumedError, + map_error, +) +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest, HttpResponse +from azure.core.tracing.decorator import distributed_trace +from azure.core.utils import case_insensitive_dict +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models as _models +from .._configuration import ContainerServiceFleetMgmtClientConfiguration +from .._serialization import Deserializer, Serializer + +T = TypeVar("T") +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + + +def build_list_by_fleet_request( + resource_group_name: str, fleet_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/clusterMeshProfiles", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "fleetName": _SERIALIZER.url( + "fleet_name", fleet_name, "str", max_length=63, min_length=1, pattern=r"^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" + ), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_get_request( + resource_group_name: str, fleet_name: str, cluster_mesh_profile_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/clusterMeshProfiles/{clusterMeshProfileName}", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "fleetName": _SERIALIZER.url( + "fleet_name", fleet_name, "str", max_length=63, min_length=1, pattern=r"^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" + ), + "clusterMeshProfileName": _SERIALIZER.url( + "cluster_mesh_profile_name", + cluster_mesh_profile_name, + "str", + max_length=63, + min_length=1, + pattern=r"^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", + ), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_create_or_update_request( + resource_group_name: str, + fleet_name: str, + cluster_mesh_profile_name: str, + subscription_id: str, + *, + if_match: Optional[str] = None, + if_none_match: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/clusterMeshProfiles/{clusterMeshProfileName}", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "fleetName": _SERIALIZER.url( + "fleet_name", fleet_name, "str", max_length=63, min_length=1, pattern=r"^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" + ), + "clusterMeshProfileName": _SERIALIZER.url( + "cluster_mesh_profile_name", + cluster_mesh_profile_name, + "str", + max_length=63, + min_length=1, + pattern=r"^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", + ), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + if if_match is not None: + _headers["If-Match"] = _SERIALIZER.header("if_match", if_match, "str") + if if_none_match is not None: + _headers["If-None-Match"] = _SERIALIZER.header("if_none_match", if_none_match, "str") + if content_type is not None: + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_delete_request( + resource_group_name: str, + fleet_name: str, + cluster_mesh_profile_name: str, + subscription_id: str, + *, + if_match: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/clusterMeshProfiles/{clusterMeshProfileName}", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "fleetName": _SERIALIZER.url( + "fleet_name", fleet_name, "str", max_length=63, min_length=1, pattern=r"^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" + ), + "clusterMeshProfileName": _SERIALIZER.url( + "cluster_mesh_profile_name", + cluster_mesh_profile_name, + "str", + max_length=63, + min_length=1, + pattern=r"^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", + ), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + if if_match is not None: + _headers["If-Match"] = _SERIALIZER.header("if_match", if_match, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_apply_request( + resource_group_name: str, + fleet_name: str, + cluster_mesh_profile_name: str, + subscription_id: str, + *, + if_match: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/clusterMeshProfiles/{clusterMeshProfileName}/apply", + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url( + "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 + ), + "fleetName": _SERIALIZER.url( + "fleet_name", fleet_name, "str", max_length=63, min_length=1, pattern=r"^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" + ), + "clusterMeshProfileName": _SERIALIZER.url( + "cluster_mesh_profile_name", + cluster_mesh_profile_name, + "str", + max_length=63, + min_length=1, + pattern=r"^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", + ), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + if if_match is not None: + _headers["If-Match"] = _SERIALIZER.header("if_match", if_match, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) + + +class ClusterMeshProfilesOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.containerservicefleet.ContainerServiceFleetMgmtClient`'s + :attr:`cluster_mesh_profiles` attribute. + """ + + models = _models + + def __init__(self, *args, **kwargs): + input_args = list(args) + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: ContainerServiceFleetMgmtClientConfiguration = ( + input_args.pop(0) if input_args else kwargs.pop("config") + ) + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @distributed_trace + def list_by_fleet( + self, resource_group_name: str, fleet_name: str, **kwargs: Any + ) -> Iterable["_models.ClusterMeshProfile"]: + """List ClusterMeshProfile resources by Fleet. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param fleet_name: The name of the Fleet resource. Required. + :type fleet_name: str + :return: An iterator like instance of either ClusterMeshProfile or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.containerservicefleet.models.ClusterMeshProfile] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.ClusterMeshProfileListResult] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_list_by_fleet_request( + resource_group_name=resource_group_name, + fleet_name=fleet_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params + ) + _request.url = self._client.format_url(_request.url) + _request.method = "GET" + return _request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ClusterMeshProfileListResult", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + _request = prepare_request(next_link) + + _stream = False + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + @distributed_trace + def get( + self, resource_group_name: str, fleet_name: str, cluster_mesh_profile_name: str, **kwargs: Any + ) -> _models.ClusterMeshProfile: + """Get a ClusterMeshProfile. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param fleet_name: The name of the Fleet resource. Required. + :type fleet_name: str + :param cluster_mesh_profile_name: The name of the ClusterMeshProfile resource. Required. + :type cluster_mesh_profile_name: str + :return: ClusterMeshProfile or the result of cls(response) + :rtype: ~azure.mgmt.containerservicefleet.models.ClusterMeshProfile + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.ClusterMeshProfile] = kwargs.pop("cls", None) + + _request = build_get_request( + resource_group_name=resource_group_name, + fleet_name=fleet_name, + cluster_mesh_profile_name=cluster_mesh_profile_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _stream = False + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize("ClusterMeshProfile", pipeline_response.http_response) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + def _create_or_update_initial( + self, + resource_group_name: str, + fleet_name: str, + cluster_mesh_profile_name: str, + resource: Union[_models.ClusterMeshProfile, IO[bytes]], + if_match: Optional[str] = None, + if_none_match: Optional[str] = None, + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _json = None + _content = None + if isinstance(resource, (IOBase, bytes)): + _content = resource + else: + _json = self._serialize.body(resource, "ClusterMeshProfile") + + _request = build_create_or_update_request( + resource_group_name=resource_group_name, + fleet_name=fleet_name, + cluster_mesh_profile_name=cluster_mesh_profile_name, + subscription_id=self._config.subscription_id, + if_match=if_match, + if_none_match=if_none_match, + api_version=api_version, + content_type=content_type, + json=_json, + content=_content, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 201: + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_create_or_update( + self, + resource_group_name: str, + fleet_name: str, + cluster_mesh_profile_name: str, + resource: _models.ClusterMeshProfile, + if_match: Optional[str] = None, + if_none_match: Optional[str] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.ClusterMeshProfile]: + """Create a ClusterMeshProfile. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param fleet_name: The name of the Fleet resource. Required. + :type fleet_name: str + :param cluster_mesh_profile_name: The name of the ClusterMeshProfile resource. Required. + :type cluster_mesh_profile_name: str + :param resource: Resource create parameters. Required. + :type resource: ~azure.mgmt.containerservicefleet.models.ClusterMeshProfile + :param if_match: The request should only proceed if an entity matches this string. Default + value is None. + :type if_match: str + :param if_none_match: The request should only proceed if no entity matches this string. Default + value is None. + :type if_none_match: str + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns either ClusterMeshProfile or the result of + cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.containerservicefleet.models.ClusterMeshProfile] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_create_or_update( + self, + resource_group_name: str, + fleet_name: str, + cluster_mesh_profile_name: str, + resource: IO[bytes], + if_match: Optional[str] = None, + if_none_match: Optional[str] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.ClusterMeshProfile]: + """Create a ClusterMeshProfile. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param fleet_name: The name of the Fleet resource. Required. + :type fleet_name: str + :param cluster_mesh_profile_name: The name of the ClusterMeshProfile resource. Required. + :type cluster_mesh_profile_name: str + :param resource: Resource create parameters. Required. + :type resource: IO[bytes] + :param if_match: The request should only proceed if an entity matches this string. Default + value is None. + :type if_match: str + :param if_none_match: The request should only proceed if no entity matches this string. Default + value is None. + :type if_none_match: str + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: An instance of LROPoller that returns either ClusterMeshProfile or the result of + cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.containerservicefleet.models.ClusterMeshProfile] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_create_or_update( + self, + resource_group_name: str, + fleet_name: str, + cluster_mesh_profile_name: str, + resource: Union[_models.ClusterMeshProfile, IO[bytes]], + if_match: Optional[str] = None, + if_none_match: Optional[str] = None, + **kwargs: Any + ) -> LROPoller[_models.ClusterMeshProfile]: + """Create a ClusterMeshProfile. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param fleet_name: The name of the Fleet resource. Required. + :type fleet_name: str + :param cluster_mesh_profile_name: The name of the ClusterMeshProfile resource. Required. + :type cluster_mesh_profile_name: str + :param resource: Resource create parameters. Is either a ClusterMeshProfile type or a IO[bytes] + type. Required. + :type resource: ~azure.mgmt.containerservicefleet.models.ClusterMeshProfile or IO[bytes] + :param if_match: The request should only proceed if an entity matches this string. Default + value is None. + :type if_match: str + :param if_none_match: The request should only proceed if no entity matches this string. Default + value is None. + :type if_none_match: str + :return: An instance of LROPoller that returns either ClusterMeshProfile or the result of + cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.containerservicefleet.models.ClusterMeshProfile] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.ClusterMeshProfile] = kwargs.pop("cls", None) + polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token: Optional[str] = kwargs.pop("continuation_token", None) + if cont_token is None: + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + fleet_name=fleet_name, + cluster_mesh_profile_name=cluster_mesh_profile_name, + resource=resource, + if_match=if_match, + if_none_match=if_none_match, + api_version=api_version, + content_type=content_type, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize("ClusterMeshProfile", pipeline_response.http_response) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "original-uri"}, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.ClusterMeshProfile].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.ClusterMeshProfile]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + def _delete_initial( + self, + resource_group_name: str, + fleet_name: str, + cluster_mesh_profile_name: str, + if_match: Optional[str] = None, + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + _request = build_delete_request( + resource_group_name=resource_group_name, + fleet_name=fleet_name, + cluster_mesh_profile_name=cluster_mesh_profile_name, + subscription_id=self._config.subscription_id, + if_match=if_match, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [202, 204]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + fleet_name: str, + cluster_mesh_profile_name: str, + if_match: Optional[str] = None, + **kwargs: Any + ) -> LROPoller[None]: + """Delete a ClusterMeshProfile. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param fleet_name: The name of the Fleet resource. Required. + :type fleet_name: str + :param cluster_mesh_profile_name: The name of the ClusterMeshProfile resource. Required. + :type cluster_mesh_profile_name: str + :param if_match: The request should only proceed if an entity matches this string. Default + value is None. + :type if_match: str + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[None] = kwargs.pop("cls", None) + polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token: Optional[str] = kwargs.pop("continuation_token", None) + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + fleet_name=fleet_name, + cluster_mesh_profile_name=cluster_mesh_profile_name, + if_match=if_match, + api_version=api_version, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[None].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[None](self._client, raw_result, get_long_running_output, polling_method) # type: ignore + + def _apply_initial( + self, + resource_group_name: str, + fleet_name: str, + cluster_mesh_profile_name: str, + if_match: Optional[str] = None, + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + _request = build_apply_request( + resource_group_name=resource_group_name, + fleet_name=fleet_name, + cluster_mesh_profile_name=cluster_mesh_profile_name, + subscription_id=self._config.subscription_id, + if_match=if_match, + api_version=api_version, + headers=_headers, + params=_params, + ) + _request.url = self._client.format_url(_request.url) + + _decompress = kwargs.pop("decompress", True) + _stream = True + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.stream_download(self._client._pipeline, decompress=_decompress) + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + def begin_apply( + self, + resource_group_name: str, + fleet_name: str, + cluster_mesh_profile_name: str, + if_match: Optional[str] = None, + **kwargs: Any + ) -> LROPoller[_models.ClusterMeshProfile]: + """Applies the cluster mesh profile to selected fleet members. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param fleet_name: The name of the Fleet resource. Required. + :type fleet_name: str + :param cluster_mesh_profile_name: The name of the ClusterMeshProfile resource. Required. + :type cluster_mesh_profile_name: str + :param if_match: The request should only proceed if an entity matches this string. Default + value is None. + :type if_match: str + :return: An instance of LROPoller that returns either ClusterMeshProfile or the result of + cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.containerservicefleet.models.ClusterMeshProfile] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.ClusterMeshProfile] = kwargs.pop("cls", None) + polling: Union[bool, PollingMethod] = kwargs.pop("polling", True) + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token: Optional[str] = kwargs.pop("continuation_token", None) + if cont_token is None: + raw_result = self._apply_initial( + resource_group_name=resource_group_name, + fleet_name=fleet_name, + cluster_mesh_profile_name=cluster_mesh_profile_name, + if_match=if_match, + api_version=api_version, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize("ClusterMeshProfile", pipeline_response.http_response) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.ClusterMeshProfile].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.ClusterMeshProfile]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/_fleet_managed_namespaces_operations.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_fleet_managed_namespaces_operations.py similarity index 97% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/_fleet_managed_namespaces_operations.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_fleet_managed_namespaces_operations.py index 383c5009117..b8070caed4c 100644 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/_fleet_managed_namespaces_operations.py +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_fleet_managed_namespaces_operations.py @@ -8,7 +8,7 @@ # -------------------------------------------------------------------------- from collections.abc import MutableMapping from io import IOBase -from typing import Any, Callable, IO, Iterator, Optional, TypeVar, Union, cast, overload +from typing import Any, Callable, Dict, IO, Iterable, Iterator, Optional, TypeVar, Union, cast, overload import urllib.parse from azure.core import PipelineClient @@ -33,11 +33,10 @@ from .. import models as _models from .._configuration import ContainerServiceFleetMgmtClientConfiguration -from .._utils.serialization import Deserializer, Serializer +from .._serialization import Deserializer, Serializer T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] -List = list +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False @@ -49,7 +48,7 @@ def build_list_by_fleet_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -84,7 +83,7 @@ def build_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -134,7 +133,7 @@ def build_create_or_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -190,7 +189,7 @@ def build_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -244,7 +243,7 @@ def build_delete_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -295,7 +294,7 @@ class FleetManagedNamespacesOperations: models = _models - def __init__(self, *args, **kwargs) -> None: + def __init__(self, *args, **kwargs): input_args = list(args) self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") self._config: ContainerServiceFleetMgmtClientConfiguration = ( @@ -307,7 +306,7 @@ def __init__(self, *args, **kwargs) -> None: @distributed_trace def list_by_fleet( self, resource_group_name: str, fleet_name: str, **kwargs: Any - ) -> ItemPaged["_models.FleetManagedNamespace"]: + ) -> Iterable["_models.FleetManagedNamespace"]: """List FleetManagedNamespace resources by Fleet. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -383,10 +382,7 @@ def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -444,10 +440,7 @@ def get( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("FleetManagedNamespace", pipeline_response.http_response) @@ -520,10 +513,7 @@ def _create_or_update_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -768,10 +758,7 @@ def _update_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -989,10 +976,7 @@ def _delete_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/_fleet_members_operations.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_fleet_members_operations.py similarity index 97% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/_fleet_members_operations.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_fleet_members_operations.py index 5392ee5ecd1..19f39ec11e3 100644 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/_fleet_members_operations.py +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_fleet_members_operations.py @@ -8,7 +8,7 @@ # -------------------------------------------------------------------------- from collections.abc import MutableMapping from io import IOBase -from typing import Any, Callable, IO, Iterator, Optional, TypeVar, Union, cast, overload +from typing import Any, Callable, Dict, IO, Iterable, Iterator, Optional, TypeVar, Union, cast, overload import urllib.parse from azure.core import PipelineClient @@ -33,11 +33,10 @@ from .. import models as _models from .._configuration import ContainerServiceFleetMgmtClientConfiguration -from .._utils.serialization import Deserializer, Serializer +from .._serialization import Deserializer, Serializer T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] -List = list +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False @@ -56,7 +55,7 @@ def build_list_by_fleet_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -97,7 +96,7 @@ def build_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -147,7 +146,7 @@ def build_create_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -203,7 +202,7 @@ def build_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -257,7 +256,7 @@ def build_delete_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -308,7 +307,7 @@ class FleetMembersOperations: models = _models - def __init__(self, *args, **kwargs) -> None: + def __init__(self, *args, **kwargs): input_args = list(args) self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") self._config: ContainerServiceFleetMgmtClientConfiguration = ( @@ -326,7 +325,7 @@ def list_by_fleet( skip_token: Optional[str] = None, filter: Optional[str] = None, **kwargs: Any - ) -> ItemPaged["_models.FleetMember"]: + ) -> Iterable["_models.FleetMember"]: """List FleetMember resources by Fleet. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -410,10 +409,7 @@ def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -471,10 +467,7 @@ def get( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("FleetMember", pipeline_response.http_response) @@ -547,10 +540,7 @@ def _create_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -789,10 +779,7 @@ def _update_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -1006,10 +993,7 @@ def _delete_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/_fleet_update_strategies_operations.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_fleet_update_strategies_operations.py similarity index 96% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/_fleet_update_strategies_operations.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_fleet_update_strategies_operations.py index c74f050c43b..63fc471713d 100644 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/_fleet_update_strategies_operations.py +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_fleet_update_strategies_operations.py @@ -8,7 +8,7 @@ # -------------------------------------------------------------------------- from collections.abc import MutableMapping from io import IOBase -from typing import Any, Callable, IO, Iterator, Optional, TypeVar, Union, cast, overload +from typing import Any, Callable, Dict, IO, Iterable, Iterator, Optional, TypeVar, Union, cast, overload import urllib.parse from azure.core import PipelineClient @@ -33,11 +33,10 @@ from .. import models as _models from .._configuration import ContainerServiceFleetMgmtClientConfiguration -from .._utils.serialization import Deserializer, Serializer +from .._serialization import Deserializer, Serializer T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] -List = list +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False @@ -55,7 +54,7 @@ def build_list_by_fleet_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -94,7 +93,7 @@ def build_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -144,7 +143,7 @@ def build_create_or_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -200,7 +199,7 @@ def build_delete_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -251,7 +250,7 @@ class FleetUpdateStrategiesOperations: models = _models - def __init__(self, *args, **kwargs) -> None: + def __init__(self, *args, **kwargs): input_args = list(args) self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") self._config: ContainerServiceFleetMgmtClientConfiguration = ( @@ -268,7 +267,7 @@ def list_by_fleet( top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> ItemPaged["_models.FleetUpdateStrategy"]: + ) -> Iterable["_models.FleetUpdateStrategy"]: """List FleetUpdateStrategy resources by Fleet. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -350,10 +349,7 @@ def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -411,10 +407,7 @@ def get( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("FleetUpdateStrategy", pipeline_response.http_response) @@ -487,10 +480,7 @@ def _create_or_update_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -719,10 +709,7 @@ def _delete_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/_fleets_operations.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_fleets_operations.py similarity index 96% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/_fleets_operations.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_fleets_operations.py index 0dad4737d44..2c1c2597909 100644 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/_fleets_operations.py +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_fleets_operations.py @@ -8,7 +8,7 @@ # -------------------------------------------------------------------------- from collections.abc import MutableMapping from io import IOBase -from typing import Any, Callable, IO, Iterator, Optional, TypeVar, Union, cast, overload +from typing import Any, Callable, Dict, IO, Iterable, Iterator, Optional, TypeVar, Union, cast, overload import urllib.parse from azure.core import PipelineClient @@ -33,11 +33,10 @@ from .. import models as _models from .._configuration import ContainerServiceFleetMgmtClientConfiguration -from .._utils.serialization import Deserializer, Serializer +from .._serialization import Deserializer, Serializer T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] -List = list +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False @@ -49,7 +48,7 @@ def build_list_by_subscription_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -77,7 +76,7 @@ def build_list_by_resource_group_request(resource_group_name: str, subscription_ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -107,7 +106,7 @@ def build_get_request(resource_group_name: str, fleet_name: str, subscription_id _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -148,7 +147,7 @@ def build_create_or_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -190,7 +189,7 @@ def build_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -230,7 +229,7 @@ def build_delete_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -267,7 +266,7 @@ def build_list_credentials_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -308,7 +307,7 @@ class FleetsOperations: models = _models - def __init__(self, *args, **kwargs) -> None: + def __init__(self, *args, **kwargs): input_args = list(args) self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") self._config: ContainerServiceFleetMgmtClientConfiguration = ( @@ -320,7 +319,7 @@ def __init__(self, *args, **kwargs) -> None: @distributed_trace def list_by_subscription( self, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> ItemPaged["_models.Fleet"]: + ) -> Iterable["_models.Fleet"]: """Lists fleets in the specified subscription. :param top: The number of result items to return. Default value is None. @@ -394,10 +393,7 @@ def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -405,7 +401,7 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) @distributed_trace - def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> ItemPaged["_models.Fleet"]: + def list_by_resource_group(self, resource_group_name: str, **kwargs: Any) -> Iterable["_models.Fleet"]: """Lists fleets in the specified subscription and resource group. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -476,10 +472,7 @@ def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -532,10 +525,7 @@ def get(self, resource_group_name: str, fleet_name: str, **kwargs: Any) -> _mode if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("Fleet", pipeline_response.http_response) @@ -606,10 +596,7 @@ def _create_or_update_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -833,10 +820,7 @@ def _update_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -1031,10 +1015,7 @@ def _delete_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -1158,10 +1139,7 @@ def list_credentials( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("FleetCredentialResults", pipeline_response.http_response) diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/_gates_operations.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_gates_operations.py similarity index 96% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/_gates_operations.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_gates_operations.py index 067abb9f7c1..4cc3a669566 100644 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/_gates_operations.py +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_gates_operations.py @@ -8,7 +8,7 @@ # -------------------------------------------------------------------------- from collections.abc import MutableMapping from io import IOBase -from typing import Any, Callable, IO, Iterator, Optional, TypeVar, Union, cast, overload +from typing import Any, Callable, Dict, IO, Iterable, Iterator, Optional, TypeVar, Union, cast, overload import urllib.parse from azure.core import PipelineClient @@ -33,11 +33,10 @@ from .. import models as _models from .._configuration import ContainerServiceFleetMgmtClientConfiguration -from .._utils.serialization import Deserializer, Serializer +from .._serialization import Deserializer, Serializer T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] -List = list +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False @@ -56,7 +55,7 @@ def build_list_by_fleet_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -97,7 +96,7 @@ def build_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -147,7 +146,7 @@ def build_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -203,7 +202,7 @@ class GatesOperations: models = _models - def __init__(self, *args, **kwargs) -> None: + def __init__(self, *args, **kwargs): input_args = list(args) self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") self._config: ContainerServiceFleetMgmtClientConfiguration = ( @@ -221,7 +220,7 @@ def list_by_fleet( top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> ItemPaged["_models.Gate"]: + ) -> Iterable["_models.Gate"]: """List Gate resources by Fleet. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -305,10 +304,7 @@ def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -364,10 +360,7 @@ def get(self, resource_group_name: str, fleet_name: str, gate_name: str, **kwarg if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("Gate", pipeline_response.http_response) @@ -440,10 +433,7 @@ def _update_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/_operations.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_operations.py similarity index 92% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/_operations.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_operations.py index 106fe128d32..381dd424759 100644 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/_operations.py +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_operations.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from collections.abc import MutableMapping -from typing import Any, Callable, Optional, TypeVar +from typing import Any, Callable, Dict, Iterable, Optional, TypeVar import urllib.parse from azure.core import PipelineClient @@ -27,11 +27,10 @@ from .. import models as _models from .._configuration import ContainerServiceFleetMgmtClientConfiguration -from .._utils.serialization import Deserializer, Serializer +from .._serialization import Deserializer, Serializer T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] -List = list +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False @@ -41,7 +40,7 @@ def build_list_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -68,7 +67,7 @@ class Operations: models = _models - def __init__(self, *args, **kwargs) -> None: + def __init__(self, *args, **kwargs): input_args = list(args) self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") self._config: ContainerServiceFleetMgmtClientConfiguration = ( @@ -78,7 +77,7 @@ def __init__(self, *args, **kwargs) -> None: self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @distributed_trace - def list(self, **kwargs: Any) -> ItemPaged["_models.Operation"]: + def list(self, **kwargs: Any) -> Iterable["_models.Operation"]: """List the operations for the provider. :return: An iterator like instance of either Operation or the result of cls(response) @@ -144,10 +143,7 @@ def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_patch.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_patch.py new file mode 100644 index 00000000000..8bcb627aa47 --- /dev/null +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_patch.py @@ -0,0 +1,21 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------- +"""Customize generated code here. + +Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize +""" +from typing import List + +__all__: List[str] = [] # Add all objects you want publicly available to users at this package level + + +def patch_sdk(): + """Do not remove from this file. + + `patch_sdk` is a last resort escape hatch that allows you to do customizations + you can't accomplish using the techniques described in + https://aka.ms/azsdk/python/dpcodegen/python/customize + """ diff --git a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/_update_runs_operations.py b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_update_runs_operations.py similarity index 97% rename from src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/_update_runs_operations.py rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_update_runs_operations.py index ac9db52c15d..f027a4bd1b0 100644 --- a/src/fleet/azext_fleet/vendored_sdks/v2026_02_01_preview/operations/_update_runs_operations.py +++ b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/operations/_update_runs_operations.py @@ -8,7 +8,7 @@ # -------------------------------------------------------------------------- from collections.abc import MutableMapping from io import IOBase -from typing import Any, Callable, IO, Iterator, Optional, TypeVar, Union, cast, overload +from typing import Any, Callable, Dict, IO, Iterable, Iterator, Optional, TypeVar, Union, cast, overload import urllib.parse from azure.core import PipelineClient @@ -33,11 +33,10 @@ from .. import models as _models from .._configuration import ContainerServiceFleetMgmtClientConfiguration -from .._utils.serialization import Deserializer, Serializer +from .._serialization import Deserializer, Serializer T = TypeVar("T") -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] -List = list +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False @@ -55,7 +54,7 @@ def build_list_by_fleet_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -94,7 +93,7 @@ def build_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -144,7 +143,7 @@ def build_create_or_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -200,7 +199,7 @@ def build_delete_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -251,7 +250,7 @@ def build_skip_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -305,7 +304,7 @@ def build_start_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -356,7 +355,7 @@ def build_stop_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-02-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-03-02-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -407,7 +406,7 @@ class UpdateRunsOperations: models = _models - def __init__(self, *args, **kwargs) -> None: + def __init__(self, *args, **kwargs): input_args = list(args) self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") self._config: ContainerServiceFleetMgmtClientConfiguration = ( @@ -424,7 +423,7 @@ def list_by_fleet( top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> ItemPaged["_models.UpdateRun"]: + ) -> Iterable["_models.UpdateRun"]: """List UpdateRun resources by Fleet. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -505,10 +504,7 @@ def get_next(next_link=None): if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -564,10 +560,7 @@ def get(self, resource_group_name: str, fleet_name: str, update_run_name: str, * if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize("UpdateRun", pipeline_response.http_response) @@ -640,10 +633,7 @@ def _create_or_update_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -866,10 +856,7 @@ def _delete_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -1014,10 +1001,7 @@ def _skip_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -1228,10 +1212,7 @@ def _start_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} @@ -1367,10 +1348,7 @@ def _stop_initial( except (StreamConsumedError, StreamClosedError): pass map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize( - _models.ErrorResponse, - pipeline_response, - ) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} diff --git a/src/fleet/azext_fleet/vendored_sdks/py.typed b/src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/py.typed similarity index 100% rename from src/fleet/azext_fleet/vendored_sdks/py.typed rename to src/fleet/azext_fleet/vendored_sdks/v2026_03_02_preview/py.typed diff --git a/src/fleet/setup.py b/src/fleet/setup.py index 33b0b18f6a9..f8d4ae3d4e8 100644 --- a/src/fleet/setup.py +++ b/src/fleet/setup.py @@ -16,7 +16,7 @@ # TODO: Confirm this is the right version number you want and it matches your # HISTORY.rst entry. -VERSION = '1.9.0' +VERSION = '2.0.0' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers