Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion src/fleet/HISTORY.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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.
* Add 2026-02-01-preview API Version with UpdateRun MaxConcurrency support. Add fix for ControlPlaneOnly upgrade type requiring no node image selection.

2.1.0
++++++
* Add 2026-05-01-preview API version with vendored generated SDK.
2 changes: 1 addition & 1 deletion src/fleet/azext_fleet/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ def register_fleet_resource_type():
register_resource_type(
"latest",
CUSTOM_MGMT_FLEET,
SDKProfile("2026-02-01-preview"),
SDKProfile("2026-05-01-preview"),
)


Expand Down
2 changes: 1 addition & 1 deletion src/fleet/azext_fleet/azext_metadata.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"azext.isPreview": false,
"azext.minCliCoreVersion": "2.61.0",
"version": "1.8.0"
"version": "2.1.0"
}
2 changes: 1 addition & 1 deletion src/fleet/azext_fleet/custom.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
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_05_01_preview.models import (
PropagationPolicy,
PlacementProfile,
PlacementV1ClusterResourcePlacementSpec,
Expand Down

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ class ContainerServiceFleetMgmtClient(MultiApiClientMixin, _SDKClient):
: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'
DEFAULT_API_VERSION = '2026-05-01-preview'
_PROFILE_TAG = "azure.mgmt.containerservicefleet.ContainerServiceFleetMgmtClient"
LATEST_PROFILE = ProfileDefinition({
_PROFILE_TAG: {
Expand Down Expand Up @@ -165,6 +165,9 @@ def models(cls, api_version=DEFAULT_API_VERSION):
elif api_version == '2026-02-01-preview':
from .v2026_02_01_preview import models
return models
elif api_version == '2026-05-01-preview':
from .v2026_05_01_preview import models
return models
raise ValueError("API version {} is not available".format(api_version))

@property
Expand All @@ -186,6 +189,8 @@ def auto_upgrade_profile_operations(self):
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
elif api_version == '2026-05-01-preview':
from .v2026_05_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
Expand All @@ -210,6 +215,8 @@ def auto_upgrade_profiles(self):
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
elif api_version == '2026-05-01-preview':
from .v2026_05_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
Expand All @@ -228,6 +235,8 @@ def fleet_managed_namespaces(self):
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
elif api_version == '2026-05-01-preview':
from .v2026_05_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
Expand Down Expand Up @@ -276,6 +285,8 @@ def fleet_members(self):
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
elif api_version == '2026-05-01-preview':
from .v2026_05_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
Expand Down Expand Up @@ -309,6 +320,8 @@ def fleet_update_strategies(self):
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
elif api_version == '2026-05-01-preview':
from .v2026_05_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
Expand Down Expand Up @@ -357,6 +370,8 @@ def fleets(self):
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
elif api_version == '2026-05-01-preview':
from .v2026_05_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
Expand All @@ -379,6 +394,8 @@ def gates(self):
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
elif api_version == '2026-05-01-preview':
from .v2026_05_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
Expand Down Expand Up @@ -421,6 +438,8 @@ def operations(self):
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
elif api_version == '2026-05-01-preview':
from .v2026_05_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
Expand Down Expand Up @@ -460,11 +479,28 @@ def update_runs(self):
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
elif api_version == '2026-05-01-preview':
from .v2026_05_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)

@property
def cluster_mesh_profiles(self):
"""Instance depends on the API version:

* 2026-05-01-preview: :class:`ClusterMeshProfilesOperations<azure.mgmt.containerservicefleet.v2026_05_01_preview.operations.ClusterMeshProfilesOperations>`

"""
api_version = self._get_api_version('cluster_mesh_profiles')
if api_version == '2026-05-01-preview':
from .v2026_05_01_preview.operations import ClusterMeshProfilesOperations as OperationClass
else:
raise ValueError("API version {} does not have operation group 'cluster_mesh_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)

def close(self):
self._client.close()
def __enter__(self):
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.10.8, generator: @autorest/python@6.50.2)
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
# pylint: disable=wrong-import-position

from typing import TYPE_CHECKING

if TYPE_CHECKING:
from ._patch import * # pylint: disable=unused-wildcard-import

from ._container_service_fleet_client import ContainerServiceFleetClient # type: ignore

try:
from ._patch import __all__ as _patch_all
from ._patch import *
except ImportError:
_patch_all = []
from ._patch import patch_sdk as _patch_sdk

__all__ = [
"ContainerServiceFleetClient",
]
__all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore

_patch_sdk()
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.10.8, generator: @autorest/python@6.50.2)
# 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

if TYPE_CHECKING:
from azure.core.credentials import TokenCredential

VERSION = "unknown"


class ContainerServiceFleetClientConfiguration: # pylint: disable=too-many-instance-attributes
"""Configuration for ContainerServiceFleetClient.

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
:keyword api_version: Api Version. Default value is "2026-05-01-preview". Note that overriding
this default value may result in unsupported behavior.
:paramtype api_version: str
"""

def __init__(self, credential: "TokenCredential", subscription_id: str, **kwargs: Any) -> None:
api_version: str = kwargs.pop("api_version", "2026-05-01-preview")

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.api_version = api_version
self.credential_scopes = kwargs.pop("credential_scopes", ["user_impersonation"])
kwargs.setdefault("sdk_moniker", "containerservicefleetclient/{}".format(VERSION))
self.polling_interval = kwargs.get("polling_interval", 30)
self._configure(**kwargs)

def _configure(self, **kwargs: Any) -> None:
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 policies.HttpLoggingPolicy(**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.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs)
self.authentication_policy = kwargs.get("authentication_policy")
if self.credential and not self.authentication_policy:
self.authentication_policy = policies.BearerTokenCredentialPolicy(
self.credential, *self.credential_scopes, **kwargs
)
Loading
Loading