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
2 changes: 1 addition & 1 deletion src/fleet/azext_fleet/tests/latest/test_stages_json.py
Original file line number Diff line number Diff line change
Expand Up @@ -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.v2025_04_01_preview.models import UpdateRunStrategy, UpdateStage, UpdateGroup
from azext_fleet.vendored_sdks.v2025_08_01_preview.models import UpdateRunStrategy, UpdateStage, UpdateGroup
from azure.cli.core.azclierror import (
InvalidArgumentValueError,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,15 @@
# 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.

Expand Down Expand Up @@ -71,19 +73,22 @@ def __init__(
self,
credential: "TokenCredential",
subscription_id: str,
api_version: Optional[str]=None,
api_version: Optional[str] = None,
base_url: Optional[str] = None,
profile: KnownProfiles=KnownProfiles.default,
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
_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)
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 = [
Expand All @@ -99,10 +104,12 @@ def __init__(
self._config.custom_hook_policy,
self._config.logging_policy,
policies.DistributedTracingPolicy(**kwargs),
policies.SensitiveHeaderCleanupPolicy(**kwargs) if self._config.redirect_policy else None,
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=cast(str, base_url), policies=_policies, **kwargs)
super(ContainerServiceFleetMgmtClient, self).__init__(
api_version=api_version,
profile=profile
Expand Down Expand Up @@ -157,6 +164,9 @@ def models(cls, api_version=DEFAULT_API_VERSION):
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
raise ValueError("API version {} is not available".format(api_version))

@property
Expand All @@ -171,8 +181,11 @@ def auto_upgrade_profile_operations(self):
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
else:
raise ValueError("API version {} does not have operation group 'auto_upgrade_profile_operations'".format(api_version))
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)

Expand All @@ -188,8 +201,11 @@ def auto_upgrade_profiles(self):
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
else:
raise ValueError("API version {} does not have operation group 'auto_upgrade_profiles'".format(api_version))
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)

Expand Down Expand Up @@ -229,8 +245,11 @@ def fleet_members(self):
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
else:
raise ValueError("API version {} does not have operation group 'fleet_members'".format(api_version))
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)

Expand All @@ -255,8 +274,11 @@ def fleet_update_strategies(self):
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
else:
raise ValueError("API version {} does not have operation group 'fleet_update_strategies'".format(api_version))
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)

Expand Down Expand Up @@ -296,8 +318,11 @@ def fleets(self):
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
else:
raise ValueError("API version {} does not have operation group 'fleets'".format(api_version))
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)

Expand All @@ -310,8 +335,11 @@ def gates(self):
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
else:
raise ValueError("API version {} does not have operation group 'gates'".format(api_version))
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)

Expand Down Expand Up @@ -345,8 +373,11 @@ def operations(self):
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
else:
raise ValueError("API version {} does not have operation group 'operations'".format(api_version))
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)

Expand Down Expand Up @@ -377,15 +408,20 @@ def update_runs(self):
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
else:
raise ValueError("API version {} does not have operation group 'update_runs'".format(api_version))
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)
2 changes: 1 addition & 1 deletion src/fleet/azext_fleet/vendored_sdks/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@
# Licensed under the MIT License. See License.txt in the project root for
# license information.
# --------------------------------------------------------------------------
from .v2025_04_01_preview.models import *
from .v2025_08_01_preview.models import *
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# 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) Python Code Generator.
# 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 ._client import ContainerServiceClient # type: ignore
from ._version import VERSION

__version__ = VERSION

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

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

_patch_sdk()
Loading
Loading