From ff48cb045399e673585e5a53995711537c0d8826 Mon Sep 17 00:00:00 2001 From: azure-sdk Date: Mon, 20 Jul 2026 04:45:25 +0000 Subject: [PATCH 1/4] Configurations: 'specification/networkcloud/NetworkCloud.Management/tspconfig.yaml', API Version: 2025-09-01, SDK Release Type: stable, and CommitSHA: 'cf49df24bee763924bb4d9abceebe4fd1916a6ad' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6585654 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release. --- .../azure-mgmt-networkcloud/CHANGELOG.md | 725 ++ .../azure-mgmt-networkcloud/_metadata.json | 10 +- .../azure-mgmt-networkcloud/api.md | 3571 +++++--- .../azure-mgmt-networkcloud/api.metadata.yml | 4 +- .../apiview-properties.json | 78 +- .../azure/mgmt/networkcloud/_client.py | 17 +- .../azure/mgmt/networkcloud/_configuration.py | 9 +- .../mgmt/networkcloud/_utils/model_base.py | 37 +- .../azure/mgmt/networkcloud/_validation.py | 66 - .../azure/mgmt/networkcloud/_version.py | 2 +- .../azure/mgmt/networkcloud/aio/_client.py | 18 +- .../mgmt/networkcloud/aio/_configuration.py | 9 +- .../networkcloud/aio/operations/__init__.py | 4 - .../aio/operations/_operations.py | 6789 ++++----------- .../mgmt/networkcloud/models/__init__.py | 76 - .../azure/mgmt/networkcloud/models/_enums.py | 216 - .../azure/mgmt/networkcloud/models/_models.py | 1196 +-- .../mgmt/networkcloud/operations/__init__.py | 4 - .../networkcloud/operations/_operations.py | 7583 +++++------------ .../azure/mgmt/networkcloud/types.py | 5284 ++++++++++++ .../access_bridges_create_or_update.py | 65 - .../access_bridges_delete.py | 42 - .../generated_samples/access_bridges_get.py | 42 - .../access_bridges_list_by_resource_group.py | 42 - .../access_bridges_list_by_subscription.py | 40 - .../generated_samples/access_bridges_patch.py | 42 - .../generated_samples/agent_pools_create.py | 2 +- .../generated_samples/agent_pools_delete.py | 2 +- .../generated_samples/agent_pools_get.py | 2 +- .../agent_pools_list_by_kubernetes_cluster.py | 2 +- .../generated_samples/agent_pools_patch.py | 2 +- .../bare_metal_machine_key_sets_create.py | 2 +- .../bare_metal_machine_key_sets_delete.py | 2 +- .../bare_metal_machine_key_sets_get.py | 2 +- ..._metal_machine_key_sets_list_by_cluster.py | 2 +- .../bare_metal_machine_key_sets_patch.py | 2 +- .../bare_metal_machines_cordon.py | 2 +- .../bare_metal_machines_create.py | 2 +- .../bare_metal_machines_delete.py | 2 +- .../bare_metal_machines_get.py | 2 +- ...e_metal_machines_list_by_resource_group.py | 2 +- ...are_metal_machines_list_by_subscription.py | 2 +- .../bare_metal_machines_patch.py | 2 +- .../bare_metal_machines_power_off.py | 2 +- .../bare_metal_machines_reimage.py | 2 +- .../bare_metal_machines_replace.py | 2 +- .../bare_metal_machines_restart.py | 2 +- .../bare_metal_machines_run_command.py | 2 +- .../bare_metal_machines_run_data_extracts.py | 2 +- ...l_machines_run_data_extracts_restricted.py | 2 +- ...tal_machines_run_read_commands_hostname.py | 2 +- ...tal_machines_run_read_commands_multiple.py | 2 +- .../bare_metal_machines_start.py | 2 +- .../bare_metal_machines_uncordon.py | 2 +- .../generated_samples/bmc_key_sets_create.py | 2 +- .../generated_samples/bmc_key_sets_delete.py | 2 +- .../generated_samples/bmc_key_sets_get.py | 2 +- .../bmc_key_sets_list_by_cluster.py | 2 +- .../generated_samples/bmc_key_sets_patch.py | 2 +- .../cloud_services_networks_create.py | 4 +- .../cloud_services_networks_delete.py | 2 +- .../cloud_services_networks_get.py | 2 +- ...ervices_networks_list_by_resource_group.py | 2 +- ..._services_networks_list_by_subscription.py | 2 +- .../cloud_services_networks_patch.py | 2 +- .../cluster_managers_create.py | 5 +- .../cluster_managers_create_uami.py | 5 +- .../cluster_managers_delete.py | 2 +- .../generated_samples/cluster_managers_get.py | 2 +- ...cluster_managers_list_by_resource_group.py | 2 +- .../cluster_managers_list_by_subscription.py | 2 +- .../cluster_managers_patch.py | 2 +- ...lay_private_endpoint_connection_approve.py | 42 - ...elay_private_endpoint_connection_reject.py | 42 - .../cluster_metrics_configurations_create.py | 2 +- .../cluster_metrics_configurations_delete.py | 2 +- .../cluster_metrics_configurations_get.py | 2 +- ..._metrics_configurations_list_by_cluster.py | 2 +- .../cluster_metrics_configurations_patch.py | 2 +- .../clusters_continue_update_version.py | 4 +- .../generated_samples/clusters_create.py | 7 +- .../generated_samples/clusters_delete.py | 2 +- .../generated_samples/clusters_deploy.py | 2 +- .../clusters_deploy_skip_validation.py | 2 +- .../generated_samples/clusters_get.py | 2 +- .../generated_samples/clusters_inspect.py | 42 - .../clusters_list_by_resource_group.py | 2 +- .../clusters_list_by_subscription.py | 2 +- ...ch_aggregator_or_single_rack_definition.py | 2 +- .../clusters_patch_analytics_output.py | 2 +- .../clusters_patch_command_output.py | 2 +- .../clusters_patch_location.py | 2 +- ..._patch_runtime_protection_configuration.py | 2 +- .../clusters_patch_secret_archive.py | 2 +- .../clusters_patch_update_strategy.py | 2 +- .../clusters_patch_vulnerability_scanning.py | 2 +- .../clusters_rotate_credential.py | 43 - .../clusters_scan_runtime.py | 2 +- .../clusters_update_version.py | 4 +- .../generated_samples/consoles_create.py | 2 +- .../generated_samples/consoles_delete.py | 2 +- .../generated_samples/consoles_get.py | 2 +- .../consoles_list_by_virtual_machine.py | 2 +- .../generated_samples/consoles_patch.py | 2 +- .../kubernetes_cluster_features_create.py | 2 +- .../kubernetes_cluster_features_delete.py | 2 +- .../kubernetes_cluster_features_get.py | 2 +- ...ter_features_list_by_kubernetes_cluster.py | 2 +- .../kubernetes_cluster_features_patch.py | 2 +- .../kubernetes_clusters_create.py | 2 +- .../kubernetes_clusters_delete.py | 2 +- .../kubernetes_clusters_get.py | 2 +- ...rnetes_clusters_l2_load_balancer_create.py | 2 +- ...ernetes_clusters_list_by_resource_group.py | 2 +- ...ubernetes_clusters_list_by_subscription.py | 2 +- .../kubernetes_clusters_patch.py | 2 +- .../kubernetes_clusters_restart_node.py | 2 +- .../kubernetes_versions_create.py | 52 - .../kubernetes_versions_delete.py | 42 - .../kubernetes_versions_get.py | 42 - ...ernetes_versions_list_by_resource_group.py | 42 - ...ubernetes_versions_list_by_subscription.py | 40 - .../kubernetes_versions_update_tags.py | 42 - .../generated_samples/l2_networks_create.py | 2 +- .../generated_samples/l2_networks_delete.py | 2 +- .../generated_samples/l2_networks_get.py | 2 +- .../l2_networks_list_by_resource_group.py | 2 +- .../l2_networks_list_by_subscription.py | 2 +- .../generated_samples/l2_networks_patch.py | 2 +- .../generated_samples/l3_networks_create.py | 2 +- .../generated_samples/l3_networks_delete.py | 2 +- .../generated_samples/l3_networks_get.py | 2 +- .../l3_networks_list_by_resource_group.py | 2 +- .../l3_networks_list_by_subscription.py | 2 +- .../generated_samples/l3_networks_patch.py | 2 +- .../generated_samples/operations_list.py | 2 +- .../generated_samples/rack_skus_get.py | 2 +- .../rack_skus_list_by_subscription.py | 2 +- .../generated_samples/racks_create.py | 2 +- .../generated_samples/racks_delete.py | 2 +- .../generated_samples/racks_get.py | 2 +- .../racks_list_by_resource_group.py | 2 +- .../racks_list_by_subscription.py | 2 +- .../generated_samples/racks_patch.py | 2 +- .../storage_appliances_create.py | 2 +- .../storage_appliances_delete.py | 2 +- ...iances_disable_remote_vendor_management.py | 2 +- ...liances_enable_remote_vendor_management.py | 2 +- .../storage_appliances_get.py | 2 +- ...orage_appliances_list_by_resource_group.py | 2 +- ...storage_appliances_list_by_subscription.py | 2 +- .../storage_appliances_patch.py | 2 +- .../storage_appliances_run_read_commands.py | 2 +- .../trunked_networks_create.py | 2 +- .../trunked_networks_delete.py | 2 +- .../generated_samples/trunked_networks_get.py | 2 +- ...trunked_networks_list_by_resource_group.py | 2 +- .../trunked_networks_list_by_subscription.py | 2 +- .../trunked_networks_patch.py | 2 +- .../virtual_machines_assign_relay.py | 2 +- .../virtual_machines_create.py | 2 +- .../virtual_machines_delete.py | 2 +- .../generated_samples/virtual_machines_get.py | 2 +- ...virtual_machines_list_by_resource_group.py | 2 +- .../virtual_machines_list_by_subscription.py | 2 +- .../virtual_machines_patch.py | 2 +- .../virtual_machines_power_off.py | 2 +- .../virtual_machines_reimage.py | 2 +- .../virtual_machines_restart.py | 2 +- .../virtual_machines_start.py | 2 +- .../generated_samples/volumes_create.py | 4 +- .../generated_samples/volumes_delete.py | 2 +- .../generated_samples/volumes_get.py | 2 +- .../volumes_list_by_resource_group.py | 2 +- .../volumes_list_by_subscription.py | 2 +- .../generated_samples/volumes_patch.py | 2 +- ...rk_cloud_mgmt_access_bridges_operations.py | 117 - ...ud_mgmt_access_bridges_operations_async.py | 124 - ...oud_mgmt_bare_metal_machines_operations.py | 8 - ...mt_bare_metal_machines_operations_async.py | 8 - ..._cloud_mgmt_cluster_managers_operations.py | 13 - ..._mgmt_cluster_managers_operations_async.py | 15 - ..._network_cloud_mgmt_clusters_operations.py | 32 +- ...rk_cloud_mgmt_clusters_operations_async.py | 36 +- ...oud_mgmt_kubernetes_versions_operations.py | 99 - ...mt_kubernetes_versions_operations_async.py | 106 - ...loud_mgmt_storage_appliances_operations.py | 2 - ...gmt_storage_appliances_operations_async.py | 2 - ...t_network_cloud_mgmt_volumes_operations.py | 1 - ...ork_cloud_mgmt_volumes_operations_async.py | 1 - .../azure-mgmt-networkcloud/pyproject.toml | 4 +- .../azure-mgmt-networkcloud/tsp-location.yaml | 2 +- 192 files changed, 12334 insertions(+), 14935 deletions(-) delete mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_validation.py create mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/types.py delete mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_create_or_update.py delete mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_delete.py delete mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_get.py delete mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_list_by_resource_group.py delete mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_list_by_subscription.py delete mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_patch.py delete mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_update_relay_private_endpoint_connection_approve.py delete mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_update_relay_private_endpoint_connection_reject.py delete mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_inspect.py delete mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_rotate_credential.py delete mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_create.py delete mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_delete.py delete mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_get.py delete mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_list_by_resource_group.py delete mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_list_by_subscription.py delete mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_update_tags.py delete mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_access_bridges_operations.py delete mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_access_bridges_operations_async.py delete mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_kubernetes_versions_operations.py delete mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_kubernetes_versions_operations_async.py diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/CHANGELOG.md b/sdk/networkcloud/azure-mgmt-networkcloud/CHANGELOG.md index 4d74f65ffe04..8393bbe0ecb8 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/CHANGELOG.md +++ b/sdk/networkcloud/azure-mgmt-networkcloud/CHANGELOG.md @@ -1,5 +1,730 @@ # Release History +## 3.0.0 (2026-07-20) + +### Features Added + + - Client `NetworkCloudMgmtClient` added method `send_request` + - Model `AgentPool` added property `properties` + - Model `AgentPoolPatchParameters` added property `properties` + - Model `BareMetalMachine` added property `properties` + - Model `BareMetalMachineKeySet` added property `properties` + - Model `BareMetalMachineKeySetPatchParameters` added property `properties` + - Model `BareMetalMachinePatchParameters` added property `properties` + - Model `BmcKeySet` added property `properties` + - Model `BmcKeySetPatchParameters` added property `properties` + - Model `CloudServicesNetwork` added property `properties` + - Model `CloudServicesNetworkPatchParameters` added property `properties` + - Model `Cluster` added property `properties` + - Model `ClusterManager` added property `properties` + - Model `ClusterMetricsConfiguration` added property `properties` + - Model `ClusterMetricsConfigurationPatchParameters` added property `properties` + - Model `ClusterPatchParameters` added property `properties` + - Model `Console` added property `properties` + - Model `ConsolePatchParameters` added property `properties` + - Model `KubernetesCluster` added property `properties` + - Model `KubernetesClusterFeature` added property `properties` + - Model `KubernetesClusterFeaturePatchParameters` added property `properties` + - Model `KubernetesClusterPatchParameters` added property `properties` + - Model `L2Network` added property `properties` + - Model `L3Network` added property `properties` + - Model `MachineSkuSlot` added property `properties` + - Model `OperationStatusResult` added property `properties` + - Model `Rack` added property `properties` + - Model `RackPatchParameters` added property `properties` + - Model `RackSku` added property `properties` + - Model `StorageAppliance` added property `properties` + - Model `StorageAppliancePatchParameters` added property `properties` + - Model `StorageApplianceSkuSlot` added property `properties` + - Model `TrunkedNetwork` added property `properties` + - Model `VirtualMachine` added property `properties` + - Model `VirtualMachinePatchParameters` added property `properties` + - Model `Volume` added property `properties` + - Added model `AgentPoolPatchProperties` + - Added model `AgentPoolProperties` + - Added model `BareMetalMachineKeySetPatchProperties` + - Added model `BareMetalMachineKeySetProperties` + - Added model `BareMetalMachinePatchProperties` + - Added model `BareMetalMachineProperties` + - Added model `BmcKeySetPatchProperties` + - Added model `BmcKeySetProperties` + - Added model `CloudServicesNetworkPatchProperties` + - Added model `CloudServicesNetworkProperties` + - Added model `ClusterManagerProperties` + - Added model `ClusterMetricsConfigurationPatchProperties` + - Added model `ClusterMetricsConfigurationProperties` + - Added model `ClusterPatchProperties` + - Added model `ClusterProperties` + - Added model `ConsolePatchProperties` + - Added model `ConsoleProperties` + - Added enum `ExtendedLocationType` + - Added model `KubernetesClusterFeaturePatchProperties` + - Added model `KubernetesClusterFeatureProperties` + - Added model `KubernetesClusterPatchProperties` + - Added model `KubernetesClusterProperties` + - Added model `L2NetworkProperties` + - Added model `L3NetworkProperties` + - Added model `MachineSkuProperties` + - Added model `OperationStatusResultProperties` + - Added model `ProxyResource` + - Added model `RackProperties` + - Added model `RackSkuProperties` + - Added model `RacksPatchProperties` + - Added model `StorageAppliancePatchProperties` + - Added model `StorageApplianceProperties` + - Added model `StorageApplianceSkuProperties` + - Added model `TrunkedNetworkProperties` + - Added model `VirtualMachinePatchProperties` + - Added model `VirtualMachineProperties` + - Added model `VolumeProperties` + - Model `AgentPoolsOperations` added parameter `etag` in method `begin_create_or_update` + - Model `AgentPoolsOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `AgentPoolsOperations` added parameter `etag` in method `begin_delete` + - Model `AgentPoolsOperations` added parameter `match_condition` in method `begin_delete` + - Model `AgentPoolsOperations` added parameter `etag` in method `begin_update` + - Model `AgentPoolsOperations` added parameter `match_condition` in method `begin_update` + - Model `BareMetalMachineKeySetsOperations` added parameter `etag` in method `begin_create_or_update` + - Model `BareMetalMachineKeySetsOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `BareMetalMachineKeySetsOperations` added parameter `etag` in method `begin_delete` + - Model `BareMetalMachineKeySetsOperations` added parameter `match_condition` in method `begin_delete` + - Model `BareMetalMachineKeySetsOperations` added parameter `etag` in method `begin_update` + - Model `BareMetalMachineKeySetsOperations` added parameter `match_condition` in method `begin_update` + - Model `BareMetalMachinesOperations` added parameter `etag` in method `begin_create_or_update` + - Model `BareMetalMachinesOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `BareMetalMachinesOperations` added parameter `etag` in method `begin_delete` + - Model `BareMetalMachinesOperations` added parameter `match_condition` in method `begin_delete` + - Model `BareMetalMachinesOperations` added parameter `etag` in method `begin_update` + - Model `BareMetalMachinesOperations` added parameter `match_condition` in method `begin_update` + - Model `BmcKeySetsOperations` added parameter `etag` in method `begin_create_or_update` + - Model `BmcKeySetsOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `BmcKeySetsOperations` added parameter `etag` in method `begin_delete` + - Model `BmcKeySetsOperations` added parameter `match_condition` in method `begin_delete` + - Model `BmcKeySetsOperations` added parameter `etag` in method `begin_update` + - Model `BmcKeySetsOperations` added parameter `match_condition` in method `begin_update` + - Model `CloudServicesNetworksOperations` added parameter `etag` in method `begin_create_or_update` + - Model `CloudServicesNetworksOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `CloudServicesNetworksOperations` added parameter `etag` in method `begin_delete` + - Model `CloudServicesNetworksOperations` added parameter `match_condition` in method `begin_delete` + - Model `CloudServicesNetworksOperations` added parameter `etag` in method `begin_update` + - Model `CloudServicesNetworksOperations` added parameter `match_condition` in method `begin_update` + - Model `ClusterManagersOperations` added parameter `etag` in method `begin_create_or_update` + - Model `ClusterManagersOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `ClusterManagersOperations` added parameter `etag` in method `begin_delete` + - Model `ClusterManagersOperations` added parameter `match_condition` in method `begin_delete` + - Model `ClusterManagersOperations` added parameter `etag` in method `update` + - Model `ClusterManagersOperations` added parameter `match_condition` in method `update` + - Model `ClustersOperations` added parameter `etag` in method `begin_create_or_update` + - Model `ClustersOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `ClustersOperations` added parameter `etag` in method `begin_delete` + - Model `ClustersOperations` added parameter `match_condition` in method `begin_delete` + - Model `ClustersOperations` added parameter `etag` in method `begin_update` + - Model `ClustersOperations` added parameter `match_condition` in method `begin_update` + - Model `ConsolesOperations` added parameter `etag` in method `begin_create_or_update` + - Model `ConsolesOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `ConsolesOperations` added parameter `etag` in method `begin_delete` + - Model `ConsolesOperations` added parameter `match_condition` in method `begin_delete` + - Model `ConsolesOperations` added parameter `etag` in method `begin_update` + - Model `ConsolesOperations` added parameter `match_condition` in method `begin_update` + - Model `KubernetesClusterFeaturesOperations` added parameter `etag` in method `begin_create_or_update` + - Model `KubernetesClusterFeaturesOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `KubernetesClusterFeaturesOperations` added parameter `etag` in method `begin_delete` + - Model `KubernetesClusterFeaturesOperations` added parameter `match_condition` in method `begin_delete` + - Model `KubernetesClusterFeaturesOperations` added parameter `etag` in method `begin_update` + - Model `KubernetesClusterFeaturesOperations` added parameter `match_condition` in method `begin_update` + - Model `KubernetesClustersOperations` added parameter `etag` in method `begin_create_or_update` + - Model `KubernetesClustersOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `KubernetesClustersOperations` added parameter `etag` in method `begin_delete` + - Model `KubernetesClustersOperations` added parameter `match_condition` in method `begin_delete` + - Model `KubernetesClustersOperations` added parameter `etag` in method `begin_update` + - Model `KubernetesClustersOperations` added parameter `match_condition` in method `begin_update` + - Model `L2NetworksOperations` added parameter `etag` in method `begin_create_or_update` + - Model `L2NetworksOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `L2NetworksOperations` added parameter `etag` in method `begin_delete` + - Model `L2NetworksOperations` added parameter `match_condition` in method `begin_delete` + - Model `L2NetworksOperations` added parameter `etag` in method `update` + - Model `L2NetworksOperations` added parameter `match_condition` in method `update` + - Model `L3NetworksOperations` added parameter `etag` in method `begin_create_or_update` + - Model `L3NetworksOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `L3NetworksOperations` added parameter `etag` in method `begin_delete` + - Model `L3NetworksOperations` added parameter `match_condition` in method `begin_delete` + - Model `L3NetworksOperations` added parameter `etag` in method `update` + - Model `L3NetworksOperations` added parameter `match_condition` in method `update` + - Model `MetricsConfigurationsOperations` added parameter `etag` in method `begin_create_or_update` + - Model `MetricsConfigurationsOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `MetricsConfigurationsOperations` added parameter `etag` in method `begin_delete` + - Model `MetricsConfigurationsOperations` added parameter `match_condition` in method `begin_delete` + - Model `MetricsConfigurationsOperations` added parameter `etag` in method `begin_update` + - Model `MetricsConfigurationsOperations` added parameter `match_condition` in method `begin_update` + - Model `RacksOperations` added parameter `etag` in method `begin_create_or_update` + - Model `RacksOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `RacksOperations` added parameter `etag` in method `begin_delete` + - Model `RacksOperations` added parameter `match_condition` in method `begin_delete` + - Model `RacksOperations` added parameter `etag` in method `begin_update` + - Model `RacksOperations` added parameter `match_condition` in method `begin_update` + - Model `StorageAppliancesOperations` added parameter `etag` in method `begin_create_or_update` + - Model `StorageAppliancesOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `StorageAppliancesOperations` added parameter `etag` in method `begin_delete` + - Model `StorageAppliancesOperations` added parameter `match_condition` in method `begin_delete` + - Model `StorageAppliancesOperations` added parameter `etag` in method `begin_update` + - Model `StorageAppliancesOperations` added parameter `match_condition` in method `begin_update` + - Model `TrunkedNetworksOperations` added parameter `etag` in method `begin_create_or_update` + - Model `TrunkedNetworksOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `TrunkedNetworksOperations` added parameter `etag` in method `begin_delete` + - Model `TrunkedNetworksOperations` added parameter `match_condition` in method `begin_delete` + - Model `TrunkedNetworksOperations` added parameter `etag` in method `update` + - Model `TrunkedNetworksOperations` added parameter `match_condition` in method `update` + - Model `VirtualMachinesOperations` added parameter `etag` in method `begin_create_or_update` + - Model `VirtualMachinesOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `VirtualMachinesOperations` added parameter `etag` in method `begin_delete` + - Model `VirtualMachinesOperations` added parameter `match_condition` in method `begin_delete` + - Model `VirtualMachinesOperations` added parameter `etag` in method `begin_update` + - Model `VirtualMachinesOperations` added parameter `match_condition` in method `begin_update` + - Model `VolumesOperations` added parameter `etag` in method `begin_create_or_update` + - Model `VolumesOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `VolumesOperations` added parameter `etag` in method `begin_delete` + - Model `VolumesOperations` added parameter `match_condition` in method `begin_delete` + - Model `VolumesOperations` added parameter `etag` in method `update` + - Model `VolumesOperations` added parameter `match_condition` in method `update` + +### Breaking Changes + + - Model `AgentPool` deleted or renamed its instance variable `administrator_configuration` + - Model `AgentPool` deleted or renamed its instance variable `agent_options` + - Model `AgentPool` deleted or renamed its instance variable `attached_network_configuration` + - Model `AgentPool` deleted or renamed its instance variable `availability_zones` + - Model `AgentPool` deleted or renamed its instance variable `count` + - Model `AgentPool` deleted or renamed its instance variable `detailed_status` + - Model `AgentPool` deleted or renamed its instance variable `detailed_status_message` + - Model `AgentPool` deleted or renamed its instance variable `kubernetes_version` + - Model `AgentPool` deleted or renamed its instance variable `labels` + - Model `AgentPool` deleted or renamed its instance variable `mode` + - Model `AgentPool` deleted or renamed its instance variable `provisioning_state` + - Model `AgentPool` deleted or renamed its instance variable `taints` + - Model `AgentPool` deleted or renamed its instance variable `upgrade_settings` + - Model `AgentPool` deleted or renamed its instance variable `vm_sku_name` + - Model `AgentPoolPatchParameters` deleted or renamed its instance variable `administrator_configuration` + - Model `AgentPoolPatchParameters` deleted or renamed its instance variable `count` + - Model `AgentPoolPatchParameters` deleted or renamed its instance variable `upgrade_settings` + - Model `BareMetalMachine` deleted or renamed its instance variable `action_states` + - Model `BareMetalMachine` deleted or renamed its instance variable `associated_resource_ids` + - Model `BareMetalMachine` deleted or renamed its instance variable `bmc_connection_string` + - Model `BareMetalMachine` deleted or renamed its instance variable `bmc_credentials` + - Model `BareMetalMachine` deleted or renamed its instance variable `bmc_mac_address` + - Model `BareMetalMachine` deleted or renamed its instance variable `boot_mac_address` + - Model `BareMetalMachine` deleted or renamed its instance variable `ca_certificate` + - Model `BareMetalMachine` deleted or renamed its instance variable `cluster_id` + - Model `BareMetalMachine` deleted or renamed its instance variable `cordon_status` + - Model `BareMetalMachine` deleted or renamed its instance variable `detailed_status` + - Model `BareMetalMachine` deleted or renamed its instance variable `detailed_status_message` + - Model `BareMetalMachine` deleted or renamed its instance variable `hardware_inventory` + - Model `BareMetalMachine` deleted or renamed its instance variable `hardware_validation_status` + - Model `BareMetalMachine` deleted or renamed its instance variable `hybrid_aks_clusters_associated_ids` + - Model `BareMetalMachine` deleted or renamed its instance variable `kubernetes_node_name` + - Model `BareMetalMachine` deleted or renamed its instance variable `kubernetes_version` + - Model `BareMetalMachine` deleted or renamed its instance variable `machine_cluster_version` + - Model `BareMetalMachine` deleted or renamed its instance variable `machine_details` + - Model `BareMetalMachine` deleted or renamed its instance variable `machine_name` + - Model `BareMetalMachine` deleted or renamed its instance variable `machine_roles` + - Model `BareMetalMachine` deleted or renamed its instance variable `machine_sku_id` + - Model `BareMetalMachine` deleted or renamed its instance variable `oam_ipv4_address` + - Model `BareMetalMachine` deleted or renamed its instance variable `oam_ipv6_address` + - Model `BareMetalMachine` deleted or renamed its instance variable `os_image` + - Model `BareMetalMachine` deleted or renamed its instance variable `power_state` + - Model `BareMetalMachine` deleted or renamed its instance variable `provisioning_state` + - Model `BareMetalMachine` deleted or renamed its instance variable `rack_id` + - Model `BareMetalMachine` deleted or renamed its instance variable `rack_slot` + - Model `BareMetalMachine` deleted or renamed its instance variable `ready_state` + - Model `BareMetalMachine` deleted or renamed its instance variable `runtime_protection_status` + - Model `BareMetalMachine` deleted or renamed its instance variable `secret_rotation_status` + - Model `BareMetalMachine` deleted or renamed its instance variable `serial_number` + - Model `BareMetalMachine` deleted or renamed its instance variable `service_tag` + - Model `BareMetalMachine` deleted or renamed its instance variable `virtual_machines_associated_ids` + - Deleted or renamed enum value `BareMetalMachineHardwareValidationResult.PASS_ENUM` + - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `azure_group_id` + - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `detailed_status` + - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `detailed_status_message` + - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `expiration` + - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `jump_hosts_allowed` + - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `last_validation` + - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `os_group_name` + - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `privilege_level` + - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `privilege_level_name` + - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `provisioning_state` + - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `user_list` + - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `user_list_status` + - Model `BareMetalMachineKeySetPatchParameters` deleted or renamed its instance variable `expiration` + - Model `BareMetalMachineKeySetPatchParameters` deleted or renamed its instance variable `jump_hosts_allowed` + - Model `BareMetalMachineKeySetPatchParameters` deleted or renamed its instance variable `user_list` + - Model `BareMetalMachinePatchParameters` deleted or renamed its instance variable `machine_details` + - Model `BmcKeySet` deleted or renamed its instance variable `azure_group_id` + - Model `BmcKeySet` deleted or renamed its instance variable `detailed_status` + - Model `BmcKeySet` deleted or renamed its instance variable `detailed_status_message` + - Model `BmcKeySet` deleted or renamed its instance variable `expiration` + - Model `BmcKeySet` deleted or renamed its instance variable `last_validation` + - Model `BmcKeySet` deleted or renamed its instance variable `privilege_level` + - Model `BmcKeySet` deleted or renamed its instance variable `provisioning_state` + - Model `BmcKeySet` deleted or renamed its instance variable `user_list` + - Model `BmcKeySet` deleted or renamed its instance variable `user_list_status` + - Model `BmcKeySetPatchParameters` deleted or renamed its instance variable `expiration` + - Model `BmcKeySetPatchParameters` deleted or renamed its instance variable `user_list` + - Model `CloudServicesNetwork` deleted or renamed its instance variable `additional_egress_endpoints` + - Model `CloudServicesNetwork` deleted or renamed its instance variable `associated_resource_ids` + - Model `CloudServicesNetwork` deleted or renamed its instance variable `cluster_id` + - Model `CloudServicesNetwork` deleted or renamed its instance variable `detailed_status` + - Model `CloudServicesNetwork` deleted or renamed its instance variable `detailed_status_message` + - Model `CloudServicesNetwork` deleted or renamed its instance variable `enable_default_egress_endpoints` + - Model `CloudServicesNetwork` deleted or renamed its instance variable `enabled_egress_endpoints` + - Model `CloudServicesNetwork` deleted or renamed its instance variable `hybrid_aks_clusters_associated_ids` + - Model `CloudServicesNetwork` deleted or renamed its instance variable `interface_name` + - Model `CloudServicesNetwork` deleted or renamed its instance variable `provisioning_state` + - Model `CloudServicesNetwork` deleted or renamed its instance variable `storage_options` + - Model `CloudServicesNetwork` deleted or renamed its instance variable `storage_status` + - Model `CloudServicesNetwork` deleted or renamed its instance variable `virtual_machines_associated_ids` + - Model `CloudServicesNetworkPatchParameters` deleted or renamed its instance variable `additional_egress_endpoints` + - Model `CloudServicesNetworkPatchParameters` deleted or renamed its instance variable `enable_default_egress_endpoints` + - Model `CloudServicesNetworkPatchParameters` deleted or renamed its instance variable `storage_options` + - Model `Cluster` deleted or renamed its instance variable `action_states` + - Model `Cluster` deleted or renamed its instance variable `aggregator_or_single_rack_definition` + - Model `Cluster` deleted or renamed its instance variable `analytics_output_settings` + - Model `Cluster` deleted or renamed its instance variable `analytics_workspace_id` + - Model `Cluster` deleted or renamed its instance variable `available_upgrade_versions` + - Model `Cluster` deleted or renamed its instance variable `cluster_capacity` + - Model `Cluster` deleted or renamed its instance variable `cluster_connection_status` + - Model `Cluster` deleted or renamed its instance variable `cluster_extended_location` + - Model `Cluster` deleted or renamed its instance variable `cluster_location` + - Model `Cluster` deleted or renamed its instance variable `cluster_manager_connection_status` + - Model `Cluster` deleted or renamed its instance variable `cluster_manager_id` + - Model `Cluster` deleted or renamed its instance variable `cluster_service_principal` + - Model `Cluster` deleted or renamed its instance variable `cluster_type` + - Model `Cluster` deleted or renamed its instance variable `cluster_version` + - Model `Cluster` deleted or renamed its instance variable `command_output_settings` + - Model `Cluster` deleted or renamed its instance variable `compute_deployment_threshold` + - Model `Cluster` deleted or renamed its instance variable `compute_rack_definitions` + - Model `Cluster` deleted or renamed its instance variable `detailed_status` + - Model `Cluster` deleted or renamed its instance variable `detailed_status_message` + - Model `Cluster` deleted or renamed its instance variable `hybrid_aks_extended_location` + - Model `Cluster` deleted or renamed its instance variable `managed_resource_group_configuration` + - Model `Cluster` deleted or renamed its instance variable `manual_action_count` + - Model `Cluster` deleted or renamed its instance variable `network_fabric_id` + - Model `Cluster` deleted or renamed its instance variable `provisioning_state` + - Model `Cluster` deleted or renamed its instance variable `runtime_protection_configuration` + - Model `Cluster` deleted or renamed its instance variable `secret_archive` + - Model `Cluster` deleted or renamed its instance variable `secret_archive_settings` + - Model `Cluster` deleted or renamed its instance variable `support_expiry_date` + - Model `Cluster` deleted or renamed its instance variable `update_strategy` + - Model `Cluster` deleted or renamed its instance variable `vulnerability_scanning_settings` + - Model `Cluster` deleted or renamed its instance variable `workload_resource_ids` + - Model `ClusterManager` deleted or renamed its instance variable `analytics_workspace_id` + - Model `ClusterManager` deleted or renamed its instance variable `availability_zones` + - Model `ClusterManager` deleted or renamed its instance variable `cluster_versions` + - Model `ClusterManager` deleted or renamed its instance variable `detailed_status` + - Model `ClusterManager` deleted or renamed its instance variable `detailed_status_message` + - Model `ClusterManager` deleted or renamed its instance variable `fabric_controller_id` + - Model `ClusterManager` deleted or renamed its instance variable `managed_resource_group_configuration` + - Model `ClusterManager` deleted or renamed its instance variable `manager_extended_location` + - Model `ClusterManager` deleted or renamed its instance variable `provisioning_state` + - Model `ClusterManager` deleted or renamed its instance variable `vm_size` + - Model `ClusterMetricsConfiguration` deleted or renamed its instance variable `collection_interval` + - Model `ClusterMetricsConfiguration` deleted or renamed its instance variable `detailed_status` + - Model `ClusterMetricsConfiguration` deleted or renamed its instance variable `detailed_status_message` + - Model `ClusterMetricsConfiguration` deleted or renamed its instance variable `disabled_metrics` + - Model `ClusterMetricsConfiguration` deleted or renamed its instance variable `enabled_metrics` + - Model `ClusterMetricsConfiguration` deleted or renamed its instance variable `provisioning_state` + - Model `ClusterMetricsConfigurationPatchParameters` deleted or renamed its instance variable `collection_interval` + - Model `ClusterMetricsConfigurationPatchParameters` deleted or renamed its instance variable `enabled_metrics` + - Model `ClusterPatchParameters` deleted or renamed its instance variable `aggregator_or_single_rack_definition` + - Model `ClusterPatchParameters` deleted or renamed its instance variable `analytics_output_settings` + - Model `ClusterPatchParameters` deleted or renamed its instance variable `cluster_location` + - Model `ClusterPatchParameters` deleted or renamed its instance variable `cluster_service_principal` + - Model `ClusterPatchParameters` deleted or renamed its instance variable `command_output_settings` + - Model `ClusterPatchParameters` deleted or renamed its instance variable `compute_deployment_threshold` + - Model `ClusterPatchParameters` deleted or renamed its instance variable `compute_rack_definitions` + - Model `ClusterPatchParameters` deleted or renamed its instance variable `runtime_protection_configuration` + - Model `ClusterPatchParameters` deleted or renamed its instance variable `secret_archive` + - Model `ClusterPatchParameters` deleted or renamed its instance variable `secret_archive_settings` + - Model `ClusterPatchParameters` deleted or renamed its instance variable `update_strategy` + - Model `ClusterPatchParameters` deleted or renamed its instance variable `vulnerability_scanning_settings` + - Model `Console` deleted or renamed its instance variable `detailed_status` + - Model `Console` deleted or renamed its instance variable `detailed_status_message` + - Model `Console` deleted or renamed its instance variable `enabled` + - Model `Console` deleted or renamed its instance variable `expiration` + - Model `Console` deleted or renamed its instance variable `private_link_service_id` + - Model `Console` deleted or renamed its instance variable `provisioning_state` + - Model `Console` deleted or renamed its instance variable `ssh_public_key` + - Model `Console` deleted or renamed its instance variable `virtual_machine_access_id` + - Model `ConsolePatchParameters` deleted or renamed its instance variable `enabled` + - Model `ConsolePatchParameters` deleted or renamed its instance variable `expiration` + - Model `ConsolePatchParameters` deleted or renamed its instance variable `ssh_public_key` + - Model `KubernetesCluster` deleted or renamed its instance variable `aad_configuration` + - Model `KubernetesCluster` deleted or renamed its instance variable `administrator_configuration` + - Model `KubernetesCluster` deleted or renamed its instance variable `attached_network_ids` + - Model `KubernetesCluster` deleted or renamed its instance variable `available_upgrades` + - Model `KubernetesCluster` deleted or renamed its instance variable `cluster_id` + - Model `KubernetesCluster` deleted or renamed its instance variable `connected_cluster_id` + - Model `KubernetesCluster` deleted or renamed its instance variable `control_plane_kubernetes_version` + - Model `KubernetesCluster` deleted or renamed its instance variable `control_plane_node_configuration` + - Model `KubernetesCluster` deleted or renamed its instance variable `detailed_status` + - Model `KubernetesCluster` deleted or renamed its instance variable `detailed_status_message` + - Model `KubernetesCluster` deleted or renamed its instance variable `feature_statuses` + - Model `KubernetesCluster` deleted or renamed its instance variable `initial_agent_pool_configurations` + - Model `KubernetesCluster` deleted or renamed its instance variable `kubernetes_version` + - Model `KubernetesCluster` deleted or renamed its instance variable `managed_resource_group_configuration` + - Model `KubernetesCluster` deleted or renamed its instance variable `network_configuration` + - Model `KubernetesCluster` deleted or renamed its instance variable `nodes` + - Model `KubernetesCluster` deleted or renamed its instance variable `provisioning_state` + - Model `KubernetesClusterFeature` deleted or renamed its instance variable `availability_lifecycle` + - Model `KubernetesClusterFeature` deleted or renamed its instance variable `detailed_status` + - Model `KubernetesClusterFeature` deleted or renamed its instance variable `detailed_status_message` + - Model `KubernetesClusterFeature` deleted or renamed its instance variable `options` + - Model `KubernetesClusterFeature` deleted or renamed its instance variable `provisioning_state` + - Model `KubernetesClusterFeature` deleted or renamed its instance variable `required` + - Model `KubernetesClusterFeature` deleted or renamed its instance variable `version` + - Model `KubernetesClusterFeaturePatchParameters` deleted or renamed its instance variable `options` + - Model `KubernetesClusterPatchParameters` deleted or renamed its instance variable `administrator_configuration` + - Model `KubernetesClusterPatchParameters` deleted or renamed its instance variable `control_plane_node_configuration` + - Model `KubernetesClusterPatchParameters` deleted or renamed its instance variable `kubernetes_version` + - Model `L2Network` deleted or renamed its instance variable `associated_resource_ids` + - Model `L2Network` deleted or renamed its instance variable `cluster_id` + - Model `L2Network` deleted or renamed its instance variable `detailed_status` + - Model `L2Network` deleted or renamed its instance variable `detailed_status_message` + - Model `L2Network` deleted or renamed its instance variable `hybrid_aks_clusters_associated_ids` + - Model `L2Network` deleted or renamed its instance variable `hybrid_aks_plugin_type` + - Model `L2Network` deleted or renamed its instance variable `interface_name` + - Model `L2Network` deleted or renamed its instance variable `l2_isolation_domain_id` + - Model `L2Network` deleted or renamed its instance variable `provisioning_state` + - Model `L2Network` deleted or renamed its instance variable `virtual_machines_associated_ids` + - Model `L3Network` deleted or renamed its instance variable `associated_resource_ids` + - Model `L3Network` deleted or renamed its instance variable `cluster_id` + - Model `L3Network` deleted or renamed its instance variable `detailed_status` + - Model `L3Network` deleted or renamed its instance variable `detailed_status_message` + - Model `L3Network` deleted or renamed its instance variable `hybrid_aks_clusters_associated_ids` + - Model `L3Network` deleted or renamed its instance variable `hybrid_aks_ipam_enabled` + - Model `L3Network` deleted or renamed its instance variable `hybrid_aks_plugin_type` + - Model `L3Network` deleted or renamed its instance variable `interface_name` + - Model `L3Network` deleted or renamed its instance variable `ip_allocation_type` + - Model `L3Network` deleted or renamed its instance variable `ipv4_connected_prefix` + - Model `L3Network` deleted or renamed its instance variable `ipv6_connected_prefix` + - Model `L3Network` deleted or renamed its instance variable `l3_isolation_domain_id` + - Model `L3Network` deleted or renamed its instance variable `provisioning_state` + - Model `L3Network` deleted or renamed its instance variable `virtual_machines_associated_ids` + - Model `L3Network` deleted or renamed its instance variable `vlan` + - Model `MachineSkuSlot` deleted or renamed its instance variable `bootstrap_protocol` + - Model `MachineSkuSlot` deleted or renamed its instance variable `cpu_cores` + - Model `MachineSkuSlot` deleted or renamed its instance variable `cpu_sockets` + - Model `MachineSkuSlot` deleted or renamed its instance variable `disks` + - Model `MachineSkuSlot` deleted or renamed its instance variable `generation` + - Model `MachineSkuSlot` deleted or renamed its instance variable `hardware_version` + - Model `MachineSkuSlot` deleted or renamed its instance variable `memory_capacity_gb` + - Model `MachineSkuSlot` deleted or renamed its instance variable `model` + - Model `MachineSkuSlot` deleted or renamed its instance variable `network_interfaces` + - Model `MachineSkuSlot` deleted or renamed its instance variable `total_threads` + - Model `MachineSkuSlot` deleted or renamed its instance variable `vendor` + - Model `OperationStatusResult` deleted or renamed its instance variable `exit_code` + - Model `OperationStatusResult` deleted or renamed its instance variable `output_head` + - Model `OperationStatusResult` deleted or renamed its instance variable `result_ref` + - Model `OperationStatusResult` deleted or renamed its instance variable `result_url` + - Model `Rack` deleted or renamed its instance variable `availability_zone` + - Model `Rack` deleted or renamed its instance variable `cluster_id` + - Model `Rack` deleted or renamed its instance variable `detailed_status` + - Model `Rack` deleted or renamed its instance variable `detailed_status_message` + - Model `Rack` deleted or renamed its instance variable `provisioning_state` + - Model `Rack` deleted or renamed its instance variable `rack_location` + - Model `Rack` deleted or renamed its instance variable `rack_serial_number` + - Model `Rack` deleted or renamed its instance variable `rack_sku_id` + - Model `RackPatchParameters` deleted or renamed its instance variable `rack_location` + - Model `RackPatchParameters` deleted or renamed its instance variable `rack_serial_number` + - Model `RackSku` deleted or renamed its instance variable `compute_machines` + - Model `RackSku` deleted or renamed its instance variable `controller_machines` + - Model `RackSku` deleted or renamed its instance variable `description` + - Model `RackSku` deleted or renamed its instance variable `max_cluster_slots` + - Model `RackSku` deleted or renamed its instance variable `provisioning_state` + - Model `RackSku` deleted or renamed its instance variable `rack_type` + - Model `RackSku` deleted or renamed its instance variable `storage_appliances` + - Model `RackSku` deleted or renamed its instance variable `supported_rack_sku_ids` + - Model `StorageAppliance` deleted or renamed its instance variable `administrator_credentials` + - Model `StorageAppliance` deleted or renamed its instance variable `ca_certificate` + - Model `StorageAppliance` deleted or renamed its instance variable `capacity` + - Model `StorageAppliance` deleted or renamed its instance variable `capacity_used` + - Model `StorageAppliance` deleted or renamed its instance variable `cluster_id` + - Model `StorageAppliance` deleted or renamed its instance variable `detailed_status` + - Model `StorageAppliance` deleted or renamed its instance variable `detailed_status_message` + - Model `StorageAppliance` deleted or renamed its instance variable `management_ipv4_address` + - Model `StorageAppliance` deleted or renamed its instance variable `manufacturer` + - Model `StorageAppliance` deleted or renamed its instance variable `model` + - Model `StorageAppliance` deleted or renamed its instance variable `provisioning_state` + - Model `StorageAppliance` deleted or renamed its instance variable `rack_id` + - Model `StorageAppliance` deleted or renamed its instance variable `rack_slot` + - Model `StorageAppliance` deleted or renamed its instance variable `remote_vendor_management_feature` + - Model `StorageAppliance` deleted or renamed its instance variable `remote_vendor_management_status` + - Model `StorageAppliance` deleted or renamed its instance variable `secret_rotation_status` + - Model `StorageAppliance` deleted or renamed its instance variable `serial_number` + - Model `StorageAppliance` deleted or renamed its instance variable `storage_appliance_sku_id` + - Model `StorageAppliance` deleted or renamed its instance variable `version` + - Model `StorageAppliancePatchParameters` deleted or renamed its instance variable `serial_number` + - Model `StorageApplianceSkuSlot` deleted or renamed its instance variable `capacity_gb` + - Model `StorageApplianceSkuSlot` deleted or renamed its instance variable `model` + - Model `TrunkedNetwork` deleted or renamed its instance variable `associated_resource_ids` + - Model `TrunkedNetwork` deleted or renamed its instance variable `cluster_id` + - Model `TrunkedNetwork` deleted or renamed its instance variable `detailed_status` + - Model `TrunkedNetwork` deleted or renamed its instance variable `detailed_status_message` + - Model `TrunkedNetwork` deleted or renamed its instance variable `hybrid_aks_clusters_associated_ids` + - Model `TrunkedNetwork` deleted or renamed its instance variable `hybrid_aks_plugin_type` + - Model `TrunkedNetwork` deleted or renamed its instance variable `interface_name` + - Model `TrunkedNetwork` deleted or renamed its instance variable `isolation_domain_ids` + - Model `TrunkedNetwork` deleted or renamed its instance variable `provisioning_state` + - Model `TrunkedNetwork` deleted or renamed its instance variable `virtual_machines_associated_ids` + - Model `TrunkedNetwork` deleted or renamed its instance variable `vlans` + - Model `VirtualMachine` deleted or renamed its instance variable `admin_username` + - Model `VirtualMachine` deleted or renamed its instance variable `availability_zone` + - Model `VirtualMachine` deleted or renamed its instance variable `bare_metal_machine_id` + - Model `VirtualMachine` deleted or renamed its instance variable `boot_method` + - Model `VirtualMachine` deleted or renamed its instance variable `cloud_services_network_attachment` + - Model `VirtualMachine` deleted or renamed its instance variable `cluster_id` + - Model `VirtualMachine` deleted or renamed its instance variable `console_extended_location` + - Model `VirtualMachine` deleted or renamed its instance variable `cpu_cores` + - Model `VirtualMachine` deleted or renamed its instance variable `detailed_status` + - Model `VirtualMachine` deleted or renamed its instance variable `detailed_status_message` + - Model `VirtualMachine` deleted or renamed its instance variable `isolate_emulator_thread` + - Model `VirtualMachine` deleted or renamed its instance variable `memory_size_gb` + - Model `VirtualMachine` deleted or renamed its instance variable `network_attachments` + - Model `VirtualMachine` deleted or renamed its instance variable `network_data` + - Model `VirtualMachine` deleted or renamed its instance variable `network_data_content` + - Model `VirtualMachine` deleted or renamed its instance variable `placement_hints` + - Model `VirtualMachine` deleted or renamed its instance variable `power_state` + - Model `VirtualMachine` deleted or renamed its instance variable `provisioning_state` + - Model `VirtualMachine` deleted or renamed its instance variable `ssh_public_keys` + - Model `VirtualMachine` deleted or renamed its instance variable `storage_profile` + - Model `VirtualMachine` deleted or renamed its instance variable `user_data` + - Model `VirtualMachine` deleted or renamed its instance variable `user_data_content` + - Model `VirtualMachine` deleted or renamed its instance variable `virtio_interface` + - Model `VirtualMachine` deleted or renamed its instance variable `vm_device_model` + - Model `VirtualMachine` deleted or renamed its instance variable `vm_image` + - Model `VirtualMachine` deleted or renamed its instance variable `vm_image_repository_credentials` + - Model `VirtualMachine` deleted or renamed its instance variable `volumes` + - Model `VirtualMachinePatchParameters` deleted or renamed its instance variable `vm_image_repository_credentials` + - Model `Volume` deleted or renamed its instance variable `allocated_size_mi_b` + - Model `Volume` deleted or renamed its instance variable `attached_to` + - Model `Volume` deleted or renamed its instance variable `detailed_status` + - Model `Volume` deleted or renamed its instance variable `detailed_status_message` + - Model `Volume` deleted or renamed its instance variable `provisioning_state` + - Model `Volume` deleted or renamed its instance variable `serial_number` + - Model `Volume` deleted or renamed its instance variable `size_mi_b` + - Model `Volume` deleted or renamed its instance variable `storage_appliance_id` + - Deleted or renamed model `AgentPoolConfiguration` + - Deleted or renamed model `AgentPoolList` + - Deleted or renamed model `BareMetalMachineKeySetList` + - Deleted or renamed model `BareMetalMachineList` + - Deleted or renamed model `BmcKeySetList` + - Deleted or renamed model `CloudServicesNetworkList` + - Deleted or renamed model `ClusterList` + - Deleted or renamed model `ClusterManagerList` + - Deleted or renamed model `ClusterMetricsConfigurationList` + - Deleted or renamed model `ConsoleList` + - Deleted or renamed model `KubernetesClusterFeatureList` + - Deleted or renamed model `KubernetesClusterList` + - Deleted or renamed model `L2NetworkList` + - Deleted or renamed model `L3NetworkList` + - Deleted or renamed model `OperationListResult` + - Deleted or renamed model `RackList` + - Deleted or renamed model `RackSkuList` + - Deleted or renamed model `StorageApplianceList` + - Deleted or renamed model `TagsParameter` + - Deleted or renamed model `TrunkedNetworkList` + - Deleted or renamed model `VirtualMachineList` + - Deleted or renamed model `VolumeList` + - Method `AgentPoolsOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `AgentPoolsOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `AgentPoolsOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `AgentPoolsOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `AgentPoolsOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `AgentPoolsOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `AgentPoolsOperations.list_by_kubernetes_cluster` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` + - Method `BareMetalMachineKeySetsOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `BareMetalMachineKeySetsOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `BareMetalMachineKeySetsOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `BareMetalMachineKeySetsOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `BareMetalMachineKeySetsOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `BareMetalMachineKeySetsOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `BareMetalMachineKeySetsOperations.list_by_cluster` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` + - Method `BareMetalMachinesOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `BareMetalMachinesOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `BareMetalMachinesOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `BareMetalMachinesOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `BareMetalMachinesOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `BareMetalMachinesOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `BareMetalMachinesOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` + - Method `BareMetalMachinesOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` + - Method `BmcKeySetsOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `BmcKeySetsOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `BmcKeySetsOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `BmcKeySetsOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `BmcKeySetsOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `BmcKeySetsOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `BmcKeySetsOperations.list_by_cluster` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` + - Method `CloudServicesNetworksOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `CloudServicesNetworksOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `CloudServicesNetworksOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `CloudServicesNetworksOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `CloudServicesNetworksOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `CloudServicesNetworksOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `CloudServicesNetworksOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` + - Method `CloudServicesNetworksOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` + - Method `ClusterManagersOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `ClusterManagersOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `ClusterManagersOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `ClusterManagersOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `ClusterManagersOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` + - Method `ClusterManagersOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` + - Method `ClusterManagersOperations.update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `ClusterManagersOperations.update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `ClustersOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `ClustersOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `ClustersOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `ClustersOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `ClustersOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `ClustersOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `ClustersOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` + - Method `ClustersOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` + - Method `ConsolesOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `ConsolesOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `ConsolesOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `ConsolesOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `ConsolesOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `ConsolesOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `ConsolesOperations.list_by_virtual_machine` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` + - Method `KubernetesClusterFeaturesOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `KubernetesClusterFeaturesOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `KubernetesClusterFeaturesOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `KubernetesClusterFeaturesOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `KubernetesClusterFeaturesOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `KubernetesClusterFeaturesOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `KubernetesClusterFeaturesOperations.list_by_kubernetes_cluster` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` + - Method `KubernetesClustersOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `KubernetesClustersOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `KubernetesClustersOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `KubernetesClustersOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `KubernetesClustersOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `KubernetesClustersOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `KubernetesClustersOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` + - Method `KubernetesClustersOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` + - Method `L2NetworksOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `L2NetworksOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `L2NetworksOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `L2NetworksOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `L2NetworksOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` + - Method `L2NetworksOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` + - Method `L2NetworksOperations.update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `L2NetworksOperations.update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `L3NetworksOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `L3NetworksOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `L3NetworksOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `L3NetworksOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `L3NetworksOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` + - Method `L3NetworksOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` + - Method `L3NetworksOperations.update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `L3NetworksOperations.update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `MetricsConfigurationsOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `MetricsConfigurationsOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `MetricsConfigurationsOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `MetricsConfigurationsOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `MetricsConfigurationsOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `MetricsConfigurationsOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `MetricsConfigurationsOperations.list_by_cluster` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` + - Method `RacksOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `RacksOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `RacksOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `RacksOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `RacksOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `RacksOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `RacksOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` + - Method `RacksOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` + - Method `StorageAppliancesOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `StorageAppliancesOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `StorageAppliancesOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `StorageAppliancesOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `StorageAppliancesOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `StorageAppliancesOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `StorageAppliancesOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` + - Method `StorageAppliancesOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` + - Method `TrunkedNetworksOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `TrunkedNetworksOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `TrunkedNetworksOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `TrunkedNetworksOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `TrunkedNetworksOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` + - Method `TrunkedNetworksOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` + - Method `TrunkedNetworksOperations.update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `TrunkedNetworksOperations.update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `VirtualMachinesOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `VirtualMachinesOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `VirtualMachinesOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `VirtualMachinesOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `VirtualMachinesOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `VirtualMachinesOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `VirtualMachinesOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` + - Method `VirtualMachinesOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` + - Method `VolumesOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `VolumesOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `VolumesOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `VolumesOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `VolumesOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` + - Method `VolumesOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` + - Method `VolumesOperations.update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `VolumesOperations.update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `BareMetalMachineKeySetsOperations.begin_delete` re-ordered its parameters from `['self', 'bare_metal_machine_key_set_name', 'cluster_name', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bare_metal_machine_key_set_name', 'cluster_name', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `BareMetalMachineKeySetsOperations.begin_update` re-ordered its parameters from `['self', 'bare_metal_machine_key_set_name', 'bare_metal_machine_key_set_update_parameters', 'cluster_name', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bare_metal_machine_key_set_name', 'bare_metal_machine_key_set_update_parameters', 'cluster_name', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `BareMetalMachineKeySetsOperations.begin_create_or_update` re-ordered its parameters from `['self', 'bare_metal_machine_key_set_name', 'bare_metal_machine_key_set_parameters', 'cluster_name', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bare_metal_machine_key_set_name', 'bare_metal_machine_key_set_parameters', 'cluster_name', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `StorageAppliancesOperations.begin_delete` re-ordered its parameters from `['self', 'if_match', 'if_none_match', 'resource_group_name', 'storage_appliance_name', 'kwargs']` to `['self', 'etag', 'match_condition', 'resource_group_name', 'storage_appliance_name', 'kwargs']` + - Method `StorageAppliancesOperations.begin_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'storage_appliance_name', 'storage_appliance_update_parameters', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'storage_appliance_name', 'storage_appliance_update_parameters', 'kwargs']` + - Method `StorageAppliancesOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'storage_appliance_name', 'storage_appliance_parameters', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'storage_appliance_name', 'storage_appliance_parameters', 'kwargs']` + - Method `ClustersOperations.begin_delete` re-ordered its parameters from `['self', 'cluster_name', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cluster_name', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `ClustersOperations.begin_update` re-ordered its parameters from `['self', 'cluster_name', 'cluster_update_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cluster_name', 'cluster_update_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `ClustersOperations.begin_create_or_update` re-ordered its parameters from `['self', 'cluster_name', 'cluster_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cluster_name', 'cluster_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `BareMetalMachinesOperations.begin_delete` re-ordered its parameters from `['self', 'bare_metal_machine_name', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bare_metal_machine_name', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `BareMetalMachinesOperations.begin_update` re-ordered its parameters from `['self', 'bare_metal_machine_name', 'bare_metal_machine_update_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bare_metal_machine_name', 'bare_metal_machine_update_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `BareMetalMachinesOperations.begin_create_or_update` re-ordered its parameters from `['self', 'bare_metal_machine_name', 'bare_metal_machine_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bare_metal_machine_name', 'bare_metal_machine_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `AgentPoolsOperations.begin_delete` re-ordered its parameters from `['self', 'agent_pool_name', 'if_match', 'if_none_match', 'kubernetes_cluster_name', 'resource_group_name', 'kwargs']` to `['self', 'agent_pool_name', 'etag', 'kubernetes_cluster_name', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `AgentPoolsOperations.begin_update` re-ordered its parameters from `['self', 'agent_pool_name', 'agent_pool_update_parameters', 'content_type', 'if_match', 'if_none_match', 'kubernetes_cluster_name', 'resource_group_name', 'kwargs']` to `['self', 'agent_pool_name', 'agent_pool_update_parameters', 'content_type', 'etag', 'kubernetes_cluster_name', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `AgentPoolsOperations.begin_create_or_update` re-ordered its parameters from `['self', 'agent_pool_name', 'agent_pool_parameters', 'content_type', 'if_match', 'if_none_match', 'kubernetes_cluster_name', 'resource_group_name', 'kwargs']` to `['self', 'agent_pool_name', 'agent_pool_parameters', 'content_type', 'etag', 'kubernetes_cluster_name', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `TrunkedNetworksOperations.begin_delete` re-ordered its parameters from `['self', 'if_match', 'if_none_match', 'resource_group_name', 'trunked_network_name', 'kwargs']` to `['self', 'etag', 'match_condition', 'resource_group_name', 'trunked_network_name', 'kwargs']` + - Method `TrunkedNetworksOperations.update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'trunked_network_name', 'trunked_network_update_parameters', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'trunked_network_name', 'trunked_network_update_parameters', 'kwargs']` + - Method `TrunkedNetworksOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'trunked_network_name', 'trunked_network_parameters', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'trunked_network_name', 'trunked_network_parameters', 'kwargs']` + - Method `MetricsConfigurationsOperations.begin_delete` re-ordered its parameters from `['self', 'cluster_name', 'if_match', 'if_none_match', 'metrics_configuration_name', 'resource_group_name', 'kwargs']` to `['self', 'cluster_name', 'etag', 'match_condition', 'metrics_configuration_name', 'resource_group_name', 'kwargs']` + - Method `MetricsConfigurationsOperations.begin_update` re-ordered its parameters from `['self', 'cluster_name', 'content_type', 'if_match', 'if_none_match', 'metrics_configuration_name', 'metrics_configuration_update_parameters', 'resource_group_name', 'kwargs']` to `['self', 'cluster_name', 'content_type', 'etag', 'match_condition', 'metrics_configuration_name', 'metrics_configuration_update_parameters', 'resource_group_name', 'kwargs']` + - Method `MetricsConfigurationsOperations.begin_create_or_update` re-ordered its parameters from `['self', 'cluster_name', 'content_type', 'if_match', 'if_none_match', 'metrics_configuration_name', 'metrics_configuration_parameters', 'resource_group_name', 'kwargs']` to `['self', 'cluster_name', 'content_type', 'etag', 'match_condition', 'metrics_configuration_name', 'metrics_configuration_parameters', 'resource_group_name', 'kwargs']` + - Method `L2NetworksOperations.begin_delete` re-ordered its parameters from `['self', 'if_match', 'if_none_match', 'l2_network_name', 'resource_group_name', 'kwargs']` to `['self', 'etag', 'l2_network_name', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `L2NetworksOperations.update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'l2_network_name', 'l2_network_update_parameters', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'l2_network_name', 'l2_network_update_parameters', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `L2NetworksOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'l2_network_name', 'l2_network_parameters', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'l2_network_name', 'l2_network_parameters', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `BmcKeySetsOperations.begin_delete` re-ordered its parameters from `['self', 'bmc_key_set_name', 'cluster_name', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bmc_key_set_name', 'cluster_name', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `BmcKeySetsOperations.begin_update` re-ordered its parameters from `['self', 'bmc_key_set_name', 'bmc_key_set_update_parameters', 'cluster_name', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bmc_key_set_name', 'bmc_key_set_update_parameters', 'cluster_name', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `BmcKeySetsOperations.begin_create_or_update` re-ordered its parameters from `['self', 'bmc_key_set_name', 'bmc_key_set_parameters', 'cluster_name', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bmc_key_set_name', 'bmc_key_set_parameters', 'cluster_name', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `VirtualMachinesOperations.begin_delete` re-ordered its parameters from `['self', 'if_match', 'if_none_match', 'resource_group_name', 'virtual_machine_name', 'kwargs']` to `['self', 'etag', 'match_condition', 'resource_group_name', 'virtual_machine_name', 'kwargs']` + - Method `VirtualMachinesOperations.begin_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'virtual_machine_name', 'virtual_machine_update_parameters', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'virtual_machine_name', 'virtual_machine_update_parameters', 'kwargs']` + - Method `VirtualMachinesOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'virtual_machine_name', 'virtual_machine_parameters', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'virtual_machine_name', 'virtual_machine_parameters', 'kwargs']` + - Method `KubernetesClustersOperations.begin_delete` re-ordered its parameters from `['self', 'if_match', 'if_none_match', 'kubernetes_cluster_name', 'resource_group_name', 'kwargs']` to `['self', 'etag', 'kubernetes_cluster_name', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `KubernetesClustersOperations.begin_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'kubernetes_cluster_name', 'kubernetes_cluster_update_parameters', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'kubernetes_cluster_name', 'kubernetes_cluster_update_parameters', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `KubernetesClustersOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'kubernetes_cluster_name', 'kubernetes_cluster_parameters', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'kubernetes_cluster_name', 'kubernetes_cluster_parameters', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `KubernetesClusterFeaturesOperations.begin_delete` re-ordered its parameters from `['self', 'feature_name', 'if_match', 'if_none_match', 'kubernetes_cluster_name', 'resource_group_name', 'kwargs']` to `['self', 'etag', 'feature_name', 'kubernetes_cluster_name', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `KubernetesClusterFeaturesOperations.begin_update` re-ordered its parameters from `['self', 'content_type', 'feature_name', 'if_match', 'if_none_match', 'kubernetes_cluster_feature_update_parameters', 'kubernetes_cluster_name', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'feature_name', 'kubernetes_cluster_feature_update_parameters', 'kubernetes_cluster_name', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `KubernetesClusterFeaturesOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'feature_name', 'if_match', 'if_none_match', 'kubernetes_cluster_feature_parameters', 'kubernetes_cluster_name', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'feature_name', 'kubernetes_cluster_feature_parameters', 'kubernetes_cluster_name', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `RacksOperations.begin_delete` re-ordered its parameters from `['self', 'if_match', 'if_none_match', 'rack_name', 'resource_group_name', 'kwargs']` to `['self', 'etag', 'match_condition', 'rack_name', 'resource_group_name', 'kwargs']` + - Method `RacksOperations.begin_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'rack_name', 'rack_update_parameters', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'rack_name', 'rack_update_parameters', 'resource_group_name', 'kwargs']` + - Method `RacksOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'rack_name', 'rack_parameters', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'rack_name', 'rack_parameters', 'resource_group_name', 'kwargs']` + - Method `ClusterManagersOperations.begin_delete` re-ordered its parameters from `['self', 'cluster_manager_name', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cluster_manager_name', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `ClusterManagersOperations.update` re-ordered its parameters from `['self', 'cluster_manager_name', 'cluster_manager_update_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cluster_manager_name', 'cluster_manager_update_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `ClusterManagersOperations.begin_create_or_update` re-ordered its parameters from `['self', 'cluster_manager_name', 'cluster_manager_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cluster_manager_name', 'cluster_manager_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `L3NetworksOperations.begin_delete` re-ordered its parameters from `['self', 'if_match', 'if_none_match', 'l3_network_name', 'resource_group_name', 'kwargs']` to `['self', 'etag', 'l3_network_name', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `L3NetworksOperations.update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'l3_network_name', 'l3_network_update_parameters', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'l3_network_name', 'l3_network_update_parameters', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `L3NetworksOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'l3_network_name', 'l3_network_parameters', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'l3_network_name', 'l3_network_parameters', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `CloudServicesNetworksOperations.begin_delete` re-ordered its parameters from `['self', 'cloud_services_network_name', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cloud_services_network_name', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `CloudServicesNetworksOperations.begin_update` re-ordered its parameters from `['self', 'cloud_services_network_name', 'cloud_services_network_update_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cloud_services_network_name', 'cloud_services_network_update_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `CloudServicesNetworksOperations.begin_create_or_update` re-ordered its parameters from `['self', 'cloud_services_network_name', 'cloud_services_network_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cloud_services_network_name', 'cloud_services_network_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `VolumesOperations.begin_delete` re-ordered its parameters from `['self', 'if_match', 'if_none_match', 'resource_group_name', 'volume_name', 'kwargs']` to `['self', 'etag', 'match_condition', 'resource_group_name', 'volume_name', 'kwargs']` + - Method `VolumesOperations.update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'volume_name', 'volume_update_parameters', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'volume_name', 'volume_update_parameters', 'kwargs']` + - Method `VolumesOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'volume_name', 'volume_parameters', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'volume_name', 'volume_parameters', 'kwargs']` + - Method `ConsolesOperations.begin_delete` re-ordered its parameters from `['self', 'console_name', 'if_match', 'if_none_match', 'resource_group_name', 'virtual_machine_name', 'kwargs']` to `['self', 'console_name', 'etag', 'match_condition', 'resource_group_name', 'virtual_machine_name', 'kwargs']` + - Method `ConsolesOperations.begin_update` re-ordered its parameters from `['self', 'console_name', 'console_update_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'virtual_machine_name', 'kwargs']` to `['self', 'console_name', 'console_update_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'virtual_machine_name', 'kwargs']` + - Method `ConsolesOperations.begin_create_or_update` re-ordered its parameters from `['self', 'console_name', 'console_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'virtual_machine_name', 'kwargs']` to `['self', 'console_name', 'console_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'virtual_machine_name', 'kwargs']` + ## 3.0.0b2 (2026-06-24) ### Features Added diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/_metadata.json b/sdk/networkcloud/azure-mgmt-networkcloud/_metadata.json index c425cae7ff9b..8c1ecb95af8f 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/_metadata.json +++ b/sdk/networkcloud/azure-mgmt-networkcloud/_metadata.json @@ -1,11 +1,11 @@ { - "apiVersion": "2026-05-01-preview", + "apiVersion": "2025-09-01", "apiVersions": { - "Microsoft.NetworkCloud": "2026-05-01-preview" + "Microsoft.NetworkCloud": "2025-09-01" }, - "commit": "d35397f26389e9d047c69904e09dbaf5ce6234f2", + "commit": "cf49df24bee763924bb4d9abceebe4fd1916a6ad", "repository_url": "https://github.com/Azure/azure-rest-api-specs", "typespec_src": "specification/networkcloud/NetworkCloud.Management", - "emitterVersion": "0.63.2", - "httpClientPythonVersion": "^0.33.0" + "emitterVersion": "0.63.3", + "httpClientPythonVersion": "^0.34.2" } \ No newline at end of file diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/api.md b/sdk/networkcloud/azure-mgmt-networkcloud/api.md index dff44a841e47..c9054dfcbe4c 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/api.md +++ b/sdk/networkcloud/azure-mgmt-networkcloud/api.md @@ -2,7 +2,6 @@ namespace azure.mgmt.networkcloud class azure.mgmt.networkcloud.NetworkCloudMgmtClient: implements ContextManager - access_bridges: AccessBridgesOperations agent_pools: AgentPoolsOperations bare_metal_machine_key_sets: BareMetalMachineKeySetsOperations bare_metal_machines: BareMetalMachinesOperations @@ -13,7 +12,6 @@ namespace azure.mgmt.networkcloud consoles: ConsolesOperations kubernetes_cluster_features: KubernetesClusterFeaturesOperations kubernetes_clusters: KubernetesClustersOperations - kubernetes_versions: KubernetesVersionsOperations l2_networks: L2NetworksOperations l3_networks: L3NetworksOperations metrics_configurations: MetricsConfigurationsOperations @@ -51,7 +49,6 @@ namespace azure.mgmt.networkcloud namespace azure.mgmt.networkcloud.aio class azure.mgmt.networkcloud.aio.NetworkCloudMgmtClient: implements AsyncContextManager - access_bridges: AccessBridgesOperations agent_pools: AgentPoolsOperations bare_metal_machine_key_sets: BareMetalMachineKeySetsOperations bare_metal_machines: BareMetalMachinesOperations @@ -62,7 +59,6 @@ namespace azure.mgmt.networkcloud.aio consoles: ConsolesOperations kubernetes_cluster_features: KubernetesClusterFeaturesOperations kubernetes_clusters: KubernetesClustersOperations - kubernetes_versions: KubernetesVersionsOperations l2_networks: L2NetworksOperations l3_networks: L3NetworksOperations metrics_configurations: MetricsConfigurationsOperations @@ -99,129 +95,6 @@ namespace azure.mgmt.networkcloud.aio namespace azure.mgmt.networkcloud.aio.operations - class azure.mgmt.networkcloud.aio.operations.AccessBridgesOperations: - - def __init__( - self, - *args, - **kwargs - ) -> None: ... - - @overload - async def begin_create_or_update( - self, - resource_group_name: str, - access_bridge_name: Union[str, AccessBridgeAllowedName], - access_bridge: AccessBridge, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[AccessBridge]: ... - - @overload - async def begin_create_or_update( - self, - resource_group_name: str, - access_bridge_name: Union[str, AccessBridgeAllowedName], - access_bridge: JSON, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[AccessBridge]: ... - - @overload - async def begin_create_or_update( - self, - resource_group_name: str, - access_bridge_name: Union[str, AccessBridgeAllowedName], - access_bridge: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[AccessBridge]: ... - - @distributed_trace_async - @api_version_validation(method_added_on='2026-01-01-preview', params_added_on={'2026-01-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'access_bridge_name', 'etag', 'match_condition']}, api_versions_list=['2026-01-01-preview', '2026-05-01-preview']) - async def begin_delete( - self, - resource_group_name: str, - access_bridge_name: Union[str, AccessBridgeAllowedName], - *, - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., - **kwargs: Any - ) -> AsyncLROPoller[OperationStatusResult]: ... - - @overload - async def begin_update( - self, - resource_group_name: str, - access_bridge_name: Union[str, AccessBridgeAllowedName], - access_bridge_update_parameters: Optional[AccessBridgePatchParameters] = None, - *, - content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., - **kwargs: Any - ) -> AsyncLROPoller[AccessBridge]: ... - - @overload - async def begin_update( - self, - resource_group_name: str, - access_bridge_name: Union[str, AccessBridgeAllowedName], - access_bridge_update_parameters: Optional[JSON] = None, - *, - content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., - **kwargs: Any - ) -> AsyncLROPoller[AccessBridge]: ... - - @overload - async def begin_update( - self, - resource_group_name: str, - access_bridge_name: Union[str, AccessBridgeAllowedName], - access_bridge_update_parameters: Optional[IO[bytes]] = None, - *, - content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., - **kwargs: Any - ) -> AsyncLROPoller[AccessBridge]: ... - - @distributed_trace_async - @api_version_validation(method_added_on='2026-01-01-preview', params_added_on={'2026-01-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'access_bridge_name', 'accept']}, api_versions_list=['2026-01-01-preview', '2026-05-01-preview']) - async def get( - self, - resource_group_name: str, - access_bridge_name: Union[str, AccessBridgeAllowedName], - **kwargs: Any - ) -> AccessBridge: ... - - @distributed_trace - @api_version_validation(method_added_on='2026-01-01-preview', params_added_on={'2026-01-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'top', 'skip_token', 'accept']}, api_versions_list=['2026-01-01-preview', '2026-05-01-preview']) - def list_by_resource_group( - self, - resource_group_name: str, - *, - skip_token: Optional[str] = ..., - top: Optional[int] = ..., - **kwargs: Any - ) -> AsyncItemPaged[AccessBridge]: ... - - @distributed_trace - @api_version_validation(method_added_on='2026-01-01-preview', params_added_on={'2026-01-01-preview': ['api_version', 'subscription_id', 'top', 'skip_token', 'accept']}, api_versions_list=['2026-01-01-preview', '2026-05-01-preview']) - def list_by_subscription( - self, - *, - skip_token: Optional[str] = ..., - top: Optional[int] = ..., - **kwargs: Any - ) -> AsyncItemPaged[AccessBridge]: ... - - class azure.mgmt.networkcloud.aio.operations.AgentPoolsOperations: def __init__( @@ -250,7 +123,7 @@ namespace azure.mgmt.networkcloud.aio.operations resource_group_name: str, kubernetes_cluster_name: str, agent_pool_name: str, - agent_pool_parameters: JSON, + agent_pool_parameters: AgentPool, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -304,7 +177,7 @@ namespace azure.mgmt.networkcloud.aio.operations resource_group_name: str, kubernetes_cluster_name: str, agent_pool_name: str, - agent_pool_update_parameters: Optional[JSON] = None, + agent_pool_update_parameters: Optional[AgentPoolPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -375,7 +248,7 @@ namespace azure.mgmt.networkcloud.aio.operations resource_group_name: str, cluster_name: str, bare_metal_machine_key_set_name: str, - bare_metal_machine_key_set_parameters: JSON, + bare_metal_machine_key_set_parameters: BareMetalMachineKeySet, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -429,7 +302,7 @@ namespace azure.mgmt.networkcloud.aio.operations resource_group_name: str, cluster_name: str, bare_metal_machine_key_set_name: str, - bare_metal_machine_key_set_update_parameters: Optional[JSON] = None, + bare_metal_machine_key_set_update_parameters: Optional[BareMetalMachineKeySetPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -496,7 +369,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_cordon_parameters: Optional[JSON] = None, + bare_metal_machine_cordon_parameters: Optional[BareMetalMachineCordonParameters] = None, *, content_type: str = "application/json", **kwargs: Any @@ -531,7 +404,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_parameters: JSON, + bare_metal_machine_parameters: BareMetalMachine, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -579,7 +452,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_power_off_parameters: Optional[JSON] = None, + bare_metal_machine_power_off_parameters: Optional[BareMetalMachinePowerOffParameters] = None, *, content_type: str = "application/json", **kwargs: Any @@ -596,36 +469,11 @@ namespace azure.mgmt.networkcloud.aio.operations **kwargs: Any ) -> AsyncLROPoller[OperationStatusResult]: ... - @overload - async def begin_reimage( - self, - resource_group_name: str, - bare_metal_machine_name: str, - body: Optional[BareMetalMachineReimageParameters] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[OperationStatusResult]: ... - - @overload - async def begin_reimage( - self, - resource_group_name: str, - bare_metal_machine_name: str, - body: Optional[JSON] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[OperationStatusResult]: ... - - @overload + @distributed_trace_async async def begin_reimage( self, resource_group_name: str, bare_metal_machine_name: str, - body: Optional[IO[bytes]] = None, - *, - content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[OperationStatusResult]: ... @@ -645,7 +493,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_replace_parameters: Optional[JSON] = None, + bare_metal_machine_replace_parameters: Optional[BareMetalMachineReplaceParameters] = None, *, content_type: str = "application/json", **kwargs: Any @@ -686,7 +534,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_command_parameters: JSON, + bare_metal_machine_run_command_parameters: BareMetalMachineRunCommandParameters, *, content_type: str = "application/json", **kwargs: Any @@ -719,7 +567,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_parameters: JSON, + bare_metal_machine_run_data_extracts_parameters: BareMetalMachineRunDataExtractsParameters, *, content_type: str = "application/json", **kwargs: Any @@ -752,7 +600,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_restricted_parameters: JSON, + bare_metal_machine_run_data_extracts_restricted_parameters: BareMetalMachineRunDataExtractsParameters, *, content_type: str = "application/json", **kwargs: Any @@ -785,7 +633,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_read_commands_parameters: JSON, + bare_metal_machine_run_read_commands_parameters: BareMetalMachineRunReadCommandsParameters, *, content_type: str = "application/json", **kwargs: Any @@ -836,7 +684,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_update_parameters: Optional[JSON] = None, + bare_metal_machine_update_parameters: Optional[BareMetalMachinePatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -913,7 +761,7 @@ namespace azure.mgmt.networkcloud.aio.operations resource_group_name: str, cluster_name: str, bmc_key_set_name: str, - bmc_key_set_parameters: JSON, + bmc_key_set_parameters: BmcKeySet, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -967,7 +815,7 @@ namespace azure.mgmt.networkcloud.aio.operations resource_group_name: str, cluster_name: str, bmc_key_set_name: str, - bmc_key_set_update_parameters: Optional[JSON] = None, + bmc_key_set_update_parameters: Optional[BmcKeySetPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -1036,7 +884,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, cloud_services_network_name: str, - cloud_services_network_parameters: JSON, + cloud_services_network_parameters: CloudServicesNetwork, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -1086,7 +934,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, cloud_services_network_name: str, - cloud_services_network_update_parameters: Optional[JSON] = None, + cloud_services_network_update_parameters: Optional[CloudServicesNetworkPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -1161,7 +1009,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, cluster_manager_name: str, - cluster_manager_parameters: JSON, + cluster_manager_parameters: ClusterManager, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -1193,39 +1041,6 @@ namespace azure.mgmt.networkcloud.aio.operations **kwargs: Any ) -> AsyncLROPoller[OperationStatusResult]: ... - @overload - async def begin_update_relay_private_endpoint_connection( - self, - resource_group_name: str, - cluster_manager_name: str, - cluster_manager_update_relay_private_endpoint_connection_parameters: Optional[ClusterManagerUpdateRelayPrivateEndpointConnectionParameters] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[OperationStatusResult]: ... - - @overload - async def begin_update_relay_private_endpoint_connection( - self, - resource_group_name: str, - cluster_manager_name: str, - cluster_manager_update_relay_private_endpoint_connection_parameters: Optional[JSON] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[OperationStatusResult]: ... - - @overload - async def begin_update_relay_private_endpoint_connection( - self, - resource_group_name: str, - cluster_manager_name: str, - cluster_manager_update_relay_private_endpoint_connection_parameters: Optional[IO[bytes]] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[OperationStatusResult]: ... - @distributed_trace_async async def get( self, @@ -1271,7 +1086,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, cluster_manager_name: str, - cluster_manager_update_parameters: Optional[JSON] = None, + cluster_manager_update_parameters: Optional[ClusterManagerPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -1317,7 +1132,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, cluster_name: str, - cluster_continue_update_version_parameters: JSON, + cluster_continue_update_version_parameters: ClusterContinueUpdateVersionParameters, *, content_type: str = "application/json", **kwargs: Any @@ -1352,7 +1167,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, cluster_name: str, - cluster_parameters: JSON, + cluster_parameters: Cluster, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -1400,7 +1215,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, cluster_name: str, - cluster_deploy_parameters: Optional[JSON] = None, + cluster_deploy_parameters: Optional[ClusterDeployParameters] = None, *, content_type: str = "application/json", **kwargs: Any @@ -1417,72 +1232,6 @@ namespace azure.mgmt.networkcloud.aio.operations **kwargs: Any ) -> AsyncLROPoller[OperationStatusResult]: ... - @overload - async def begin_inspect( - self, - resource_group_name: str, - cluster_name: str, - cluster_inspect_parameters: Optional[ClusterInspectParameters] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[OperationStatusResult]: ... - - @overload - async def begin_inspect( - self, - resource_group_name: str, - cluster_name: str, - cluster_inspect_parameters: Optional[JSON] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[OperationStatusResult]: ... - - @overload - async def begin_inspect( - self, - resource_group_name: str, - cluster_name: str, - cluster_inspect_parameters: Optional[IO[bytes]] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[OperationStatusResult]: ... - - @overload - async def begin_rotate_credential( - self, - resource_group_name: str, - cluster_name: str, - body: ClusterRotateCredentialParameters, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[OperationStatusResult]: ... - - @overload - async def begin_rotate_credential( - self, - resource_group_name: str, - cluster_name: str, - body: JSON, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[OperationStatusResult]: ... - - @overload - async def begin_rotate_credential( - self, - resource_group_name: str, - cluster_name: str, - body: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[OperationStatusResult]: ... - @overload async def begin_scan_runtime( self, @@ -1499,7 +1248,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, cluster_name: str, - cluster_scan_runtime_parameters: Optional[JSON] = None, + cluster_scan_runtime_parameters: Optional[ClusterScanRuntimeParameters] = None, *, content_type: str = "application/json", **kwargs: Any @@ -1534,7 +1283,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, cluster_name: str, - cluster_update_parameters: Optional[JSON] = None, + cluster_update_parameters: Optional[ClusterPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -1571,7 +1320,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, cluster_name: str, - cluster_update_version_parameters: JSON, + cluster_update_version_parameters: ClusterUpdateVersionParameters, *, content_type: str = "application/json", **kwargs: Any @@ -1644,7 +1393,7 @@ namespace azure.mgmt.networkcloud.aio.operations resource_group_name: str, virtual_machine_name: str, console_name: str, - console_parameters: JSON, + console_parameters: Console, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -1698,7 +1447,7 @@ namespace azure.mgmt.networkcloud.aio.operations resource_group_name: str, virtual_machine_name: str, console_name: str, - console_update_parameters: Optional[JSON] = None, + console_update_parameters: Optional[ConsolePatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -1769,7 +1518,7 @@ namespace azure.mgmt.networkcloud.aio.operations resource_group_name: str, kubernetes_cluster_name: str, feature_name: str, - kubernetes_cluster_feature_parameters: JSON, + kubernetes_cluster_feature_parameters: KubernetesClusterFeature, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -1823,7 +1572,7 @@ namespace azure.mgmt.networkcloud.aio.operations resource_group_name: str, kubernetes_cluster_name: str, feature_name: str, - kubernetes_cluster_feature_update_parameters: Optional[JSON] = None, + kubernetes_cluster_feature_update_parameters: Optional[KubernetesClusterFeaturePatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -1892,7 +1641,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, kubernetes_cluster_name: str, - kubernetes_cluster_parameters: JSON, + kubernetes_cluster_parameters: KubernetesCluster, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -1940,7 +1689,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, kubernetes_cluster_name: str, - kubernetes_cluster_restart_node_parameters: JSON, + kubernetes_cluster_restart_node_parameters: KubernetesClusterRestartNodeParameters, *, content_type: str = "application/json", **kwargs: Any @@ -1975,7 +1724,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, kubernetes_cluster_name: str, - kubernetes_cluster_update_parameters: Optional[JSON] = None, + kubernetes_cluster_update_parameters: Optional[KubernetesClusterPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -2024,7 +1773,7 @@ namespace azure.mgmt.networkcloud.aio.operations ) -> AsyncItemPaged[KubernetesCluster]: ... - class azure.mgmt.networkcloud.aio.operations.KubernetesVersionsOperations: + class azure.mgmt.networkcloud.aio.operations.L2NetworksOperations: def __init__( self, @@ -2036,188 +1785,59 @@ namespace azure.mgmt.networkcloud.aio.operations async def begin_create_or_update( self, resource_group_name: str, - kubernetes_version_name: str, - kubernetes_version_parameters: KubernetesVersion, + l2_network_name: str, + l2_network_parameters: L2Network, *, content_type: str = "application/json", etag: Optional[str] = ..., match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> AsyncLROPoller[KubernetesVersion]: ... + ) -> AsyncLROPoller[L2Network]: ... @overload async def begin_create_or_update( self, resource_group_name: str, - kubernetes_version_name: str, - kubernetes_version_parameters: JSON, + l2_network_name: str, + l2_network_parameters: L2Network, *, content_type: str = "application/json", etag: Optional[str] = ..., match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> AsyncLROPoller[KubernetesVersion]: ... + ) -> AsyncLROPoller[L2Network]: ... @overload async def begin_create_or_update( self, resource_group_name: str, - kubernetes_version_name: str, - kubernetes_version_parameters: IO[bytes], + l2_network_name: str, + l2_network_parameters: IO[bytes], *, content_type: str = "application/json", etag: Optional[str] = ..., match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> AsyncLROPoller[KubernetesVersion]: ... + ) -> AsyncLROPoller[L2Network]: ... @distributed_trace_async - @api_version_validation(method_added_on='2026-01-01-preview', params_added_on={'2026-01-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'kubernetes_version_name', 'etag', 'match_condition']}, api_versions_list=['2026-01-01-preview', '2026-05-01-preview']) async def begin_delete( self, resource_group_name: str, - kubernetes_version_name: str, + l2_network_name: str, *, etag: Optional[str] = ..., match_condition: Optional[MatchConditions] = ..., **kwargs: Any ) -> AsyncLROPoller[OperationStatusResult]: ... - @overload - async def begin_update( + @distributed_trace_async + async def get( self, resource_group_name: str, - kubernetes_version_name: str, - kubernetes_version_patch_parameters: Optional[KubernetesVersionPatchParameters] = None, - *, - content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., + l2_network_name: str, **kwargs: Any - ) -> AsyncLROPoller[KubernetesVersion]: ... - - @overload - async def begin_update( - self, - resource_group_name: str, - kubernetes_version_name: str, - kubernetes_version_patch_parameters: Optional[JSON] = None, - *, - content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., - **kwargs: Any - ) -> AsyncLROPoller[KubernetesVersion]: ... - - @overload - async def begin_update( - self, - resource_group_name: str, - kubernetes_version_name: str, - kubernetes_version_patch_parameters: Optional[IO[bytes]] = None, - *, - content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., - **kwargs: Any - ) -> AsyncLROPoller[KubernetesVersion]: ... - - @distributed_trace_async - @api_version_validation(method_added_on='2026-01-01-preview', params_added_on={'2026-01-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'kubernetes_version_name', 'accept']}, api_versions_list=['2026-01-01-preview', '2026-05-01-preview']) - async def get( - self, - resource_group_name: str, - kubernetes_version_name: str, - **kwargs: Any - ) -> KubernetesVersion: ... - - @distributed_trace - @api_version_validation(method_added_on='2026-01-01-preview', params_added_on={'2026-01-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'top', 'skip_token', 'accept']}, api_versions_list=['2026-01-01-preview', '2026-05-01-preview']) - def list_by_resource_group( - self, - resource_group_name: str, - *, - skip_token: Optional[str] = ..., - top: Optional[int] = ..., - **kwargs: Any - ) -> AsyncItemPaged[KubernetesVersion]: ... - - @distributed_trace - @api_version_validation(method_added_on='2026-01-01-preview', params_added_on={'2026-01-01-preview': ['api_version', 'subscription_id', 'top', 'skip_token', 'accept']}, api_versions_list=['2026-01-01-preview', '2026-05-01-preview']) - def list_by_subscription( - self, - *, - skip_token: Optional[str] = ..., - top: Optional[int] = ..., - **kwargs: Any - ) -> AsyncItemPaged[KubernetesVersion]: ... - - - class azure.mgmt.networkcloud.aio.operations.L2NetworksOperations: - - def __init__( - self, - *args, - **kwargs - ) -> None: ... - - @overload - async def begin_create_or_update( - self, - resource_group_name: str, - l2_network_name: str, - l2_network_parameters: L2Network, - *, - content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., - **kwargs: Any - ) -> AsyncLROPoller[L2Network]: ... - - @overload - async def begin_create_or_update( - self, - resource_group_name: str, - l2_network_name: str, - l2_network_parameters: JSON, - *, - content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., - **kwargs: Any - ) -> AsyncLROPoller[L2Network]: ... - - @overload - async def begin_create_or_update( - self, - resource_group_name: str, - l2_network_name: str, - l2_network_parameters: IO[bytes], - *, - content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., - **kwargs: Any - ) -> AsyncLROPoller[L2Network]: ... - - @distributed_trace_async - async def begin_delete( - self, - resource_group_name: str, - l2_network_name: str, - *, - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., - **kwargs: Any - ) -> AsyncLROPoller[OperationStatusResult]: ... - - @distributed_trace_async - async def get( - self, - resource_group_name: str, - l2_network_name: str, - **kwargs: Any - ) -> L2Network: ... + ) -> L2Network: ... @distributed_trace def list_by_resource_group( @@ -2256,7 +1876,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, l2_network_name: str, - l2_network_update_parameters: Optional[JSON] = None, + l2_network_update_parameters: Optional[L2NetworkPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -2304,7 +1924,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, l3_network_name: str, - l3_network_parameters: JSON, + l3_network_parameters: L3Network, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -2381,7 +2001,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, l3_network_name: str, - l3_network_update_parameters: Optional[JSON] = None, + l3_network_update_parameters: Optional[L3NetworkPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -2431,7 +2051,7 @@ namespace azure.mgmt.networkcloud.aio.operations resource_group_name: str, cluster_name: str, metrics_configuration_name: str, - metrics_configuration_parameters: JSON, + metrics_configuration_parameters: ClusterMetricsConfiguration, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -2485,7 +2105,7 @@ namespace azure.mgmt.networkcloud.aio.operations resource_group_name: str, cluster_name: str, metrics_configuration_name: str, - metrics_configuration_update_parameters: Optional[JSON] = None, + metrics_configuration_update_parameters: Optional[ClusterMetricsConfigurationPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -2585,7 +2205,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, rack_name: str, - rack_parameters: JSON, + rack_parameters: Rack, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -2635,7 +2255,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, rack_name: str, - rack_update_parameters: Optional[JSON] = None, + rack_update_parameters: Optional[RackPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -2710,7 +2330,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, storage_appliance_name: str, - storage_appliance_parameters: JSON, + storage_appliance_parameters: StorageAppliance, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -2766,7 +2386,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, storage_appliance_name: str, - storage_appliance_enable_remote_vendor_management_parameters: Optional[JSON] = None, + storage_appliance_enable_remote_vendor_management_parameters: Optional[StorageApplianceEnableRemoteVendorManagementParameters] = None, *, content_type: str = "application/json", **kwargs: Any @@ -2799,7 +2419,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, storage_appliance_name: str, - storage_appliance_run_read_commands_parameters: JSON, + storage_appliance_run_read_commands_parameters: StorageApplianceRunReadCommandsParameters, *, content_type: str = "application/json", **kwargs: Any @@ -2834,7 +2454,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, storage_appliance_name: str, - storage_appliance_update_parameters: Optional[JSON] = None, + storage_appliance_update_parameters: Optional[StorageAppliancePatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -2909,7 +2529,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, trunked_network_name: str, - trunked_network_parameters: JSON, + trunked_network_parameters: TrunkedNetwork, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -2986,7 +2606,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, trunked_network_name: str, - trunked_network_update_parameters: Optional[JSON] = None, + trunked_network_update_parameters: Optional[TrunkedNetworkPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -3032,7 +2652,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, virtual_machine_name: str, - virtual_machine_assign_relay_parameters: Optional[JSON] = None, + virtual_machine_assign_relay_parameters: Optional[VirtualMachineAssignRelayParameters] = None, *, content_type: str = "application/json", **kwargs: Any @@ -3067,7 +2687,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, virtual_machine_name: str, - virtual_machine_parameters: JSON, + virtual_machine_parameters: VirtualMachine, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -3115,7 +2735,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, virtual_machine_name: str, - virtual_machine_power_off_parameters: Optional[JSON] = None, + virtual_machine_power_off_parameters: Optional[VirtualMachinePowerOffParameters] = None, *, content_type: str = "application/json", **kwargs: Any @@ -3174,7 +2794,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, virtual_machine_name: str, - virtual_machine_update_parameters: Optional[JSON] = None, + virtual_machine_update_parameters: Optional[VirtualMachinePatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -3249,7 +2869,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, volume_name: str, - volume_parameters: JSON, + volume_parameters: Volume, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -3326,7 +2946,7 @@ namespace azure.mgmt.networkcloud.aio.operations self, resource_group_name: str, volume_name: str, - volume_update_parameters: Optional[JSON] = None, + volume_update_parameters: Optional[VolumePatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -3364,143 +2984,6 @@ namespace azure.mgmt.networkcloud.models def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.networkcloud.models.AccessBridge(TrackedResource): - etag: Optional[str] - extended_location: ExtendedLocation - id: str - location: str - name: str - properties: AccessBridgeProperties - system_data: SystemData - tags: dict[str, str] - type: str - - def __getattr__(self, name: str) -> Any: ... - - @overload - def __init__( - self, - *, - extended_location: ExtendedLocation, - location: str, - properties: AccessBridgeProperties, - tags: Optional[dict[str, str]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - def __setattr__( - self, - key: str, - value: Any - ) -> None: ... - - - class azure.mgmt.networkcloud.models.AccessBridgeAllowedName(str, Enum, metaclass=CaseInsensitiveEnumMeta): - BASTION = "Bastion" - PRIVATE_VAULT = "PrivateVault" - STORAGE_DASHBOARD = "StorageDashboard" - - - class azure.mgmt.networkcloud.models.AccessBridgeDetailedStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): - DEGRADED = "Degraded" - FAILED = "Failed" - RUNNING = "Running" - - - class azure.mgmt.networkcloud.models.AccessBridgeEndpoint(_Model): - fqdn: Optional[str] - ipv4_address: Optional[str] - ipv6_address: Optional[str] - name: Optional[str] - - - class azure.mgmt.networkcloud.models.AccessBridgePatchParameters(_Model): - properties: Optional[AccessBridgePatchProperties] - tags: Optional[dict[str, str]] - - @overload - def __init__( - self, - *, - properties: Optional[AccessBridgePatchProperties] = ..., - tags: Optional[dict[str, str]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.networkcloud.models.AccessBridgePatchProperties(_Model): - security_rules: Optional[list[AccessBridgeSecurityRule]] - - @overload - def __init__( - self, - *, - security_rules: Optional[list[AccessBridgeSecurityRule]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.networkcloud.models.AccessBridgeProperties(_Model): - detailed_status: Optional[Union[str, AccessBridgeDetailedStatus]] - detailed_status_message: Optional[str] - endpoints: Optional[list[AccessBridgeEndpoint]] - ipv4_connected_prefix: Optional[str] - ipv6_connected_prefix: Optional[str] - network_id: str - protocol: Optional[Union[str, TransportProtocol]] - provisioning_state: Optional[Union[str, AccessBridgeProvisioningState]] - security_rules: Optional[list[AccessBridgeSecurityRule]] - - @overload - def __init__( - self, - *, - ipv4_connected_prefix: Optional[str] = ..., - ipv6_connected_prefix: Optional[str] = ..., - network_id: str, - security_rules: Optional[list[AccessBridgeSecurityRule]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.networkcloud.models.AccessBridgeProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): - ACCEPTED = "Accepted" - CANCELED = "Canceled" - FAILED = "Failed" - PROVISIONING = "Provisioning" - SUCCEEDED = "Succeeded" - - - class azure.mgmt.networkcloud.models.AccessBridgeSecurityRule(_Model): - description: Optional[str] - direction: Union[str, SecurityRuleDirection] - ipv4_addresses: Optional[list[str]] - ipv6_addresses: Optional[list[str]] - port: str - - @overload - def __init__( - self, - *, - description: Optional[str] = ..., - direction: Union[str, SecurityRuleDirection], - ipv4_addresses: Optional[list[str]] = ..., - ipv6_addresses: Optional[list[str]] = ..., - port: str - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - class azure.mgmt.networkcloud.models.ActionState(_Model): action_type: Optional[str] correlation_id: Optional[str] @@ -4029,32 +3512,6 @@ namespace azure.mgmt.networkcloud.models INVALID = "Invalid" - class azure.mgmt.networkcloud.models.BareMetalMachineMetricsConfigurationStatusLogLevel(str, Enum, metaclass=CaseInsensitiveEnumMeta): - DEFAULT = "Default" - NEXUS = "Nexus" - - - class azure.mgmt.networkcloud.models.BareMetalMachineMetricsConfigurationStatusMetricsLevel(str, Enum, metaclass=CaseInsensitiveEnumMeta): - DEFAULT = "Default" - NEXUS = "Nexus" - - - class azure.mgmt.networkcloud.models.BareMetalMachineMonitoringConfigurationStatus(_Model): - log_level: Optional[Union[str, BareMetalMachineMetricsConfigurationStatusLogLevel]] - metrics_level: Optional[Union[str, BareMetalMachineMetricsConfigurationStatusMetricsLevel]] - - @overload - def __init__( - self, - *, - log_level: Optional[Union[str, BareMetalMachineMetricsConfigurationStatusLogLevel]] = ..., - metrics_level: Optional[Union[str, BareMetalMachineMetricsConfigurationStatusMetricsLevel]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - class azure.mgmt.networkcloud.models.BareMetalMachinePatchParameters(_Model): properties: Optional[BareMetalMachinePatchProperties] tags: Optional[dict[str, str]] @@ -4117,8 +3574,6 @@ namespace azure.mgmt.networkcloud.models associated_resource_ids: Optional[list[str]] bmc_connection_string: str bmc_credentials: AdministrativeCredentials - bmc_ipv4_address: Optional[str] - bmc_ipv6_address: Optional[str] bmc_mac_address: str boot_mac_address: str ca_certificate: Optional[CertificateInfo] @@ -4136,7 +3591,6 @@ namespace azure.mgmt.networkcloud.models machine_name: str machine_roles: Optional[list[str]] machine_sku_id: str - monitoring_configuration_status: Optional[BareMetalMachineMonitoringConfigurationStatus] oam_ipv4_address: Optional[str] oam_ipv6_address: Optional[str] os_image: Optional[str] @@ -4185,33 +3639,14 @@ namespace azure.mgmt.networkcloud.models TRUE = "True" - class azure.mgmt.networkcloud.models.BareMetalMachineReimageParameters(_Model): - safeguard_mode: Optional[Union[str, BareMetalMachineReimageSafeguardMode]] - - @overload - def __init__( - self, - *, - safeguard_mode: Optional[Union[str, BareMetalMachineReimageSafeguardMode]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.networkcloud.models.BareMetalMachineReimageSafeguardMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): - ALL = "All" - NONE = "None" - - - class azure.mgmt.networkcloud.models.BareMetalMachineReplaceParameters(_Model): - bmc_credentials: Optional[AdministrativeCredentials] - bmc_mac_address: Optional[str] - boot_mac_address: Optional[str] - machine_name: Optional[str] - safeguard_mode: Optional[Union[str, BareMetalMachineReplaceSafeguardMode]] - serial_number: Optional[str] - storage_policy: Optional[Union[str, BareMetalMachineReplaceStoragePolicy]] + class azure.mgmt.networkcloud.models.BareMetalMachineReplaceParameters(_Model): + bmc_credentials: Optional[AdministrativeCredentials] + bmc_mac_address: Optional[str] + boot_mac_address: Optional[str] + machine_name: Optional[str] + safeguard_mode: Optional[Union[str, BareMetalMachineReplaceSafeguardMode]] + serial_number: Optional[str] + storage_policy: Optional[Union[str, BareMetalMachineReplaceStoragePolicy]] @overload def __init__( @@ -4647,9 +4082,6 @@ namespace azure.mgmt.networkcloud.models AVAILABLE = "Available" EXPANDING_VOLUME = "ExpandingVolume" EXPANSION_FAILED = "ExpansionFailed" - INITIALIZING = "Initializing" - NONE = "None" - REPAIRING = "Repairing" class azure.mgmt.networkcloud.models.Cluster(TrackedResource): @@ -4657,7 +4089,6 @@ namespace azure.mgmt.networkcloud.models extended_location: ExtendedLocation id: str identity: Optional[ManagedServiceIdentity] - kind: Optional[Union[str, DeploymentType]] location: str name: str properties: ClusterProperties @@ -4673,7 +4104,6 @@ namespace azure.mgmt.networkcloud.models *, extended_location: ExtendedLocation, identity: Optional[ManagedServiceIdentity] = ..., - kind: Optional[Union[str, DeploymentType]] = ..., location: str, properties: ClusterProperties, tags: Optional[dict[str, str]] = ... @@ -4744,25 +4174,18 @@ namespace azure.mgmt.networkcloud.models class azure.mgmt.networkcloud.models.ClusterContinueUpdateVersionParameters(_Model): machine_group_targeting_mode: Optional[Union[str, ClusterContinueUpdateVersionMachineGroupTargetingMode]] - safeguard_mode: Optional[Union[str, ClusterContinueUpdateVersionSafeguardMode]] @overload def __init__( self, *, - machine_group_targeting_mode: Optional[Union[str, ClusterContinueUpdateVersionMachineGroupTargetingMode]] = ..., - safeguard_mode: Optional[Union[str, ClusterContinueUpdateVersionSafeguardMode]] = ... + machine_group_targeting_mode: Optional[Union[str, ClusterContinueUpdateVersionMachineGroupTargetingMode]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.networkcloud.models.ClusterContinueUpdateVersionSafeguardMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): - ALL = "All" - NONE = "None" - - class azure.mgmt.networkcloud.models.ClusterDeployParameters(_Model): skip_validations_for_machines: Optional[list[str]] @@ -4789,31 +4212,10 @@ namespace azure.mgmt.networkcloud.models UPDATING = "Updating" - class azure.mgmt.networkcloud.models.ClusterInspectAdditionalAction(str, Enum, metaclass=CaseInsensitiveEnumMeta): - RESET_HARDWARE = "ResetHardware" - - - class azure.mgmt.networkcloud.models.ClusterInspectParameters(_Model): - additional_actions: Optional[list[Union[str, ClusterInspectAdditionalAction]]] - filter_devices: Optional[FilterDevices] - - @overload - def __init__( - self, - *, - additional_actions: Optional[list[Union[str, ClusterInspectAdditionalAction]]] = ..., - filter_devices: Optional[FilterDevices] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - class azure.mgmt.networkcloud.models.ClusterManager(TrackedResource): etag: Optional[str] id: str identity: Optional[ManagedServiceIdentity] - kind: Optional[Union[str, DeploymentType]] location: str name: str properties: ClusterManagerProperties @@ -4828,7 +4230,6 @@ namespace azure.mgmt.networkcloud.models self, *, identity: Optional[ManagedServiceIdentity] = ..., - kind: Optional[Union[str, DeploymentType]] = ..., location: str, properties: ClusterManagerProperties, tags: Optional[dict[str, str]] = ... @@ -4884,7 +4285,6 @@ namespace azure.mgmt.networkcloud.models managed_resource_group_configuration: Optional[ManagedResourceGroupConfiguration] manager_extended_location: Optional[ExtendedLocation] provisioning_state: Optional[Union[str, ClusterManagerProvisioningState]] - relay_configuration: Optional[ClusterManagerRelayConfiguration] vm_size: Optional[str] @overload @@ -4911,38 +4311,6 @@ namespace azure.mgmt.networkcloud.models UPDATING = "Updating" - class azure.mgmt.networkcloud.models.ClusterManagerRelayConfiguration(_Model): - relay_namespace_id: Optional[str] - - @overload - def __init__( - self, - *, - relay_namespace_id: Optional[str] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.networkcloud.models.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters(_Model): - connection_state: Union[str, RelayPrivateEndpointConnectionState] - description: Optional[str] - private_endpoint_resource_id: str - - @overload - def __init__( - self, - *, - connection_state: Union[str, RelayPrivateEndpointConnectionState], - description: Optional[str] = ..., - private_endpoint_resource_id: str - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - class azure.mgmt.networkcloud.models.ClusterMetricsConfiguration(TrackedResource): etag: Optional[str] extended_location: ExtendedLocation @@ -5133,8 +4501,6 @@ namespace azure.mgmt.networkcloud.models detailed_status: Optional[Union[str, ClusterDetailedStatus]] detailed_status_message: Optional[str] hybrid_aks_extended_location: Optional[ExtendedLocation] - last_successful_version_update_time: Optional[datetime] - managed_credentials: Optional[list[str]] managed_resource_group_configuration: Optional[ManagedResourceGroupConfiguration] manual_action_count: Optional[int] network_fabric_id: str @@ -5183,20 +4549,6 @@ namespace azure.mgmt.networkcloud.models VALIDATING = "Validating" - class azure.mgmt.networkcloud.models.ClusterRotateCredentialParameters(_Model): - credentials: list[str] - - @overload - def __init__( - self, - *, - credentials: list[str] - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - class azure.mgmt.networkcloud.models.ClusterScanRuntimeParameters(_Model): scan_activity: Optional[Union[str, ClusterScanRuntimeParametersScanActivity]] @@ -5270,14 +4622,12 @@ namespace azure.mgmt.networkcloud.models class azure.mgmt.networkcloud.models.ClusterUpdateVersionParameters(_Model): - safeguard_mode: Optional[Union[str, ClusterUpdateVersionSafeguardMode]] target_cluster_version: str @overload def __init__( self, *, - safeguard_mode: Optional[Union[str, ClusterUpdateVersionSafeguardMode]] = ..., target_cluster_version: str ) -> None: ... @@ -5285,11 +4635,6 @@ namespace azure.mgmt.networkcloud.models def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.networkcloud.models.ClusterUpdateVersionSafeguardMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): - ALL = "All" - NONE = "None" - - class azure.mgmt.networkcloud.models.CommandOutputOverride(_Model): associated_identity: Optional[IdentitySelector] command_output_type: Optional[Union[str, CommandOutputType]] @@ -5331,7 +4676,6 @@ namespace azure.mgmt.networkcloud.models BARE_METAL_MACHINE_RUN_DATA_EXTRACTS = "BareMetalMachineRunDataExtracts" BARE_METAL_MACHINE_RUN_DATA_EXTRACTS_RESTRICTED = "BareMetalMachineRunDataExtractsRestricted" BARE_METAL_MACHINE_RUN_READ_COMMANDS = "BareMetalMachineRunReadCommands" - CLUSTER_SUPPORT_ADMINISTRATIVE_ACTIONS = "ClusterSupportAdministrativeActions" STORAGE_RUN_READ_COMMANDS = "StorageRunReadCommands" @@ -5504,11 +4848,6 @@ namespace azure.mgmt.networkcloud.models TRUE = "True" - class azure.mgmt.networkcloud.models.DeploymentType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - AZURE_LOCAL = "AzureLocal" - NEXUS = "Nexus" - - class azure.mgmt.networkcloud.models.DeviceConnectionType(str, Enum, metaclass=CaseInsensitiveEnumMeta): PCI = "PCI" @@ -5616,22 +4955,6 @@ namespace azure.mgmt.networkcloud.models version: Optional[str] - class azure.mgmt.networkcloud.models.FilterDevices(_Model): - bare_metal_machine_names: Optional[list[str]] - rack_names: Optional[list[str]] - - @overload - def __init__( - self, - *, - bare_metal_machine_names: Optional[list[str]] = ..., - rack_names: Optional[list[str]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - class azure.mgmt.networkcloud.models.HardwareInventory(_Model): additional_host_information: Optional[str] interfaces: Optional[list[HardwareInventoryNetworkInterface]] @@ -6109,70 +5432,6 @@ namespace azure.mgmt.networkcloud.models SRIOV = "SRIOV" - class azure.mgmt.networkcloud.models.KubernetesVersion(TrackedResource): - etag: Optional[str] - extended_location: ExtendedLocation - id: str - location: str - name: str - properties: KubernetesVersionProperties - system_data: SystemData - tags: dict[str, str] - type: str - - def __getattr__(self, name: str) -> Any: ... - - @overload - def __init__( - self, - *, - extended_location: ExtendedLocation, - location: str, - properties: KubernetesVersionProperties, - tags: Optional[dict[str, str]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - def __setattr__( - self, - key: str, - value: Any - ) -> None: ... - - - class azure.mgmt.networkcloud.models.KubernetesVersionPatchParameters(_Model): - tags: Optional[dict[str, str]] - - @overload - def __init__( - self, - *, - tags: Optional[dict[str, str]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.networkcloud.models.KubernetesVersionProperties(_Model): - provisioning_state: Optional[Union[str, KubernetesVersionProvisioningState]] - values_property: Optional[list[KubernetesVersionValue]] - - - class azure.mgmt.networkcloud.models.KubernetesVersionProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): - ACCEPTED = "Accepted" - CANCELED = "Canceled" - FAILED = "Failed" - SUCCEEDED = "Succeeded" - - - class azure.mgmt.networkcloud.models.KubernetesVersionValue(_Model): - description: Optional[str] - version: Optional[str] - - class azure.mgmt.networkcloud.models.L2Network(TrackedResource): etag: Optional[str] extended_location: ExtendedLocation @@ -6848,7 +6107,6 @@ namespace azure.mgmt.networkcloud.models class azure.mgmt.networkcloud.models.RackSkuProperties(_Model): compute_machines: Optional[list[MachineSkuSlot]] controller_machines: Optional[list[MachineSkuSlot]] - deployment_type: Optional[Union[str, DeploymentType]] description: Optional[str] max_cluster_slots: Optional[int] provisioning_state: Optional[Union[str, RackSkuProvisioningState]] @@ -6885,11 +6143,6 @@ namespace azure.mgmt.networkcloud.models def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.networkcloud.models.RelayPrivateEndpointConnectionState(str, Enum, metaclass=CaseInsensitiveEnumMeta): - APPROVED = "Approved" - REJECTED = "Rejected" - - class azure.mgmt.networkcloud.models.RelayType(str, Enum, metaclass=CaseInsensitiveEnumMeta): PLATFORM = "Platform" PUBLIC = "Public" @@ -6913,25 +6166,13 @@ namespace azure.mgmt.networkcloud.models type: Optional[str] - class azure.mgmt.networkcloud.models.RuntimeProtectionAgentHealthStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): - HEALTHY = "Healthy" - UNHEALTHY = "Unhealthy" - - - class azure.mgmt.networkcloud.models.RuntimeProtectionAgentLicenseStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): - LICENSED = "Licensed" - UNLICENSED = "Unlicensed" - - class azure.mgmt.networkcloud.models.RuntimeProtectionConfiguration(_Model): - definition_update_mode: Optional[Union[str, RuntimeProtectionDefinitionUpdateMode]] enforcement_level: Optional[Union[str, RuntimeProtectionEnforcementLevel]] @overload def __init__( self, *, - definition_update_mode: Optional[Union[str, RuntimeProtectionDefinitionUpdateMode]] = ..., enforcement_level: Optional[Union[str, RuntimeProtectionEnforcementLevel]] = ... ) -> None: ... @@ -6939,11 +6180,6 @@ namespace azure.mgmt.networkcloud.models def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.networkcloud.models.RuntimeProtectionDefinitionUpdateMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): - AUTOMATIC = "Automatic" - NONE = "None" - - class azure.mgmt.networkcloud.models.RuntimeProtectionEnforcementLevel(str, Enum, metaclass=CaseInsensitiveEnumMeta): AUDIT = "Audit" DISABLED = "Disabled" @@ -6953,13 +6189,8 @@ namespace azure.mgmt.networkcloud.models class azure.mgmt.networkcloud.models.RuntimeProtectionStatus(_Model): - agent_health_status: Optional[Union[str, RuntimeProtectionAgentHealthStatus]] - agent_health_status_issues: Optional[list[str]] - agent_license_status: Optional[Union[str, RuntimeProtectionAgentLicenseStatus]] - definition_update_mode: Optional[Union[str, RuntimeProtectionDefinitionUpdateMode]] definitions_last_updated: Optional[datetime] definitions_version: Optional[str] - enforcement_level: Optional[Union[str, RuntimeProtectionEnforcementLevel]] scan_completed_time: Optional[datetime] scan_scheduled_time: Optional[datetime] scan_started_time: Optional[datetime] @@ -6996,11 +6227,6 @@ namespace azure.mgmt.networkcloud.models secret_type: Optional[str] - class azure.mgmt.networkcloud.models.SecurityRuleDirection(str, Enum, metaclass=CaseInsensitiveEnumMeta): - INBOUND = "Inbound" - OUTBOUND = "Outbound" - - class azure.mgmt.networkcloud.models.ServiceLoadBalancerBgpPeer(_Model): bfd_enabled: Optional[Union[str, BfdEnabled]] bgp_multi_hop: Optional[Union[str, BgpMultiHop]] @@ -7177,48 +6403,6 @@ namespace azure.mgmt.networkcloud.models def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.networkcloud.models.StorageApplianceExpansionShelf(_Model): - model: Optional[str] - version: Optional[str] - - @overload - def __init__( - self, - *, - model: Optional[str] = ..., - version: Optional[str] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - - class azure.mgmt.networkcloud.models.StorageApplianceMetricsConfigurationStatusLogLevel(str, Enum, metaclass=CaseInsensitiveEnumMeta): - DEFAULT = "Default" - NEXUS = "Nexus" - - - class azure.mgmt.networkcloud.models.StorageApplianceMetricsConfigurationStatusMetricsLevel(str, Enum, metaclass=CaseInsensitiveEnumMeta): - DEFAULT = "Default" - NEXUS = "Nexus" - - - class azure.mgmt.networkcloud.models.StorageApplianceMonitoringConfigurationStatus(_Model): - log_level: Optional[Union[str, StorageApplianceMetricsConfigurationStatusLogLevel]] - metrics_level: Optional[Union[str, StorageApplianceMetricsConfigurationStatusMetricsLevel]] - - @overload - def __init__( - self, - *, - log_level: Optional[Union[str, StorageApplianceMetricsConfigurationStatusLogLevel]] = ..., - metrics_level: Optional[Union[str, StorageApplianceMetricsConfigurationStatusMetricsLevel]] = ... - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: ... - - class azure.mgmt.networkcloud.models.StorageAppliancePatchParameters(_Model): properties: Optional[StorageAppliancePatchProperties] tags: Optional[dict[str, str]] @@ -7265,11 +6449,9 @@ namespace azure.mgmt.networkcloud.models cluster_id: Optional[str] detailed_status: Optional[Union[str, StorageApplianceDetailedStatus]] detailed_status_message: Optional[str] - expansion_shelves: Optional[list[StorageApplianceExpansionShelf]] management_ipv4_address: Optional[str] manufacturer: Optional[str] model: Optional[str] - monitoring_configuration_status: Optional[StorageApplianceMonitoringConfigurationStatus] provisioning_state: Optional[Union[str, StorageApplianceProvisioningState]] rack_id: str rack_slot: int @@ -7423,11 +6605,6 @@ namespace azure.mgmt.networkcloud.models def __init__(self, mapping: Mapping[str, Any]) -> None: ... - class azure.mgmt.networkcloud.models.TransportProtocol(str, Enum, metaclass=CaseInsensitiveEnumMeta): - TCP = "TCP" - UDP = "UDP" - - class azure.mgmt.networkcloud.models.TrunkedNetwork(TrackedResource): etag: Optional[str] extended_location: ExtendedLocation @@ -7870,7 +7047,6 @@ namespace azure.mgmt.networkcloud.models class azure.mgmt.networkcloud.models.VolumeProperties(_Model): allocated_size_mi_b: Optional[int] - assigned_storage_appliance_id: Optional[str] attached_to: Optional[list[str]] detailed_status: Optional[Union[str, VolumeDetailedStatus]] detailed_status_message: Optional[str] @@ -7939,7 +7115,7 @@ namespace azure.mgmt.networkcloud.models namespace azure.mgmt.networkcloud.operations - class azure.mgmt.networkcloud.operations.AccessBridgesOperations: + class azure.mgmt.networkcloud.operations.AgentPoolsOperations: def __init__( self, @@ -7951,41 +7127,50 @@ namespace azure.mgmt.networkcloud.operations def begin_create_or_update( self, resource_group_name: str, - access_bridge_name: Union[str, AccessBridgeAllowedName], - access_bridge: AccessBridge, + kubernetes_cluster_name: str, + agent_pool_name: str, + agent_pool_parameters: AgentPool, *, content_type: str = "application/json", + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> LROPoller[AccessBridge]: ... + ) -> LROPoller[AgentPool]: ... @overload def begin_create_or_update( self, resource_group_name: str, - access_bridge_name: Union[str, AccessBridgeAllowedName], - access_bridge: JSON, + kubernetes_cluster_name: str, + agent_pool_name: str, + agent_pool_parameters: AgentPool, *, content_type: str = "application/json", + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> LROPoller[AccessBridge]: ... + ) -> LROPoller[AgentPool]: ... @overload def begin_create_or_update( self, resource_group_name: str, - access_bridge_name: Union[str, AccessBridgeAllowedName], - access_bridge: IO[bytes], + kubernetes_cluster_name: str, + agent_pool_name: str, + agent_pool_parameters: IO[bytes], *, content_type: str = "application/json", + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> LROPoller[AccessBridge]: ... + ) -> LROPoller[AgentPool]: ... @distributed_trace - @api_version_validation(method_added_on='2026-01-01-preview', params_added_on={'2026-01-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'access_bridge_name', 'etag', 'match_condition']}, api_versions_list=['2026-01-01-preview', '2026-05-01-preview']) def begin_delete( self, resource_group_name: str, - access_bridge_name: Union[str, AccessBridgeAllowedName], + kubernetes_cluster_name: str, + agent_pool_name: str, *, etag: Optional[str] = ..., match_condition: Optional[MatchConditions] = ..., @@ -7996,73 +7181,66 @@ namespace azure.mgmt.networkcloud.operations def begin_update( self, resource_group_name: str, - access_bridge_name: Union[str, AccessBridgeAllowedName], - access_bridge_update_parameters: Optional[AccessBridgePatchParameters] = None, + kubernetes_cluster_name: str, + agent_pool_name: str, + agent_pool_update_parameters: Optional[AgentPoolPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> LROPoller[AccessBridge]: ... + ) -> LROPoller[AgentPool]: ... @overload def begin_update( self, resource_group_name: str, - access_bridge_name: Union[str, AccessBridgeAllowedName], - access_bridge_update_parameters: Optional[JSON] = None, + kubernetes_cluster_name: str, + agent_pool_name: str, + agent_pool_update_parameters: Optional[AgentPoolPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> LROPoller[AccessBridge]: ... + ) -> LROPoller[AgentPool]: ... @overload def begin_update( self, resource_group_name: str, - access_bridge_name: Union[str, AccessBridgeAllowedName], - access_bridge_update_parameters: Optional[IO[bytes]] = None, + kubernetes_cluster_name: str, + agent_pool_name: str, + agent_pool_update_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> LROPoller[AccessBridge]: ... + ) -> LROPoller[AgentPool]: ... @distributed_trace - @api_version_validation(method_added_on='2026-01-01-preview', params_added_on={'2026-01-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'access_bridge_name', 'accept']}, api_versions_list=['2026-01-01-preview', '2026-05-01-preview']) def get( self, resource_group_name: str, - access_bridge_name: Union[str, AccessBridgeAllowedName], + kubernetes_cluster_name: str, + agent_pool_name: str, **kwargs: Any - ) -> AccessBridge: ... + ) -> AgentPool: ... @distributed_trace - @api_version_validation(method_added_on='2026-01-01-preview', params_added_on={'2026-01-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'top', 'skip_token', 'accept']}, api_versions_list=['2026-01-01-preview', '2026-05-01-preview']) - def list_by_resource_group( + def list_by_kubernetes_cluster( self, resource_group_name: str, + kubernetes_cluster_name: str, *, skip_token: Optional[str] = ..., top: Optional[int] = ..., **kwargs: Any - ) -> ItemPaged[AccessBridge]: ... - - @distributed_trace - @api_version_validation(method_added_on='2026-01-01-preview', params_added_on={'2026-01-01-preview': ['api_version', 'subscription_id', 'top', 'skip_token', 'accept']}, api_versions_list=['2026-01-01-preview', '2026-05-01-preview']) - def list_by_subscription( - self, - *, - skip_token: Optional[str] = ..., - top: Optional[int] = ..., - **kwargs: Any - ) -> ItemPaged[AccessBridge]: ... + ) -> ItemPaged[AgentPool]: ... - class azure.mgmt.networkcloud.operations.AgentPoolsOperations: + class azure.mgmt.networkcloud.operations.BareMetalMachineKeySetsOperations: def __init__( self, @@ -8074,154 +7252,29 @@ namespace azure.mgmt.networkcloud.operations def begin_create_or_update( self, resource_group_name: str, - kubernetes_cluster_name: str, - agent_pool_name: str, - agent_pool_parameters: AgentPool, + cluster_name: str, + bare_metal_machine_key_set_name: str, + bare_metal_machine_key_set_parameters: BareMetalMachineKeySet, *, content_type: str = "application/json", etag: Optional[str] = ..., match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> LROPoller[AgentPool]: ... + ) -> LROPoller[BareMetalMachineKeySet]: ... @overload def begin_create_or_update( self, resource_group_name: str, - kubernetes_cluster_name: str, - agent_pool_name: str, - agent_pool_parameters: JSON, + cluster_name: str, + bare_metal_machine_key_set_name: str, + bare_metal_machine_key_set_parameters: BareMetalMachineKeySet, *, content_type: str = "application/json", etag: Optional[str] = ..., match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> LROPoller[AgentPool]: ... - - @overload - def begin_create_or_update( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - agent_pool_name: str, - agent_pool_parameters: IO[bytes], - *, - content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., - **kwargs: Any - ) -> LROPoller[AgentPool]: ... - - @distributed_trace - def begin_delete( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - agent_pool_name: str, - *, - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., - **kwargs: Any - ) -> LROPoller[OperationStatusResult]: ... - - @overload - def begin_update( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - agent_pool_name: str, - agent_pool_update_parameters: Optional[AgentPoolPatchParameters] = None, - *, - content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., - **kwargs: Any - ) -> LROPoller[AgentPool]: ... - - @overload - def begin_update( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - agent_pool_name: str, - agent_pool_update_parameters: Optional[JSON] = None, - *, - content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., - **kwargs: Any - ) -> LROPoller[AgentPool]: ... - - @overload - def begin_update( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - agent_pool_name: str, - agent_pool_update_parameters: Optional[IO[bytes]] = None, - *, - content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., - **kwargs: Any - ) -> LROPoller[AgentPool]: ... - - @distributed_trace - def get( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - agent_pool_name: str, - **kwargs: Any - ) -> AgentPool: ... - - @distributed_trace - def list_by_kubernetes_cluster( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - *, - skip_token: Optional[str] = ..., - top: Optional[int] = ..., - **kwargs: Any - ) -> ItemPaged[AgentPool]: ... - - - class azure.mgmt.networkcloud.operations.BareMetalMachineKeySetsOperations: - - def __init__( - self, - *args, - **kwargs - ) -> None: ... - - @overload - def begin_create_or_update( - self, - resource_group_name: str, - cluster_name: str, - bare_metal_machine_key_set_name: str, - bare_metal_machine_key_set_parameters: BareMetalMachineKeySet, - *, - content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., - **kwargs: Any - ) -> LROPoller[BareMetalMachineKeySet]: ... - - @overload - def begin_create_or_update( - self, - resource_group_name: str, - cluster_name: str, - bare_metal_machine_key_set_name: str, - bare_metal_machine_key_set_parameters: JSON, - *, - content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., - **kwargs: Any - ) -> LROPoller[BareMetalMachineKeySet]: ... + ) -> LROPoller[BareMetalMachineKeySet]: ... @overload def begin_create_or_update( @@ -8269,7 +7322,7 @@ namespace azure.mgmt.networkcloud.operations resource_group_name: str, cluster_name: str, bare_metal_machine_key_set_name: str, - bare_metal_machine_key_set_update_parameters: Optional[JSON] = None, + bare_metal_machine_key_set_update_parameters: Optional[BareMetalMachineKeySetPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -8336,7 +7389,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_cordon_parameters: Optional[JSON] = None, + bare_metal_machine_cordon_parameters: Optional[BareMetalMachineCordonParameters] = None, *, content_type: str = "application/json", **kwargs: Any @@ -8371,7 +7424,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_parameters: JSON, + bare_metal_machine_parameters: BareMetalMachine, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -8419,7 +7472,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_power_off_parameters: Optional[JSON] = None, + bare_metal_machine_power_off_parameters: Optional[BareMetalMachinePowerOffParameters] = None, *, content_type: str = "application/json", **kwargs: Any @@ -8436,36 +7489,11 @@ namespace azure.mgmt.networkcloud.operations **kwargs: Any ) -> LROPoller[OperationStatusResult]: ... - @overload - def begin_reimage( - self, - resource_group_name: str, - bare_metal_machine_name: str, - body: Optional[BareMetalMachineReimageParameters] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[OperationStatusResult]: ... - - @overload - def begin_reimage( - self, - resource_group_name: str, - bare_metal_machine_name: str, - body: Optional[JSON] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[OperationStatusResult]: ... - - @overload + @distributed_trace def begin_reimage( self, resource_group_name: str, bare_metal_machine_name: str, - body: Optional[IO[bytes]] = None, - *, - content_type: str = "application/json", **kwargs: Any ) -> LROPoller[OperationStatusResult]: ... @@ -8485,7 +7513,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_replace_parameters: Optional[JSON] = None, + bare_metal_machine_replace_parameters: Optional[BareMetalMachineReplaceParameters] = None, *, content_type: str = "application/json", **kwargs: Any @@ -8526,7 +7554,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_command_parameters: JSON, + bare_metal_machine_run_command_parameters: BareMetalMachineRunCommandParameters, *, content_type: str = "application/json", **kwargs: Any @@ -8559,7 +7587,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_parameters: JSON, + bare_metal_machine_run_data_extracts_parameters: BareMetalMachineRunDataExtractsParameters, *, content_type: str = "application/json", **kwargs: Any @@ -8592,7 +7620,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_restricted_parameters: JSON, + bare_metal_machine_run_data_extracts_restricted_parameters: BareMetalMachineRunDataExtractsParameters, *, content_type: str = "application/json", **kwargs: Any @@ -8625,7 +7653,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_read_commands_parameters: JSON, + bare_metal_machine_run_read_commands_parameters: BareMetalMachineRunReadCommandsParameters, *, content_type: str = "application/json", **kwargs: Any @@ -8676,7 +7704,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_update_parameters: Optional[JSON] = None, + bare_metal_machine_update_parameters: Optional[BareMetalMachinePatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -8753,7 +7781,7 @@ namespace azure.mgmt.networkcloud.operations resource_group_name: str, cluster_name: str, bmc_key_set_name: str, - bmc_key_set_parameters: JSON, + bmc_key_set_parameters: BmcKeySet, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -8807,7 +7835,7 @@ namespace azure.mgmt.networkcloud.operations resource_group_name: str, cluster_name: str, bmc_key_set_name: str, - bmc_key_set_update_parameters: Optional[JSON] = None, + bmc_key_set_update_parameters: Optional[BmcKeySetPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -8876,7 +7904,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, cloud_services_network_name: str, - cloud_services_network_parameters: JSON, + cloud_services_network_parameters: CloudServicesNetwork, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -8926,7 +7954,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, cloud_services_network_name: str, - cloud_services_network_update_parameters: Optional[JSON] = None, + cloud_services_network_update_parameters: Optional[CloudServicesNetworkPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -9001,7 +8029,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, cluster_manager_name: str, - cluster_manager_parameters: JSON, + cluster_manager_parameters: ClusterManager, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -9033,39 +8061,6 @@ namespace azure.mgmt.networkcloud.operations **kwargs: Any ) -> LROPoller[OperationStatusResult]: ... - @overload - def begin_update_relay_private_endpoint_connection( - self, - resource_group_name: str, - cluster_manager_name: str, - cluster_manager_update_relay_private_endpoint_connection_parameters: Optional[ClusterManagerUpdateRelayPrivateEndpointConnectionParameters] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[OperationStatusResult]: ... - - @overload - def begin_update_relay_private_endpoint_connection( - self, - resource_group_name: str, - cluster_manager_name: str, - cluster_manager_update_relay_private_endpoint_connection_parameters: Optional[JSON] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[OperationStatusResult]: ... - - @overload - def begin_update_relay_private_endpoint_connection( - self, - resource_group_name: str, - cluster_manager_name: str, - cluster_manager_update_relay_private_endpoint_connection_parameters: Optional[IO[bytes]] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[OperationStatusResult]: ... - @distributed_trace def get( self, @@ -9111,7 +8106,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, cluster_manager_name: str, - cluster_manager_update_parameters: Optional[JSON] = None, + cluster_manager_update_parameters: Optional[ClusterManagerPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -9157,7 +8152,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, cluster_name: str, - cluster_continue_update_version_parameters: JSON, + cluster_continue_update_version_parameters: ClusterContinueUpdateVersionParameters, *, content_type: str = "application/json", **kwargs: Any @@ -9192,7 +8187,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, cluster_name: str, - cluster_parameters: JSON, + cluster_parameters: Cluster, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -9240,7 +8235,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, cluster_name: str, - cluster_deploy_parameters: Optional[JSON] = None, + cluster_deploy_parameters: Optional[ClusterDeployParameters] = None, *, content_type: str = "application/json", **kwargs: Any @@ -9257,72 +8252,6 @@ namespace azure.mgmt.networkcloud.operations **kwargs: Any ) -> LROPoller[OperationStatusResult]: ... - @overload - def begin_inspect( - self, - resource_group_name: str, - cluster_name: str, - cluster_inspect_parameters: Optional[ClusterInspectParameters] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[OperationStatusResult]: ... - - @overload - def begin_inspect( - self, - resource_group_name: str, - cluster_name: str, - cluster_inspect_parameters: Optional[JSON] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[OperationStatusResult]: ... - - @overload - def begin_inspect( - self, - resource_group_name: str, - cluster_name: str, - cluster_inspect_parameters: Optional[IO[bytes]] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[OperationStatusResult]: ... - - @overload - def begin_rotate_credential( - self, - resource_group_name: str, - cluster_name: str, - body: ClusterRotateCredentialParameters, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[OperationStatusResult]: ... - - @overload - def begin_rotate_credential( - self, - resource_group_name: str, - cluster_name: str, - body: JSON, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[OperationStatusResult]: ... - - @overload - def begin_rotate_credential( - self, - resource_group_name: str, - cluster_name: str, - body: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[OperationStatusResult]: ... - @overload def begin_scan_runtime( self, @@ -9339,7 +8268,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, cluster_name: str, - cluster_scan_runtime_parameters: Optional[JSON] = None, + cluster_scan_runtime_parameters: Optional[ClusterScanRuntimeParameters] = None, *, content_type: str = "application/json", **kwargs: Any @@ -9374,7 +8303,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, cluster_name: str, - cluster_update_parameters: Optional[JSON] = None, + cluster_update_parameters: Optional[ClusterPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -9411,7 +8340,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, cluster_name: str, - cluster_update_version_parameters: JSON, + cluster_update_version_parameters: ClusterUpdateVersionParameters, *, content_type: str = "application/json", **kwargs: Any @@ -9484,7 +8413,7 @@ namespace azure.mgmt.networkcloud.operations resource_group_name: str, virtual_machine_name: str, console_name: str, - console_parameters: JSON, + console_parameters: Console, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -9538,7 +8467,7 @@ namespace azure.mgmt.networkcloud.operations resource_group_name: str, virtual_machine_name: str, console_name: str, - console_update_parameters: Optional[JSON] = None, + console_update_parameters: Optional[ConsolePatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -9609,7 +8538,7 @@ namespace azure.mgmt.networkcloud.operations resource_group_name: str, kubernetes_cluster_name: str, feature_name: str, - kubernetes_cluster_feature_parameters: JSON, + kubernetes_cluster_feature_parameters: KubernetesClusterFeature, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -9663,7 +8592,7 @@ namespace azure.mgmt.networkcloud.operations resource_group_name: str, kubernetes_cluster_name: str, feature_name: str, - kubernetes_cluster_feature_update_parameters: Optional[JSON] = None, + kubernetes_cluster_feature_update_parameters: Optional[KubernetesClusterFeaturePatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -9732,7 +8661,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, kubernetes_cluster_name: str, - kubernetes_cluster_parameters: JSON, + kubernetes_cluster_parameters: KubernetesCluster, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -9780,7 +8709,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, kubernetes_cluster_name: str, - kubernetes_cluster_restart_node_parameters: JSON, + kubernetes_cluster_restart_node_parameters: KubernetesClusterRestartNodeParameters, *, content_type: str = "application/json", **kwargs: Any @@ -9815,7 +8744,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, kubernetes_cluster_name: str, - kubernetes_cluster_update_parameters: Optional[JSON] = None, + kubernetes_cluster_update_parameters: Optional[KubernetesClusterPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -9864,7 +8793,7 @@ namespace azure.mgmt.networkcloud.operations ) -> ItemPaged[KubernetesCluster]: ... - class azure.mgmt.networkcloud.operations.KubernetesVersionsOperations: + class azure.mgmt.networkcloud.operations.L2NetworksOperations: def __init__( self, @@ -9876,130 +8805,14 @@ namespace azure.mgmt.networkcloud.operations def begin_create_or_update( self, resource_group_name: str, - kubernetes_version_name: str, - kubernetes_version_parameters: KubernetesVersion, + l2_network_name: str, + l2_network_parameters: L2Network, *, content_type: str = "application/json", etag: Optional[str] = ..., match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> LROPoller[KubernetesVersion]: ... - - @overload - def begin_create_or_update( - self, - resource_group_name: str, - kubernetes_version_name: str, - kubernetes_version_parameters: JSON, - *, - content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., - **kwargs: Any - ) -> LROPoller[KubernetesVersion]: ... - - @overload - def begin_create_or_update( - self, - resource_group_name: str, - kubernetes_version_name: str, - kubernetes_version_parameters: IO[bytes], - *, - content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., - **kwargs: Any - ) -> LROPoller[KubernetesVersion]: ... - - @distributed_trace - @api_version_validation(method_added_on='2026-01-01-preview', params_added_on={'2026-01-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'kubernetes_version_name', 'etag', 'match_condition']}, api_versions_list=['2026-01-01-preview', '2026-05-01-preview']) - def begin_delete( - self, - resource_group_name: str, - kubernetes_version_name: str, - *, - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., - **kwargs: Any - ) -> LROPoller[OperationStatusResult]: ... - - @overload - def begin_update( - self, - resource_group_name: str, - kubernetes_version_name: str, - kubernetes_version_patch_parameters: Optional[KubernetesVersionPatchParameters] = None, - *, - content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., - **kwargs: Any - ) -> LROPoller[KubernetesVersion]: ... - - @overload - def begin_update( - self, - resource_group_name: str, - kubernetes_version_name: str, - kubernetes_version_patch_parameters: Optional[JSON] = None, - *, - content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., - **kwargs: Any - ) -> LROPoller[KubernetesVersion]: ... - - @overload - def begin_update( - self, - resource_group_name: str, - kubernetes_version_name: str, - kubernetes_version_patch_parameters: Optional[IO[bytes]] = None, - *, - content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., - **kwargs: Any - ) -> LROPoller[KubernetesVersion]: ... - - @distributed_trace - @api_version_validation(method_added_on='2026-01-01-preview', params_added_on={'2026-01-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'kubernetes_version_name', 'accept']}, api_versions_list=['2026-01-01-preview', '2026-05-01-preview']) - def get( - self, - resource_group_name: str, - kubernetes_version_name: str, - **kwargs: Any - ) -> KubernetesVersion: ... - - @distributed_trace - @api_version_validation(method_added_on='2026-01-01-preview', params_added_on={'2026-01-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'top', 'skip_token', 'accept']}, api_versions_list=['2026-01-01-preview', '2026-05-01-preview']) - def list_by_resource_group( - self, - resource_group_name: str, - *, - skip_token: Optional[str] = ..., - top: Optional[int] = ..., - **kwargs: Any - ) -> ItemPaged[KubernetesVersion]: ... - - @distributed_trace - @api_version_validation(method_added_on='2026-01-01-preview', params_added_on={'2026-01-01-preview': ['api_version', 'subscription_id', 'top', 'skip_token', 'accept']}, api_versions_list=['2026-01-01-preview', '2026-05-01-preview']) - def list_by_subscription( - self, - *, - skip_token: Optional[str] = ..., - top: Optional[int] = ..., - **kwargs: Any - ) -> ItemPaged[KubernetesVersion]: ... - - - class azure.mgmt.networkcloud.operations.L2NetworksOperations: - - def __init__( - self, - *args, - **kwargs - ) -> None: ... + ) -> LROPoller[L2Network]: ... @overload def begin_create_or_update( @@ -10014,19 +8827,6 @@ namespace azure.mgmt.networkcloud.operations **kwargs: Any ) -> LROPoller[L2Network]: ... - @overload - def begin_create_or_update( - self, - resource_group_name: str, - l2_network_name: str, - l2_network_parameters: JSON, - *, - content_type: str = "application/json", - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., - **kwargs: Any - ) -> LROPoller[L2Network]: ... - @overload def begin_create_or_update( self, @@ -10096,7 +8896,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, l2_network_name: str, - l2_network_update_parameters: Optional[JSON] = None, + l2_network_update_parameters: Optional[L2NetworkPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -10144,7 +8944,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, l3_network_name: str, - l3_network_parameters: JSON, + l3_network_parameters: L3Network, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -10221,7 +9021,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, l3_network_name: str, - l3_network_update_parameters: Optional[JSON] = None, + l3_network_update_parameters: Optional[L3NetworkPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -10271,7 +9071,7 @@ namespace azure.mgmt.networkcloud.operations resource_group_name: str, cluster_name: str, metrics_configuration_name: str, - metrics_configuration_parameters: JSON, + metrics_configuration_parameters: ClusterMetricsConfiguration, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -10325,7 +9125,7 @@ namespace azure.mgmt.networkcloud.operations resource_group_name: str, cluster_name: str, metrics_configuration_name: str, - metrics_configuration_update_parameters: Optional[JSON] = None, + metrics_configuration_update_parameters: Optional[ClusterMetricsConfigurationPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -10425,7 +9225,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, rack_name: str, - rack_parameters: JSON, + rack_parameters: Rack, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -10475,7 +9275,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, rack_name: str, - rack_update_parameters: Optional[JSON] = None, + rack_update_parameters: Optional[RackPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -10550,7 +9350,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, storage_appliance_name: str, - storage_appliance_parameters: JSON, + storage_appliance_parameters: StorageAppliance, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -10606,7 +9406,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, storage_appliance_name: str, - storage_appliance_enable_remote_vendor_management_parameters: Optional[JSON] = None, + storage_appliance_enable_remote_vendor_management_parameters: Optional[StorageApplianceEnableRemoteVendorManagementParameters] = None, *, content_type: str = "application/json", **kwargs: Any @@ -10639,7 +9439,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, storage_appliance_name: str, - storage_appliance_run_read_commands_parameters: JSON, + storage_appliance_run_read_commands_parameters: StorageApplianceRunReadCommandsParameters, *, content_type: str = "application/json", **kwargs: Any @@ -10674,7 +9474,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, storage_appliance_name: str, - storage_appliance_update_parameters: Optional[JSON] = None, + storage_appliance_update_parameters: Optional[StorageAppliancePatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -10749,7 +9549,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, trunked_network_name: str, - trunked_network_parameters: JSON, + trunked_network_parameters: TrunkedNetwork, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -10826,7 +9626,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, trunked_network_name: str, - trunked_network_update_parameters: Optional[JSON] = None, + trunked_network_update_parameters: Optional[TrunkedNetworkPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -10872,7 +9672,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, virtual_machine_name: str, - virtual_machine_assign_relay_parameters: Optional[JSON] = None, + virtual_machine_assign_relay_parameters: Optional[VirtualMachineAssignRelayParameters] = None, *, content_type: str = "application/json", **kwargs: Any @@ -10907,7 +9707,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, virtual_machine_name: str, - virtual_machine_parameters: JSON, + virtual_machine_parameters: VirtualMachine, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -10955,7 +9755,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, virtual_machine_name: str, - virtual_machine_power_off_parameters: Optional[JSON] = None, + virtual_machine_power_off_parameters: Optional[VirtualMachinePowerOffParameters] = None, *, content_type: str = "application/json", **kwargs: Any @@ -11014,7 +9814,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, virtual_machine_name: str, - virtual_machine_update_parameters: Optional[JSON] = None, + virtual_machine_update_parameters: Optional[VirtualMachinePatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -11089,7 +9889,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, volume_name: str, - volume_parameters: JSON, + volume_parameters: Volume, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -11166,7 +9966,7 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, volume_name: str, - volume_update_parameters: Optional[JSON] = None, + volume_update_parameters: Optional[VolumePatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., @@ -11188,4 +9988,2021 @@ namespace azure.mgmt.networkcloud.operations ) -> Volume: ... +namespace azure.mgmt.networkcloud.types + + class azure.mgmt.networkcloud.types.AadConfiguration(TypedDict, total=False): + key "adminGroupObjectIds": Required[list[str]] + admin_group_object_ids: list[str] + + + class azure.mgmt.networkcloud.types.ActionState(TypedDict, total=False): + key "actionType": str + key "correlationId": str + key "endTime": str + key "message": str + key "startTime": str + key "status": Union[str, ActionStateStatus] + action_type: str + correlation_id: str + end_time: str + message: str + start_time: str + status: Union[str, ActionStateStatus] + stepStates: list[StepState] + step_states: list[StepState] + + + class azure.mgmt.networkcloud.types.AdministrativeCredentials(TypedDict, total=False): + key "password": Required[str] + key "username": Required[str] + password: str + username: str + + + class azure.mgmt.networkcloud.types.AdministratorConfiguration(TypedDict, total=False): + key "adminUsername": str + admin_username: str + sshPublicKeys: list[SshPublicKey] + ssh_public_keys: list[SshPublicKey] + + + class azure.mgmt.networkcloud.types.AdministratorConfigurationPatch(TypedDict, total=False): + sshPublicKeys: list[SshPublicKey] + ssh_public_keys: list[SshPublicKey] + + + class azure.mgmt.networkcloud.types.AgentOptions(TypedDict, total=False): + key "hugepagesCount": Required[int] + key "hugepagesSize": Union[str, HugepagesSize] + hugepages_count: int + hugepages_size: Union[str, HugepagesSize] + + + class azure.mgmt.networkcloud.types.AgentPool(TrackedResource): + key "etag": str + key "extendedLocation": ForwardRef('ExtendedLocation', module='types') + key "id": str + key "location": Required[str] + key "name": str + key "properties": Required[AgentPoolProperties] + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + etag: str + extended_location: ExtendedLocation + id: str + location: str + name: str + properties: AgentPoolProperties + system_data: SystemData + tags: dict[str, str] + type: str + + + class azure.mgmt.networkcloud.types.AgentPoolPatchParameters(TypedDict, total=False): + key "properties": ForwardRef('AgentPoolPatchProperties', module='types') + properties: AgentPoolPatchProperties + tags: dict[str, str] + + + class azure.mgmt.networkcloud.types.AgentPoolPatchProperties(TypedDict, total=False): + key "administratorConfiguration": ForwardRef('NodePoolAdministratorConfigurationPatch', module='types') + key "count": int + key "upgradeSettings": ForwardRef('AgentPoolUpgradeSettings', module='types') + administrator_configuration: NodePoolAdministratorConfigurationPatch + count: int + upgrade_settings: AgentPoolUpgradeSettings + + + class azure.mgmt.networkcloud.types.AgentPoolProperties(TypedDict, total=False): + key "administratorConfiguration": ForwardRef('AdministratorConfiguration', module='types') + key "agentOptions": ForwardRef('AgentOptions', module='types') + key "attachedNetworkConfiguration": ForwardRef('AttachedNetworkConfiguration', module='types') + key "count": Required[int] + key "detailedStatus": Union[str, AgentPoolDetailedStatus] + key "detailedStatusMessage": str + key "kubernetesVersion": str + key "mode": Required[Union[str, AgentPoolMode]] + key "provisioningState": Union[str, AgentPoolProvisioningState] + key "upgradeSettings": ForwardRef('AgentPoolUpgradeSettings', module='types') + key "vmSkuName": Required[str] + administrator_configuration: AdministratorConfiguration + agent_options: AgentOptions + attached_network_configuration: AttachedNetworkConfiguration + availabilityZones: list[str] + availability_zones: list[str] + count: int + detailed_status: Union[str, AgentPoolDetailedStatus] + detailed_status_message: str + kubernetes_version: str + labels: list[KubernetesLabel] + mode: Union[str, AgentPoolMode] + provisioning_state: Union[str, AgentPoolProvisioningState] + taints: list[KubernetesLabel] + upgrade_settings: AgentPoolUpgradeSettings + vm_sku_name: str + + + class azure.mgmt.networkcloud.types.AgentPoolUpgradeSettings(TypedDict, total=False): + key "drainTimeout": int + key "maxSurge": str + key "maxUnavailable": str + drain_timeout: int + max_surge: str + max_unavailable: str + + + class azure.mgmt.networkcloud.types.AnalyticsOutputSettings(TypedDict, total=False): + key "analyticsWorkspaceId": str + key "associatedIdentity": ForwardRef('IdentitySelector', module='types') + analytics_workspace_id: str + associated_identity: IdentitySelector + + + class azure.mgmt.networkcloud.types.AttachedNetworkConfiguration(TypedDict, total=False): + l2Networks: list[L2NetworkAttachmentConfiguration] + l2_networks: list[L2NetworkAttachmentConfiguration] + l3Networks: list[L3NetworkAttachmentConfiguration] + l3_networks: list[L3NetworkAttachmentConfiguration] + trunkedNetworks: list[TrunkedNetworkAttachmentConfiguration] + trunked_networks: list[TrunkedNetworkAttachmentConfiguration] + + + class azure.mgmt.networkcloud.types.AvailableUpgrade(TypedDict, total=False): + key "availabilityLifecycle": Union[str, AvailabilityLifecycle] + key "version": str + availability_lifecycle: Union[str, AvailabilityLifecycle] + version: str + + + class azure.mgmt.networkcloud.types.BareMetalMachine(TrackedResource): + key "etag": str + key "extendedLocation": Required[ExtendedLocation] + key "id": str + key "location": Required[str] + key "name": str + key "properties": Required[BareMetalMachineProperties] + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + etag: str + extended_location: ExtendedLocation + id: str + location: str + name: str + properties: BareMetalMachineProperties + system_data: SystemData + tags: dict[str, str] + type: str + + + class azure.mgmt.networkcloud.types.BareMetalMachineCommandSpecification(TypedDict, total=False): + key "command": Required[str] + arguments: list[str] + command: str + + + class azure.mgmt.networkcloud.types.BareMetalMachineConfigurationData(TypedDict, total=False): + key "bmcConnectionString": str + key "bmcCredentials": Required[AdministrativeCredentials] + key "bmcMacAddress": Required[str] + key "bootMacAddress": Required[str] + key "machineDetails": str + key "machineName": str + key "rackSlot": Required[int] + key "serialNumber": Required[str] + bmc_connection_string: str + bmc_credentials: AdministrativeCredentials + bmc_mac_address: str + boot_mac_address: str + machine_details: str + machine_name: str + rack_slot: int + serial_number: str + + + class azure.mgmt.networkcloud.types.BareMetalMachineCordonParameters(TypedDict, total=False): + key "evacuate": Union[str, BareMetalMachineEvacuate] + evacuate: Union[str, BareMetalMachineEvacuate] + + + class azure.mgmt.networkcloud.types.BareMetalMachineKeySet(TrackedResource): + key "etag": str + key "extendedLocation": Required[ExtendedLocation] + key "id": str + key "location": Required[str] + key "name": str + key "properties": Required[BareMetalMachineKeySetProperties] + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + etag: str + extended_location: ExtendedLocation + id: str + location: str + name: str + properties: BareMetalMachineKeySetProperties + system_data: SystemData + tags: dict[str, str] + type: str + + + class azure.mgmt.networkcloud.types.BareMetalMachineKeySetPatchParameters(TypedDict, total=False): + key "properties": ForwardRef('BareMetalMachineKeySetPatchProperties', module='types') + properties: BareMetalMachineKeySetPatchProperties + tags: dict[str, str] + + + class azure.mgmt.networkcloud.types.BareMetalMachineKeySetPatchProperties(TypedDict, total=False): + key "expiration": str + expiration: str + jumpHostsAllowed: list[str] + jump_hosts_allowed: list[str] + userList: list[KeySetUser] + user_list: list[KeySetUser] + + + class azure.mgmt.networkcloud.types.BareMetalMachineKeySetProperties(TypedDict, total=False): + key "azureGroupId": Required[str] + key "detailedStatus": Union[str, BareMetalMachineKeySetDetailedStatus] + key "detailedStatusMessage": str + key "expiration": Required[str] + key "jumpHostsAllowed": Required[list[str]] + key "lastValidation": str + key "osGroupName": str + key "privilegeLevel": Required[Union[str, BareMetalMachineKeySetPrivilegeLevel]] + key "privilegeLevelName": str + key "provisioningState": Union[str, BareMetalMachineKeySetProvisioningState] + key "userList": Required[list[KeySetUser]] + azure_group_id: str + detailed_status: Union[str, BareMetalMachineKeySetDetailedStatus] + detailed_status_message: str + expiration: str + jump_hosts_allowed: list[str] + last_validation: str + os_group_name: str + privilege_level: Union[str, BareMetalMachineKeySetPrivilegeLevel] + privilege_level_name: str + provisioning_state: Union[str, BareMetalMachineKeySetProvisioningState] + userListStatus: list[KeySetUserStatus] + user_list: list[KeySetUser] + user_list_status: list[KeySetUserStatus] + + + class azure.mgmt.networkcloud.types.BareMetalMachinePatchParameters(TypedDict, total=False): + key "properties": ForwardRef('BareMetalMachinePatchProperties', module='types') + properties: BareMetalMachinePatchProperties + tags: dict[str, str] + + + class azure.mgmt.networkcloud.types.BareMetalMachinePatchProperties(TypedDict, total=False): + key "machineDetails": str + machine_details: str + + + class azure.mgmt.networkcloud.types.BareMetalMachinePowerOffParameters(TypedDict, total=False): + key "skipShutdown": Union[str, BareMetalMachineSkipShutdown] + skip_shutdown: Union[str, BareMetalMachineSkipShutdown] + + + class azure.mgmt.networkcloud.types.BareMetalMachineProperties(TypedDict, total=False): + key "bmcConnectionString": Required[str] + key "bmcCredentials": Required[AdministrativeCredentials] + key "bmcMacAddress": Required[str] + key "bootMacAddress": Required[str] + key "caCertificate": ForwardRef('CertificateInfo', module='types') + key "clusterId": str + key "cordonStatus": Union[str, BareMetalMachineCordonStatus] + key "detailedStatus": Union[str, BareMetalMachineDetailedStatus] + key "detailedStatusMessage": str + key "hardwareInventory": ForwardRef('HardwareInventory', module='types') + key "hardwareValidationStatus": ForwardRef('HardwareValidationStatus', module='types') + key "kubernetesNodeName": str + key "kubernetesVersion": str + key "machineClusterVersion": str + key "machineDetails": Required[str] + key "machineName": Required[str] + key "machineSkuId": Required[str] + key "oamIpv4Address": str + key "oamIpv6Address": str + key "osImage": str + key "powerState": Union[str, BareMetalMachinePowerState] + key "provisioningState": Union[str, BareMetalMachineProvisioningState] + key "rackId": Required[str] + key "rackSlot": Required[int] + key "readyState": Union[str, BareMetalMachineReadyState] + key "runtimeProtectionStatus": ForwardRef('RuntimeProtectionStatus', module='types') + key "serialNumber": Required[str] + key "serviceTag": str + actionStates: list[ActionState] + action_states: list[ActionState] + associatedResourceIds: list[str] + associated_resource_ids: list[str] + bmc_connection_string: str + bmc_credentials: AdministrativeCredentials + bmc_mac_address: str + boot_mac_address: str + ca_certificate: CertificateInfo + cluster_id: str + cordon_status: Union[str, BareMetalMachineCordonStatus] + detailed_status: Union[str, BareMetalMachineDetailedStatus] + detailed_status_message: str + hardware_inventory: HardwareInventory + hardware_validation_status: HardwareValidationStatus + hybridAksClustersAssociatedIds: list[str] + hybrid_aks_clusters_associated_ids: list[str] + kubernetes_node_name: str + kubernetes_version: str + machineRoles: list[str] + machine_cluster_version: str + machine_details: str + machine_name: str + machine_roles: list[str] + machine_sku_id: str + oam_ipv4_address: str + oam_ipv6_address: str + os_image: str + power_state: Union[str, BareMetalMachinePowerState] + provisioning_state: Union[str, BareMetalMachineProvisioningState] + rack_id: str + rack_slot: int + ready_state: Union[str, BareMetalMachineReadyState] + runtime_protection_status: RuntimeProtectionStatus + secretRotationStatus: list[SecretRotationStatus] + secret_rotation_status: list[SecretRotationStatus] + serial_number: str + service_tag: str + virtualMachinesAssociatedIds: list[str] + virtual_machines_associated_ids: list[str] + + + class azure.mgmt.networkcloud.types.BareMetalMachineReplaceParameters(TypedDict, total=False): + key "bmcCredentials": ForwardRef('AdministrativeCredentials', module='types') + key "bmcMacAddress": str + key "bootMacAddress": str + key "machineName": str + key "safeguardMode": Union[str, BareMetalMachineReplaceSafeguardMode] + key "serialNumber": str + key "storagePolicy": Union[str, BareMetalMachineReplaceStoragePolicy] + bmc_credentials: AdministrativeCredentials + bmc_mac_address: str + boot_mac_address: str + machine_name: str + safeguard_mode: Union[str, BareMetalMachineReplaceSafeguardMode] + serial_number: str + storage_policy: Union[str, BareMetalMachineReplaceStoragePolicy] + + + class azure.mgmt.networkcloud.types.BareMetalMachineRunCommandParameters(TypedDict, total=False): + key "limitTimeSeconds": Required[int] + key "script": Required[str] + arguments: list[str] + limit_time_seconds: int + script: str + + + class azure.mgmt.networkcloud.types.BareMetalMachineRunDataExtractsParameters(TypedDict, total=False): + key "commands": Required[list[BareMetalMachineCommandSpecification]] + key "limitTimeSeconds": Required[int] + commands: list[BareMetalMachineCommandSpecification] + limit_time_seconds: int + + + class azure.mgmt.networkcloud.types.BareMetalMachineRunReadCommandsParameters(TypedDict, total=False): + key "commands": Required[list[BareMetalMachineCommandSpecification]] + key "limitTimeSeconds": Required[int] + commands: list[BareMetalMachineCommandSpecification] + limit_time_seconds: int + + + class azure.mgmt.networkcloud.types.BgpAdvertisement(TypedDict, total=False): + key "advertiseToFabric": Union[str, AdvertiseToFabric] + key "ipAddressPools": Required[list[str]] + advertise_to_fabric: Union[str, AdvertiseToFabric] + communities: list[str] + ip_address_pools: list[str] + peers: list[str] + + + class azure.mgmt.networkcloud.types.BgpServiceLoadBalancerConfiguration(TypedDict, total=False): + key "fabricPeeringEnabled": Union[str, FabricPeeringEnabled] + bgpAdvertisements: list[BgpAdvertisement] + bgpPeers: list[ServiceLoadBalancerBgpPeer] + bgp_advertisements: list[BgpAdvertisement] + bgp_peers: list[ServiceLoadBalancerBgpPeer] + fabric_peering_enabled: Union[str, FabricPeeringEnabled] + ipAddressPools: list[IpAddressPool] + ip_address_pools: list[IpAddressPool] + + + class azure.mgmt.networkcloud.types.BmcKeySet(TrackedResource): + key "etag": str + key "extendedLocation": Required[ExtendedLocation] + key "id": str + key "location": Required[str] + key "name": str + key "properties": Required[BmcKeySetProperties] + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + etag: str + extended_location: ExtendedLocation + id: str + location: str + name: str + properties: BmcKeySetProperties + system_data: SystemData + tags: dict[str, str] + type: str + + + class azure.mgmt.networkcloud.types.BmcKeySetPatchParameters(TypedDict, total=False): + key "properties": ForwardRef('BmcKeySetPatchProperties', module='types') + properties: BmcKeySetPatchProperties + tags: dict[str, str] + + + class azure.mgmt.networkcloud.types.BmcKeySetPatchProperties(TypedDict, total=False): + key "expiration": str + expiration: str + userList: list[KeySetUser] + user_list: list[KeySetUser] + + + class azure.mgmt.networkcloud.types.BmcKeySetProperties(TypedDict, total=False): + key "azureGroupId": Required[str] + key "detailedStatus": Union[str, BmcKeySetDetailedStatus] + key "detailedStatusMessage": str + key "expiration": Required[str] + key "lastValidation": str + key "privilegeLevel": Required[Union[str, BmcKeySetPrivilegeLevel]] + key "provisioningState": Union[str, BmcKeySetProvisioningState] + key "userList": Required[list[KeySetUser]] + azure_group_id: str + detailed_status: Union[str, BmcKeySetDetailedStatus] + detailed_status_message: str + expiration: str + last_validation: str + privilege_level: Union[str, BmcKeySetPrivilegeLevel] + provisioning_state: Union[str, BmcKeySetProvisioningState] + userListStatus: list[KeySetUserStatus] + user_list: list[KeySetUser] + user_list_status: list[KeySetUserStatus] + + + class azure.mgmt.networkcloud.types.CertificateInfo(TypedDict, total=False): + key "hash": str + key "value": str + hash: str + value: str + + + class azure.mgmt.networkcloud.types.CloudServicesNetwork(TrackedResource): + key "etag": str + key "extendedLocation": Required[ExtendedLocation] + key "id": str + key "location": Required[str] + key "name": str + key "properties": ForwardRef('CloudServicesNetworkProperties', module='types') + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + etag: str + extended_location: ExtendedLocation + id: str + location: str + name: str + properties: CloudServicesNetworkProperties + system_data: SystemData + tags: dict[str, str] + type: str + + + class azure.mgmt.networkcloud.types.CloudServicesNetworkPatchParameters(TypedDict, total=False): + key "properties": ForwardRef('CloudServicesNetworkPatchProperties', module='types') + properties: CloudServicesNetworkPatchProperties + tags: dict[str, str] + + + class azure.mgmt.networkcloud.types.CloudServicesNetworkPatchProperties(TypedDict, total=False): + key "enableDefaultEgressEndpoints": Union[str, CloudServicesNetworkEnableDefaultEgressEndpoints] + key "storageOptions": ForwardRef('CloudServicesNetworkStorageOptionsPatch', module='types') + additionalEgressEndpoints: list[EgressEndpoint] + additional_egress_endpoints: list[EgressEndpoint] + enable_default_egress_endpoints: Union[str, CloudServicesNetworkEnableDefaultEgressEndpoints] + storage_options: CloudServicesNetworkStorageOptionsPatch + + + class azure.mgmt.networkcloud.types.CloudServicesNetworkProperties(TypedDict, total=False): + key "clusterId": str + key "detailedStatus": Union[str, CloudServicesNetworkDetailedStatus] + key "detailedStatusMessage": str + key "enableDefaultEgressEndpoints": Union[str, CloudServicesNetworkEnableDefaultEgressEndpoints] + key "interfaceName": str + key "provisioningState": Union[str, CloudServicesNetworkProvisioningState] + key "storageOptions": ForwardRef('CloudServicesNetworkStorageOptions', module='types') + key "storageStatus": ForwardRef('CloudServicesNetworkStorageStatus', module='types') + additionalEgressEndpoints: list[EgressEndpoint] + additional_egress_endpoints: list[EgressEndpoint] + associatedResourceIds: list[str] + associated_resource_ids: list[str] + cluster_id: str + detailed_status: Union[str, CloudServicesNetworkDetailedStatus] + detailed_status_message: str + enable_default_egress_endpoints: Union[str, CloudServicesNetworkEnableDefaultEgressEndpoints] + enabledEgressEndpoints: list[EgressEndpoint] + enabled_egress_endpoints: list[EgressEndpoint] + hybridAksClustersAssociatedIds: list[str] + hybrid_aks_clusters_associated_ids: list[str] + interface_name: str + provisioning_state: Union[str, CloudServicesNetworkProvisioningState] + storage_options: CloudServicesNetworkStorageOptions + storage_status: CloudServicesNetworkStorageStatus + virtualMachinesAssociatedIds: list[str] + virtual_machines_associated_ids: list[str] + + + class azure.mgmt.networkcloud.types.CloudServicesNetworkStorageOptions(TypedDict, total=False): + key "mode": Union[str, CloudServicesNetworkStorageMode] + key "sizeMiB": int + key "storageApplianceId": str + mode: Union[str, CloudServicesNetworkStorageMode] + size_mi_b: int + storage_appliance_id: str + + + class azure.mgmt.networkcloud.types.CloudServicesNetworkStorageOptionsPatch(TypedDict, total=False): + key "mode": Union[str, CloudServicesNetworkStorageMode] + key "sizeMiB": int + key "storageApplianceId": str + mode: Union[str, CloudServicesNetworkStorageMode] + size_mi_b: int + storage_appliance_id: str + + + class azure.mgmt.networkcloud.types.CloudServicesNetworkStorageStatus(TypedDict, total=False): + key "mode": Union[str, CloudServicesNetworkStorageMode] + key "sizeMiB": int + key "status": Union[str, CloudServicesNetworkStorageStatusStatus] + key "statusMessage": str + key "volumeId": str + mode: Union[str, CloudServicesNetworkStorageMode] + size_mi_b: int + status: Union[str, CloudServicesNetworkStorageStatusStatus] + status_message: str + volume_id: str + + + class azure.mgmt.networkcloud.types.Cluster(TrackedResource): + key "etag": str + key "extendedLocation": Required[ExtendedLocation] + key "id": str + key "identity": ForwardRef('ManagedServiceIdentity', module='types') + key "location": Required[str] + key "name": str + key "properties": Required[ClusterProperties] + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + etag: str + extended_location: ExtendedLocation + id: str + identity: ManagedServiceIdentity + location: str + name: str + properties: ClusterProperties + system_data: SystemData + tags: dict[str, str] + type: str + + + class azure.mgmt.networkcloud.types.ClusterAvailableUpgradeVersion(TypedDict, total=False): + key "controlImpact": Union[str, ControlImpact] + key "expectedDuration": str + key "impactDescription": str + key "supportExpiryDate": str + key "targetClusterVersion": str + key "workloadImpact": Union[str, WorkloadImpact] + control_impact: Union[str, ControlImpact] + expected_duration: str + impact_description: str + support_expiry_date: str + target_cluster_version: str + workload_impact: Union[str, WorkloadImpact] + + + class azure.mgmt.networkcloud.types.ClusterAvailableVersion(TypedDict, total=False): + key "supportExpiryDate": str + key "targetClusterVersion": str + support_expiry_date: str + target_cluster_version: str + + + class azure.mgmt.networkcloud.types.ClusterCapacity(TypedDict, total=False): + key "availableApplianceStorageGB": int + key "availableCoreCount": int + key "availableHostStorageGB": int + key "availableMemoryGB": int + key "totalApplianceStorageGB": int + key "totalCoreCount": int + key "totalHostStorageGB": int + key "totalMemoryGB": int + available_appliance_storage_gb: int + available_core_count: int + available_host_storage_gb: int + available_memory_gb: int + total_appliance_storage_gb: int + total_core_count: int + total_host_storage_gb: int + total_memory_gb: int + + + class azure.mgmt.networkcloud.types.ClusterContinueUpdateVersionParameters(TypedDict, total=False): + key "machineGroupTargetingMode": Union[str, ClusterContinueUpdateVersionMachineGroupTargetingMode] + machine_group_targeting_mode: Union[str, ClusterContinueUpdateVersionMachineGroupTargetingMode] + + + class azure.mgmt.networkcloud.types.ClusterDeployParameters(TypedDict, total=False): + skipValidationsForMachines: list[str] + skip_validations_for_machines: list[str] + + + class azure.mgmt.networkcloud.types.ClusterManager(TrackedResource): + key "etag": str + key "id": str + key "identity": ForwardRef('ManagedServiceIdentity', module='types') + key "location": Required[str] + key "name": str + key "properties": Required[ClusterManagerProperties] + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + etag: str + id: str + identity: ManagedServiceIdentity + location: str + name: str + properties: ClusterManagerProperties + system_data: SystemData + tags: dict[str, str] + type: str + + + class azure.mgmt.networkcloud.types.ClusterManagerPatchParameters(TypedDict, total=False): + key "identity": ForwardRef('ManagedServiceIdentity', module='types') + identity: ManagedServiceIdentity + tags: dict[str, str] + + + class azure.mgmt.networkcloud.types.ClusterManagerProperties(TypedDict, total=False): + key "analyticsWorkspaceId": str + key "detailedStatus": Union[str, ClusterManagerDetailedStatus] + key "detailedStatusMessage": str + key "fabricControllerId": Required[str] + key "managedResourceGroupConfiguration": ForwardRef('ManagedResourceGroupConfiguration', module='types') + key "managerExtendedLocation": ForwardRef('ExtendedLocation', module='types') + key "provisioningState": Union[str, ClusterManagerProvisioningState] + key "vmSize": str + analytics_workspace_id: str + availabilityZones: list[str] + availability_zones: list[str] + clusterVersions: list[ClusterAvailableVersion] + cluster_versions: list[ClusterAvailableVersion] + detailed_status: Union[str, ClusterManagerDetailedStatus] + detailed_status_message: str + fabric_controller_id: str + managed_resource_group_configuration: ManagedResourceGroupConfiguration + manager_extended_location: ExtendedLocation + provisioning_state: Union[str, ClusterManagerProvisioningState] + vm_size: str + + + class azure.mgmt.networkcloud.types.ClusterMetricsConfiguration(TrackedResource): + key "etag": str + key "extendedLocation": Required[ExtendedLocation] + key "id": str + key "location": Required[str] + key "name": str + key "properties": Required[ClusterMetricsConfigurationProperties] + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + etag: str + extended_location: ExtendedLocation + id: str + location: str + name: str + properties: ClusterMetricsConfigurationProperties + system_data: SystemData + tags: dict[str, str] + type: str + + + class azure.mgmt.networkcloud.types.ClusterMetricsConfigurationPatchParameters(TypedDict, total=False): + key "properties": ForwardRef('ClusterMetricsConfigurationPatchProperties', module='types') + properties: ClusterMetricsConfigurationPatchProperties + tags: dict[str, str] + + + class azure.mgmt.networkcloud.types.ClusterMetricsConfigurationPatchProperties(TypedDict, total=False): + key "collectionInterval": int + collection_interval: int + enabledMetrics: list[str] + enabled_metrics: list[str] + + + class azure.mgmt.networkcloud.types.ClusterMetricsConfigurationProperties(TypedDict, total=False): + key "collectionInterval": Required[int] + key "detailedStatus": Union[str, ClusterMetricsConfigurationDetailedStatus] + key "detailedStatusMessage": str + key "provisioningState": Union[str, ClusterMetricsConfigurationProvisioningState] + collection_interval: int + detailed_status: Union[str, ClusterMetricsConfigurationDetailedStatus] + detailed_status_message: str + disabledMetrics: list[str] + disabled_metrics: list[str] + enabledMetrics: list[str] + enabled_metrics: list[str] + provisioning_state: Union[str, ClusterMetricsConfigurationProvisioningState] + + + class azure.mgmt.networkcloud.types.ClusterPatchParameters(TypedDict, total=False): + key "identity": ForwardRef('ManagedServiceIdentity', module='types') + key "properties": ForwardRef('ClusterPatchProperties', module='types') + identity: ManagedServiceIdentity + properties: ClusterPatchProperties + tags: dict[str, str] + + + class azure.mgmt.networkcloud.types.ClusterPatchProperties(TypedDict, total=False): + key "aggregatorOrSingleRackDefinition": ForwardRef('RackDefinition', module='types') + key "analyticsOutputSettings": ForwardRef('AnalyticsOutputSettings', module='types') + key "clusterLocation": str + key "clusterServicePrincipal": ForwardRef('ServicePrincipalInformation', module='types') + key "commandOutputSettings": ForwardRef('CommandOutputSettings', module='types') + key "computeDeploymentThreshold": ForwardRef('ValidationThreshold', module='types') + key "runtimeProtectionConfiguration": ForwardRef('RuntimeProtectionConfiguration', module='types') + key "secretArchive": ForwardRef('ClusterSecretArchive', module='types') + key "secretArchiveSettings": ForwardRef('SecretArchiveSettings', module='types') + key "updateStrategy": ForwardRef('ClusterUpdateStrategy', module='types') + key "vulnerabilityScanningSettings": ForwardRef('VulnerabilityScanningSettingsPatch', module='types') + aggregator_or_single_rack_definition: RackDefinition + analytics_output_settings: AnalyticsOutputSettings + cluster_location: str + cluster_service_principal: ServicePrincipalInformation + command_output_settings: CommandOutputSettings + computeRackDefinitions: list[RackDefinition] + compute_deployment_threshold: ValidationThreshold + compute_rack_definitions: list[RackDefinition] + runtime_protection_configuration: RuntimeProtectionConfiguration + secret_archive: ClusterSecretArchive + secret_archive_settings: SecretArchiveSettings + update_strategy: ClusterUpdateStrategy + vulnerability_scanning_settings: VulnerabilityScanningSettingsPatch + + + class azure.mgmt.networkcloud.types.ClusterProperties(TypedDict, total=False): + key "aggregatorOrSingleRackDefinition": Required[RackDefinition] + key "analyticsOutputSettings": ForwardRef('AnalyticsOutputSettings', module='types') + key "analyticsWorkspaceId": str + key "clusterCapacity": ForwardRef('ClusterCapacity', module='types') + key "clusterConnectionStatus": Union[str, ClusterConnectionStatus] + key "clusterExtendedLocation": ForwardRef('ExtendedLocation', module='types') + key "clusterLocation": str + key "clusterManagerConnectionStatus": Union[str, ClusterManagerConnectionStatus] + key "clusterManagerId": str + key "clusterServicePrincipal": ForwardRef('ServicePrincipalInformation', module='types') + key "clusterType": Required[Union[str, ClusterType]] + key "clusterVersion": Required[str] + key "commandOutputSettings": ForwardRef('CommandOutputSettings', module='types') + key "computeDeploymentThreshold": ForwardRef('ValidationThreshold', module='types') + key "detailedStatus": Union[str, ClusterDetailedStatus] + key "detailedStatusMessage": str + key "hybridAksExtendedLocation": ForwardRef('ExtendedLocation', module='types') + key "managedResourceGroupConfiguration": ForwardRef('ManagedResourceGroupConfiguration', module='types') + key "manualActionCount": int + key "networkFabricId": Required[str] + key "provisioningState": Union[str, ClusterProvisioningState] + key "runtimeProtectionConfiguration": ForwardRef('RuntimeProtectionConfiguration', module='types') + key "secretArchive": ForwardRef('ClusterSecretArchive', module='types') + key "secretArchiveSettings": ForwardRef('SecretArchiveSettings', module='types') + key "supportExpiryDate": str + key "updateStrategy": ForwardRef('ClusterUpdateStrategy', module='types') + key "vulnerabilityScanningSettings": ForwardRef('VulnerabilityScanningSettings', module='types') + actionStates: list[ActionState] + action_states: list[ActionState] + aggregator_or_single_rack_definition: RackDefinition + analytics_output_settings: AnalyticsOutputSettings + analytics_workspace_id: str + availableUpgradeVersions: list[ClusterAvailableUpgradeVersion] + available_upgrade_versions: list[ClusterAvailableUpgradeVersion] + cluster_capacity: ClusterCapacity + cluster_connection_status: Union[str, ClusterConnectionStatus] + cluster_extended_location: ExtendedLocation + cluster_location: str + cluster_manager_connection_status: Union[str, ClusterManagerConnectionStatus] + cluster_manager_id: str + cluster_service_principal: ServicePrincipalInformation + cluster_type: Union[str, ClusterType] + cluster_version: str + command_output_settings: CommandOutputSettings + computeRackDefinitions: list[RackDefinition] + compute_deployment_threshold: ValidationThreshold + compute_rack_definitions: list[RackDefinition] + detailed_status: Union[str, ClusterDetailedStatus] + detailed_status_message: str + hybrid_aks_extended_location: ExtendedLocation + managed_resource_group_configuration: ManagedResourceGroupConfiguration + manual_action_count: int + network_fabric_id: str + provisioning_state: Union[str, ClusterProvisioningState] + runtime_protection_configuration: RuntimeProtectionConfiguration + secret_archive: ClusterSecretArchive + secret_archive_settings: SecretArchiveSettings + support_expiry_date: str + update_strategy: ClusterUpdateStrategy + vulnerability_scanning_settings: VulnerabilityScanningSettings + workloadResourceIds: list[str] + workload_resource_ids: list[str] + + + class azure.mgmt.networkcloud.types.ClusterScanRuntimeParameters(TypedDict, total=False): + key "scanActivity": Union[str, ClusterScanRuntimeParametersScanActivity] + scan_activity: Union[str, ClusterScanRuntimeParametersScanActivity] + + + class azure.mgmt.networkcloud.types.ClusterSecretArchive(TypedDict, total=False): + key "keyVaultId": Required[str] + key "useKeyVault": Union[str, ClusterSecretArchiveEnabled] + key_vault_id: str + use_key_vault: Union[str, ClusterSecretArchiveEnabled] + + + class azure.mgmt.networkcloud.types.ClusterUpdateStrategy(TypedDict, total=False): + key "maxUnavailable": int + key "strategyType": Required[Union[str, ClusterUpdateStrategyType]] + key "thresholdType": Required[Union[str, ValidationThresholdType]] + key "thresholdValue": Required[int] + key "waitTimeMinutes": int + max_unavailable: int + strategy_type: Union[str, ClusterUpdateStrategyType] + threshold_type: Union[str, ValidationThresholdType] + threshold_value: int + wait_time_minutes: int + + + class azure.mgmt.networkcloud.types.ClusterUpdateVersionParameters(TypedDict, total=False): + key "targetClusterVersion": Required[str] + target_cluster_version: str + + + class azure.mgmt.networkcloud.types.CommandOutputOverride(TypedDict, total=False): + key "associatedIdentity": ForwardRef('IdentitySelector', module='types') + key "commandOutputType": Union[str, CommandOutputType] + key "containerUrl": str + associated_identity: IdentitySelector + command_output_type: Union[str, CommandOutputType] + container_url: str + + + class azure.mgmt.networkcloud.types.CommandOutputSettings(TypedDict, total=False): + key "associatedIdentity": ForwardRef('IdentitySelector', module='types') + key "containerUrl": str + associated_identity: IdentitySelector + container_url: str + overrides: list[CommandOutputOverride] + + + class azure.mgmt.networkcloud.types.Console(TrackedResource): + key "etag": str + key "extendedLocation": Required[ExtendedLocation] + key "id": str + key "location": Required[str] + key "name": str + key "properties": Required[ConsoleProperties] + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + etag: str + extended_location: ExtendedLocation + id: str + location: str + name: str + properties: ConsoleProperties + system_data: SystemData + tags: dict[str, str] + type: str + + + class azure.mgmt.networkcloud.types.ConsolePatchParameters(TypedDict, total=False): + key "properties": ForwardRef('ConsolePatchProperties', module='types') + properties: ConsolePatchProperties + tags: dict[str, str] + + + class azure.mgmt.networkcloud.types.ConsolePatchProperties(TypedDict, total=False): + key "enabled": Union[str, ConsoleEnabled] + key "expiration": str + key "sshPublicKey": ForwardRef('SshPublicKey', module='types') + enabled: Union[str, ConsoleEnabled] + expiration: str + ssh_public_key: SshPublicKey + + + class azure.mgmt.networkcloud.types.ConsoleProperties(TypedDict, total=False): + key "detailedStatus": Union[str, ConsoleDetailedStatus] + key "detailedStatusMessage": str + key "enabled": Required[Union[str, ConsoleEnabled]] + key "expiration": str + key "privateLinkServiceId": str + key "provisioningState": Union[str, ConsoleProvisioningState] + key "sshPublicKey": Required[SshPublicKey] + key "virtualMachineAccessId": str + detailed_status: Union[str, ConsoleDetailedStatus] + detailed_status_message: str + enabled: Union[str, ConsoleEnabled] + expiration: str + private_link_service_id: str + provisioning_state: Union[str, ConsoleProvisioningState] + ssh_public_key: SshPublicKey + virtual_machine_access_id: str + + + class azure.mgmt.networkcloud.types.ControlPlaneNodeConfiguration(TypedDict, total=False): + key "administratorConfiguration": ForwardRef('AdministratorConfiguration', module='types') + key "count": Required[int] + key "vmSkuName": Required[str] + administrator_configuration: AdministratorConfiguration + availabilityZones: list[str] + availability_zones: list[str] + count: int + vm_sku_name: str + + + class azure.mgmt.networkcloud.types.ControlPlaneNodePatchConfiguration(TypedDict, total=False): + key "administratorConfiguration": ForwardRef('AdministratorConfigurationPatch', module='types') + key "count": int + administrator_configuration: AdministratorConfigurationPatch + count: int + + + class azure.mgmt.networkcloud.types.EgressEndpoint(TypedDict, total=False): + key "category": Required[str] + key "endpoints": Required[list[EndpointDependency]] + category: str + endpoints: list[EndpointDependency] + + + class azure.mgmt.networkcloud.types.EndpointDependency(TypedDict, total=False): + key "domainName": Required[str] + key "port": int + domain_name: str + port: int + + + class azure.mgmt.networkcloud.types.ExtendedLocation(TypedDict, total=False): + key "name": Required[str] + key "type": Required[Union[str, ExtendedLocationType]] + name: str + type: Union[str, ExtendedLocationType] + + + class azure.mgmt.networkcloud.types.FeatureStatus(TypedDict, total=False): + key "detailedStatus": Union[str, FeatureDetailedStatus] + key "detailedStatusMessage": str + key "name": str + key "version": str + detailed_status: Union[str, FeatureDetailedStatus] + detailed_status_message: str + name: str + version: str + + + class azure.mgmt.networkcloud.types.HardwareInventory(TypedDict, total=False): + key "additionalHostInformation": str + additional_host_information: str + interfaces: list[HardwareInventoryNetworkInterface] + nics: list[Nic] + + + class azure.mgmt.networkcloud.types.HardwareInventoryNetworkInterface(TypedDict, total=False): + key "linkStatus": str + key "macAddress": str + key "name": str + key "networkInterfaceId": str + link_status: str + mac_address: str + name: str + network_interface_id: str + + + class azure.mgmt.networkcloud.types.HardwareValidationStatus(TypedDict, total=False): + key "lastValidationTime": str + key "result": Union[str, BareMetalMachineHardwareValidationResult] + last_validation_time: str + result: Union[str, BareMetalMachineHardwareValidationResult] + + + class azure.mgmt.networkcloud.types.IdentitySelector(TypedDict, total=False): + key "identityType": Union[str, ManagedServiceIdentitySelectorType] + key "userAssignedIdentityResourceId": str + identity_type: Union[str, ManagedServiceIdentitySelectorType] + user_assigned_identity_resource_id: str + + + class azure.mgmt.networkcloud.types.ImageRepositoryCredentials(TypedDict, total=False): + key "password": Required[str] + key "registryUrl": Required[str] + key "username": Required[str] + password: str + registry_url: str + username: str + + + class azure.mgmt.networkcloud.types.InitialAgentPoolConfiguration(TypedDict, total=False): + key "administratorConfiguration": ForwardRef('AdministratorConfiguration', module='types') + key "agentOptions": ForwardRef('AgentOptions', module='types') + key "attachedNetworkConfiguration": ForwardRef('AttachedNetworkConfiguration', module='types') + key "count": Required[int] + key "mode": Required[Union[str, AgentPoolMode]] + key "name": Required[str] + key "upgradeSettings": ForwardRef('AgentPoolUpgradeSettings', module='types') + key "vmSkuName": Required[str] + administrator_configuration: AdministratorConfiguration + agent_options: AgentOptions + attached_network_configuration: AttachedNetworkConfiguration + availabilityZones: list[str] + availability_zones: list[str] + count: int + labels: list[KubernetesLabel] + mode: Union[str, AgentPoolMode] + name: str + taints: list[KubernetesLabel] + upgrade_settings: AgentPoolUpgradeSettings + vm_sku_name: str + + + class azure.mgmt.networkcloud.types.IpAddressPool(TypedDict, total=False): + key "addresses": Required[list[str]] + key "autoAssign": Union[str, BfdEnabled] + key "name": Required[str] + key "onlyUseHostIps": Union[str, BfdEnabled] + addresses: list[str] + auto_assign: Union[str, BfdEnabled] + name: str + only_use_host_ips: Union[str, BfdEnabled] + + + class azure.mgmt.networkcloud.types.KeySetUser(TypedDict, total=False): + key "azureUserName": Required[str] + key "description": str + key "sshPublicKey": Required[SshPublicKey] + key "userPrincipalName": str + azure_user_name: str + description: str + ssh_public_key: SshPublicKey + user_principal_name: str + + + class azure.mgmt.networkcloud.types.KeySetUserStatus(TypedDict, total=False): + key "azureUserName": str + key "status": Union[str, BareMetalMachineKeySetUserSetupStatus] + key "statusMessage": str + azure_user_name: str + status: Union[str, BareMetalMachineKeySetUserSetupStatus] + status_message: str + + + class azure.mgmt.networkcloud.types.KubernetesCluster(TrackedResource): + key "etag": str + key "extendedLocation": Required[ExtendedLocation] + key "id": str + key "location": Required[str] + key "name": str + key "properties": Required[KubernetesClusterProperties] + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + etag: str + extended_location: ExtendedLocation + id: str + location: str + name: str + properties: KubernetesClusterProperties + system_data: SystemData + tags: dict[str, str] + type: str + + + class azure.mgmt.networkcloud.types.KubernetesClusterFeature(TrackedResource): + key "etag": str + key "id": str + key "location": Required[str] + key "name": str + key "properties": ForwardRef('KubernetesClusterFeatureProperties', module='types') + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + etag: str + id: str + location: str + name: str + properties: KubernetesClusterFeatureProperties + system_data: SystemData + tags: dict[str, str] + type: str + + + class azure.mgmt.networkcloud.types.KubernetesClusterFeaturePatchParameters(TypedDict, total=False): + key "properties": ForwardRef('KubernetesClusterFeaturePatchProperties', module='types') + properties: KubernetesClusterFeaturePatchProperties + tags: dict[str, str] + + + class azure.mgmt.networkcloud.types.KubernetesClusterFeaturePatchProperties(TypedDict, total=False): + options: list[StringKeyValuePair] + + + class azure.mgmt.networkcloud.types.KubernetesClusterFeatureProperties(TypedDict, total=False): + key "availabilityLifecycle": Union[str, KubernetesClusterFeatureAvailabilityLifecycle] + key "detailedStatus": Union[str, KubernetesClusterFeatureDetailedStatus] + key "detailedStatusMessage": str + key "provisioningState": Union[str, KubernetesClusterFeatureProvisioningState] + key "required": Union[str, KubernetesClusterFeatureRequired] + key "version": str + availability_lifecycle: Union[str, KubernetesClusterFeatureAvailabilityLifecycle] + detailed_status: Union[str, KubernetesClusterFeatureDetailedStatus] + detailed_status_message: str + options: list[StringKeyValuePair] + provisioning_state: Union[str, KubernetesClusterFeatureProvisioningState] + required: Union[str, KubernetesClusterFeatureRequired] + version: str + + + class azure.mgmt.networkcloud.types.KubernetesClusterNode(TypedDict, total=False): + key "agentPoolId": str + key "availabilityZone": str + key "bareMetalMachineId": str + key "cpuCores": int + key "detailedStatus": Union[str, KubernetesClusterNodeDetailedStatus] + key "detailedStatusMessage": str + key "diskSizeGB": int + key "image": str + key "kubernetesVersion": str + key "memorySizeGB": int + key "mode": Union[str, AgentPoolMode] + key "name": str + key "powerState": Union[str, KubernetesNodePowerState] + key "role": Union[str, KubernetesNodeRole] + key "vmSkuName": str + agent_pool_id: str + availability_zone: str + bare_metal_machine_id: str + cpu_cores: int + detailed_status: Union[str, KubernetesClusterNodeDetailedStatus] + detailed_status_message: str + disk_size_gb: int + image: str + kubernetes_version: str + labels: list[KubernetesLabel] + memory_size_gb: int + mode: Union[str, AgentPoolMode] + name: str + networkAttachments: list[NetworkAttachment] + network_attachments: list[NetworkAttachment] + power_state: Union[str, KubernetesNodePowerState] + role: Union[str, KubernetesNodeRole] + taints: list[KubernetesLabel] + vm_sku_name: str + + + class azure.mgmt.networkcloud.types.KubernetesClusterPatchParameters(TypedDict, total=False): + key "properties": ForwardRef('KubernetesClusterPatchProperties', module='types') + properties: KubernetesClusterPatchProperties + tags: dict[str, str] + + + class azure.mgmt.networkcloud.types.KubernetesClusterPatchProperties(TypedDict, total=False): + key "administratorConfiguration": ForwardRef('AdministratorConfigurationPatch', module='types') + key "controlPlaneNodeConfiguration": ForwardRef('ControlPlaneNodePatchConfiguration', module='types') + key "kubernetesVersion": str + administrator_configuration: AdministratorConfigurationPatch + control_plane_node_configuration: ControlPlaneNodePatchConfiguration + kubernetes_version: str + + + class azure.mgmt.networkcloud.types.KubernetesClusterProperties(TypedDict, total=False): + key "aadConfiguration": ForwardRef('AadConfiguration', module='types') + key "administratorConfiguration": ForwardRef('AdministratorConfiguration', module='types') + key "clusterId": str + key "connectedClusterId": str + key "controlPlaneKubernetesVersion": str + key "controlPlaneNodeConfiguration": Required[ControlPlaneNodeConfiguration] + key "detailedStatus": Union[str, KubernetesClusterDetailedStatus] + key "detailedStatusMessage": str + key "initialAgentPoolConfigurations": Required[list[InitialAgentPoolConfiguration]] + key "kubernetesVersion": Required[str] + key "managedResourceGroupConfiguration": ForwardRef('ManagedResourceGroupConfiguration', module='types') + key "networkConfiguration": Required[NetworkConfiguration] + key "provisioningState": Union[str, KubernetesClusterProvisioningState] + aad_configuration: AadConfiguration + administrator_configuration: AdministratorConfiguration + attachedNetworkIds: list[str] + attached_network_ids: list[str] + availableUpgrades: list[AvailableUpgrade] + available_upgrades: list[AvailableUpgrade] + cluster_id: str + connected_cluster_id: str + control_plane_kubernetes_version: str + control_plane_node_configuration: ControlPlaneNodeConfiguration + detailed_status: Union[str, KubernetesClusterDetailedStatus] + detailed_status_message: str + featureStatuses: list[FeatureStatus] + feature_statuses: list[FeatureStatus] + initial_agent_pool_configurations: list[InitialAgentPoolConfiguration] + kubernetes_version: str + managed_resource_group_configuration: ManagedResourceGroupConfiguration + network_configuration: NetworkConfiguration + nodes: list[KubernetesClusterNode] + provisioning_state: Union[str, KubernetesClusterProvisioningState] + + + class azure.mgmt.networkcloud.types.KubernetesClusterRestartNodeParameters(TypedDict, total=False): + key "nodeName": Required[str] + node_name: str + + + class azure.mgmt.networkcloud.types.KubernetesLabel(TypedDict, total=False): + key "key": Required[str] + key "value": Required[str] + key: str + value: str + + + class azure.mgmt.networkcloud.types.L2Network(TrackedResource): + key "etag": str + key "extendedLocation": Required[ExtendedLocation] + key "id": str + key "location": Required[str] + key "name": str + key "properties": Required[L2NetworkProperties] + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + etag: str + extended_location: ExtendedLocation + id: str + location: str + name: str + properties: L2NetworkProperties + system_data: SystemData + tags: dict[str, str] + type: str + + + class azure.mgmt.networkcloud.types.L2NetworkAttachmentConfiguration(TypedDict, total=False): + key "networkId": Required[str] + key "pluginType": Union[str, KubernetesPluginType] + network_id: str + plugin_type: Union[str, KubernetesPluginType] + + + class azure.mgmt.networkcloud.types.L2NetworkPatchParameters(TypedDict, total=False): + tags: dict[str, str] + + + class azure.mgmt.networkcloud.types.L2NetworkProperties(TypedDict, total=False): + key "clusterId": str + key "detailedStatus": Union[str, L2NetworkDetailedStatus] + key "detailedStatusMessage": str + key "hybridAksPluginType": Union[str, HybridAksPluginType] + key "interfaceName": str + key "l2IsolationDomainId": Required[str] + key "provisioningState": Union[str, L2NetworkProvisioningState] + associatedResourceIds: list[str] + associated_resource_ids: list[str] + cluster_id: str + detailed_status: Union[str, L2NetworkDetailedStatus] + detailed_status_message: str + hybridAksClustersAssociatedIds: list[str] + hybrid_aks_clusters_associated_ids: list[str] + hybrid_aks_plugin_type: Union[str, HybridAksPluginType] + interface_name: str + l2_isolation_domain_id: str + provisioning_state: Union[str, L2NetworkProvisioningState] + virtualMachinesAssociatedIds: list[str] + virtual_machines_associated_ids: list[str] + + + class azure.mgmt.networkcloud.types.L2ServiceLoadBalancerConfiguration(TypedDict, total=False): + ipAddressPools: list[IpAddressPool] + ip_address_pools: list[IpAddressPool] + + + class azure.mgmt.networkcloud.types.L3Network(TrackedResource): + key "etag": str + key "extendedLocation": Required[ExtendedLocation] + key "id": str + key "location": Required[str] + key "name": str + key "properties": Required[L3NetworkProperties] + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + etag: str + extended_location: ExtendedLocation + id: str + location: str + name: str + properties: L3NetworkProperties + system_data: SystemData + tags: dict[str, str] + type: str + + + class azure.mgmt.networkcloud.types.L3NetworkAttachmentConfiguration(TypedDict, total=False): + key "ipamEnabled": Union[str, L3NetworkConfigurationIpamEnabled] + key "networkId": Required[str] + key "pluginType": Union[str, KubernetesPluginType] + ipam_enabled: Union[str, L3NetworkConfigurationIpamEnabled] + network_id: str + plugin_type: Union[str, KubernetesPluginType] + + + class azure.mgmt.networkcloud.types.L3NetworkPatchParameters(TypedDict, total=False): + tags: dict[str, str] + + + class azure.mgmt.networkcloud.types.L3NetworkProperties(TypedDict, total=False): + key "clusterId": str + key "detailedStatus": Union[str, L3NetworkDetailedStatus] + key "detailedStatusMessage": str + key "hybridAksIpamEnabled": Union[str, HybridAksIpamEnabled] + key "hybridAksPluginType": Union[str, HybridAksPluginType] + key "interfaceName": str + key "ipAllocationType": Union[str, IpAllocationType] + key "ipv4ConnectedPrefix": str + key "ipv6ConnectedPrefix": str + key "l3IsolationDomainId": Required[str] + key "provisioningState": Union[str, L3NetworkProvisioningState] + key "vlan": Required[int] + associatedResourceIds: list[str] + associated_resource_ids: list[str] + cluster_id: str + detailed_status: Union[str, L3NetworkDetailedStatus] + detailed_status_message: str + hybridAksClustersAssociatedIds: list[str] + hybrid_aks_clusters_associated_ids: list[str] + hybrid_aks_ipam_enabled: Union[str, HybridAksIpamEnabled] + hybrid_aks_plugin_type: Union[str, HybridAksPluginType] + interface_name: str + ip_allocation_type: Union[str, IpAllocationType] + ipv4_connected_prefix: str + ipv6_connected_prefix: str + l3_isolation_domain_id: str + provisioning_state: Union[str, L3NetworkProvisioningState] + virtualMachinesAssociatedIds: list[str] + virtual_machines_associated_ids: list[str] + vlan: int + + + class azure.mgmt.networkcloud.types.LldpNeighbor(TypedDict, total=False): + key "portDescription": str + key "portName": str + key "systemDescription": str + key "systemName": str + port_description: str + port_name: str + system_description: str + system_name: str + + + class azure.mgmt.networkcloud.types.ManagedResourceGroupConfiguration(TypedDict, total=False): + key "location": str + key "name": str + location: str + name: str + + + class azure.mgmt.networkcloud.types.ManagedServiceIdentity(TypedDict, total=False): + key "principalId": str + key "tenantId": str + key "type": Required[Union[str, ManagedServiceIdentityType]] + principal_id: str + tenant_id: str + type: Union[str, ManagedServiceIdentityType] + userAssignedIdentities: dict[str, UserAssignedIdentity] + user_assigned_identities: dict[str, UserAssignedIdentity] + + + class azure.mgmt.networkcloud.types.NetworkAttachment(TypedDict, total=False): + key "attachedNetworkId": Required[str] + key "defaultGateway": Union[str, DefaultGateway] + key "ipAllocationMethod": Required[Union[str, VirtualMachineIPAllocationMethod]] + key "ipv4Address": str + key "ipv6Address": str + key "macAddress": str + key "networkAttachmentName": str + attached_network_id: str + default_gateway: Union[str, DefaultGateway] + ip_allocation_method: Union[str, VirtualMachineIPAllocationMethod] + ipv4_address: str + ipv6_address: str + mac_address: str + network_attachment_name: str + + + class azure.mgmt.networkcloud.types.NetworkConfiguration(TypedDict, total=False): + key "attachedNetworkConfiguration": ForwardRef('AttachedNetworkConfiguration', module='types') + key "bgpServiceLoadBalancerConfiguration": ForwardRef('BgpServiceLoadBalancerConfiguration', module='types') + key "cloudServicesNetworkId": Required[str] + key "cniNetworkId": Required[str] + key "dnsServiceIp": str + key "l2ServiceLoadBalancerConfiguration": ForwardRef('L2ServiceLoadBalancerConfiguration', module='types') + attached_network_configuration: AttachedNetworkConfiguration + bgp_service_load_balancer_configuration: BgpServiceLoadBalancerConfiguration + cloud_services_network_id: str + cni_network_id: str + dns_service_ip: str + l2_service_load_balancer_configuration: L2ServiceLoadBalancerConfiguration + podCidrs: list[str] + pod_cidrs: list[str] + serviceCidrs: list[str] + service_cidrs: list[str] + + + class azure.mgmt.networkcloud.types.Nic(TypedDict, total=False): + key "lldpNeighbor": ForwardRef('LldpNeighbor', module='types') + key "macAddress": str + key "name": str + lldp_neighbor: LldpNeighbor + mac_address: str + name: str + + + class azure.mgmt.networkcloud.types.NodePoolAdministratorConfigurationPatch(TypedDict, total=False): + sshPublicKeys: list[SshPublicKey] + ssh_public_keys: list[SshPublicKey] + + + class azure.mgmt.networkcloud.types.OsDisk(TypedDict, total=False): + key "createOption": Union[str, OsDiskCreateOption] + key "deleteOption": Union[str, OsDiskDeleteOption] + key "diskSizeGB": Required[int] + create_option: Union[str, OsDiskCreateOption] + delete_option: Union[str, OsDiskDeleteOption] + disk_size_gb: int + + + class azure.mgmt.networkcloud.types.Rack(TrackedResource): + key "etag": str + key "extendedLocation": Required[ExtendedLocation] + key "id": str + key "location": Required[str] + key "name": str + key "properties": Required[RackProperties] + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + etag: str + extended_location: ExtendedLocation + id: str + location: str + name: str + properties: RackProperties + system_data: SystemData + tags: dict[str, str] + type: str + + + class azure.mgmt.networkcloud.types.RackDefinition(TypedDict, total=False): + key "availabilityZone": str + key "networkRackId": Required[str] + key "rackLocation": str + key "rackSerialNumber": Required[str] + key "rackSkuId": Required[str] + availability_zone: str + bareMetalMachineConfigurationData: list[BareMetalMachineConfigurationData] + bare_metal_machine_configuration_data: list[BareMetalMachineConfigurationData] + network_rack_id: str + rack_location: str + rack_serial_number: str + rack_sku_id: str + storageApplianceConfigurationData: list[StorageApplianceConfigurationData] + storage_appliance_configuration_data: list[StorageApplianceConfigurationData] + + + class azure.mgmt.networkcloud.types.RackPatchParameters(TypedDict, total=False): + key "properties": ForwardRef('RacksPatchProperties', module='types') + properties: RacksPatchProperties + tags: dict[str, str] + + + class azure.mgmt.networkcloud.types.RackProperties(TypedDict, total=False): + key "availabilityZone": Required[str] + key "clusterId": str + key "detailedStatus": Union[str, RackDetailedStatus] + key "detailedStatusMessage": str + key "provisioningState": Union[str, RackProvisioningState] + key "rackLocation": Required[str] + key "rackSerialNumber": Required[str] + key "rackSkuId": Required[str] + availability_zone: str + cluster_id: str + detailed_status: Union[str, RackDetailedStatus] + detailed_status_message: str + provisioning_state: Union[str, RackProvisioningState] + rack_location: str + rack_serial_number: str + rack_sku_id: str + + + class azure.mgmt.networkcloud.types.RacksPatchProperties(TypedDict, total=False): + key "rackLocation": str + key "rackSerialNumber": str + rack_location: str + rack_serial_number: str + + + class azure.mgmt.networkcloud.types.Resource(TypedDict, total=False): + key "id": str + key "name": str + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + id: str + name: str + system_data: SystemData + type: str + + + class azure.mgmt.networkcloud.types.RuntimeProtectionConfiguration(TypedDict, total=False): + key "enforcementLevel": Union[str, RuntimeProtectionEnforcementLevel] + enforcement_level: Union[str, RuntimeProtectionEnforcementLevel] + + + class azure.mgmt.networkcloud.types.RuntimeProtectionStatus(TypedDict, total=False): + key "definitionsLastUpdated": str + key "definitionsVersion": str + key "scanCompletedTime": str + key "scanScheduledTime": str + key "scanStartedTime": str + definitions_last_updated: str + definitions_version: str + scan_completed_time: str + scan_scheduled_time: str + scan_started_time: str + + + class azure.mgmt.networkcloud.types.SecretArchiveReference(TypedDict, total=False): + key "keyVaultId": str + key "keyVaultUri": str + key "secretName": str + key "secretVersion": str + key_vault_id: str + key_vault_uri: str + secret_name: str + secret_version: str + + + class azure.mgmt.networkcloud.types.SecretArchiveSettings(TypedDict, total=False): + key "associatedIdentity": ForwardRef('IdentitySelector', module='types') + key "vaultUri": str + associated_identity: IdentitySelector + vault_uri: str + + + class azure.mgmt.networkcloud.types.SecretRotationStatus(TypedDict, total=False): + key "expirePeriodDays": int + key "lastRotationTime": str + key "rotationPeriodDays": int + key "secretArchiveReference": ForwardRef('SecretArchiveReference', module='types') + key "secretType": str + expire_period_days: int + last_rotation_time: str + rotation_period_days: int + secret_archive_reference: SecretArchiveReference + secret_type: str + + + class azure.mgmt.networkcloud.types.ServiceLoadBalancerBgpPeer(TypedDict, total=False): + key "bfdEnabled": Union[str, BfdEnabled] + key "bgpMultiHop": Union[str, BgpMultiHop] + key "holdTime": str + key "keepAliveTime": str + key "myAsn": int + key "name": Required[str] + key "password": str + key "peerAddress": Required[str] + key "peerAsn": Required[int] + key "peerPort": int + bfd_enabled: Union[str, BfdEnabled] + bgp_multi_hop: Union[str, BgpMultiHop] + hold_time: str + keep_alive_time: str + my_asn: int + name: str + password: str + peer_address: str + peer_asn: int + peer_port: int + + + class azure.mgmt.networkcloud.types.ServicePrincipalInformation(TypedDict, total=False): + key "applicationId": Required[str] + key "password": Required[str] + key "principalId": Required[str] + key "tenantId": Required[str] + application_id: str + password: str + principal_id: str + tenant_id: str + + + class azure.mgmt.networkcloud.types.SshPublicKey(TypedDict, total=False): + key "keyData": Required[str] + key_data: str + + + class azure.mgmt.networkcloud.types.StepState(TypedDict, total=False): + key "endTime": str + key "message": str + key "startTime": str + key "status": Union[str, StepStateStatus] + key "stepName": str + end_time: str + message: str + start_time: str + status: Union[str, StepStateStatus] + step_name: str + + + class azure.mgmt.networkcloud.types.StorageAppliance(TrackedResource): + key "etag": str + key "extendedLocation": Required[ExtendedLocation] + key "id": str + key "location": Required[str] + key "name": str + key "properties": Required[StorageApplianceProperties] + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + etag: str + extended_location: ExtendedLocation + id: str + location: str + name: str + properties: StorageApplianceProperties + system_data: SystemData + tags: dict[str, str] + type: str + + + class azure.mgmt.networkcloud.types.StorageApplianceCommandSpecification(TypedDict, total=False): + key "command": Required[str] + arguments: list[str] + command: str + + + class azure.mgmt.networkcloud.types.StorageApplianceConfigurationData(TypedDict, total=False): + key "adminCredentials": Required[AdministrativeCredentials] + key "rackSlot": Required[int] + key "serialNumber": Required[str] + key "storageApplianceName": str + admin_credentials: AdministrativeCredentials + rack_slot: int + serial_number: str + storage_appliance_name: str + + + class azure.mgmt.networkcloud.types.StorageApplianceEnableRemoteVendorManagementParameters(TypedDict, total=False): + supportEndpoints: list[str] + support_endpoints: list[str] + + + class azure.mgmt.networkcloud.types.StorageAppliancePatchParameters(TypedDict, total=False): + key "properties": ForwardRef('StorageAppliancePatchProperties', module='types') + properties: StorageAppliancePatchProperties + tags: dict[str, str] + + + class azure.mgmt.networkcloud.types.StorageAppliancePatchProperties(TypedDict, total=False): + key "serialNumber": str + serial_number: str + + + class azure.mgmt.networkcloud.types.StorageApplianceProperties(TypedDict, total=False): + key "administratorCredentials": Required[AdministrativeCredentials] + key "caCertificate": ForwardRef('CertificateInfo', module='types') + key "capacity": int + key "capacityUsed": int + key "clusterId": str + key "detailedStatus": Union[str, StorageApplianceDetailedStatus] + key "detailedStatusMessage": str + key "managementIpv4Address": str + key "manufacturer": str + key "model": str + key "provisioningState": Union[str, StorageApplianceProvisioningState] + key "rackId": Required[str] + key "rackSlot": Required[int] + key "remoteVendorManagementFeature": Union[str, RemoteVendorManagementFeature] + key "remoteVendorManagementStatus": Union[str, RemoteVendorManagementStatus] + key "serialNumber": Required[str] + key "storageApplianceSkuId": Required[str] + key "version": str + administrator_credentials: AdministrativeCredentials + ca_certificate: CertificateInfo + capacity: int + capacity_used: int + cluster_id: str + detailed_status: Union[str, StorageApplianceDetailedStatus] + detailed_status_message: str + management_ipv4_address: str + manufacturer: str + model: str + provisioning_state: Union[str, StorageApplianceProvisioningState] + rack_id: str + rack_slot: int + remote_vendor_management_feature: Union[str, RemoteVendorManagementFeature] + remote_vendor_management_status: Union[str, RemoteVendorManagementStatus] + secretRotationStatus: list[SecretRotationStatus] + secret_rotation_status: list[SecretRotationStatus] + serial_number: str + storage_appliance_sku_id: str + version: str + + + class azure.mgmt.networkcloud.types.StorageApplianceRunReadCommandsParameters(TypedDict, total=False): + key "commands": Required[list[StorageApplianceCommandSpecification]] + key "limitTimeSeconds": Required[int] + commands: list[StorageApplianceCommandSpecification] + limit_time_seconds: int + + + class azure.mgmt.networkcloud.types.StorageProfile(TypedDict, total=False): + key "osDisk": Required[OsDisk] + os_disk: OsDisk + volumeAttachments: list[str] + volume_attachments: list[str] + + + class azure.mgmt.networkcloud.types.StringKeyValuePair(TypedDict, total=False): + key "key": Required[str] + key "value": Required[str] + key: str + value: str + + + class azure.mgmt.networkcloud.types.SystemData(TypedDict, total=False): + key "createdAt": str + key "createdBy": str + key "createdByType": Union[str, CreatedByType] + key "lastModifiedAt": str + key "lastModifiedBy": str + key "lastModifiedByType": Union[str, CreatedByType] + created_at: str + created_by: str + created_by_type: Union[str, CreatedByType] + last_modified_at: str + last_modified_by: str + last_modified_by_type: Union[str, CreatedByType] + + + class azure.mgmt.networkcloud.types.TrackedResource(Resource): + key "id": str + key "location": Required[str] + key "name": str + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + id: str + location: str + name: str + system_data: SystemData + tags: dict[str, str] + type: str + + + class azure.mgmt.networkcloud.types.TrunkedNetwork(TrackedResource): + key "etag": str + key "extendedLocation": Required[ExtendedLocation] + key "id": str + key "location": Required[str] + key "name": str + key "properties": Required[TrunkedNetworkProperties] + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + etag: str + extended_location: ExtendedLocation + id: str + location: str + name: str + properties: TrunkedNetworkProperties + system_data: SystemData + tags: dict[str, str] + type: str + + + class azure.mgmt.networkcloud.types.TrunkedNetworkAttachmentConfiguration(TypedDict, total=False): + key "networkId": Required[str] + key "pluginType": Union[str, KubernetesPluginType] + network_id: str + plugin_type: Union[str, KubernetesPluginType] + + + class azure.mgmt.networkcloud.types.TrunkedNetworkPatchParameters(TypedDict, total=False): + tags: dict[str, str] + + + class azure.mgmt.networkcloud.types.TrunkedNetworkProperties(TypedDict, total=False): + key "clusterId": str + key "detailedStatus": Union[str, TrunkedNetworkDetailedStatus] + key "detailedStatusMessage": str + key "hybridAksPluginType": Union[str, HybridAksPluginType] + key "interfaceName": str + key "isolationDomainIds": Required[list[str]] + key "provisioningState": Union[str, TrunkedNetworkProvisioningState] + key "vlans": Required[list[int]] + associatedResourceIds: list[str] + associated_resource_ids: list[str] + cluster_id: str + detailed_status: Union[str, TrunkedNetworkDetailedStatus] + detailed_status_message: str + hybridAksClustersAssociatedIds: list[str] + hybrid_aks_clusters_associated_ids: list[str] + hybrid_aks_plugin_type: Union[str, HybridAksPluginType] + interface_name: str + isolation_domain_ids: list[str] + provisioning_state: Union[str, TrunkedNetworkProvisioningState] + virtualMachinesAssociatedIds: list[str] + virtual_machines_associated_ids: list[str] + vlans: list[int] + + + class azure.mgmt.networkcloud.types.UserAssignedIdentity(TypedDict, total=False): + key "clientId": str + key "principalId": str + client_id: str + principal_id: str + + + class azure.mgmt.networkcloud.types.ValidationThreshold(TypedDict, total=False): + key "grouping": Required[Union[str, ValidationThresholdGrouping]] + key "type": Required[Union[str, ValidationThresholdType]] + key "value": Required[int] + grouping: Union[str, ValidationThresholdGrouping] + type: Union[str, ValidationThresholdType] + value: int + + + class azure.mgmt.networkcloud.types.VirtualMachine(TrackedResource): + key "etag": str + key "extendedLocation": Required[ExtendedLocation] + key "id": str + key "identity": ForwardRef('ManagedServiceIdentity', module='types') + key "location": Required[str] + key "name": str + key "properties": Required[VirtualMachineProperties] + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + etag: str + extended_location: ExtendedLocation + id: str + identity: ManagedServiceIdentity + location: str + name: str + properties: VirtualMachineProperties + system_data: SystemData + tags: dict[str, str] + type: str + + + class azure.mgmt.networkcloud.types.VirtualMachineAssignRelayParameters(TypedDict, total=False): + key "machineId": Required[str] + key "relayType": Union[str, RelayType] + machine_id: str + relay_type: Union[str, RelayType] + + + class azure.mgmt.networkcloud.types.VirtualMachinePatchParameters(TypedDict, total=False): + key "identity": ForwardRef('ManagedServiceIdentity', module='types') + key "properties": ForwardRef('VirtualMachinePatchProperties', module='types') + identity: ManagedServiceIdentity + properties: VirtualMachinePatchProperties + tags: dict[str, str] + + + class azure.mgmt.networkcloud.types.VirtualMachinePatchProperties(TypedDict, total=False): + key "vmImageRepositoryCredentials": ForwardRef('ImageRepositoryCredentials', module='types') + vm_image_repository_credentials: ImageRepositoryCredentials + + + class azure.mgmt.networkcloud.types.VirtualMachinePlacementHint(TypedDict, total=False): + key "hintType": Required[Union[str, VirtualMachinePlacementHintType]] + key "resourceId": Required[str] + key "schedulingExecution": Required[Union[str, VirtualMachineSchedulingExecution]] + key "scope": Required[Union[str, VirtualMachinePlacementHintPodAffinityScope]] + hint_type: Union[str, VirtualMachinePlacementHintType] + resource_id: str + scheduling_execution: Union[str, VirtualMachineSchedulingExecution] + scope: Union[str, VirtualMachinePlacementHintPodAffinityScope] + + + class azure.mgmt.networkcloud.types.VirtualMachinePowerOffParameters(TypedDict, total=False): + key "skipShutdown": Union[str, SkipShutdown] + skip_shutdown: Union[str, SkipShutdown] + + + class azure.mgmt.networkcloud.types.VirtualMachineProperties(TypedDict, total=False): + key "adminUsername": Required[str] + key "availabilityZone": str + key "bareMetalMachineId": str + key "bootMethod": Union[str, VirtualMachineBootMethod] + key "cloudServicesNetworkAttachment": Required[NetworkAttachment] + key "clusterId": str + key "consoleExtendedLocation": ForwardRef('ExtendedLocation', module='types') + key "cpuCores": Required[int] + key "detailedStatus": Union[str, VirtualMachineDetailedStatus] + key "detailedStatusMessage": str + key "isolateEmulatorThread": Union[str, VirtualMachineIsolateEmulatorThread] + key "memorySizeGB": Required[int] + key "networkData": str + key "networkDataContent": str + key "powerState": Union[str, VirtualMachinePowerState] + key "provisioningState": Union[str, VirtualMachineProvisioningState] + key "storageProfile": Required[StorageProfile] + key "userData": str + key "userDataContent": str + key "virtioInterface": Union[str, VirtualMachineVirtioInterfaceType] + key "vmDeviceModel": Union[str, VirtualMachineDeviceModelType] + key "vmImage": Required[str] + key "vmImageRepositoryCredentials": ForwardRef('ImageRepositoryCredentials', module='types') + admin_username: str + availability_zone: str + bare_metal_machine_id: str + boot_method: Union[str, VirtualMachineBootMethod] + cloud_services_network_attachment: NetworkAttachment + cluster_id: str + console_extended_location: ExtendedLocation + cpu_cores: int + detailed_status: Union[str, VirtualMachineDetailedStatus] + detailed_status_message: str + isolate_emulator_thread: Union[str, VirtualMachineIsolateEmulatorThread] + memory_size_gb: int + networkAttachments: list[NetworkAttachment] + network_attachments: list[NetworkAttachment] + network_data: str + network_data_content: str + placementHints: list[VirtualMachinePlacementHint] + placement_hints: list[VirtualMachinePlacementHint] + power_state: Union[str, VirtualMachinePowerState] + provisioning_state: Union[str, VirtualMachineProvisioningState] + sshPublicKeys: list[SshPublicKey] + ssh_public_keys: list[SshPublicKey] + storage_profile: StorageProfile + user_data: str + user_data_content: str + virtio_interface: Union[str, VirtualMachineVirtioInterfaceType] + vm_device_model: Union[str, VirtualMachineDeviceModelType] + vm_image: str + vm_image_repository_credentials: ImageRepositoryCredentials + volumes: list[str] + + + class azure.mgmt.networkcloud.types.Volume(TrackedResource): + key "etag": str + key "extendedLocation": Required[ExtendedLocation] + key "id": str + key "location": Required[str] + key "name": str + key "properties": Required[VolumeProperties] + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + etag: str + extended_location: ExtendedLocation + id: str + location: str + name: str + properties: VolumeProperties + system_data: SystemData + tags: dict[str, str] + type: str + + + class azure.mgmt.networkcloud.types.VolumePatchParameters(TypedDict, total=False): + tags: dict[str, str] + + + class azure.mgmt.networkcloud.types.VolumeProperties(TypedDict, total=False): + key "allocatedSizeMiB": int + key "detailedStatus": Union[str, VolumeDetailedStatus] + key "detailedStatusMessage": str + key "provisioningState": Union[str, VolumeProvisioningState] + key "serialNumber": str + key "sizeMiB": Required[int] + key "storageApplianceId": str + allocated_size_mi_b: int + attachedTo: list[str] + attached_to: list[str] + detailed_status: Union[str, VolumeDetailedStatus] + detailed_status_message: str + provisioning_state: Union[str, VolumeProvisioningState] + serial_number: str + size_mi_b: int + storage_appliance_id: str + + + class azure.mgmt.networkcloud.types.VulnerabilityScanningSettings(TypedDict, total=False): + key "containerScan": Union[str, VulnerabilityScanningSettingsContainerScan] + container_scan: Union[str, VulnerabilityScanningSettingsContainerScan] + + + class azure.mgmt.networkcloud.types.VulnerabilityScanningSettingsPatch(TypedDict, total=False): + key "containerScan": Union[str, VulnerabilityScanningSettingsContainerScan] + container_scan: Union[str, VulnerabilityScanningSettingsContainerScan] + + ``` \ No newline at end of file diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/api.metadata.yml b/sdk/networkcloud/azure-mgmt-networkcloud/api.metadata.yml index 1dd3a62969a2..8e696ebc8d93 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/api.metadata.yml +++ b/sdk/networkcloud/azure-mgmt-networkcloud/api.metadata.yml @@ -1,3 +1,3 @@ -apiMdSha256: 420a3b4172833ac92979fb5b9e65941662b95bc03689db972da61978b56c1570 +apiMdSha256: da1a90e6d9fb7a54fe53dd0ff50d4b41174e83aa171dd0e3eacfdddad0d5eeb7 parserVersion: 0.3.28 -pythonVersion: 3.13.13 +pythonVersion: 3.13.14 diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/apiview-properties.json b/sdk/networkcloud/azure-mgmt-networkcloud/apiview-properties.json index c8fc041945ea..7db0988bca34 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/apiview-properties.json +++ b/sdk/networkcloud/azure-mgmt-networkcloud/apiview-properties.json @@ -2,19 +2,13 @@ "CrossLanguagePackageId": "Microsoft.NetworkCloud", "CrossLanguageDefinitionId": { "azure.mgmt.networkcloud.models.AadConfiguration": "Microsoft.NetworkCloud.AadConfiguration", - "azure.mgmt.networkcloud.models.Resource": "Azure.ResourceManager.CommonTypes.Resource", - "azure.mgmt.networkcloud.models.TrackedResource": "Azure.ResourceManager.CommonTypes.TrackedResource", - "azure.mgmt.networkcloud.models.AccessBridge": "Microsoft.NetworkCloud.AccessBridge", - "azure.mgmt.networkcloud.models.AccessBridgeEndpoint": "Microsoft.NetworkCloud.AccessBridgeEndpoint", - "azure.mgmt.networkcloud.models.AccessBridgePatchParameters": "Microsoft.NetworkCloud.AccessBridgePatchParameters", - "azure.mgmt.networkcloud.models.AccessBridgePatchProperties": "Microsoft.NetworkCloud.AccessBridgePatchProperties", - "azure.mgmt.networkcloud.models.AccessBridgeProperties": "Microsoft.NetworkCloud.AccessBridgeProperties", - "azure.mgmt.networkcloud.models.AccessBridgeSecurityRule": "Microsoft.NetworkCloud.AccessBridgeSecurityRule", "azure.mgmt.networkcloud.models.ActionState": "Microsoft.NetworkCloud.ActionState", "azure.mgmt.networkcloud.models.AdministrativeCredentials": "Microsoft.NetworkCloud.AdministrativeCredentials", "azure.mgmt.networkcloud.models.AdministratorConfiguration": "Microsoft.NetworkCloud.AdministratorConfiguration", "azure.mgmt.networkcloud.models.AdministratorConfigurationPatch": "Microsoft.NetworkCloud.AdministratorConfigurationPatch", "azure.mgmt.networkcloud.models.AgentOptions": "Microsoft.NetworkCloud.AgentOptions", + "azure.mgmt.networkcloud.models.Resource": "Azure.ResourceManager.CommonTypes.Resource", + "azure.mgmt.networkcloud.models.TrackedResource": "Azure.ResourceManager.CommonTypes.TrackedResource", "azure.mgmt.networkcloud.models.AgentPool": "Microsoft.NetworkCloud.AgentPool", "azure.mgmt.networkcloud.models.AgentPoolPatchParameters": "Microsoft.NetworkCloud.AgentPoolPatchParameters", "azure.mgmt.networkcloud.models.AgentPoolPatchProperties": "Microsoft.NetworkCloud.AgentPoolPatchProperties", @@ -31,12 +25,10 @@ "azure.mgmt.networkcloud.models.BareMetalMachineKeySetPatchParameters": "Microsoft.NetworkCloud.BareMetalMachineKeySetPatchParameters", "azure.mgmt.networkcloud.models.BareMetalMachineKeySetPatchProperties": "Microsoft.NetworkCloud.BareMetalMachineKeySetPatchProperties", "azure.mgmt.networkcloud.models.BareMetalMachineKeySetProperties": "Microsoft.NetworkCloud.BareMetalMachineKeySetProperties", - "azure.mgmt.networkcloud.models.BareMetalMachineMonitoringConfigurationStatus": "Microsoft.NetworkCloud.BareMetalMachineMonitoringConfigurationStatus", "azure.mgmt.networkcloud.models.BareMetalMachinePatchParameters": "Microsoft.NetworkCloud.BareMetalMachinePatchParameters", "azure.mgmt.networkcloud.models.BareMetalMachinePatchProperties": "Microsoft.NetworkCloud.BareMetalMachinePatchProperties", "azure.mgmt.networkcloud.models.BareMetalMachinePowerOffParameters": "Microsoft.NetworkCloud.BareMetalMachinePowerOffParameters", "azure.mgmt.networkcloud.models.BareMetalMachineProperties": "Microsoft.NetworkCloud.BareMetalMachineProperties", - "azure.mgmt.networkcloud.models.BareMetalMachineReimageParameters": "Microsoft.NetworkCloud.BareMetalMachineReimageParameters", "azure.mgmt.networkcloud.models.BareMetalMachineReplaceParameters": "Microsoft.NetworkCloud.BareMetalMachineReplaceParameters", "azure.mgmt.networkcloud.models.BareMetalMachineRunCommandParameters": "Microsoft.NetworkCloud.BareMetalMachineRunCommandParameters", "azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters": "Microsoft.NetworkCloud.BareMetalMachineRunDataExtractsParameters", @@ -61,12 +53,9 @@ "azure.mgmt.networkcloud.models.ClusterCapacity": "Microsoft.NetworkCloud.ClusterCapacity", "azure.mgmt.networkcloud.models.ClusterContinueUpdateVersionParameters": "Microsoft.NetworkCloud.ClusterContinueUpdateVersionParameters", "azure.mgmt.networkcloud.models.ClusterDeployParameters": "Microsoft.NetworkCloud.ClusterDeployParameters", - "azure.mgmt.networkcloud.models.ClusterInspectParameters": "Microsoft.NetworkCloud.ClusterInspectParameters", "azure.mgmt.networkcloud.models.ClusterManager": "Microsoft.NetworkCloud.ClusterManager", "azure.mgmt.networkcloud.models.ClusterManagerPatchParameters": "Microsoft.NetworkCloud.ClusterManagerPatchParameters", "azure.mgmt.networkcloud.models.ClusterManagerProperties": "Microsoft.NetworkCloud.ClusterManagerProperties", - "azure.mgmt.networkcloud.models.ClusterManagerRelayConfiguration": "Microsoft.NetworkCloud.ClusterManagerRelayConfiguration", - "azure.mgmt.networkcloud.models.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters": "Microsoft.NetworkCloud.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters", "azure.mgmt.networkcloud.models.ClusterMetricsConfiguration": "Microsoft.NetworkCloud.ClusterMetricsConfiguration", "azure.mgmt.networkcloud.models.ClusterMetricsConfigurationPatchParameters": "Microsoft.NetworkCloud.ClusterMetricsConfigurationPatchParameters", "azure.mgmt.networkcloud.models.ClusterMetricsConfigurationPatchProperties": "Microsoft.NetworkCloud.ClusterMetricsConfigurationPatchProperties", @@ -74,7 +63,6 @@ "azure.mgmt.networkcloud.models.ClusterPatchParameters": "Microsoft.NetworkCloud.ClusterPatchParameters", "azure.mgmt.networkcloud.models.ClusterPatchProperties": "Microsoft.NetworkCloud.ClusterPatchProperties", "azure.mgmt.networkcloud.models.ClusterProperties": "Microsoft.NetworkCloud.ClusterProperties", - "azure.mgmt.networkcloud.models.ClusterRotateCredentialParameters": "Microsoft.NetworkCloud.ClusterRotateCredentialParameters", "azure.mgmt.networkcloud.models.ClusterScanRuntimeParameters": "Microsoft.NetworkCloud.ClusterScanRuntimeParameters", "azure.mgmt.networkcloud.models.ClusterSecretArchive": "Microsoft.NetworkCloud.ClusterSecretArchive", "azure.mgmt.networkcloud.models.ClusterUpdateStrategy": "Microsoft.NetworkCloud.ClusterUpdateStrategy", @@ -94,7 +82,6 @@ "azure.mgmt.networkcloud.models.ErrorResponse": "Azure.ResourceManager.CommonTypes.ErrorResponse", "azure.mgmt.networkcloud.models.ExtendedLocation": "Azure.ResourceManager.CommonTypes.ExtendedLocation", "azure.mgmt.networkcloud.models.FeatureStatus": "Microsoft.NetworkCloud.FeatureStatus", - "azure.mgmt.networkcloud.models.FilterDevices": "Microsoft.NetworkCloud.FilterDevices", "azure.mgmt.networkcloud.models.HardwareInventory": "Microsoft.NetworkCloud.HardwareInventory", "azure.mgmt.networkcloud.models.HardwareInventoryNetworkInterface": "Microsoft.NetworkCloud.HardwareInventoryNetworkInterface", "azure.mgmt.networkcloud.models.HardwareValidationStatus": "Microsoft.NetworkCloud.HardwareValidationStatus", @@ -115,10 +102,6 @@ "azure.mgmt.networkcloud.models.KubernetesClusterProperties": "Microsoft.NetworkCloud.KubernetesClusterProperties", "azure.mgmt.networkcloud.models.KubernetesClusterRestartNodeParameters": "Microsoft.NetworkCloud.KubernetesClusterRestartNodeParameters", "azure.mgmt.networkcloud.models.KubernetesLabel": "Microsoft.NetworkCloud.KubernetesLabel", - "azure.mgmt.networkcloud.models.KubernetesVersion": "Microsoft.NetworkCloud.KubernetesVersion", - "azure.mgmt.networkcloud.models.KubernetesVersionPatchParameters": "Microsoft.NetworkCloud.KubernetesVersionPatchParameters", - "azure.mgmt.networkcloud.models.KubernetesVersionProperties": "Microsoft.NetworkCloud.KubernetesVersionProperties", - "azure.mgmt.networkcloud.models.KubernetesVersionValue": "Microsoft.NetworkCloud.KubernetesVersionValue", "azure.mgmt.networkcloud.models.L2Network": "Microsoft.NetworkCloud.L2Network", "azure.mgmt.networkcloud.models.L2NetworkAttachmentConfiguration": "Microsoft.NetworkCloud.L2NetworkAttachmentConfiguration", "azure.mgmt.networkcloud.models.L2NetworkPatchParameters": "Microsoft.NetworkCloud.L2NetworkPatchParameters", @@ -165,8 +148,6 @@ "azure.mgmt.networkcloud.models.StorageApplianceCommandSpecification": "Microsoft.NetworkCloud.StorageApplianceCommandSpecification", "azure.mgmt.networkcloud.models.StorageApplianceConfigurationData": "Microsoft.NetworkCloud.StorageApplianceConfigurationData", "azure.mgmt.networkcloud.models.StorageApplianceEnableRemoteVendorManagementParameters": "Microsoft.NetworkCloud.StorageApplianceEnableRemoteVendorManagementParameters", - "azure.mgmt.networkcloud.models.StorageApplianceExpansionShelf": "Microsoft.NetworkCloud.StorageApplianceExpansionShelf", - "azure.mgmt.networkcloud.models.StorageApplianceMonitoringConfigurationStatus": "Microsoft.NetworkCloud.StorageApplianceMonitoringConfigurationStatus", "azure.mgmt.networkcloud.models.StorageAppliancePatchParameters": "Microsoft.NetworkCloud.StorageAppliancePatchParameters", "azure.mgmt.networkcloud.models.StorageAppliancePatchProperties": "Microsoft.NetworkCloud.StorageAppliancePatchProperties", "azure.mgmt.networkcloud.models.StorageApplianceProperties": "Microsoft.NetworkCloud.StorageApplianceProperties", @@ -197,29 +178,17 @@ "azure.mgmt.networkcloud.models.Origin": "Azure.ResourceManager.CommonTypes.Origin", "azure.mgmt.networkcloud.models.ActionType": "Azure.ResourceManager.CommonTypes.ActionType", "azure.mgmt.networkcloud.models.CreatedByType": "Azure.ResourceManager.CommonTypes.createdByType", - "azure.mgmt.networkcloud.models.SecurityRuleDirection": "Microsoft.NetworkCloud.SecurityRuleDirection", - "azure.mgmt.networkcloud.models.AccessBridgeDetailedStatus": "Microsoft.NetworkCloud.AccessBridgeDetailedStatus", - "azure.mgmt.networkcloud.models.TransportProtocol": "Microsoft.NetworkCloud.TransportProtocol", - "azure.mgmt.networkcloud.models.AccessBridgeProvisioningState": "Microsoft.NetworkCloud.AccessBridgeProvisioningState", - "azure.mgmt.networkcloud.models.ExtendedLocationType": "Azure.ResourceManager.CommonTypes.ExtendedLocationType", - "azure.mgmt.networkcloud.models.AccessBridgeAllowedName": "Microsoft.NetworkCloud.AccessBridgeAllowedName", "azure.mgmt.networkcloud.models.ActionStateStatus": "Microsoft.NetworkCloud.ActionStateStatus", "azure.mgmt.networkcloud.models.StepStateStatus": "Microsoft.NetworkCloud.StepStateStatus", "azure.mgmt.networkcloud.models.BareMetalMachineCordonStatus": "Microsoft.NetworkCloud.BareMetalMachineCordonStatus", "azure.mgmt.networkcloud.models.BareMetalMachineDetailedStatus": "Microsoft.NetworkCloud.BareMetalMachineDetailedStatus", "azure.mgmt.networkcloud.models.BareMetalMachineHardwareValidationResult": "Microsoft.NetworkCloud.BareMetalMachineHardwareValidationResult", - "azure.mgmt.networkcloud.models.BareMetalMachineMetricsConfigurationStatusLogLevel": "Microsoft.NetworkCloud.BareMetalMachineMetricsConfigurationStatusLogLevel", - "azure.mgmt.networkcloud.models.BareMetalMachineMetricsConfigurationStatusMetricsLevel": "Microsoft.NetworkCloud.BareMetalMachineMetricsConfigurationStatusMetricsLevel", "azure.mgmt.networkcloud.models.BareMetalMachinePowerState": "Microsoft.NetworkCloud.BareMetalMachinePowerState", "azure.mgmt.networkcloud.models.BareMetalMachineReadyState": "Microsoft.NetworkCloud.BareMetalMachineReadyState", - "azure.mgmt.networkcloud.models.RuntimeProtectionAgentHealthStatus": "Microsoft.NetworkCloud.RuntimeProtectionAgentHealthStatus", - "azure.mgmt.networkcloud.models.RuntimeProtectionAgentLicenseStatus": "Microsoft.NetworkCloud.RuntimeProtectionAgentLicenseStatus", - "azure.mgmt.networkcloud.models.RuntimeProtectionDefinitionUpdateMode": "Microsoft.NetworkCloud.RuntimeProtectionDefinitionUpdateMode", - "azure.mgmt.networkcloud.models.RuntimeProtectionEnforcementLevel": "Microsoft.NetworkCloud.RuntimeProtectionEnforcementLevel", "azure.mgmt.networkcloud.models.BareMetalMachineProvisioningState": "Microsoft.NetworkCloud.BareMetalMachineProvisioningState", + "azure.mgmt.networkcloud.models.ExtendedLocationType": "Azure.ResourceManager.CommonTypes.ExtendedLocationType", "azure.mgmt.networkcloud.models.BareMetalMachineEvacuate": "Microsoft.NetworkCloud.BareMetalMachineEvacuate", "azure.mgmt.networkcloud.models.BareMetalMachineSkipShutdown": "Microsoft.NetworkCloud.BareMetalMachineSkipShutdown", - "azure.mgmt.networkcloud.models.BareMetalMachineReimageSafeguardMode": "Microsoft.NetworkCloud.BareMetalMachineReimageSafeguardMode", "azure.mgmt.networkcloud.models.BareMetalMachineReplaceSafeguardMode": "Microsoft.NetworkCloud.BareMetalMachineReplaceSafeguardMode", "azure.mgmt.networkcloud.models.BareMetalMachineReplaceStoragePolicy": "Microsoft.NetworkCloud.BareMetalMachineReplaceStoragePolicy", "azure.mgmt.networkcloud.models.CloudServicesNetworkEnableDefaultEgressEndpoints": "Microsoft.NetworkCloud.CloudServicesNetworkEnableDefaultEgressEndpoints", @@ -230,13 +199,12 @@ "azure.mgmt.networkcloud.models.ClusterManagerDetailedStatus": "Microsoft.NetworkCloud.ClusterManagerDetailedStatus", "azure.mgmt.networkcloud.models.ClusterManagerProvisioningState": "Microsoft.NetworkCloud.ClusterManagerProvisioningState", "azure.mgmt.networkcloud.models.ManagedServiceIdentityType": "Azure.ResourceManager.CommonTypes.ManagedServiceIdentityType", - "azure.mgmt.networkcloud.models.DeploymentType": "Microsoft.NetworkCloud.DeploymentType", - "azure.mgmt.networkcloud.models.RelayPrivateEndpointConnectionState": "Microsoft.NetworkCloud.RelayPrivateEndpointConnectionState", "azure.mgmt.networkcloud.models.ManagedServiceIdentitySelectorType": "Microsoft.NetworkCloud.ManagedServiceIdentitySelectorType", "azure.mgmt.networkcloud.models.ClusterType": "Microsoft.NetworkCloud.ClusterType", "azure.mgmt.networkcloud.models.CommandOutputType": "Microsoft.NetworkCloud.CommandOutputType", "azure.mgmt.networkcloud.models.ValidationThresholdGrouping": "Microsoft.NetworkCloud.ValidationThresholdGrouping", "azure.mgmt.networkcloud.models.ValidationThresholdType": "Microsoft.NetworkCloud.ValidationThresholdType", + "azure.mgmt.networkcloud.models.RuntimeProtectionEnforcementLevel": "Microsoft.NetworkCloud.RuntimeProtectionEnforcementLevel", "azure.mgmt.networkcloud.models.ClusterSecretArchiveEnabled": "Microsoft.NetworkCloud.ClusterSecretArchiveEnabled", "azure.mgmt.networkcloud.models.ClusterUpdateStrategyType": "Microsoft.NetworkCloud.ClusterUpdateStrategyType", "azure.mgmt.networkcloud.models.VulnerabilityScanningSettingsContainerScan": "Microsoft.NetworkCloud.VulnerabilityScanningSettingsContainerScan", @@ -247,10 +215,7 @@ "azure.mgmt.networkcloud.models.ClusterDetailedStatus": "Microsoft.NetworkCloud.ClusterDetailedStatus", "azure.mgmt.networkcloud.models.ClusterProvisioningState": "Microsoft.NetworkCloud.ClusterProvisioningState", "azure.mgmt.networkcloud.models.ClusterContinueUpdateVersionMachineGroupTargetingMode": "Microsoft.NetworkCloud.ClusterContinueUpdateVersionMachineGroupTargetingMode", - "azure.mgmt.networkcloud.models.ClusterContinueUpdateVersionSafeguardMode": "Microsoft.NetworkCloud.ClusterContinueUpdateVersionSafeguardMode", - "azure.mgmt.networkcloud.models.ClusterInspectAdditionalAction": "Microsoft.NetworkCloud.ClusterInspectAdditionalAction", "azure.mgmt.networkcloud.models.ClusterScanRuntimeParametersScanActivity": "Microsoft.NetworkCloud.ClusterScanRuntimeParametersScanActivity", - "azure.mgmt.networkcloud.models.ClusterUpdateVersionSafeguardMode": "Microsoft.NetworkCloud.ClusterUpdateVersionSafeguardMode", "azure.mgmt.networkcloud.models.HugepagesSize": "Microsoft.NetworkCloud.HugepagesSize", "azure.mgmt.networkcloud.models.KubernetesPluginType": "Microsoft.NetworkCloud.KubernetesPluginType", "azure.mgmt.networkcloud.models.L3NetworkConfigurationIpamEnabled": "Microsoft.NetworkCloud.L3NetworkConfigurationIpamEnabled", @@ -268,7 +233,6 @@ "azure.mgmt.networkcloud.models.KubernetesNodePowerState": "Microsoft.NetworkCloud.KubernetesNodePowerState", "azure.mgmt.networkcloud.models.KubernetesNodeRole": "Microsoft.NetworkCloud.KubernetesNodeRole", "azure.mgmt.networkcloud.models.KubernetesClusterProvisioningState": "Microsoft.NetworkCloud.KubernetesClusterProvisioningState", - "azure.mgmt.networkcloud.models.KubernetesVersionProvisioningState": "Microsoft.NetworkCloud.KubernetesVersionProvisioningState", "azure.mgmt.networkcloud.models.HybridAksPluginType": "Microsoft.NetworkCloud.HybridAksPluginType", "azure.mgmt.networkcloud.models.L2NetworkDetailedStatus": "Microsoft.NetworkCloud.L2NetworkDetailedStatus", "azure.mgmt.networkcloud.models.L2NetworkProvisioningState": "Microsoft.NetworkCloud.L2NetworkProvisioningState", @@ -285,8 +249,6 @@ "azure.mgmt.networkcloud.models.RackDetailedStatus": "Microsoft.NetworkCloud.RackDetailedStatus", "azure.mgmt.networkcloud.models.RackProvisioningState": "Microsoft.NetworkCloud.RackProvisioningState", "azure.mgmt.networkcloud.models.StorageApplianceDetailedStatus": "Microsoft.NetworkCloud.StorageApplianceDetailedStatus", - "azure.mgmt.networkcloud.models.StorageApplianceMetricsConfigurationStatusLogLevel": "Microsoft.NetworkCloud.StorageApplianceMetricsConfigurationStatusLogLevel", - "azure.mgmt.networkcloud.models.StorageApplianceMetricsConfigurationStatusMetricsLevel": "Microsoft.NetworkCloud.StorageApplianceMetricsConfigurationStatusMetricsLevel", "azure.mgmt.networkcloud.models.RemoteVendorManagementFeature": "Microsoft.NetworkCloud.RemoteVendorManagementFeature", "azure.mgmt.networkcloud.models.RemoteVendorManagementStatus": "Microsoft.NetworkCloud.RemoteVendorManagementStatus", "azure.mgmt.networkcloud.models.StorageApplianceProvisioningState": "Microsoft.NetworkCloud.StorageApplianceProvisioningState", @@ -328,18 +290,6 @@ "azure.mgmt.networkcloud.models.ClusterMetricsConfigurationProvisioningState": "Microsoft.NetworkCloud.ClusterMetricsConfigurationProvisioningState", "azure.mgmt.networkcloud.operations.Operations.list": "Azure.ResourceManager.Operations.list", "azure.mgmt.networkcloud.aio.operations.Operations.list": "Azure.ResourceManager.Operations.list", - "azure.mgmt.networkcloud.operations.AccessBridgesOperations.get": "Microsoft.NetworkCloud.AccessBridges.get", - "azure.mgmt.networkcloud.aio.operations.AccessBridgesOperations.get": "Microsoft.NetworkCloud.AccessBridges.get", - "azure.mgmt.networkcloud.operations.AccessBridgesOperations.begin_create_or_update": "Microsoft.NetworkCloud.AccessBridges.createOrUpdate", - "azure.mgmt.networkcloud.aio.operations.AccessBridgesOperations.begin_create_or_update": "Microsoft.NetworkCloud.AccessBridges.createOrUpdate", - "azure.mgmt.networkcloud.operations.AccessBridgesOperations.begin_update": "Microsoft.NetworkCloud.AccessBridges.update", - "azure.mgmt.networkcloud.aio.operations.AccessBridgesOperations.begin_update": "Microsoft.NetworkCloud.AccessBridges.update", - "azure.mgmt.networkcloud.operations.AccessBridgesOperations.begin_delete": "Microsoft.NetworkCloud.AccessBridges.delete", - "azure.mgmt.networkcloud.aio.operations.AccessBridgesOperations.begin_delete": "Microsoft.NetworkCloud.AccessBridges.delete", - "azure.mgmt.networkcloud.operations.AccessBridgesOperations.list_by_resource_group": "Microsoft.NetworkCloud.AccessBridges.listByResourceGroup", - "azure.mgmt.networkcloud.aio.operations.AccessBridgesOperations.list_by_resource_group": "Microsoft.NetworkCloud.AccessBridges.listByResourceGroup", - "azure.mgmt.networkcloud.operations.AccessBridgesOperations.list_by_subscription": "Microsoft.NetworkCloud.AccessBridges.listBySubscription", - "azure.mgmt.networkcloud.aio.operations.AccessBridgesOperations.list_by_subscription": "Microsoft.NetworkCloud.AccessBridges.listBySubscription", "azure.mgmt.networkcloud.operations.BareMetalMachinesOperations.get": "Microsoft.NetworkCloud.BareMetalMachines.get", "azure.mgmt.networkcloud.aio.operations.BareMetalMachinesOperations.get": "Microsoft.NetworkCloud.BareMetalMachines.get", "azure.mgmt.networkcloud.operations.BareMetalMachinesOperations.begin_create_or_update": "Microsoft.NetworkCloud.BareMetalMachines.createOrUpdate", @@ -398,8 +348,6 @@ "azure.mgmt.networkcloud.aio.operations.ClusterManagersOperations.list_by_resource_group": "Microsoft.NetworkCloud.ClusterManagers.listByResourceGroup", "azure.mgmt.networkcloud.operations.ClusterManagersOperations.list_by_subscription": "Microsoft.NetworkCloud.ClusterManagers.listBySubscription", "azure.mgmt.networkcloud.aio.operations.ClusterManagersOperations.list_by_subscription": "Microsoft.NetworkCloud.ClusterManagers.listBySubscription", - "azure.mgmt.networkcloud.operations.ClusterManagersOperations.begin_update_relay_private_endpoint_connection": "Microsoft.NetworkCloud.ClusterManagers.updateRelayPrivateEndpointConnection", - "azure.mgmt.networkcloud.aio.operations.ClusterManagersOperations.begin_update_relay_private_endpoint_connection": "Microsoft.NetworkCloud.ClusterManagers.updateRelayPrivateEndpointConnection", "azure.mgmt.networkcloud.operations.ClustersOperations.get": "Microsoft.NetworkCloud.Clusters.get", "azure.mgmt.networkcloud.aio.operations.ClustersOperations.get": "Microsoft.NetworkCloud.Clusters.get", "azure.mgmt.networkcloud.operations.ClustersOperations.begin_create_or_update": "Microsoft.NetworkCloud.Clusters.createOrUpdate", @@ -416,10 +364,6 @@ "azure.mgmt.networkcloud.aio.operations.ClustersOperations.begin_continue_update_version": "Microsoft.NetworkCloud.Clusters.continueUpdateVersion", "azure.mgmt.networkcloud.operations.ClustersOperations.begin_deploy": "Microsoft.NetworkCloud.Clusters.deploy", "azure.mgmt.networkcloud.aio.operations.ClustersOperations.begin_deploy": "Microsoft.NetworkCloud.Clusters.deploy", - "azure.mgmt.networkcloud.operations.ClustersOperations.begin_inspect": "Microsoft.NetworkCloud.Clusters.inspect", - "azure.mgmt.networkcloud.aio.operations.ClustersOperations.begin_inspect": "Microsoft.NetworkCloud.Clusters.inspect", - "azure.mgmt.networkcloud.operations.ClustersOperations.begin_rotate_credential": "Microsoft.NetworkCloud.Clusters.rotateCredential", - "azure.mgmt.networkcloud.aio.operations.ClustersOperations.begin_rotate_credential": "Microsoft.NetworkCloud.Clusters.rotateCredential", "azure.mgmt.networkcloud.operations.ClustersOperations.begin_scan_runtime": "Microsoft.NetworkCloud.Clusters.scanRuntime", "azure.mgmt.networkcloud.aio.operations.ClustersOperations.begin_scan_runtime": "Microsoft.NetworkCloud.Clusters.scanRuntime", "azure.mgmt.networkcloud.operations.ClustersOperations.begin_update_version": "Microsoft.NetworkCloud.Clusters.updateVersion", @@ -438,18 +382,6 @@ "azure.mgmt.networkcloud.aio.operations.KubernetesClustersOperations.list_by_subscription": "Microsoft.NetworkCloud.KubernetesClusters.listBySubscription", "azure.mgmt.networkcloud.operations.KubernetesClustersOperations.begin_restart_node": "Microsoft.NetworkCloud.KubernetesClusters.restartNode", "azure.mgmt.networkcloud.aio.operations.KubernetesClustersOperations.begin_restart_node": "Microsoft.NetworkCloud.KubernetesClusters.restartNode", - "azure.mgmt.networkcloud.operations.KubernetesVersionsOperations.get": "Microsoft.NetworkCloud.KubernetesVersions.get", - "azure.mgmt.networkcloud.aio.operations.KubernetesVersionsOperations.get": "Microsoft.NetworkCloud.KubernetesVersions.get", - "azure.mgmt.networkcloud.operations.KubernetesVersionsOperations.begin_create_or_update": "Microsoft.NetworkCloud.KubernetesVersions.createOrUpdate", - "azure.mgmt.networkcloud.aio.operations.KubernetesVersionsOperations.begin_create_or_update": "Microsoft.NetworkCloud.KubernetesVersions.createOrUpdate", - "azure.mgmt.networkcloud.operations.KubernetesVersionsOperations.begin_update": "Microsoft.NetworkCloud.KubernetesVersions.update", - "azure.mgmt.networkcloud.aio.operations.KubernetesVersionsOperations.begin_update": "Microsoft.NetworkCloud.KubernetesVersions.update", - "azure.mgmt.networkcloud.operations.KubernetesVersionsOperations.begin_delete": "Microsoft.NetworkCloud.KubernetesVersions.delete", - "azure.mgmt.networkcloud.aio.operations.KubernetesVersionsOperations.begin_delete": "Microsoft.NetworkCloud.KubernetesVersions.delete", - "azure.mgmt.networkcloud.operations.KubernetesVersionsOperations.list_by_resource_group": "Microsoft.NetworkCloud.KubernetesVersions.listByResourceGroup", - "azure.mgmt.networkcloud.aio.operations.KubernetesVersionsOperations.list_by_resource_group": "Microsoft.NetworkCloud.KubernetesVersions.listByResourceGroup", - "azure.mgmt.networkcloud.operations.KubernetesVersionsOperations.list_by_subscription": "Microsoft.NetworkCloud.KubernetesVersions.listBySubscription", - "azure.mgmt.networkcloud.aio.operations.KubernetesVersionsOperations.list_by_subscription": "Microsoft.NetworkCloud.KubernetesVersions.listBySubscription", "azure.mgmt.networkcloud.operations.L2NetworksOperations.get": "Microsoft.NetworkCloud.L2Networks.get", "azure.mgmt.networkcloud.aio.operations.L2NetworksOperations.get": "Microsoft.NetworkCloud.L2Networks.get", "azure.mgmt.networkcloud.operations.L2NetworksOperations.begin_create_or_update": "Microsoft.NetworkCloud.L2Networks.createOrUpdate", @@ -615,5 +547,5 @@ "azure.mgmt.networkcloud.operations.MetricsConfigurationsOperations.list_by_cluster": "Microsoft.NetworkCloud.ClusterMetricsConfigurations.listByCluster", "azure.mgmt.networkcloud.aio.operations.MetricsConfigurationsOperations.list_by_cluster": "Microsoft.NetworkCloud.ClusterMetricsConfigurations.listByCluster" }, - "CrossLanguageVersion": "0edb56d0a93f" + "CrossLanguageVersion": "a80fa198d8a0" } \ No newline at end of file diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_client.py b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_client.py index 0c8e0ec37cc8..29dae5265476 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_client.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_client.py @@ -20,7 +20,6 @@ from ._configuration import NetworkCloudMgmtClientConfiguration from ._utils.serialization import Deserializer, Serializer from .operations import ( - AccessBridgesOperations, AgentPoolsOperations, BareMetalMachineKeySetsOperations, BareMetalMachinesOperations, @@ -31,7 +30,6 @@ ConsolesOperations, KubernetesClusterFeaturesOperations, KubernetesClustersOperations, - KubernetesVersionsOperations, L2NetworksOperations, L3NetworksOperations, MetricsConfigurationsOperations, @@ -60,8 +58,6 @@ class NetworkCloudMgmtClient: # pylint: disable=too-many-instance-attributes :ivar operations: Operations operations :vartype operations: azure.mgmt.networkcloud.operations.Operations - :ivar access_bridges: AccessBridgesOperations operations - :vartype access_bridges: azure.mgmt.networkcloud.operations.AccessBridgesOperations :ivar bare_metal_machines: BareMetalMachinesOperations operations :vartype bare_metal_machines: azure.mgmt.networkcloud.operations.BareMetalMachinesOperations :ivar cloud_services_networks: CloudServicesNetworksOperations operations @@ -73,8 +69,6 @@ class NetworkCloudMgmtClient: # pylint: disable=too-many-instance-attributes :vartype clusters: azure.mgmt.networkcloud.operations.ClustersOperations :ivar kubernetes_clusters: KubernetesClustersOperations operations :vartype kubernetes_clusters: azure.mgmt.networkcloud.operations.KubernetesClustersOperations - :ivar kubernetes_versions: KubernetesVersionsOperations operations - :vartype kubernetes_versions: azure.mgmt.networkcloud.operations.KubernetesVersionsOperations :ivar l2_networks: L2NetworksOperations operations :vartype l2_networks: azure.mgmt.networkcloud.operations.L2NetworksOperations :ivar l3_networks: L3NetworksOperations operations @@ -115,10 +109,9 @@ class NetworkCloudMgmtClient: # pylint: disable=too-many-instance-attributes :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: The API version to use for this operation. Known values are - "2026-05-01-preview" and None. Default value is None. If not set, the operation's default API - version will be used. Note that overriding this default value may result in unsupported - behavior. + :keyword api_version: The API version to use for this operation. Known values are "2025-09-01" + and None. Default value is None. If not set, the operation's default API version will be used. + 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 Retry-After header is present. @@ -172,7 +165,6 @@ def __init__( self._deserialize = Deserializer() self._serialize.client_side_validation = False self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) - self.access_bridges = AccessBridgesOperations(self._client, self._config, self._serialize, self._deserialize) self.bare_metal_machines = BareMetalMachinesOperations( self._client, self._config, self._serialize, self._deserialize ) @@ -186,9 +178,6 @@ def __init__( self.kubernetes_clusters = KubernetesClustersOperations( self._client, self._config, self._serialize, self._deserialize ) - self.kubernetes_versions = KubernetesVersionsOperations( - self._client, self._config, self._serialize, self._deserialize - ) self.l2_networks = L2NetworksOperations(self._client, self._config, self._serialize, self._deserialize) self.l3_networks = L3NetworksOperations(self._client, self._config, self._serialize, self._deserialize) self.rack_skus = RackSkusOperations(self._client, self._config, self._serialize, self._deserialize) diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_configuration.py b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_configuration.py index 46c88777b89a..cd166ae86864 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_configuration.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_configuration.py @@ -33,10 +33,9 @@ class NetworkCloudMgmtClientConfiguration: # pylint: disable=too-many-instance- :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: The API version to use for this operation. Known values are - "2026-05-01-preview" and None. Default value is None. If not set, the operation's default API - version will be used. Note that overriding this default value may result in unsupported - behavior. + :keyword api_version: The API version to use for this operation. Known values are "2025-09-01" + and None. Default value is None. If not set, the operation's default API version will be used. + Note that overriding this default value may result in unsupported behavior. :paramtype api_version: str """ @@ -48,7 +47,7 @@ def __init__( cloud_setting: Optional["AzureClouds"] = None, **kwargs: Any ) -> None: - api_version: str = kwargs.pop("api_version", "2026-05-01-preview") + api_version: str = kwargs.pop("api_version", "2025-09-01") if credential is None: raise ValueError("Parameter 'credential' must not be None.") diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_utils/model_base.py b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_utils/model_base.py index a79d3782e99c..0f2c5bdfe70f 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_utils/model_base.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_utils/model_base.py @@ -458,21 +458,21 @@ def __ne__(self, other: typing.Any) -> bool: def keys(self) -> typing.KeysView[str]: """ - :returns: a set-like object providing a view on D's keys + :returns: a set-like object providing a view on the mapping's keys :rtype: ~typing.KeysView """ return self._data.keys() def values(self) -> typing.ValuesView[typing.Any]: """ - :returns: an object providing a view on D's values + :returns: an object providing a view on the mapping's values :rtype: ~typing.ValuesView """ return self._data.values() def items(self) -> typing.ItemsView[str, typing.Any]: """ - :returns: set-like object providing a view on D's items + :returns: a set-like object providing a view on the mapping's items :rtype: ~typing.ItemsView """ return self._data.items() @@ -482,7 +482,7 @@ def get(self, key: str, default: typing.Any = None) -> typing.Any: Get the value for key if key is in the dictionary, else default. :param str key: The key to look up. :param any default: The value to return if key is not in the dictionary. Defaults to None - :returns: D[k] if k in D, else d. + :returns: The value for key if key is in the dictionary, else default. :rtype: any """ try: @@ -517,19 +517,19 @@ def popitem(self) -> tuple[str, typing.Any]: Removes and returns some (key, value) pair :returns: The (key, value) pair. :rtype: tuple - :raises KeyError: if D is empty. + :raises KeyError: if the dictionary is empty. """ return self._data.popitem() def clear(self) -> None: """ - Remove all items from D. + Remove all items from the dictionary. """ self._data.clear() def update(self, *args: typing.Any, **kwargs: typing.Any) -> None: # pylint: disable=arguments-differ """ - Updates D from mapping/iterable E and F. + Update the dictionary from a mapping or an iterable of key-value pairs. :param any args: Either a mapping object or an iterable of key-value pairs. """ self._data.update(*args, **kwargs) @@ -542,10 +542,11 @@ def setdefault(self, key: str, default: typing.Any) -> typing.Any: ... # pylint def setdefault(self, key: str, default: typing.Any = _UNSET) -> typing.Any: """ - Same as calling D.get(k, d), and setting D[k]=d if k not found + Return the value for key if key is in the dictionary; otherwise set the key to + default and return default. :param str key: The key to look up. :param any default: The value to set if key is not in the dictionary - :returns: D[k] if k in D, else d. + :returns: The value for key if key is in the dictionary, else default. :rtype: any """ if default is _UNSET: @@ -1021,10 +1022,6 @@ def __new__(cls, *args: typing.Any, **kwargs: typing.Any) -> Self: if not rf._rest_name_input: rf._rest_name_input = attr cls._attr_to_rest_field: dict[str, _RestField] = dict(attr_to_rest_field.items()) - cls._backcompat_attr_to_rest_field: dict[str, _RestField] = { - Model._get_backcompat_attribute_name(cls._attr_to_rest_field, attr): rf - for attr, rf in cls._attr_to_rest_field.items() - } # Build XML field plan for fast _init_from_xml (only for XML models) if getattr(cls, "_xml", None): cls._xml_field_plan = _build_xml_field_plan(cls, attr_to_rest_field) @@ -1037,16 +1034,6 @@ def __init_subclass__(cls, discriminator: typing.Optional[str] = None) -> None: if hasattr(base, "__mapping__"): base.__mapping__[discriminator or cls.__name__] = cls # type: ignore - @classmethod - def _get_backcompat_attribute_name(cls, attr_to_rest_field: dict[str, "_RestField"], attr_name: str) -> str: - rest_field_obj = attr_to_rest_field.get(attr_name) # pylint: disable=protected-access - if rest_field_obj is None: - return attr_name - original_tsp_name = getattr(rest_field_obj, "_original_tsp_name", None) # pylint: disable=protected-access - if original_tsp_name: - return original_tsp_name - return attr_name - @classmethod def _get_discriminator(cls, exist_discriminators) -> typing.Optional["_RestField"]: for v in cls.__dict__.values(): @@ -1413,7 +1400,6 @@ def __init__( is_multipart_file_input: bool = False, xml: typing.Optional[dict[str, typing.Any]] = None, deserializer: typing.Optional[typing.Callable] = None, - original_tsp_name: typing.Optional[str] = None, ): self._type = type self._rest_name_input = name @@ -1427,7 +1413,6 @@ def __init__( self._is_multipart_file_input = is_multipart_file_input self._xml = xml if xml is not None else {} self._deserializer = deserializer - self._original_tsp_name = original_tsp_name @property def _class_type(self) -> typing.Any: @@ -1514,7 +1499,6 @@ def rest_field( is_multipart_file_input: bool = False, xml: typing.Optional[dict[str, typing.Any]] = None, deserializer: typing.Optional[typing.Callable] = None, - original_tsp_name: typing.Optional[str] = None, ) -> typing.Any: return _RestField( name=name, @@ -1525,7 +1509,6 @@ def rest_field( is_multipart_file_input=is_multipart_file_input, xml=xml, deserializer=deserializer, - original_tsp_name=original_tsp_name, ) diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_validation.py b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_validation.py deleted file mode 100644 index f5af3a4eb8a2..000000000000 --- a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_validation.py +++ /dev/null @@ -1,66 +0,0 @@ -# -------------------------------------------------------------------------- -# 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. -# -------------------------------------------------------------------------- -import functools - - -def api_version_validation(**kwargs): - params_added_on = kwargs.pop("params_added_on", {}) - method_added_on = kwargs.pop("method_added_on", "") - api_versions_list = kwargs.pop("api_versions_list", []) - - def _index_with_default(value: str, default: int = -1) -> int: - """Get the index of value in lst, or return default if not found. - - :param value: The value to search for in the api_versions_list. - :type value: str - :param default: The default value to return if the value is not found. - :type default: int - :return: The index of the value in the list, or the default value if not found. - :rtype: int - """ - try: - return api_versions_list.index(value) - except ValueError: - return default - - def decorator(func): - @functools.wraps(func) - def wrapper(*args, **kwargs): - try: - # this assumes the client has an _api_version attribute - client = args[0] - client_api_version = client._config.api_version # pylint: disable=protected-access - except AttributeError: - return func(*args, **kwargs) - - if _index_with_default(method_added_on) > _index_with_default(client_api_version): - raise ValueError( - f"'{func.__name__}' is not available in API version " - f"{client_api_version}. Pass service API version {method_added_on} or newer to your client." - ) - - unsupported = { - parameter: api_version - for api_version, parameters in params_added_on.items() - for parameter in parameters - if parameter in kwargs and _index_with_default(api_version) > _index_with_default(client_api_version) - } - if unsupported: - raise ValueError( - "".join( - [ - f"'{param}' is not available in API version {client_api_version}. " - f"Use service API version {version} or newer.\n" - for param, version in unsupported.items() - ] - ) - ) - return func(*args, **kwargs) - - return wrapper - - return decorator diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_version.py b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_version.py index 6683b975dd63..7b1116c95ad7 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_version.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "3.0.0b2" +VERSION = "3.0.0" diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/aio/_client.py b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/aio/_client.py index d70556dee898..2edab6d24f8d 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/aio/_client.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/aio/_client.py @@ -20,7 +20,6 @@ from .._utils.serialization import Deserializer, Serializer from ._configuration import NetworkCloudMgmtClientConfiguration from .operations import ( - AccessBridgesOperations, AgentPoolsOperations, BareMetalMachineKeySetsOperations, BareMetalMachinesOperations, @@ -31,7 +30,6 @@ ConsolesOperations, KubernetesClusterFeaturesOperations, KubernetesClustersOperations, - KubernetesVersionsOperations, L2NetworksOperations, L3NetworksOperations, MetricsConfigurationsOperations, @@ -60,8 +58,6 @@ class NetworkCloudMgmtClient: # pylint: disable=too-many-instance-attributes :ivar operations: Operations operations :vartype operations: azure.mgmt.networkcloud.aio.operations.Operations - :ivar access_bridges: AccessBridgesOperations operations - :vartype access_bridges: azure.mgmt.networkcloud.aio.operations.AccessBridgesOperations :ivar bare_metal_machines: BareMetalMachinesOperations operations :vartype bare_metal_machines: azure.mgmt.networkcloud.aio.operations.BareMetalMachinesOperations @@ -75,9 +71,6 @@ class NetworkCloudMgmtClient: # pylint: disable=too-many-instance-attributes :ivar kubernetes_clusters: KubernetesClustersOperations operations :vartype kubernetes_clusters: azure.mgmt.networkcloud.aio.operations.KubernetesClustersOperations - :ivar kubernetes_versions: KubernetesVersionsOperations operations - :vartype kubernetes_versions: - azure.mgmt.networkcloud.aio.operations.KubernetesVersionsOperations :ivar l2_networks: L2NetworksOperations operations :vartype l2_networks: azure.mgmt.networkcloud.aio.operations.L2NetworksOperations :ivar l3_networks: L3NetworksOperations operations @@ -118,10 +111,9 @@ class NetworkCloudMgmtClient: # pylint: disable=too-many-instance-attributes :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: The API version to use for this operation. Known values are - "2026-05-01-preview" and None. Default value is None. If not set, the operation's default API - version will be used. Note that overriding this default value may result in unsupported - behavior. + :keyword api_version: The API version to use for this operation. Known values are "2025-09-01" + and None. Default value is None. If not set, the operation's default API version will be used. + 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 Retry-After header is present. @@ -177,7 +169,6 @@ def __init__( self._deserialize = Deserializer() self._serialize.client_side_validation = False self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) - self.access_bridges = AccessBridgesOperations(self._client, self._config, self._serialize, self._deserialize) self.bare_metal_machines = BareMetalMachinesOperations( self._client, self._config, self._serialize, self._deserialize ) @@ -191,9 +182,6 @@ def __init__( self.kubernetes_clusters = KubernetesClustersOperations( self._client, self._config, self._serialize, self._deserialize ) - self.kubernetes_versions = KubernetesVersionsOperations( - self._client, self._config, self._serialize, self._deserialize - ) self.l2_networks = L2NetworksOperations(self._client, self._config, self._serialize, self._deserialize) self.l3_networks = L3NetworksOperations(self._client, self._config, self._serialize, self._deserialize) self.rack_skus = RackSkusOperations(self._client, self._config, self._serialize, self._deserialize) diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/aio/_configuration.py b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/aio/_configuration.py index 95dc8409144d..cc6ef2c756ee 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/aio/_configuration.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/aio/_configuration.py @@ -33,10 +33,9 @@ class NetworkCloudMgmtClientConfiguration: # pylint: disable=too-many-instance- :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: The API version to use for this operation. Known values are - "2026-05-01-preview" and None. Default value is None. If not set, the operation's default API - version will be used. Note that overriding this default value may result in unsupported - behavior. + :keyword api_version: The API version to use for this operation. Known values are "2025-09-01" + and None. Default value is None. If not set, the operation's default API version will be used. + Note that overriding this default value may result in unsupported behavior. :paramtype api_version: str """ @@ -48,7 +47,7 @@ def __init__( cloud_setting: Optional["AzureClouds"] = None, **kwargs: Any ) -> None: - api_version: str = kwargs.pop("api_version", "2026-05-01-preview") + api_version: str = kwargs.pop("api_version", "2025-09-01") if credential is None: raise ValueError("Parameter 'credential' must not be None.") diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/aio/operations/__init__.py b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/aio/operations/__init__.py index d49d351ab326..a3eb236d5878 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/aio/operations/__init__.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/aio/operations/__init__.py @@ -13,13 +13,11 @@ from ._patch import * # pylint: disable=unused-wildcard-import from ._operations import Operations # type: ignore -from ._operations import AccessBridgesOperations # type: ignore from ._operations import BareMetalMachinesOperations # type: ignore from ._operations import CloudServicesNetworksOperations # type: ignore from ._operations import ClusterManagersOperations # type: ignore from ._operations import ClustersOperations # type: ignore from ._operations import KubernetesClustersOperations # type: ignore -from ._operations import KubernetesVersionsOperations # type: ignore from ._operations import L2NetworksOperations # type: ignore from ._operations import L3NetworksOperations # type: ignore from ._operations import RackSkusOperations # type: ignore @@ -41,13 +39,11 @@ __all__ = [ "Operations", - "AccessBridgesOperations", "BareMetalMachinesOperations", "CloudServicesNetworksOperations", "ClusterManagersOperations", "ClustersOperations", "KubernetesClustersOperations", - "KubernetesVersionsOperations", "L2NetworksOperations", "L3NetworksOperations", "RackSkusOperations", diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/aio/operations/_operations.py b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/aio/operations/_operations.py index eae9edbf5744..8703c53f10ae 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/aio/operations/_operations.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/aio/operations/_operations.py @@ -34,17 +34,10 @@ from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling -from ... import models as _models +from ... import models as _models, types as _types from ..._utils.model_base import SdkJSONEncoder, _deserialize, _failsafe_deserialize from ..._utils.serialization import Deserializer, Serializer -from ..._validation import api_version_validation from ...operations._operations import ( - build_access_bridges_create_or_update_request, - build_access_bridges_delete_request, - build_access_bridges_get_request, - build_access_bridges_list_by_resource_group_request, - build_access_bridges_list_by_subscription_request, - build_access_bridges_update_request, build_agent_pools_create_or_update_request, build_agent_pools_delete_request, build_agent_pools_get_request, @@ -88,17 +81,14 @@ build_cluster_managers_get_request, build_cluster_managers_list_by_resource_group_request, build_cluster_managers_list_by_subscription_request, - build_cluster_managers_update_relay_private_endpoint_connection_request, build_cluster_managers_update_request, build_clusters_continue_update_version_request, build_clusters_create_or_update_request, build_clusters_delete_request, build_clusters_deploy_request, build_clusters_get_request, - build_clusters_inspect_request, build_clusters_list_by_resource_group_request, build_clusters_list_by_subscription_request, - build_clusters_rotate_credential_request, build_clusters_scan_runtime_request, build_clusters_update_request, build_clusters_update_version_request, @@ -119,12 +109,6 @@ build_kubernetes_clusters_list_by_subscription_request, build_kubernetes_clusters_restart_node_request, build_kubernetes_clusters_update_request, - build_kubernetes_versions_create_or_update_request, - build_kubernetes_versions_delete_request, - build_kubernetes_versions_get_request, - build_kubernetes_versions_list_by_resource_group_request, - build_kubernetes_versions_list_by_subscription_request, - build_kubernetes_versions_update_request, build_l2_networks_create_or_update_request, build_l2_networks_delete_request, build_l2_networks_get_request, @@ -188,7 +172,6 @@ T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, dict[str, Any]], Any]] -JSON = MutableMapping[str, Any] List = list @@ -302,14 +285,14 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) -class AccessBridgesOperations: +class BareMetalMachinesOperations: # pylint: disable=too-many-public-methods """ .. warning:: **DO NOT** instantiate this class directly. Instead, you should access the following operations through :class:`~azure.mgmt.networkcloud.aio.NetworkCloudMgmtClient`'s - :attr:`access_bridges` attribute. + :attr:`bare_metal_machines` attribute. """ def __init__(self, *args, **kwargs) -> None: @@ -320,32 +303,18 @@ def __init__(self, *args, **kwargs) -> None: self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @distributed_trace_async - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "access_bridge_name", - "accept", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) async def get( - self, resource_group_name: str, access_bridge_name: Union[str, _models.AccessBridgeAllowedName], **kwargs: Any - ) -> _models.AccessBridge: - """Get the properties of the provided access bridge. + self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any + ) -> _models.BareMetalMachine: + """Get properties of the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", - "PrivateVault", and "StorageDashboard". Required. - :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName - :return: AccessBridge. The AccessBridge is compatible with MutableMapping - :rtype: ~azure.mgmt.networkcloud.models.AccessBridge + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :return: BareMetalMachine. The BareMetalMachine is compatible with MutableMapping + :rtype: ~azure.mgmt.networkcloud.models.BareMetalMachine :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -359,11 +328,11 @@ async def get( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.AccessBridge] = kwargs.pop("cls", None) + cls: ClsType[_models.BareMetalMachine] = kwargs.pop("cls", None) - _request = build_access_bridges_get_request( + _request = build_bare_metal_machines_get_request( resource_group_name=resource_group_name, - access_bridge_name=access_bridge_name, + bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -398,32 +367,21 @@ async def get( if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.AccessBridge, response.json()) + deserialized = _deserialize(_models.BareMetalMachine, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "access_bridge_name", - "content_type", - "accept", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) async def _create_or_update_initial( self, resource_group_name: str, - access_bridge_name: Union[str, _models.AccessBridgeAllowedName], - access_bridge: Union[_models.AccessBridge, JSON, IO[bytes]], + bare_metal_machine_name: str, + bare_metal_machine_parameters: Union[_models.BareMetalMachine, _types.BareMetalMachine, IO[bytes]], + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -432,6 +390,12 @@ async def _create_or_update_initial( 409: ResourceExistsError, 304: ResourceNotModifiedError, } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) @@ -442,15 +406,17 @@ async def _create_or_update_initial( content_type = content_type or "application/json" _content = None - if isinstance(access_bridge, (IOBase, bytes)): - _content = access_bridge + if isinstance(bare_metal_machine_parameters, (IOBase, bytes)): + _content = bare_metal_machine_parameters else: - _content = json.dumps(access_bridge, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + _content = json.dumps(bare_metal_machine_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_access_bridges_create_or_update_request( + _request = build_bare_metal_machines_create_or_update_request( resource_group_name=resource_group_name, - access_bridge_name=access_bridge_name, + bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, content_type=content_type, api_version=self._config.api_version, content=_content, @@ -499,28 +465,36 @@ async def _create_or_update_initial( async def begin_create_or_update( self, resource_group_name: str, - access_bridge_name: Union[str, _models.AccessBridgeAllowedName], - access_bridge: _models.AccessBridge, + bare_metal_machine_name: str, + bare_metal_machine_parameters: _models.BareMetalMachine, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.AccessBridge]: - """Create a new access bridge or update the properties of the existing access bridge. + ) -> AsyncLROPoller[_models.BareMetalMachine]: + """Create a new bare metal machine or update the properties of the existing one. All customer + initiated requests will be rejected as the life cycle of this resource is managed by the + system. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", - "PrivateVault", and "StorageDashboard". Required. - :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName - :param access_bridge: The access bridge configuration. Required. - :type access_bridge: ~azure.mgmt.networkcloud.models.AccessBridge + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_parameters: The request body. Required. + :type bare_metal_machine_parameters: ~azure.mgmt.networkcloud.models.BareMetalMachine :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 AccessBridge. The AccessBridge is + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns BareMetalMachine. The BareMetalMachine is compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.AccessBridge] + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -528,28 +502,36 @@ async def begin_create_or_update( async def begin_create_or_update( self, resource_group_name: str, - access_bridge_name: Union[str, _models.AccessBridgeAllowedName], - access_bridge: JSON, + bare_metal_machine_name: str, + bare_metal_machine_parameters: _types.BareMetalMachine, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.AccessBridge]: - """Create a new access bridge or update the properties of the existing access bridge. + ) -> AsyncLROPoller[_models.BareMetalMachine]: + """Create a new bare metal machine or update the properties of the existing one. All customer + initiated requests will be rejected as the life cycle of this resource is managed by the + system. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", - "PrivateVault", and "StorageDashboard". Required. - :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName - :param access_bridge: The access bridge configuration. Required. - :type access_bridge: JSON + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_parameters: The request body. Required. + :type bare_metal_machine_parameters: ~azure.mgmt.networkcloud.types.BareMetalMachine :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 AccessBridge. The AccessBridge is + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns BareMetalMachine. The BareMetalMachine is compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.AccessBridge] + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -557,82 +539,88 @@ async def begin_create_or_update( async def begin_create_or_update( self, resource_group_name: str, - access_bridge_name: Union[str, _models.AccessBridgeAllowedName], - access_bridge: IO[bytes], + bare_metal_machine_name: str, + bare_metal_machine_parameters: IO[bytes], *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.AccessBridge]: - """Create a new access bridge or update the properties of the existing access bridge. + ) -> AsyncLROPoller[_models.BareMetalMachine]: + """Create a new bare metal machine or update the properties of the existing one. All customer + initiated requests will be rejected as the life cycle of this resource is managed by the + system. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", - "PrivateVault", and "StorageDashboard". Required. - :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName - :param access_bridge: The access bridge configuration. Required. - :type access_bridge: IO[bytes] + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_parameters: The request body. Required. + :type bare_metal_machine_parameters: IO[bytes] :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 AccessBridge. The AccessBridge is + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns BareMetalMachine. The BareMetalMachine is compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.AccessBridge] + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace_async - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "access_bridge_name", - "content_type", - "accept", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) async def begin_create_or_update( self, resource_group_name: str, - access_bridge_name: Union[str, _models.AccessBridgeAllowedName], - access_bridge: Union[_models.AccessBridge, JSON, IO[bytes]], + bare_metal_machine_name: str, + bare_metal_machine_parameters: Union[_models.BareMetalMachine, _types.BareMetalMachine, IO[bytes]], + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.AccessBridge]: - """Create a new access bridge or update the properties of the existing access bridge. + ) -> AsyncLROPoller[_models.BareMetalMachine]: + """Create a new bare metal machine or update the properties of the existing one. All customer + initiated requests will be rejected as the life cycle of this resource is managed by the + system. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", - "PrivateVault", and "StorageDashboard". Required. - :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName - :param access_bridge: The access bridge configuration. Is one of the following types: - AccessBridge, JSON, IO[bytes] Required. - :type access_bridge: ~azure.mgmt.networkcloud.models.AccessBridge or JSON or IO[bytes] - :return: An instance of AsyncLROPoller that returns AccessBridge. The AccessBridge is + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_parameters: The request body. Is either a BareMetalMachine type or a + IO[bytes] type. Required. + :type bare_metal_machine_parameters: ~azure.mgmt.networkcloud.models.BareMetalMachine or + ~azure.mgmt.networkcloud.types.BareMetalMachine or IO[bytes] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns BareMetalMachine. The BareMetalMachine is compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.AccessBridge] + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.AccessBridge] = kwargs.pop("cls", None) + cls: ClsType[_models.BareMetalMachine] = 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, - access_bridge_name=access_bridge_name, - access_bridge=access_bridge, + bare_metal_machine_name=bare_metal_machine_name, + bare_metal_machine_parameters=bare_metal_machine_parameters, + etag=etag, + match_condition=match_condition, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -644,7 +632,7 @@ async def begin_create_or_update( def get_long_running_output(pipeline_response): response = pipeline_response.http_response - deserialized = _deserialize(_models.AccessBridge, response.json()) + deserialized = _deserialize(_models.BareMetalMachine, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized @@ -662,37 +650,23 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return AsyncLROPoller[_models.AccessBridge].from_continuation_token( + return AsyncLROPoller[_models.BareMetalMachine].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return AsyncLROPoller[_models.AccessBridge]( + return AsyncLROPoller[_models.BareMetalMachine]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "access_bridge_name", - "content_type", - "accept", - "etag", - "match_condition", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) async def _update_initial( self, resource_group_name: str, - access_bridge_name: Union[str, _models.AccessBridgeAllowedName], - access_bridge_update_parameters: Optional[Union[_models.AccessBridgePatchParameters, JSON, IO[bytes]]] = None, + bare_metal_machine_name: str, + bare_metal_machine_update_parameters: Optional[ + Union[_models.BareMetalMachinePatchParameters, _types.BareMetalMachinePatchParameters, IO[bytes]] + ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -716,22 +690,22 @@ async def _update_initial( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if access_bridge_update_parameters else None + content_type = content_type if bare_metal_machine_update_parameters else None cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" if access_bridge_update_parameters else None + content_type = content_type or "application/json" if bare_metal_machine_update_parameters else None _content = None - if isinstance(access_bridge_update_parameters, (IOBase, bytes)): - _content = access_bridge_update_parameters + if isinstance(bare_metal_machine_update_parameters, (IOBase, bytes)): + _content = bare_metal_machine_update_parameters else: - if access_bridge_update_parameters is not None: - _content = json.dumps(access_bridge_update_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + if bare_metal_machine_update_parameters is not None: + _content = json.dumps(bare_metal_machine_update_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore else: _content = None - _request = build_access_bridges_update_request( + _request = build_bare_metal_machines_update_request( resource_group_name=resource_group_name, - access_bridge_name=access_bridge_name, + bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, etag=etag, match_condition=match_condition, @@ -784,26 +758,25 @@ async def _update_initial( async def begin_update( self, resource_group_name: str, - access_bridge_name: Union[str, _models.AccessBridgeAllowedName], - access_bridge_update_parameters: Optional[_models.AccessBridgePatchParameters] = None, + bare_metal_machine_name: str, + bare_metal_machine_update_parameters: Optional[_models.BareMetalMachinePatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.AccessBridge]: - """Update properties of the provided access bridge, or update tags associated with the access - bridge. Properties and tag updates can be done independently. + ) -> AsyncLROPoller[_models.BareMetalMachine]: + """Patch properties of the provided bare metal machine, or update tags associated with the bare + metal machine. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", - "PrivateVault", and "StorageDashboard". Required. - :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName - :param access_bridge_update_parameters: The request body. Default value is None. - :type access_bridge_update_parameters: - ~azure.mgmt.networkcloud.models.AccessBridgePatchParameters + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_update_parameters: The request body. Default value is None. + :type bare_metal_machine_update_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachinePatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -812,9 +785,9 @@ async def begin_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns AccessBridge. The AccessBridge is + :return: An instance of AsyncLROPoller that returns BareMetalMachine. The BareMetalMachine is compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.AccessBridge] + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -822,25 +795,25 @@ async def begin_update( async def begin_update( self, resource_group_name: str, - access_bridge_name: Union[str, _models.AccessBridgeAllowedName], - access_bridge_update_parameters: Optional[JSON] = None, + bare_metal_machine_name: str, + bare_metal_machine_update_parameters: Optional[_types.BareMetalMachinePatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.AccessBridge]: - """Update properties of the provided access bridge, or update tags associated with the access - bridge. Properties and tag updates can be done independently. + ) -> AsyncLROPoller[_models.BareMetalMachine]: + """Patch properties of the provided bare metal machine, or update tags associated with the bare + metal machine. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", - "PrivateVault", and "StorageDashboard". Required. - :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName - :param access_bridge_update_parameters: The request body. Default value is None. - :type access_bridge_update_parameters: JSON + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_update_parameters: The request body. Default value is None. + :type bare_metal_machine_update_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachinePatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -849,9 +822,9 @@ async def begin_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns AccessBridge. The AccessBridge is + :return: An instance of AsyncLROPoller that returns BareMetalMachine. The BareMetalMachine is compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.AccessBridge] + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -859,25 +832,24 @@ async def begin_update( async def begin_update( self, resource_group_name: str, - access_bridge_name: Union[str, _models.AccessBridgeAllowedName], - access_bridge_update_parameters: Optional[IO[bytes]] = None, + bare_metal_machine_name: str, + bare_metal_machine_update_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.AccessBridge]: - """Update properties of the provided access bridge, or update tags associated with the access - bridge. Properties and tag updates can be done independently. + ) -> AsyncLROPoller[_models.BareMetalMachine]: + """Patch properties of the provided bare metal machine, or update tags associated with the bare + metal machine. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", - "PrivateVault", and "StorageDashboard". Required. - :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName - :param access_bridge_update_parameters: The request body. Default value is None. - :type access_bridge_update_parameters: IO[bytes] + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_update_parameters: The request body. Default value is None. + :type bare_metal_machine_update_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -886,76 +858,62 @@ async def begin_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns AccessBridge. The AccessBridge is + :return: An instance of AsyncLROPoller that returns BareMetalMachine. The BareMetalMachine is compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.AccessBridge] + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace_async - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "access_bridge_name", - "content_type", - "accept", - "etag", - "match_condition", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) async def begin_update( self, resource_group_name: str, - access_bridge_name: Union[str, _models.AccessBridgeAllowedName], - access_bridge_update_parameters: Optional[Union[_models.AccessBridgePatchParameters, JSON, IO[bytes]]] = None, + bare_metal_machine_name: str, + bare_metal_machine_update_parameters: Optional[ + Union[_models.BareMetalMachinePatchParameters, _types.BareMetalMachinePatchParameters, IO[bytes]] + ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.AccessBridge]: - """Update properties of the provided access bridge, or update tags associated with the access - bridge. Properties and tag updates can be done independently. + ) -> AsyncLROPoller[_models.BareMetalMachine]: + """Patch properties of the provided bare metal machine, or update tags associated with the bare + metal machine. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", - "PrivateVault", and "StorageDashboard". Required. - :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName - :param access_bridge_update_parameters: The request body. Is one of the following types: - AccessBridgePatchParameters, JSON, IO[bytes] Default value is None. - :type access_bridge_update_parameters: - ~azure.mgmt.networkcloud.models.AccessBridgePatchParameters or JSON or IO[bytes] + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_update_parameters: The request body. Is either a + BareMetalMachinePatchParameters type or a IO[bytes] type. Default value is None. + :type bare_metal_machine_update_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachinePatchParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachinePatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns AccessBridge. The AccessBridge is + :return: An instance of AsyncLROPoller that returns BareMetalMachine. The BareMetalMachine is compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.AccessBridge] + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if access_bridge_update_parameters else None - cls: ClsType[_models.AccessBridge] = kwargs.pop("cls", None) + content_type = content_type if bare_metal_machine_update_parameters else None + cls: ClsType[_models.BareMetalMachine] = 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._update_initial( resource_group_name=resource_group_name, - access_bridge_name=access_bridge_name, - access_bridge_update_parameters=access_bridge_update_parameters, + bare_metal_machine_name=bare_metal_machine_name, + bare_metal_machine_update_parameters=bare_metal_machine_update_parameters, etag=etag, match_condition=match_condition, content_type=content_type, @@ -969,7 +927,7 @@ async def begin_update( def get_long_running_output(pipeline_response): response = pipeline_response.http_response - deserialized = _deserialize(_models.AccessBridge, response.json()) + deserialized = _deserialize(_models.BareMetalMachine, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized @@ -987,34 +945,20 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return AsyncLROPoller[_models.AccessBridge].from_continuation_token( + return AsyncLROPoller[_models.BareMetalMachine].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return AsyncLROPoller[_models.AccessBridge]( + return AsyncLROPoller[_models.BareMetalMachine]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "access_bridge_name", - "etag", - "match_condition", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) async def _delete_initial( self, resource_group_name: str, - access_bridge_name: Union[str, _models.AccessBridgeAllowedName], + bare_metal_machine_name: str, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -1039,9 +983,9 @@ async def _delete_initial( cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - _request = build_access_bridges_delete_request( + _request = build_bare_metal_machines_delete_request( resource_group_name=resource_group_name, - access_bridge_name=access_bridge_name, + bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, etag=etag, match_condition=match_condition, @@ -1086,37 +1030,23 @@ async def _delete_initial( return deserialized # type: ignore @distributed_trace_async - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "access_bridge_name", - "etag", - "match_condition", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) async def begin_delete( self, resource_group_name: str, - access_bridge_name: Union[str, _models.AccessBridgeAllowedName], + bare_metal_machine_name: str, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Delete the specified access bridge. + """Delete the provided bare metal machine. All customer initiated requests will be rejected as the + life cycle of this resource is managed by the system. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", - "PrivateVault", and "StorageDashboard". Required. - :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -1138,7 +1068,7 @@ async def begin_delete( if cont_token is None: raw_result = await self._delete_initial( resource_group_name=resource_group_name, - access_bridge_name=access_bridge_name, + bare_metal_machine_name=bare_metal_machine_name, etag=etag, match_condition=match_condition, cls=lambda x, y, z: x, @@ -1183,24 +1113,10 @@ def get_long_running_output(pipeline_response): ) @distributed_trace - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "top", - "skip_token", - "accept", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) def list_by_resource_group( self, resource_group_name: str, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> AsyncItemPaged["_models.AccessBridge"]: - """Get a list of access bridges in the provided resource group. + ) -> AsyncItemPaged["_models.BareMetalMachine"]: + """Get a list of bare metal machines in the provided resource group. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. @@ -1212,14 +1128,15 @@ def list_by_resource_group( listing resources from. This is used for paging through large result sets. Default value is None. :paramtype skip_token: str - :return: An iterator like instance of AccessBridge - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.AccessBridge] + :return: An iterator like instance of BareMetalMachine + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.AccessBridge]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.BareMetalMachine]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -1232,7 +1149,7 @@ def list_by_resource_group( def prepare_request(next_link=None): if not next_link: - _request = build_access_bridges_list_by_resource_group_request( + _request = build_bare_metal_machines_list_by_resource_group_request( resource_group_name=resource_group_name, subscription_id=self._config.subscription_id, top=top, @@ -1276,7 +1193,7 @@ def prepare_request(next_link=None): async def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.AccessBridge], + List[_models.BareMetalMachine], deserialized.get("value", []), ) if cls: @@ -1305,15 +1222,10 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) @distributed_trace - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={"2026-01-01-preview": ["api_version", "subscription_id", "top", "skip_token", "accept"]}, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) def list_by_subscription( self, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> AsyncItemPaged["_models.AccessBridge"]: - """Get a list of access bridges in the provided subscription. + ) -> AsyncItemPaged["_models.BareMetalMachine"]: + """Get a list of bare metal machines in the provided subscription. :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. Default value is None. @@ -1322,14 +1234,15 @@ def list_by_subscription( listing resources from. This is used for paging through large result sets. Default value is None. :paramtype skip_token: str - :return: An iterator like instance of AccessBridge - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.AccessBridge] + :return: An iterator like instance of BareMetalMachine + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.AccessBridge]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.BareMetalMachine]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -1342,7 +1255,7 @@ def list_by_subscription( def prepare_request(next_link=None): if not next_link: - _request = build_access_bridges_list_by_subscription_request( + _request = build_bare_metal_machines_list_by_subscription_request( subscription_id=self._config.subscription_id, top=top, skip_token=skip_token, @@ -1385,7 +1298,7 @@ def prepare_request(next_link=None): async def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.AccessBridge], + List[_models.BareMetalMachine], deserialized.get("value", []), ) if cls: @@ -1413,39 +1326,15 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) - -class BareMetalMachinesOperations: # pylint: disable=too-many-public-methods - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.networkcloud.aio.NetworkCloudMgmtClient`'s - :attr:`bare_metal_machines` attribute. - """ - - 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: NetworkCloudMgmtClientConfiguration = 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_async - async def get( - self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any - ) -> _models.BareMetalMachine: - """Get properties of the provided bare metal machine. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :return: BareMetalMachine. The BareMetalMachine is compatible with MutableMapping - :rtype: ~azure.mgmt.networkcloud.models.BareMetalMachine - :raises ~azure.core.exceptions.HttpResponseError: - """ + async def _cordon_initial( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_cordon_parameters: Optional[ + Union[_models.BareMetalMachineCordonParameters, _types.BareMetalMachineCordonParameters, IO[bytes]] + ] = None, + **kwargs: Any + ) -> AsyncIterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -1454,98 +1343,27 @@ async def get( } error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = kwargs.pop("headers", {}) or {} + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.BareMetalMachine] = kwargs.pop("cls", None) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if bare_metal_machine_cordon_parameters else None + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - _request = build_bare_metal_machines_get_request( - resource_group_name=resource_group_name, - bare_metal_machine_name=bare_metal_machine_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("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]: - if _stream: - 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.BareMetalMachine, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - async def _create_or_update_initial( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_parameters: Union[_models.BareMetalMachine, JSON, IO[bytes]], - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - 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" + content_type = content_type or "application/json" if bare_metal_machine_cordon_parameters else None _content = None - if isinstance(bare_metal_machine_parameters, (IOBase, bytes)): - _content = bare_metal_machine_parameters + if isinstance(bare_metal_machine_cordon_parameters, (IOBase, bytes)): + _content = bare_metal_machine_cordon_parameters else: - _content = json.dumps(bare_metal_machine_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + if bare_metal_machine_cordon_parameters is not None: + _content = json.dumps(bare_metal_machine_cordon_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None - _request = build_bare_metal_machines_create_or_update_request( + _request = build_bare_metal_machines_cordon_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, content_type=content_type, api_version=self._config.api_version, content=_content, @@ -1565,7 +1383,7 @@ async def _create_or_update_initial( response = pipeline_response.http_response - if response.status_code not in [200, 201]: + if response.status_code not in [202]: try: await response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -1578,10 +1396,8 @@ async def _create_or_update_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - if response.status_code == 201: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -1591,165 +1407,136 @@ async def _create_or_update_initial( return deserialized # type: ignore @overload - async def begin_create_or_update( + async def begin_cordon( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_parameters: _models.BareMetalMachine, + bare_metal_machine_cordon_parameters: Optional[_models.BareMetalMachineCordonParameters] = None, *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.BareMetalMachine]: - """Create a new bare metal machine or update the properties of the existing one. All customer - initiated requests will be rejected as the life cycle of this resource is managed by the - system. + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Cordon the provided bare metal machine's Kubernetes node. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_parameters: The request body. Required. - :type bare_metal_machine_parameters: ~azure.mgmt.networkcloud.models.BareMetalMachine + :param bare_metal_machine_cordon_parameters: The request body. Default value is None. + :type bare_metal_machine_cordon_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineCordonParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns BareMetalMachine. The BareMetalMachine is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] + :return: An instance of AsyncLROPoller that returns OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def begin_create_or_update( + async def begin_cordon( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_parameters: JSON, + bare_metal_machine_cordon_parameters: Optional[_types.BareMetalMachineCordonParameters] = None, *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.BareMetalMachine]: - """Create a new bare metal machine or update the properties of the existing one. All customer - initiated requests will be rejected as the life cycle of this resource is managed by the - system. + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Cordon the provided bare metal machine's Kubernetes node. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_parameters: The request body. Required. - :type bare_metal_machine_parameters: JSON + :param bare_metal_machine_cordon_parameters: The request body. Default value is None. + :type bare_metal_machine_cordon_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachineCordonParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns BareMetalMachine. The BareMetalMachine is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] + :return: An instance of AsyncLROPoller that returns OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def begin_create_or_update( + async def begin_cordon( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_parameters: IO[bytes], + bare_metal_machine_cordon_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.BareMetalMachine]: - """Create a new bare metal machine or update the properties of the existing one. All customer - initiated requests will be rejected as the life cycle of this resource is managed by the - system. + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Cordon the provided bare metal machine's Kubernetes node. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_parameters: The request body. Required. - :type bare_metal_machine_parameters: IO[bytes] + :param bare_metal_machine_cordon_parameters: The request body. Default value is None. + :type bare_metal_machine_cordon_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns BareMetalMachine. The BareMetalMachine is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] + :return: An instance of AsyncLROPoller that returns OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace_async - async def begin_create_or_update( + async def begin_cordon( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_parameters: Union[_models.BareMetalMachine, JSON, IO[bytes]], - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, + bare_metal_machine_cordon_parameters: Optional[ + Union[_models.BareMetalMachineCordonParameters, _types.BareMetalMachineCordonParameters, IO[bytes]] + ] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.BareMetalMachine]: - """Create a new bare metal machine or update the properties of the existing one. All customer - initiated requests will be rejected as the life cycle of this resource is managed by the - system. + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Cordon the provided bare metal machine's Kubernetes node. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_parameters: The request body. Is one of the following types: - BareMetalMachine, JSON, IO[bytes] Required. - :type bare_metal_machine_parameters: ~azure.mgmt.networkcloud.models.BareMetalMachine or JSON - or IO[bytes] - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns BareMetalMachine. The BareMetalMachine is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] + :param bare_metal_machine_cordon_parameters: The request body. Is either a + BareMetalMachineCordonParameters type or a IO[bytes] type. Default value is None. + :type bare_metal_machine_cordon_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineCordonParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachineCordonParameters or IO[bytes] + :return: An instance of AsyncLROPoller that returns OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.BareMetalMachine] = kwargs.pop("cls", None) + content_type = content_type if bare_metal_machine_cordon_parameters else None + cls: ClsType[_models.OperationStatusResult] = 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( + raw_result = await self._cordon_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_parameters=bare_metal_machine_parameters, - etag=etag, - match_condition=match_condition, + bare_metal_machine_cordon_parameters=bare_metal_machine_cordon_parameters, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -1760,10 +1547,14 @@ async def begin_create_or_update( kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): + response_headers = {} response = pipeline_response.http_response - deserialized = _deserialize(_models.BareMetalMachine, response.json()) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.OperationStatusResult, response.json()) if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + return cls(pipeline_response, deserialized, response_headers) # type: ignore return deserialized path_format_arguments = { @@ -1779,26 +1570,23 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return AsyncLROPoller[_models.BareMetalMachine].from_continuation_token( + return AsyncLROPoller[_models.OperationStatusResult].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return AsyncLROPoller[_models.BareMetalMachine]( + return AsyncLROPoller[_models.OperationStatusResult]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - async def _update_initial( + async def _power_off_initial( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_update_parameters: Optional[ - Union[_models.BareMetalMachinePatchParameters, JSON, IO[bytes]] + bare_metal_machine_power_off_parameters: Optional[ + Union[_models.BareMetalMachinePowerOffParameters, _types.BareMetalMachinePowerOffParameters, IO[bytes]] ] = None, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -1807,37 +1595,29 @@ async def _update_initial( 409: ResourceExistsError, 304: ResourceNotModifiedError, } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if bare_metal_machine_update_parameters else None + content_type = content_type if bare_metal_machine_power_off_parameters else None cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" if bare_metal_machine_update_parameters else None + content_type = content_type or "application/json" if bare_metal_machine_power_off_parameters else None _content = None - if isinstance(bare_metal_machine_update_parameters, (IOBase, bytes)): - _content = bare_metal_machine_update_parameters + if isinstance(bare_metal_machine_power_off_parameters, (IOBase, bytes)): + _content = bare_metal_machine_power_off_parameters else: - if bare_metal_machine_update_parameters is not None: - _content = json.dumps(bare_metal_machine_update_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + if bare_metal_machine_power_off_parameters is not None: + _content = json.dumps(bare_metal_machine_power_off_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore else: _content = None - _request = build_bare_metal_machines_update_request( + _request = build_bare_metal_machines_power_off_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, content_type=content_type, api_version=self._config.api_version, content=_content, @@ -1857,7 +1637,7 @@ async def _update_initial( response = pipeline_response.http_response - if response.status_code not in [200, 202]: + if response.status_code not in [202]: try: await response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -1870,11 +1650,8 @@ async def _update_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - if response.status_code == 202: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -1884,165 +1661,136 @@ async def _update_initial( return deserialized # type: ignore @overload - async def begin_update( + async def begin_power_off( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_update_parameters: Optional[_models.BareMetalMachinePatchParameters] = None, + bare_metal_machine_power_off_parameters: Optional[_models.BareMetalMachinePowerOffParameters] = None, *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.BareMetalMachine]: - """Patch properties of the provided bare metal machine, or update tags associated with the bare - metal machine. Properties and tag updates can be done independently. + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Power off the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_update_parameters: The request body. Default value is None. - :type bare_metal_machine_update_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachinePatchParameters + :param bare_metal_machine_power_off_parameters: The request body. Default value is None. + :type bare_metal_machine_power_off_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachinePowerOffParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns BareMetalMachine. The BareMetalMachine is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] + :return: An instance of AsyncLROPoller that returns OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def begin_update( + async def begin_power_off( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_update_parameters: Optional[JSON] = None, + bare_metal_machine_power_off_parameters: Optional[_types.BareMetalMachinePowerOffParameters] = None, *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.BareMetalMachine]: - """Patch properties of the provided bare metal machine, or update tags associated with the bare - metal machine. Properties and tag updates can be done independently. + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Power off the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_update_parameters: The request body. Default value is None. - :type bare_metal_machine_update_parameters: JSON + :param bare_metal_machine_power_off_parameters: The request body. Default value is None. + :type bare_metal_machine_power_off_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachinePowerOffParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns BareMetalMachine. The BareMetalMachine is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] + :return: An instance of AsyncLROPoller that returns OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def begin_update( + async def begin_power_off( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_update_parameters: Optional[IO[bytes]] = None, + bare_metal_machine_power_off_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.BareMetalMachine]: - """Patch properties of the provided bare metal machine, or update tags associated with the bare - metal machine. Properties and tag updates can be done independently. + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Power off the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_update_parameters: The request body. Default value is None. - :type bare_metal_machine_update_parameters: IO[bytes] + :param bare_metal_machine_power_off_parameters: The request body. Default value is None. + :type bare_metal_machine_power_off_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns BareMetalMachine. The BareMetalMachine is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] + :return: An instance of AsyncLROPoller that returns OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace_async - async def begin_update( + async def begin_power_off( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_update_parameters: Optional[ - Union[_models.BareMetalMachinePatchParameters, JSON, IO[bytes]] + bare_metal_machine_power_off_parameters: Optional[ + Union[_models.BareMetalMachinePowerOffParameters, _types.BareMetalMachinePowerOffParameters, IO[bytes]] ] = None, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.BareMetalMachine]: - """Patch properties of the provided bare metal machine, or update tags associated with the bare - metal machine. Properties and tag updates can be done independently. + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Power off the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_update_parameters: The request body. Is one of the following types: - BareMetalMachinePatchParameters, JSON, IO[bytes] Default value is None. - :type bare_metal_machine_update_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachinePatchParameters or JSON or IO[bytes] - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns BareMetalMachine. The BareMetalMachine is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] + :param bare_metal_machine_power_off_parameters: The request body. Is either a + BareMetalMachinePowerOffParameters type or a IO[bytes] type. Default value is None. + :type bare_metal_machine_power_off_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachinePowerOffParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachinePowerOffParameters or IO[bytes] + :return: An instance of AsyncLROPoller that returns OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if bare_metal_machine_update_parameters else None - cls: ClsType[_models.BareMetalMachine] = kwargs.pop("cls", None) + content_type = content_type if bare_metal_machine_power_off_parameters else None + cls: ClsType[_models.OperationStatusResult] = 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._update_initial( + raw_result = await self._power_off_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_update_parameters=bare_metal_machine_update_parameters, - etag=etag, - match_condition=match_condition, + bare_metal_machine_power_off_parameters=bare_metal_machine_power_off_parameters, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -2053,10 +1801,14 @@ async def begin_update( kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): + response_headers = {} response = pipeline_response.http_response - deserialized = _deserialize(_models.BareMetalMachine, response.json()) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.OperationStatusResult, response.json()) if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + return cls(pipeline_response, deserialized, response_headers) # type: ignore return deserialized path_format_arguments = { @@ -2072,24 +1824,18 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return AsyncLROPoller[_models.BareMetalMachine].from_continuation_token( + return AsyncLROPoller[_models.OperationStatusResult].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return AsyncLROPoller[_models.BareMetalMachine]( + return AsyncLROPoller[_models.OperationStatusResult]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - async def _delete_initial( - self, - resource_group_name: str, - bare_metal_machine_name: str, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any + async def _reimage_initial( + self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -2097,12 +1843,6 @@ async def _delete_initial( 409: ResourceExistsError, 304: ResourceNotModifiedError, } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} @@ -2110,12 +1850,10 @@ async def _delete_initial( cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - _request = build_bare_metal_machines_delete_request( + _request = build_bare_metal_machines_reimage_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, api_version=self._config.api_version, headers=_headers, params=_params, @@ -2133,7 +1871,7 @@ async def _delete_initial( response = pipeline_response.http_response - if response.status_code not in [202, 204]: + if response.status_code not in [202]: try: await response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -2146,8 +1884,8 @@ async def _delete_initial( 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["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -2157,28 +1895,16 @@ async def _delete_initial( return deserialized # type: ignore @distributed_trace_async - async def begin_delete( - self, - resource_group_name: str, - bare_metal_machine_name: str, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any + async def begin_reimage( + self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Delete the provided bare metal machine. All customer initiated requests will be rejected as the - life cycle of this resource is managed by the system. + """Reimage the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions :return: An instance of AsyncLROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: @@ -2193,11 +1919,9 @@ async def begin_delete( 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( + raw_result = await self._reimage_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - etag=etag, - match_condition=match_condition, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -2210,6 +1934,7 @@ def get_long_running_output(pipeline_response): response_headers = {} response = pipeline_response.http_response response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) deserialized = _deserialize(_models.OperationStatusResult, response.json()) if cls: @@ -2239,32 +1964,15 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - @distributed_trace - def list_by_resource_group( - self, resource_group_name: str, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> AsyncItemPaged["_models.BareMetalMachine"]: - """Get a list of bare metal machines in the provided resource group. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. - Default value is None. - :paramtype top: int - :keyword skip_token: The opaque token that the server returns to indicate where to continue - listing resources from. This is used for paging through large result sets. Default value is - None. - :paramtype skip_token: str - :return: An iterator like instance of BareMetalMachine - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.BareMetalMachine] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.BareMetalMachine]] = kwargs.pop("cls", None) - + async def _replace_initial( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_replace_parameters: Optional[ + Union[_models.BareMetalMachineReplaceParameters, _types.BareMetalMachineReplaceParameters, IO[bytes]] + ] = None, + **kwargs: Any + ) -> AsyncIterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -2273,221 +1981,24 @@ def list_by_resource_group( } error_map.update(kwargs.pop("error_map", {}) or {}) - def prepare_request(next_link=None): - if not next_link: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} - _request = build_bare_metal_machines_list_by_resource_group_request( - resource_group_name=resource_group_name, - subscription_id=self._config.subscription_id, - top=top, - skip_token=skip_token, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if bare_metal_machine_replace_parameters else None + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - 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), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - async def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.BareMetalMachine], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - @distributed_trace - def list_by_subscription( - self, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> AsyncItemPaged["_models.BareMetalMachine"]: - """Get a list of bare metal machines in the provided subscription. - - :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. - Default value is None. - :paramtype top: int - :keyword skip_token: The opaque token that the server returns to indicate where to continue - listing resources from. This is used for paging through large result sets. Default value is - None. - :paramtype skip_token: str - :return: An iterator like instance of BareMetalMachine - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.BareMetalMachine] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.BareMetalMachine]] = 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_bare_metal_machines_list_by_subscription_request( - subscription_id=self._config.subscription_id, - top=top, - skip_token=skip_token, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - 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), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - async def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.BareMetalMachine], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - async def _cordon_initial( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_cordon_parameters: Optional[ - Union[_models.BareMetalMachineCordonParameters, JSON, IO[bytes]] - ] = 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 = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if bare_metal_machine_cordon_parameters else None - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" if bare_metal_machine_cordon_parameters else None - _content = None - if isinstance(bare_metal_machine_cordon_parameters, (IOBase, bytes)): - _content = bare_metal_machine_cordon_parameters - else: - if bare_metal_machine_cordon_parameters is not None: - _content = json.dumps(bare_metal_machine_cordon_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + content_type = content_type or "application/json" if bare_metal_machine_replace_parameters else None + _content = None + if isinstance(bare_metal_machine_replace_parameters, (IOBase, bytes)): + _content = bare_metal_machine_replace_parameters + else: + if bare_metal_machine_replace_parameters is not None: + _content = json.dumps(bare_metal_machine_replace_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore else: _content = None - _request = build_bare_metal_machines_cordon_request( + _request = build_bare_metal_machines_replace_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, @@ -2534,25 +2045,25 @@ async def _cordon_initial( return deserialized # type: ignore @overload - async def begin_cordon( + async def begin_replace( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_cordon_parameters: Optional[_models.BareMetalMachineCordonParameters] = None, + bare_metal_machine_replace_parameters: Optional[_models.BareMetalMachineReplaceParameters] = None, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Cordon the provided bare metal machine's Kubernetes node. + """Replace the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_cordon_parameters: The request body. Default value is None. - :type bare_metal_machine_cordon_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineCordonParameters + :param bare_metal_machine_replace_parameters: The request body. Default value is None. + :type bare_metal_machine_replace_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineReplaceParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -2564,24 +2075,25 @@ async def begin_cordon( """ @overload - async def begin_cordon( + async def begin_replace( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_cordon_parameters: Optional[JSON] = None, + bare_metal_machine_replace_parameters: Optional[_types.BareMetalMachineReplaceParameters] = None, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Cordon the provided bare metal machine's Kubernetes node. + """Replace the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_cordon_parameters: The request body. Default value is None. - :type bare_metal_machine_cordon_parameters: JSON + :param bare_metal_machine_replace_parameters: The request body. Default value is None. + :type bare_metal_machine_replace_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachineReplaceParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -2593,24 +2105,24 @@ async def begin_cordon( """ @overload - async def begin_cordon( + async def begin_replace( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_cordon_parameters: Optional[IO[bytes]] = None, + bare_metal_machine_replace_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Cordon the provided bare metal machine's Kubernetes node. + """Replace the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_cordon_parameters: The request body. Default value is None. - :type bare_metal_machine_cordon_parameters: IO[bytes] + :param bare_metal_machine_replace_parameters: The request body. Default value is None. + :type bare_metal_machine_replace_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -2622,26 +2134,27 @@ async def begin_cordon( """ @distributed_trace_async - async def begin_cordon( + async def begin_replace( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_cordon_parameters: Optional[ - Union[_models.BareMetalMachineCordonParameters, JSON, IO[bytes]] + bare_metal_machine_replace_parameters: Optional[ + Union[_models.BareMetalMachineReplaceParameters, _types.BareMetalMachineReplaceParameters, IO[bytes]] ] = None, **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Cordon the provided bare metal machine's Kubernetes node. + """Replace the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_cordon_parameters: The request body. Is one of the following types: - BareMetalMachineCordonParameters, JSON, IO[bytes] Default value is None. - :type bare_metal_machine_cordon_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineCordonParameters or JSON or IO[bytes] + :param bare_metal_machine_replace_parameters: The request body. Is either a + BareMetalMachineReplaceParameters type or a IO[bytes] type. Default value is None. + :type bare_metal_machine_replace_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineReplaceParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachineReplaceParameters or IO[bytes] :return: An instance of AsyncLROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: @@ -2652,16 +2165,16 @@ async def begin_cordon( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if bare_metal_machine_cordon_parameters else None + content_type = content_type if bare_metal_machine_replace_parameters else None cls: ClsType[_models.OperationStatusResult] = 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._cordon_initial( + raw_result = await self._replace_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_cordon_parameters=bare_metal_machine_cordon_parameters, + bare_metal_machine_replace_parameters=bare_metal_machine_replace_parameters, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -2705,14 +2218,8 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - async def _power_off_initial( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_power_off_parameters: Optional[ - Union[_models.BareMetalMachinePowerOffParameters, JSON, IO[bytes]] - ] = None, - **kwargs: Any + async def _restart_initial( + self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -2722,30 +2229,16 @@ async def _power_off_initial( } error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if bare_metal_machine_power_off_parameters else None cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" if bare_metal_machine_power_off_parameters else None - _content = None - if isinstance(bare_metal_machine_power_off_parameters, (IOBase, bytes)): - _content = bare_metal_machine_power_off_parameters - else: - if bare_metal_machine_power_off_parameters is not None: - _content = json.dumps(bare_metal_machine_power_off_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - else: - _content = None - - _request = build_bare_metal_machines_power_off_request( + _request = build_bare_metal_machines_restart_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, - content_type=content_type, api_version=self._config.api_version, - content=_content, headers=_headers, params=_params, ) @@ -2785,136 +2278,34 @@ async def _power_off_initial( return deserialized # type: ignore - @overload - async def begin_power_off( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_power_off_parameters: Optional[_models.BareMetalMachinePowerOffParameters] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Power off the provided bare metal machine. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_power_off_parameters: The request body. Default value is None. - :type bare_metal_machine_power_off_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachinePowerOffParameters - :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_power_off( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_power_off_parameters: Optional[JSON] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Power off the provided bare metal machine. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_power_off_parameters: The request body. Default value is None. - :type bare_metal_machine_power_off_parameters: JSON - :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_power_off( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_power_off_parameters: Optional[IO[bytes]] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Power off the provided bare metal machine. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_power_off_parameters: The request body. Default value is None. - :type bare_metal_machine_power_off_parameters: IO[bytes] - :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - @distributed_trace_async - async def begin_power_off( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_power_off_parameters: Optional[ - Union[_models.BareMetalMachinePowerOffParameters, JSON, IO[bytes]] - ] = None, - **kwargs: Any + async def begin_restart( + self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Power off the provided bare metal machine. + """Restart the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_power_off_parameters: The request body. Is one of the following - types: BareMetalMachinePowerOffParameters, JSON, IO[bytes] Default value is None. - :type bare_metal_machine_power_off_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachinePowerOffParameters or JSON or IO[bytes] :return: An instance of AsyncLROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if bare_metal_machine_power_off_parameters else None cls: ClsType[_models.OperationStatusResult] = 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._power_off_initial( + raw_result = await self._restart_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_power_off_parameters=bare_metal_machine_power_off_parameters, - content_type=content_type, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -2957,24 +2348,13 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - @api_version_validation( - method_added_on="2026-05-01-preview", - params_added_on={ - "2026-05-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "bare_metal_machine_name", - "content_type", - ] - }, - api_versions_list=["2026-05-01-preview"], - ) - async def _reimage_initial( + async def _run_command_initial( self, resource_group_name: str, bare_metal_machine_name: str, - body: Optional[Union[_models.BareMetalMachineReimageParameters, JSON, IO[bytes]]] = None, + bare_metal_machine_run_command_parameters: Union[ + _models.BareMetalMachineRunCommandParameters, _types.BareMetalMachineRunCommandParameters, IO[bytes] + ], **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -2989,20 +2369,16 @@ async def _reimage_initial( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if body else None cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" if body else None + content_type = content_type or "application/json" _content = None - if isinstance(body, (IOBase, bytes)): - _content = body + if isinstance(bare_metal_machine_run_command_parameters, (IOBase, bytes)): + _content = bare_metal_machine_run_command_parameters else: - if body is not None: - _content = json.dumps(body, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - else: - _content = None + _content = json.dumps(bare_metal_machine_run_command_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_bare_metal_machines_reimage_request( + _request = build_bare_metal_machines_run_command_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, @@ -3049,24 +2425,27 @@ async def _reimage_initial( return deserialized # type: ignore @overload - async def begin_reimage( + async def begin_run_command( self, resource_group_name: str, bare_metal_machine_name: str, - body: Optional[_models.BareMetalMachineReimageParameters] = None, + bare_metal_machine_run_command_parameters: _models.BareMetalMachineRunCommandParameters, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Reimage the provided bare metal machine. + """Run the command or the script on the provided bare metal machine. The URL to storage account + with the command execution results and the command exit code can be retrieved from the + operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param body: The content of the action request. Default value is None. - :type body: ~azure.mgmt.networkcloud.models.BareMetalMachineReimageParameters + :param bare_metal_machine_run_command_parameters: The request body. Required. + :type bare_metal_machine_run_command_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineRunCommandParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -3078,24 +2457,27 @@ async def begin_reimage( """ @overload - async def begin_reimage( + async def begin_run_command( self, resource_group_name: str, bare_metal_machine_name: str, - body: Optional[JSON] = None, + bare_metal_machine_run_command_parameters: _types.BareMetalMachineRunCommandParameters, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Reimage the provided bare metal machine. + """Run the command or the script on the provided bare metal machine. The URL to storage account + with the command execution results and the command exit code can be retrieved from the + operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param body: The content of the action request. Default value is None. - :type body: JSON + :param bare_metal_machine_run_command_parameters: The request body. Required. + :type bare_metal_machine_run_command_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachineRunCommandParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -3107,24 +2489,26 @@ async def begin_reimage( """ @overload - async def begin_reimage( + async def begin_run_command( self, resource_group_name: str, bare_metal_machine_name: str, - body: Optional[IO[bytes]] = None, + bare_metal_machine_run_command_parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Reimage the provided bare metal machine. + """Run the command or the script on the provided bare metal machine. The URL to storage account + with the command execution results and the command exit code can be retrieved from the + operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param body: The content of the action request. Default value is None. - :type body: IO[bytes] + :param bare_metal_machine_run_command_parameters: The request body. Required. + :type bare_metal_machine_run_command_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -3136,37 +2520,29 @@ async def begin_reimage( """ @distributed_trace_async - @api_version_validation( - method_added_on="2026-05-01-preview", - params_added_on={ - "2026-05-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "bare_metal_machine_name", - "content_type", - ] - }, - api_versions_list=["2026-05-01-preview"], - ) - async def begin_reimage( + async def begin_run_command( self, resource_group_name: str, bare_metal_machine_name: str, - body: Optional[Union[_models.BareMetalMachineReimageParameters, JSON, IO[bytes]]] = None, + bare_metal_machine_run_command_parameters: Union[ + _models.BareMetalMachineRunCommandParameters, _types.BareMetalMachineRunCommandParameters, IO[bytes] + ], **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Reimage the provided bare metal machine. + """Run the command or the script on the provided bare metal machine. The URL to storage account + with the command execution results and the command exit code can be retrieved from the + operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param body: The content of the action request. Is one of the following types: - BareMetalMachineReimageParameters, JSON, IO[bytes] Default value is None. - :type body: ~azure.mgmt.networkcloud.models.BareMetalMachineReimageParameters or JSON or - IO[bytes] + :param bare_metal_machine_run_command_parameters: The request body. Is either a + BareMetalMachineRunCommandParameters type or a IO[bytes] type. Required. + :type bare_metal_machine_run_command_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineRunCommandParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachineRunCommandParameters or IO[bytes] :return: An instance of AsyncLROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: @@ -3177,16 +2553,15 @@ async def begin_reimage( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if body else None cls: ClsType[_models.OperationStatusResult] = 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._reimage_initial( + raw_result = await self._run_command_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - body=body, + bare_metal_machine_run_command_parameters=bare_metal_machine_run_command_parameters, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -3230,13 +2605,15 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - async def _replace_initial( + async def _run_data_extracts_initial( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_replace_parameters: Optional[ - Union[_models.BareMetalMachineReplaceParameters, JSON, IO[bytes]] - ] = None, + bare_metal_machine_run_data_extracts_parameters: Union[ + _models.BareMetalMachineRunDataExtractsParameters, + _types.BareMetalMachineRunDataExtractsParameters, + IO[bytes], + ], **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -3251,20 +2628,16 @@ async def _replace_initial( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if bare_metal_machine_replace_parameters else None cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" if bare_metal_machine_replace_parameters else None + content_type = content_type or "application/json" _content = None - if isinstance(bare_metal_machine_replace_parameters, (IOBase, bytes)): - _content = bare_metal_machine_replace_parameters + if isinstance(bare_metal_machine_run_data_extracts_parameters, (IOBase, bytes)): + _content = bare_metal_machine_run_data_extracts_parameters else: - if bare_metal_machine_replace_parameters is not None: - _content = json.dumps(bare_metal_machine_replace_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - else: - _content = None + _content = json.dumps(bare_metal_machine_run_data_extracts_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_bare_metal_machines_replace_request( + _request = build_bare_metal_machines_run_data_extracts_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, @@ -3311,25 +2684,27 @@ async def _replace_initial( return deserialized # type: ignore @overload - async def begin_replace( + async def begin_run_data_extracts( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_replace_parameters: Optional[_models.BareMetalMachineReplaceParameters] = None, + bare_metal_machine_run_data_extracts_parameters: _models.BareMetalMachineRunDataExtractsParameters, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Replace the provided bare metal machine. + """Run one or more data extractions on the provided bare metal machine. The URL to storage account + with the command execution results and the command exit code can be retrieved from the + operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_replace_parameters: The request body. Default value is None. - :type bare_metal_machine_replace_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineReplaceParameters + :param bare_metal_machine_run_data_extracts_parameters: The request body. Required. + :type bare_metal_machine_run_data_extracts_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -3341,24 +2716,27 @@ async def begin_replace( """ @overload - async def begin_replace( + async def begin_run_data_extracts( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_replace_parameters: Optional[JSON] = None, + bare_metal_machine_run_data_extracts_parameters: _types.BareMetalMachineRunDataExtractsParameters, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Replace the provided bare metal machine. + """Run one or more data extractions on the provided bare metal machine. The URL to storage account + with the command execution results and the command exit code can be retrieved from the + operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_replace_parameters: The request body. Default value is None. - :type bare_metal_machine_replace_parameters: JSON + :param bare_metal_machine_run_data_extracts_parameters: The request body. Required. + :type bare_metal_machine_run_data_extracts_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachineRunDataExtractsParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -3370,24 +2748,26 @@ async def begin_replace( """ @overload - async def begin_replace( + async def begin_run_data_extracts( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_replace_parameters: Optional[IO[bytes]] = None, + bare_metal_machine_run_data_extracts_parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Replace the provided bare metal machine. + """Run one or more data extractions on the provided bare metal machine. The URL to storage account + with the command execution results and the command exit code can be retrieved from the + operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_replace_parameters: The request body. Default value is None. - :type bare_metal_machine_replace_parameters: IO[bytes] + :param bare_metal_machine_run_data_extracts_parameters: The request body. Required. + :type bare_metal_machine_run_data_extracts_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -3399,26 +2779,31 @@ async def begin_replace( """ @distributed_trace_async - async def begin_replace( + async def begin_run_data_extracts( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_replace_parameters: Optional[ - Union[_models.BareMetalMachineReplaceParameters, JSON, IO[bytes]] - ] = None, + bare_metal_machine_run_data_extracts_parameters: Union[ + _models.BareMetalMachineRunDataExtractsParameters, + _types.BareMetalMachineRunDataExtractsParameters, + IO[bytes], + ], **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Replace the provided bare metal machine. + """Run one or more data extractions on the provided bare metal machine. The URL to storage account + with the command execution results and the command exit code can be retrieved from the + operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_replace_parameters: The request body. Is one of the following types: - BareMetalMachineReplaceParameters, JSON, IO[bytes] Default value is None. - :type bare_metal_machine_replace_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineReplaceParameters or JSON or IO[bytes] + :param bare_metal_machine_run_data_extracts_parameters: The request body. Is either a + BareMetalMachineRunDataExtractsParameters type or a IO[bytes] type. Required. + :type bare_metal_machine_run_data_extracts_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachineRunDataExtractsParameters or IO[bytes] :return: An instance of AsyncLROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: @@ -3429,16 +2814,15 @@ async def begin_replace( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if bare_metal_machine_replace_parameters else None cls: ClsType[_models.OperationStatusResult] = 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._replace_initial( + raw_result = await self._run_data_extracts_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_replace_parameters=bare_metal_machine_replace_parameters, + bare_metal_machine_run_data_extracts_parameters=bare_metal_machine_run_data_extracts_parameters, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -3482,8 +2866,16 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - async def _restart_initial( - self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any + async def _run_data_extracts_restricted_initial( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_run_data_extracts_restricted_parameters: Union[ + _models.BareMetalMachineRunDataExtractsParameters, + _types.BareMetalMachineRunDataExtractsParameters, + IO[bytes], + ], + **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -3493,160 +2885,26 @@ async def _restart_initial( } error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = kwargs.pop("headers", {}) or {} + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - _request = build_bare_metal_machines_restart_request( + content_type = content_type or "application/json" + _content = None + if isinstance(bare_metal_machine_run_data_extracts_restricted_parameters, (IOBase, bytes)): + _content = bare_metal_machine_run_data_extracts_restricted_parameters + else: + _content = json.dumps(bare_metal_machine_run_data_extracts_restricted_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_bare_metal_machines_run_data_extracts_restricted_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, + content_type=content_type, api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _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]: - 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @distributed_trace_async - async def begin_restart( - self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Restart the provided bare metal machine. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :return: An instance of AsyncLROPoller that returns OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.OperationStatusResult] = 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._restart_initial( - resource_group_name=resource_group_name, - bare_metal_machine_name=bare_metal_machine_name, - 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): - response_headers = {} - response = pipeline_response.http_response - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = _deserialize(_models.OperationStatusResult, response.json()) - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - return deserialized - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.OperationStatusResult].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.OperationStatusResult]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - async def _run_command_initial( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_run_command_parameters: Union[_models.BareMetalMachineRunCommandParameters, JSON, IO[bytes]], - **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 = kwargs.pop("params", {}) or {} - - 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" - _content = None - if isinstance(bare_metal_machine_run_command_parameters, (IOBase, bytes)): - _content = bare_metal_machine_run_command_parameters - else: - _content = json.dumps(bare_metal_machine_run_command_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_bare_metal_machines_run_command_request( - resource_group_name=resource_group_name, - bare_metal_machine_name=bare_metal_machine_name, - subscription_id=self._config.subscription_id, - content_type=content_type, - api_version=self._config.api_version, - content=_content, + content=_content, headers=_headers, params=_params, ) @@ -3687,27 +2945,27 @@ async def _run_command_initial( return deserialized # type: ignore @overload - async def begin_run_command( + async def begin_run_data_extracts_restricted( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_command_parameters: _models.BareMetalMachineRunCommandParameters, + bare_metal_machine_run_data_extracts_restricted_parameters: _models.BareMetalMachineRunDataExtractsParameters, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Run the command or the script on the provided bare metal machine. The URL to storage account - with the command execution results and the command exit code can be retrieved from the - operation status API once available. + """Run one or more restricted data extractions on the provided bare metal machine. The URL to + storage account with the command execution results and the command exit code can be retrieved + from the operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_command_parameters: The request body. Required. - :type bare_metal_machine_run_command_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineRunCommandParameters + :param bare_metal_machine_run_data_extracts_restricted_parameters: The request body. Required. + :type bare_metal_machine_run_data_extracts_restricted_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -3719,26 +2977,27 @@ async def begin_run_command( """ @overload - async def begin_run_command( + async def begin_run_data_extracts_restricted( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_command_parameters: JSON, + bare_metal_machine_run_data_extracts_restricted_parameters: _types.BareMetalMachineRunDataExtractsParameters, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Run the command or the script on the provided bare metal machine. The URL to storage account - with the command execution results and the command exit code can be retrieved from the - operation status API once available. + """Run one or more restricted data extractions on the provided bare metal machine. The URL to + storage account with the command execution results and the command exit code can be retrieved + from the operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_command_parameters: The request body. Required. - :type bare_metal_machine_run_command_parameters: JSON + :param bare_metal_machine_run_data_extracts_restricted_parameters: The request body. Required. + :type bare_metal_machine_run_data_extracts_restricted_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachineRunDataExtractsParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -3750,26 +3009,26 @@ async def begin_run_command( """ @overload - async def begin_run_command( + async def begin_run_data_extracts_restricted( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_command_parameters: IO[bytes], + bare_metal_machine_run_data_extracts_restricted_parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Run the command or the script on the provided bare metal machine. The URL to storage account - with the command execution results and the command exit code can be retrieved from the - operation status API once available. + """Run one or more restricted data extractions on the provided bare metal machine. The URL to + storage account with the command execution results and the command exit code can be retrieved + from the operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_command_parameters: The request body. Required. - :type bare_metal_machine_run_command_parameters: IO[bytes] + :param bare_metal_machine_run_data_extracts_restricted_parameters: The request body. Required. + :type bare_metal_machine_run_data_extracts_restricted_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -3781,26 +3040,31 @@ async def begin_run_command( """ @distributed_trace_async - async def begin_run_command( + async def begin_run_data_extracts_restricted( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_command_parameters: Union[_models.BareMetalMachineRunCommandParameters, JSON, IO[bytes]], + bare_metal_machine_run_data_extracts_restricted_parameters: Union[ + _models.BareMetalMachineRunDataExtractsParameters, + _types.BareMetalMachineRunDataExtractsParameters, + IO[bytes], + ], **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Run the command or the script on the provided bare metal machine. The URL to storage account - with the command execution results and the command exit code can be retrieved from the - operation status API once available. + """Run one or more restricted data extractions on the provided bare metal machine. The URL to + storage account with the command execution results and the command exit code can be retrieved + from the operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_command_parameters: The request body. Is one of the following - types: BareMetalMachineRunCommandParameters, JSON, IO[bytes] Required. - :type bare_metal_machine_run_command_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineRunCommandParameters or JSON or IO[bytes] + :param bare_metal_machine_run_data_extracts_restricted_parameters: The request body. Is either + a BareMetalMachineRunDataExtractsParameters type or a IO[bytes] type. Required. + :type bare_metal_machine_run_data_extracts_restricted_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachineRunDataExtractsParameters or IO[bytes] :return: An instance of AsyncLROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: @@ -3816,10 +3080,10 @@ async def begin_run_command( 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._run_command_initial( + raw_result = await self._run_data_extracts_restricted_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_run_command_parameters=bare_metal_machine_run_command_parameters, + bare_metal_machine_run_data_extracts_restricted_parameters=bare_metal_machine_run_data_extracts_restricted_parameters, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -3863,12 +3127,14 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - async def _run_data_extracts_initial( + async def _run_read_commands_initial( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_parameters: Union[ - _models.BareMetalMachineRunDataExtractsParameters, JSON, IO[bytes] + bare_metal_machine_run_read_commands_parameters: Union[ + _models.BareMetalMachineRunReadCommandsParameters, + _types.BareMetalMachineRunReadCommandsParameters, + IO[bytes], ], **kwargs: Any ) -> AsyncIterator[bytes]: @@ -3888,12 +3154,12 @@ async def _run_data_extracts_initial( content_type = content_type or "application/json" _content = None - if isinstance(bare_metal_machine_run_data_extracts_parameters, (IOBase, bytes)): - _content = bare_metal_machine_run_data_extracts_parameters + if isinstance(bare_metal_machine_run_read_commands_parameters, (IOBase, bytes)): + _content = bare_metal_machine_run_read_commands_parameters else: - _content = json.dumps(bare_metal_machine_run_data_extracts_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + _content = json.dumps(bare_metal_machine_run_read_commands_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_bare_metal_machines_run_data_extracts_request( + _request = build_bare_metal_machines_run_read_commands_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, @@ -3940,17 +3206,17 @@ async def _run_data_extracts_initial( return deserialized # type: ignore @overload - async def begin_run_data_extracts( + async def begin_run_read_commands( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_parameters: _models.BareMetalMachineRunDataExtractsParameters, + bare_metal_machine_run_read_commands_parameters: _models.BareMetalMachineRunReadCommandsParameters, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Run one or more data extractions on the provided bare metal machine. The URL to storage account - with the command execution results and the command exit code can be retrieved from the + """Run one or more read-only commands on the provided bare metal machine. The URL to storage + account with the command execution results and the command exit code can be retrieved from the operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -3958,9 +3224,9 @@ async def begin_run_data_extracts( :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_data_extracts_parameters: The request body. Required. - :type bare_metal_machine_run_data_extracts_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters + :param bare_metal_machine_run_read_commands_parameters: The request body. Required. + :type bare_metal_machine_run_read_commands_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineRunReadCommandsParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -3972,17 +3238,17 @@ async def begin_run_data_extracts( """ @overload - async def begin_run_data_extracts( + async def begin_run_read_commands( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_parameters: JSON, + bare_metal_machine_run_read_commands_parameters: _types.BareMetalMachineRunReadCommandsParameters, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Run one or more data extractions on the provided bare metal machine. The URL to storage account - with the command execution results and the command exit code can be retrieved from the + """Run one or more read-only commands on the provided bare metal machine. The URL to storage + account with the command execution results and the command exit code can be retrieved from the operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -3990,8 +3256,9 @@ async def begin_run_data_extracts( :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_data_extracts_parameters: The request body. Required. - :type bare_metal_machine_run_data_extracts_parameters: JSON + :param bare_metal_machine_run_read_commands_parameters: The request body. Required. + :type bare_metal_machine_run_read_commands_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachineRunReadCommandsParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -4003,17 +3270,17 @@ async def begin_run_data_extracts( """ @overload - async def begin_run_data_extracts( + async def begin_run_read_commands( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_parameters: IO[bytes], + bare_metal_machine_run_read_commands_parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Run one or more data extractions on the provided bare metal machine. The URL to storage account - with the command execution results and the command exit code can be retrieved from the + """Run one or more read-only commands on the provided bare metal machine. The URL to storage + account with the command execution results and the command exit code can be retrieved from the operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -4021,8 +3288,8 @@ async def begin_run_data_extracts( :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_data_extracts_parameters: The request body. Required. - :type bare_metal_machine_run_data_extracts_parameters: IO[bytes] + :param bare_metal_machine_run_read_commands_parameters: The request body. Required. + :type bare_metal_machine_run_read_commands_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -4034,17 +3301,19 @@ async def begin_run_data_extracts( """ @distributed_trace_async - async def begin_run_data_extracts( + async def begin_run_read_commands( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_parameters: Union[ - _models.BareMetalMachineRunDataExtractsParameters, JSON, IO[bytes] + bare_metal_machine_run_read_commands_parameters: Union[ + _models.BareMetalMachineRunReadCommandsParameters, + _types.BareMetalMachineRunReadCommandsParameters, + IO[bytes], ], **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Run one or more data extractions on the provided bare metal machine. The URL to storage account - with the command execution results and the command exit code can be retrieved from the + """Run one or more read-only commands on the provided bare metal machine. The URL to storage + account with the command execution results and the command exit code can be retrieved from the operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -4052,10 +3321,11 @@ async def begin_run_data_extracts( :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_data_extracts_parameters: The request body. Is one of the - following types: BareMetalMachineRunDataExtractsParameters, JSON, IO[bytes] Required. - :type bare_metal_machine_run_data_extracts_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters or JSON or IO[bytes] + :param bare_metal_machine_run_read_commands_parameters: The request body. Is either a + BareMetalMachineRunReadCommandsParameters type or a IO[bytes] type. Required. + :type bare_metal_machine_run_read_commands_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineRunReadCommandsParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachineRunReadCommandsParameters or IO[bytes] :return: An instance of AsyncLROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: @@ -4071,10 +3341,10 @@ async def begin_run_data_extracts( 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._run_data_extracts_initial( + raw_result = await self._run_read_commands_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_run_data_extracts_parameters=bare_metal_machine_run_data_extracts_parameters, + bare_metal_machine_run_read_commands_parameters=bare_metal_machine_run_read_commands_parameters, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -4118,14 +3388,8 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - async def _run_data_extracts_restricted_initial( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_restricted_parameters: Union[ - _models.BareMetalMachineRunDataExtractsParameters, JSON, IO[bytes] - ], - **kwargs: Any + async def _start_initial( + self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -4135,26 +3399,16 @@ async def _run_data_extracts_restricted_initial( } error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - 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" - _content = None - if isinstance(bare_metal_machine_run_data_extracts_restricted_parameters, (IOBase, bytes)): - _content = bare_metal_machine_run_data_extracts_restricted_parameters - else: - _content = json.dumps(bare_metal_machine_run_data_extracts_restricted_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_bare_metal_machines_run_data_extracts_restricted_request( + _request = build_bare_metal_machines_start_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, - content_type=content_type, api_version=self._config.api_version, - content=_content, headers=_headers, params=_params, ) @@ -4194,143 +3448,34 @@ async def _run_data_extracts_restricted_initial( return deserialized # type: ignore - @overload - async def begin_run_data_extracts_restricted( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_restricted_parameters: _models.BareMetalMachineRunDataExtractsParameters, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Run one or more restricted data extractions on the provided bare metal machine. The URL to - storage account with the command execution results and the command exit code can be retrieved - from the operation status API once available. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_run_data_extracts_restricted_parameters: The request body. Required. - :type bare_metal_machine_run_data_extracts_restricted_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters - :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_run_data_extracts_restricted( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_restricted_parameters: JSON, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Run one or more restricted data extractions on the provided bare metal machine. The URL to - storage account with the command execution results and the command exit code can be retrieved - from the operation status API once available. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_run_data_extracts_restricted_parameters: The request body. Required. - :type bare_metal_machine_run_data_extracts_restricted_parameters: JSON - :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_run_data_extracts_restricted( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_restricted_parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Run one or more restricted data extractions on the provided bare metal machine. The URL to - storage account with the command execution results and the command exit code can be retrieved - from the operation status API once available. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_run_data_extracts_restricted_parameters: The request body. Required. - :type bare_metal_machine_run_data_extracts_restricted_parameters: IO[bytes] - :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - @distributed_trace_async - async def begin_run_data_extracts_restricted( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_restricted_parameters: Union[ - _models.BareMetalMachineRunDataExtractsParameters, JSON, IO[bytes] - ], - **kwargs: Any + async def begin_start( + self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Run one or more restricted data extractions on the provided bare metal machine. The URL to - storage account with the command execution results and the command exit code can be retrieved - from the operation status API once available. + """Start the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_data_extracts_restricted_parameters: The request body. Is one of - the following types: BareMetalMachineRunDataExtractsParameters, JSON, IO[bytes] Required. - :type bare_metal_machine_run_data_extracts_restricted_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters or JSON or IO[bytes] :return: An instance of AsyncLROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.OperationStatusResult] = 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._run_data_extracts_restricted_initial( + raw_result = await self._start_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_run_data_extracts_restricted_parameters=bare_metal_machine_run_data_extracts_restricted_parameters, - content_type=content_type, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -4373,14 +3518,8 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - async def _run_read_commands_initial( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_run_read_commands_parameters: Union[ - _models.BareMetalMachineRunReadCommandsParameters, JSON, IO[bytes] - ], - **kwargs: Any + async def _uncordon_initial( + self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -4390,26 +3529,16 @@ async def _run_read_commands_initial( } error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - 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" - _content = None - if isinstance(bare_metal_machine_run_read_commands_parameters, (IOBase, bytes)): - _content = bare_metal_machine_run_read_commands_parameters - else: - _content = json.dumps(bare_metal_machine_run_read_commands_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_bare_metal_machines_run_read_commands_request( + _request = build_bare_metal_machines_uncordon_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, - content_type=content_type, api_version=self._config.api_version, - content=_content, headers=_headers, params=_params, ) @@ -4449,161 +3578,52 @@ async def _run_read_commands_initial( return deserialized # type: ignore - @overload - async def begin_run_read_commands( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_run_read_commands_parameters: _models.BareMetalMachineRunReadCommandsParameters, - *, - content_type: str = "application/json", - **kwargs: Any + @distributed_trace_async + async def begin_uncordon( + self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Run one or more read-only commands on the provided bare metal machine. The URL to storage - account with the command execution results and the command exit code can be retrieved from the - operation status API once available. + """Uncordon the provided bare metal machine's Kubernetes node. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_read_commands_parameters: The request body. Required. - :type bare_metal_machine_run_read_commands_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineRunReadCommandsParameters - :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 OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} - @overload - async def begin_run_read_commands( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_run_read_commands_parameters: JSON, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Run one or more read-only commands on the provided bare metal machine. The URL to storage - account with the command execution results and the command exit code can be retrieved from the - operation status API once available. + cls: ClsType[_models.OperationStatusResult] = 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._uncordon_initial( + resource_group_name=resource_group_name, + bare_metal_machine_name=bare_metal_machine_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + await raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_run_read_commands_parameters: The request body. Required. - :type bare_metal_machine_run_read_commands_parameters: JSON - :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ + def get_long_running_output(pipeline_response): + response_headers = {} + response = pipeline_response.http_response + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - @overload - async def begin_run_read_commands( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_run_read_commands_parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Run one or more read-only commands on the provided bare metal machine. The URL to storage - account with the command execution results and the command exit code can be retrieved from the - operation status API once available. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_run_read_commands_parameters: The request body. Required. - :type bare_metal_machine_run_read_commands_parameters: IO[bytes] - :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def begin_run_read_commands( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_run_read_commands_parameters: Union[ - _models.BareMetalMachineRunReadCommandsParameters, JSON, IO[bytes] - ], - **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Run one or more read-only commands on the provided bare metal machine. The URL to storage - account with the command execution results and the command exit code can be retrieved from the - operation status API once available. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_run_read_commands_parameters: The request body. Is one of the - following types: BareMetalMachineRunReadCommandsParameters, JSON, IO[bytes] Required. - :type bare_metal_machine_run_read_commands_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineRunReadCommandsParameters or JSON or IO[bytes] - :return: An instance of AsyncLROPoller that returns OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.OperationStatusResult] = 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._run_read_commands_initial( - resource_group_name=resource_group_name, - bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_run_read_commands_parameters=bare_metal_machine_run_read_commands_parameters, - 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): - response_headers = {} - response = pipeline_response.http_response - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = _deserialize(_models.OperationStatusResult, response.json()) - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - return deserialized + deserialized = _deserialize(_models.OperationStatusResult, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized path_format_arguments = { "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), @@ -4628,9 +3648,39 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - async def _start_initial( - self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any - ) -> AsyncIterator[bytes]: + +class CloudServicesNetworksOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.networkcloud.aio.NetworkCloudMgmtClient`'s + :attr:`cloud_services_networks` attribute. + """ + + 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: NetworkCloudMgmtClientConfiguration = 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_async + async def get( + self, resource_group_name: str, cloud_services_network_name: str, **kwargs: Any + ) -> _models.CloudServicesNetwork: + """Get properties of the provided cloud services network. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cloud_services_network_name: The name of the cloud services network. Required. + :type cloud_services_network_name: str + :return: CloudServicesNetwork. The CloudServicesNetwork is compatible with MutableMapping + :rtype: ~azure.mgmt.networkcloud.models.CloudServicesNetwork + :raises ~azure.core.exceptions.HttpResponseError: + """ error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -4642,11 +3692,11 @@ async def _start_initial( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + cls: ClsType[_models.CloudServicesNetwork] = kwargs.pop("cls", None) - _request = build_bare_metal_machines_start_request( + _request = build_cloud_services_networks_get_request( resource_group_name=resource_group_name, - bare_metal_machine_name=bare_metal_machine_name, + cloud_services_network_name=cloud_services_network_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -4658,18 +3708,19 @@ async def _start_initial( _request.url = self._client.format_url(_request.url, **path_format_arguments) _decompress = kwargs.pop("decompress", True) - _stream = True + _stream = kwargs.pop("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 [202]: - try: - await response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass + if response.status_code not in [200]: + if _stream: + 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 = _failsafe_deserialize( _models.ErrorResponse, @@ -4677,89 +3728,25 @@ async def _start_initial( ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - response_headers = {} - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.CloudServicesNetwork, response.json()) if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore + return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore - @distributed_trace_async - async def begin_start( - self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Start the provided bare metal machine. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :return: An instance of AsyncLROPoller that returns OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.OperationStatusResult] = 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._start_initial( - resource_group_name=resource_group_name, - bare_metal_machine_name=bare_metal_machine_name, - 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): - response_headers = {} - response = pipeline_response.http_response - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = _deserialize(_models.OperationStatusResult, response.json()) - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - return deserialized - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.OperationStatusResult].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.OperationStatusResult]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - async def _uncordon_initial( - self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any + async def _create_or_update_initial( + self, + resource_group_name: str, + cloud_services_network_name: str, + cloud_services_network_parameters: Union[_models.CloudServicesNetwork, _types.CloudServicesNetwork, IO[bytes]], + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -4767,18 +3754,36 @@ async def _uncordon_initial( 409: ResourceExistsError, 304: ResourceNotModifiedError, } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = kwargs.pop("headers", {}) or {} + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - _request = build_bare_metal_machines_uncordon_request( + content_type = content_type or "application/json" + _content = None + if isinstance(cloud_services_network_parameters, (IOBase, bytes)): + _content = cloud_services_network_parameters + else: + _content = json.dumps(cloud_services_network_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_cloud_services_networks_create_or_update_request( resource_group_name=resource_group_name, - bare_metal_machine_name=bare_metal_machine_name, + cloud_services_network_name=cloud_services_network_name, subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, + content_type=content_type, api_version=self._config.api_version, + content=_content, headers=_headers, params=_params, ) @@ -4795,7 +3800,7 @@ async def _uncordon_initial( response = pipeline_response.http_response - if response.status_code not in [202]: + if response.status_code not in [200, 201]: try: await response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -4808,255 +3813,10 @@ async def _uncordon_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @distributed_trace_async - async def begin_uncordon( - self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Uncordon the provided bare metal machine's Kubernetes node. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :return: An instance of AsyncLROPoller that returns OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.OperationStatusResult] = 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._uncordon_initial( - resource_group_name=resource_group_name, - bare_metal_machine_name=bare_metal_machine_name, - 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): - response_headers = {} - response = pipeline_response.http_response - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = _deserialize(_models.OperationStatusResult, response.json()) - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - return deserialized - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.OperationStatusResult].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.OperationStatusResult]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - -class CloudServicesNetworksOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.networkcloud.aio.NetworkCloudMgmtClient`'s - :attr:`cloud_services_networks` attribute. - """ - - 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: NetworkCloudMgmtClientConfiguration = 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_async - async def get( - self, resource_group_name: str, cloud_services_network_name: str, **kwargs: Any - ) -> _models.CloudServicesNetwork: - """Get properties of the provided cloud services network. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param cloud_services_network_name: The name of the cloud services network. Required. - :type cloud_services_network_name: str - :return: CloudServicesNetwork. The CloudServicesNetwork is compatible with MutableMapping - :rtype: ~azure.mgmt.networkcloud.models.CloudServicesNetwork - :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 = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.CloudServicesNetwork] = kwargs.pop("cls", None) - - _request = build_cloud_services_networks_get_request( - resource_group_name=resource_group_name, - cloud_services_network_name=cloud_services_network_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("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]: - if _stream: - 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.CloudServicesNetwork, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - async def _create_or_update_initial( - self, - resource_group_name: str, - cloud_services_network_name: str, - cloud_services_network_parameters: Union[_models.CloudServicesNetwork, JSON, IO[bytes]], - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - 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" - _content = None - if isinstance(cloud_services_network_parameters, (IOBase, bytes)): - _content = cloud_services_network_parameters - else: - _content = json.dumps(cloud_services_network_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_cloud_services_networks_create_or_update_request( - resource_group_name=resource_group_name, - cloud_services_network_name=cloud_services_network_name, - subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 201: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) + if response.status_code == 201: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -5107,7 +3867,7 @@ async def begin_create_or_update( self, resource_group_name: str, cloud_services_network_name: str, - cloud_services_network_parameters: JSON, + cloud_services_network_parameters: _types.CloudServicesNetwork, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -5123,7 +3883,7 @@ async def begin_create_or_update( :param cloud_services_network_name: The name of the cloud services network. Required. :type cloud_services_network_name: str :param cloud_services_network_parameters: The request body. Required. - :type cloud_services_network_parameters: JSON + :type cloud_services_network_parameters: ~azure.mgmt.networkcloud.types.CloudServicesNetwork :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -5181,7 +3941,7 @@ async def begin_create_or_update( self, resource_group_name: str, cloud_services_network_name: str, - cloud_services_network_parameters: Union[_models.CloudServicesNetwork, JSON, IO[bytes]], + cloud_services_network_parameters: Union[_models.CloudServicesNetwork, _types.CloudServicesNetwork, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -5195,10 +3955,10 @@ async def begin_create_or_update( :type resource_group_name: str :param cloud_services_network_name: The name of the cloud services network. Required. :type cloud_services_network_name: str - :param cloud_services_network_parameters: The request body. Is one of the following types: - CloudServicesNetwork, JSON, IO[bytes] Required. + :param cloud_services_network_parameters: The request body. Is either a CloudServicesNetwork + type or a IO[bytes] type. Required. :type cloud_services_network_parameters: ~azure.mgmt.networkcloud.models.CloudServicesNetwork - or JSON or IO[bytes] + or ~azure.mgmt.networkcloud.types.CloudServicesNetwork or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -5269,7 +4029,7 @@ async def _update_initial( resource_group_name: str, cloud_services_network_name: str, cloud_services_network_update_parameters: Optional[ - Union[_models.CloudServicesNetworkPatchParameters, JSON, IO[bytes]] + Union[_models.CloudServicesNetworkPatchParameters, _types.CloudServicesNetworkPatchParameters, IO[bytes]] ] = None, *, etag: Optional[str] = None, @@ -5401,7 +4161,7 @@ async def begin_update( self, resource_group_name: str, cloud_services_network_name: str, - cloud_services_network_update_parameters: Optional[JSON] = None, + cloud_services_network_update_parameters: Optional[_types.CloudServicesNetworkPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -5417,7 +4177,8 @@ async def begin_update( :param cloud_services_network_name: The name of the cloud services network. Required. :type cloud_services_network_name: str :param cloud_services_network_update_parameters: The request body. Default value is None. - :type cloud_services_network_update_parameters: JSON + :type cloud_services_network_update_parameters: + ~azure.mgmt.networkcloud.types.CloudServicesNetworkPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -5476,7 +4237,7 @@ async def begin_update( resource_group_name: str, cloud_services_network_name: str, cloud_services_network_update_parameters: Optional[ - Union[_models.CloudServicesNetworkPatchParameters, JSON, IO[bytes]] + Union[_models.CloudServicesNetworkPatchParameters, _types.CloudServicesNetworkPatchParameters, IO[bytes]] ] = None, *, etag: Optional[str] = None, @@ -5491,10 +4252,11 @@ async def begin_update( :type resource_group_name: str :param cloud_services_network_name: The name of the cloud services network. Required. :type cloud_services_network_name: str - :param cloud_services_network_update_parameters: The request body. Is one of the following - types: CloudServicesNetworkPatchParameters, JSON, IO[bytes] Default value is None. + :param cloud_services_network_update_parameters: The request body. Is either a + CloudServicesNetworkPatchParameters type or a IO[bytes] type. Default value is None. :type cloud_services_network_update_parameters: - ~azure.mgmt.networkcloud.models.CloudServicesNetworkPatchParameters or JSON or IO[bytes] + ~azure.mgmt.networkcloud.models.CloudServicesNetworkPatchParameters or + ~azure.mgmt.networkcloud.types.CloudServicesNetworkPatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -6023,7 +4785,7 @@ async def _create_or_update_initial( self, resource_group_name: str, cluster_manager_name: str, - cluster_manager_parameters: Union[_models.ClusterManager, JSON, IO[bytes]], + cluster_manager_parameters: Union[_models.ClusterManager, _types.ClusterManager, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -6146,7 +4908,7 @@ async def begin_create_or_update( self, resource_group_name: str, cluster_manager_name: str, - cluster_manager_parameters: JSON, + cluster_manager_parameters: _types.ClusterManager, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -6161,7 +4923,7 @@ async def begin_create_or_update( :param cluster_manager_name: The name of the cluster manager. Required. :type cluster_manager_name: str :param cluster_manager_parameters: The request body. Required. - :type cluster_manager_parameters: JSON + :type cluster_manager_parameters: ~azure.mgmt.networkcloud.types.ClusterManager :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -6216,7 +4978,7 @@ async def begin_create_or_update( self, resource_group_name: str, cluster_manager_name: str, - cluster_manager_parameters: Union[_models.ClusterManager, JSON, IO[bytes]], + cluster_manager_parameters: Union[_models.ClusterManager, _types.ClusterManager, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -6229,10 +4991,10 @@ async def begin_create_or_update( :type resource_group_name: str :param cluster_manager_name: The name of the cluster manager. Required. :type cluster_manager_name: str - :param cluster_manager_parameters: The request body. Is one of the following types: - ClusterManager, JSON, IO[bytes] Required. - :type cluster_manager_parameters: ~azure.mgmt.networkcloud.models.ClusterManager or JSON or - IO[bytes] + :param cluster_manager_parameters: The request body. Is either a ClusterManager type or a + IO[bytes] type. Required. + :type cluster_manager_parameters: ~azure.mgmt.networkcloud.models.ClusterManager or + ~azure.mgmt.networkcloud.types.ClusterManager or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -6338,7 +5100,7 @@ async def update( self, resource_group_name: str, cluster_manager_name: str, - cluster_manager_update_parameters: Optional[JSON] = None, + cluster_manager_update_parameters: Optional[_types.ClusterManagerPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -6354,7 +5116,8 @@ async def update( :param cluster_manager_name: The name of the cluster manager. Required. :type cluster_manager_name: str :param cluster_manager_update_parameters: The request body. Default value is None. - :type cluster_manager_update_parameters: JSON + :type cluster_manager_update_parameters: + ~azure.mgmt.networkcloud.types.ClusterManagerPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -6409,7 +5172,7 @@ async def update( resource_group_name: str, cluster_manager_name: str, cluster_manager_update_parameters: Optional[ - Union[_models.ClusterManagerPatchParameters, JSON, IO[bytes]] + Union[_models.ClusterManagerPatchParameters, _types.ClusterManagerPatchParameters, IO[bytes]] ] = None, *, etag: Optional[str] = None, @@ -6424,10 +5187,11 @@ async def update( :type resource_group_name: str :param cluster_manager_name: The name of the cluster manager. Required. :type cluster_manager_name: str - :param cluster_manager_update_parameters: The request body. Is one of the following types: - ClusterManagerPatchParameters, JSON, IO[bytes] Default value is None. + :param cluster_manager_update_parameters: The request body. Is either a + ClusterManagerPatchParameters type or a IO[bytes] type. Default value is None. :type cluster_manager_update_parameters: - ~azure.mgmt.networkcloud.models.ClusterManagerPatchParameters or JSON or IO[bytes] + ~azure.mgmt.networkcloud.models.ClusterManagerPatchParameters or + ~azure.mgmt.networkcloud.types.ClusterManagerPatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -6884,308 +5648,11 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "cluster_manager_name", - "content_type", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) - async def _update_relay_private_endpoint_connection_initial( # pylint: disable=name-too-long - self, - resource_group_name: str, - cluster_manager_name: str, - cluster_manager_update_relay_private_endpoint_connection_parameters: Optional[ - Union[_models.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters, JSON, IO[bytes]] - ] = 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 = kwargs.pop("params", {}) or {} - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if cluster_manager_update_relay_private_endpoint_connection_parameters else None - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - content_type = ( - content_type or "application/json" - if cluster_manager_update_relay_private_endpoint_connection_parameters - else None - ) - _content = None - if isinstance(cluster_manager_update_relay_private_endpoint_connection_parameters, (IOBase, bytes)): - _content = cluster_manager_update_relay_private_endpoint_connection_parameters - else: - if cluster_manager_update_relay_private_endpoint_connection_parameters is not None: - _content = json.dumps(cluster_manager_update_relay_private_endpoint_connection_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - else: - _content = None - - _request = build_cluster_managers_update_relay_private_endpoint_connection_request( - resource_group_name=resource_group_name, - cluster_manager_name=cluster_manager_name, - subscription_id=self._config.subscription_id, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _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]: - 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - async def begin_update_relay_private_endpoint_connection( # pylint: disable=name-too-long - self, - resource_group_name: str, - cluster_manager_name: str, - cluster_manager_update_relay_private_endpoint_connection_parameters: Optional[ - _models.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters - ] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Update the private endpoint connection for the Azure Relay namespace managed by the specified - cluster manager. Use this operation to approve or reject a pending private endpoint connection - request for the relay namespace managed by the cluster manager. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param cluster_manager_name: The name of the cluster manager. Required. - :type cluster_manager_name: str - :param cluster_manager_update_relay_private_endpoint_connection_parameters: The request body. - Default value is None. - :type cluster_manager_update_relay_private_endpoint_connection_parameters: - ~azure.mgmt.networkcloud.models.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters - :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_update_relay_private_endpoint_connection( # pylint: disable=name-too-long - self, - resource_group_name: str, - cluster_manager_name: str, - cluster_manager_update_relay_private_endpoint_connection_parameters: Optional[JSON] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Update the private endpoint connection for the Azure Relay namespace managed by the specified - cluster manager. Use this operation to approve or reject a pending private endpoint connection - request for the relay namespace managed by the cluster manager. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param cluster_manager_name: The name of the cluster manager. Required. - :type cluster_manager_name: str - :param cluster_manager_update_relay_private_endpoint_connection_parameters: The request body. - Default value is None. - :type cluster_manager_update_relay_private_endpoint_connection_parameters: JSON - :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_update_relay_private_endpoint_connection( # pylint: disable=name-too-long - self, - resource_group_name: str, - cluster_manager_name: str, - cluster_manager_update_relay_private_endpoint_connection_parameters: Optional[IO[bytes]] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Update the private endpoint connection for the Azure Relay namespace managed by the specified - cluster manager. Use this operation to approve or reject a pending private endpoint connection - request for the relay namespace managed by the cluster manager. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param cluster_manager_name: The name of the cluster manager. Required. - :type cluster_manager_name: str - :param cluster_manager_update_relay_private_endpoint_connection_parameters: The request body. - Default value is None. - :type cluster_manager_update_relay_private_endpoint_connection_parameters: IO[bytes] - :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "cluster_manager_name", - "content_type", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) - async def begin_update_relay_private_endpoint_connection( # pylint: disable=name-too-long - self, - resource_group_name: str, - cluster_manager_name: str, - cluster_manager_update_relay_private_endpoint_connection_parameters: Optional[ - Union[_models.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters, JSON, IO[bytes]] - ] = None, - **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Update the private endpoint connection for the Azure Relay namespace managed by the specified - cluster manager. Use this operation to approve or reject a pending private endpoint connection - request for the relay namespace managed by the cluster manager. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param cluster_manager_name: The name of the cluster manager. Required. - :type cluster_manager_name: str - :param cluster_manager_update_relay_private_endpoint_connection_parameters: The request body. - Is one of the following types: ClusterManagerUpdateRelayPrivateEndpointConnectionParameters, - JSON, IO[bytes] Default value is None. - :type cluster_manager_update_relay_private_endpoint_connection_parameters: - ~azure.mgmt.networkcloud.models.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters or - JSON or IO[bytes] - :return: An instance of AsyncLROPoller that returns OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if cluster_manager_update_relay_private_endpoint_connection_parameters else None - cls: ClsType[_models.OperationStatusResult] = 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._update_relay_private_endpoint_connection_initial( - resource_group_name=resource_group_name, - cluster_manager_name=cluster_manager_name, - cluster_manager_update_relay_private_endpoint_connection_parameters=cluster_manager_update_relay_private_endpoint_connection_parameters, - 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): - response_headers = {} - response = pipeline_response.http_response - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = _deserialize(_models.OperationStatusResult, response.json()) - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - return deserialized - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.OperationStatusResult].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.OperationStatusResult]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - -class ClustersOperations: # pylint: disable=too-many-public-methods - """ - .. warning:: - **DO NOT** instantiate this class directly. +class ClustersOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. Instead, you should access the following operations through :class:`~azure.mgmt.networkcloud.aio.NetworkCloudMgmtClient`'s @@ -7273,7 +5740,7 @@ async def _create_or_update_initial( self, resource_group_name: str, cluster_name: str, - cluster_parameters: Union[_models.Cluster, JSON, IO[bytes]], + cluster_parameters: Union[_models.Cluster, _types.Cluster, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -7396,7 +5863,7 @@ async def begin_create_or_update( self, resource_group_name: str, cluster_name: str, - cluster_parameters: JSON, + cluster_parameters: _types.Cluster, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -7411,7 +5878,7 @@ async def begin_create_or_update( :param cluster_name: The name of the cluster. Required. :type cluster_name: str :param cluster_parameters: The request body. Required. - :type cluster_parameters: JSON + :type cluster_parameters: ~azure.mgmt.networkcloud.types.Cluster :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -7466,7 +5933,7 @@ async def begin_create_or_update( self, resource_group_name: str, cluster_name: str, - cluster_parameters: Union[_models.Cluster, JSON, IO[bytes]], + cluster_parameters: Union[_models.Cluster, _types.Cluster, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -7479,9 +5946,10 @@ async def begin_create_or_update( :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param cluster_parameters: The request body. Is one of the following types: Cluster, JSON, - IO[bytes] Required. - :type cluster_parameters: ~azure.mgmt.networkcloud.models.Cluster or JSON or IO[bytes] + :param cluster_parameters: The request body. Is either a Cluster type or a IO[bytes] type. + Required. + :type cluster_parameters: ~azure.mgmt.networkcloud.models.Cluster or + ~azure.mgmt.networkcloud.types.Cluster or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -7550,7 +6018,9 @@ async def _update_initial( self, resource_group_name: str, cluster_name: str, - cluster_update_parameters: Optional[Union[_models.ClusterPatchParameters, JSON, IO[bytes]]] = None, + cluster_update_parameters: Optional[ + Union[_models.ClusterPatchParameters, _types.ClusterPatchParameters, IO[bytes]] + ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -7679,7 +6149,7 @@ async def begin_update( self, resource_group_name: str, cluster_name: str, - cluster_update_parameters: Optional[JSON] = None, + cluster_update_parameters: Optional[_types.ClusterPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -7695,7 +6165,7 @@ async def begin_update( :param cluster_name: The name of the cluster. Required. :type cluster_name: str :param cluster_update_parameters: The request body. Default value is None. - :type cluster_update_parameters: JSON + :type cluster_update_parameters: ~azure.mgmt.networkcloud.types.ClusterPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -7751,7 +6221,9 @@ async def begin_update( self, resource_group_name: str, cluster_name: str, - cluster_update_parameters: Optional[Union[_models.ClusterPatchParameters, JSON, IO[bytes]]] = None, + cluster_update_parameters: Optional[ + Union[_models.ClusterPatchParameters, _types.ClusterPatchParameters, IO[bytes]] + ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -7765,10 +6237,10 @@ async def begin_update( :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param cluster_update_parameters: The request body. Is one of the following types: - ClusterPatchParameters, JSON, IO[bytes] Default value is None. - :type cluster_update_parameters: ~azure.mgmt.networkcloud.models.ClusterPatchParameters or JSON - or IO[bytes] + :param cluster_update_parameters: The request body. Is either a ClusterPatchParameters type or + a IO[bytes] type. Default value is None. + :type cluster_update_parameters: ~azure.mgmt.networkcloud.models.ClusterPatchParameters or + ~azure.mgmt.networkcloud.types.ClusterPatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -8207,7 +6679,7 @@ async def _continue_update_version_initial( resource_group_name: str, cluster_name: str, cluster_continue_update_version_parameters: Union[ - _models.ClusterContinueUpdateVersionParameters, JSON, IO[bytes] + _models.ClusterContinueUpdateVersionParameters, _types.ClusterContinueUpdateVersionParameters, IO[bytes] ], **kwargs: Any ) -> AsyncIterator[bytes]: @@ -8314,7 +6786,7 @@ async def begin_continue_update_version( self, resource_group_name: str, cluster_name: str, - cluster_continue_update_version_parameters: JSON, + cluster_continue_update_version_parameters: _types.ClusterContinueUpdateVersionParameters, *, content_type: str = "application/json", **kwargs: Any @@ -8328,7 +6800,8 @@ async def begin_continue_update_version( :param cluster_name: The name of the cluster. Required. :type cluster_name: str :param cluster_continue_update_version_parameters: The request body. Required. - :type cluster_continue_update_version_parameters: JSON + :type cluster_continue_update_version_parameters: + ~azure.mgmt.networkcloud.types.ClusterContinueUpdateVersionParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -8375,7 +6848,7 @@ async def begin_continue_update_version( resource_group_name: str, cluster_name: str, cluster_continue_update_version_parameters: Union[ - _models.ClusterContinueUpdateVersionParameters, JSON, IO[bytes] + _models.ClusterContinueUpdateVersionParameters, _types.ClusterContinueUpdateVersionParameters, IO[bytes] ], **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: @@ -8387,10 +6860,11 @@ async def begin_continue_update_version( :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param cluster_continue_update_version_parameters: The request body. Is one of the following - types: ClusterContinueUpdateVersionParameters, JSON, IO[bytes] Required. + :param cluster_continue_update_version_parameters: The request body. Is either a + ClusterContinueUpdateVersionParameters type or a IO[bytes] type. Required. :type cluster_continue_update_version_parameters: - ~azure.mgmt.networkcloud.models.ClusterContinueUpdateVersionParameters or JSON or IO[bytes] + ~azure.mgmt.networkcloud.models.ClusterContinueUpdateVersionParameters or + ~azure.mgmt.networkcloud.types.ClusterContinueUpdateVersionParameters or IO[bytes] :return: An instance of AsyncLROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: @@ -8457,7 +6931,9 @@ async def _deploy_initial( self, resource_group_name: str, cluster_name: str, - cluster_deploy_parameters: Optional[Union[_models.ClusterDeployParameters, JSON, IO[bytes]]] = None, + cluster_deploy_parameters: Optional[ + Union[_models.ClusterDeployParameters, _types.ClusterDeployParameters, IO[bytes]] + ] = None, **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -8565,7 +7041,7 @@ async def begin_deploy( self, resource_group_name: str, cluster_name: str, - cluster_deploy_parameters: Optional[JSON] = None, + cluster_deploy_parameters: Optional[_types.ClusterDeployParameters] = None, *, content_type: str = "application/json", **kwargs: Any @@ -8578,7 +7054,7 @@ async def begin_deploy( :param cluster_name: The name of the cluster. Required. :type cluster_name: str :param cluster_deploy_parameters: The request body. Default value is None. - :type cluster_deploy_parameters: JSON + :type cluster_deploy_parameters: ~azure.mgmt.networkcloud.types.ClusterDeployParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -8623,7 +7099,9 @@ async def begin_deploy( self, resource_group_name: str, cluster_name: str, - cluster_deploy_parameters: Optional[Union[_models.ClusterDeployParameters, JSON, IO[bytes]]] = None, + cluster_deploy_parameters: Optional[ + Union[_models.ClusterDeployParameters, _types.ClusterDeployParameters, IO[bytes]] + ] = None, **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: """Deploy the cluster using the rack configuration provided during creation. @@ -8633,10 +7111,10 @@ async def begin_deploy( :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param cluster_deploy_parameters: The request body. Is one of the following types: - ClusterDeployParameters, JSON, IO[bytes] Default value is None. + :param cluster_deploy_parameters: The request body. Is either a ClusterDeployParameters type or + a IO[bytes] type. Default value is None. :type cluster_deploy_parameters: ~azure.mgmt.networkcloud.models.ClusterDeployParameters or - JSON or IO[bytes] + ~azure.mgmt.networkcloud.types.ClusterDeployParameters or IO[bytes] :return: An instance of AsyncLROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: @@ -8700,24 +7178,13 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "cluster_name", - "content_type", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) - async def _inspect_initial( + async def _scan_runtime_initial( self, resource_group_name: str, cluster_name: str, - cluster_inspect_parameters: Optional[Union[_models.ClusterInspectParameters, JSON, IO[bytes]]] = None, + cluster_scan_runtime_parameters: Optional[ + Union[_models.ClusterScanRuntimeParameters, _types.ClusterScanRuntimeParameters, IO[bytes]] + ] = None, **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -8732,20 +7199,20 @@ async def _inspect_initial( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if cluster_inspect_parameters else None + content_type = content_type if cluster_scan_runtime_parameters else None cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" if cluster_inspect_parameters else None + content_type = content_type or "application/json" if cluster_scan_runtime_parameters else None _content = None - if isinstance(cluster_inspect_parameters, (IOBase, bytes)): - _content = cluster_inspect_parameters + if isinstance(cluster_scan_runtime_parameters, (IOBase, bytes)): + _content = cluster_scan_runtime_parameters else: - if cluster_inspect_parameters is not None: - _content = json.dumps(cluster_inspect_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + if cluster_scan_runtime_parameters is not None: + _content = json.dumps(cluster_scan_runtime_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore else: _content = None - _request = build_clusters_inspect_request( + _request = build_clusters_scan_runtime_request( resource_group_name=resource_group_name, cluster_name=cluster_name, subscription_id=self._config.subscription_id, @@ -8792,25 +7259,26 @@ async def _inspect_initial( return deserialized # type: ignore @overload - async def begin_inspect( + async def begin_scan_runtime( self, resource_group_name: str, cluster_name: str, - cluster_inspect_parameters: Optional[_models.ClusterInspectParameters] = None, + cluster_scan_runtime_parameters: Optional[_models.ClusterScanRuntimeParameters] = None, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Trigger an inspection of the cluster to perform validation and optional corrective actions - based on the supplied additional actions and filters. + """Triggers the execution of a runtime protection scan to detect and remediate detected issues, in + accordance with the cluster configuration. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param cluster_inspect_parameters: The request body. Default value is None. - :type cluster_inspect_parameters: ~azure.mgmt.networkcloud.models.ClusterInspectParameters + :param cluster_scan_runtime_parameters: The request body. Default value is None. + :type cluster_scan_runtime_parameters: + ~azure.mgmt.networkcloud.models.ClusterScanRuntimeParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -8822,25 +7290,26 @@ async def begin_inspect( """ @overload - async def begin_inspect( + async def begin_scan_runtime( self, resource_group_name: str, cluster_name: str, - cluster_inspect_parameters: Optional[JSON] = None, + cluster_scan_runtime_parameters: Optional[_types.ClusterScanRuntimeParameters] = None, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Trigger an inspection of the cluster to perform validation and optional corrective actions - based on the supplied additional actions and filters. + """Triggers the execution of a runtime protection scan to detect and remediate detected issues, in + accordance with the cluster configuration. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param cluster_inspect_parameters: The request body. Default value is None. - :type cluster_inspect_parameters: JSON + :param cluster_scan_runtime_parameters: The request body. Default value is None. + :type cluster_scan_runtime_parameters: + ~azure.mgmt.networkcloud.types.ClusterScanRuntimeParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -8852,25 +7321,25 @@ async def begin_inspect( """ @overload - async def begin_inspect( + async def begin_scan_runtime( self, resource_group_name: str, cluster_name: str, - cluster_inspect_parameters: Optional[IO[bytes]] = None, + cluster_scan_runtime_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Trigger an inspection of the cluster to perform validation and optional corrective actions - based on the supplied additional actions and filters. + """Triggers the execution of a runtime protection scan to detect and remediate detected issues, in + accordance with the cluster configuration. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param cluster_inspect_parameters: The request body. Default value is None. - :type cluster_inspect_parameters: IO[bytes] + :param cluster_scan_runtime_parameters: The request body. Default value is None. + :type cluster_scan_runtime_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -8882,38 +7351,28 @@ async def begin_inspect( """ @distributed_trace_async - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "cluster_name", - "content_type", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) - async def begin_inspect( + async def begin_scan_runtime( self, resource_group_name: str, cluster_name: str, - cluster_inspect_parameters: Optional[Union[_models.ClusterInspectParameters, JSON, IO[bytes]]] = None, + cluster_scan_runtime_parameters: Optional[ + Union[_models.ClusterScanRuntimeParameters, _types.ClusterScanRuntimeParameters, IO[bytes]] + ] = None, **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Trigger an inspection of the cluster to perform validation and optional corrective actions - based on the supplied additional actions and filters. + """Triggers the execution of a runtime protection scan to detect and remediate detected issues, in + accordance with the cluster configuration. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param cluster_inspect_parameters: The request body. Is one of the following types: - ClusterInspectParameters, JSON, IO[bytes] Default value is None. - :type cluster_inspect_parameters: ~azure.mgmt.networkcloud.models.ClusterInspectParameters or - JSON or IO[bytes] + :param cluster_scan_runtime_parameters: The request body. Is either a + ClusterScanRuntimeParameters type or a IO[bytes] type. Default value is None. + :type cluster_scan_runtime_parameters: + ~azure.mgmt.networkcloud.models.ClusterScanRuntimeParameters or + ~azure.mgmt.networkcloud.types.ClusterScanRuntimeParameters or IO[bytes] :return: An instance of AsyncLROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: @@ -8924,16 +7383,16 @@ async def begin_inspect( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if cluster_inspect_parameters else None + content_type = content_type if cluster_scan_runtime_parameters else None cls: ClsType[_models.OperationStatusResult] = 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._inspect_initial( + raw_result = await self._scan_runtime_initial( resource_group_name=resource_group_name, cluster_name=cluster_name, - cluster_inspect_parameters=cluster_inspect_parameters, + cluster_scan_runtime_parameters=cluster_scan_runtime_parameters, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -8977,24 +7436,13 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - @api_version_validation( - method_added_on="2026-05-01-preview", - params_added_on={ - "2026-05-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "cluster_name", - "content_type", - ] - }, - api_versions_list=["2026-05-01-preview"], - ) - async def _rotate_credential_initial( + async def _update_version_initial( self, resource_group_name: str, cluster_name: str, - body: Union[_models.ClusterRotateCredentialParameters, JSON, IO[bytes]], + cluster_update_version_parameters: Union[ + _models.ClusterUpdateVersionParameters, _types.ClusterUpdateVersionParameters, IO[bytes] + ], **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -9013,12 +7461,12 @@ async def _rotate_credential_initial( content_type = content_type or "application/json" _content = None - if isinstance(body, (IOBase, bytes)): - _content = body + if isinstance(cluster_update_version_parameters, (IOBase, bytes)): + _content = cluster_update_version_parameters else: - _content = json.dumps(body, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + _content = json.dumps(cluster_update_version_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_clusters_rotate_credential_request( + _request = build_clusters_update_version_request( resource_group_name=resource_group_name, cluster_name=cluster_name, subscription_id=self._config.subscription_id, @@ -9065,24 +7513,25 @@ async def _rotate_credential_initial( return deserialized # type: ignore @overload - async def begin_rotate_credential( + async def begin_update_version( self, resource_group_name: str, cluster_name: str, - body: _models.ClusterRotateCredentialParameters, + cluster_update_version_parameters: _models.ClusterUpdateVersionParameters, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Rotate the specified cluster credential. + """Update the version of the provided cluster to one of the available supported versions. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param body: The content of the action request. Required. - :type body: ~azure.mgmt.networkcloud.models.ClusterRotateCredentialParameters + :param cluster_update_version_parameters: The request body. Required. + :type cluster_update_version_parameters: + ~azure.mgmt.networkcloud.models.ClusterUpdateVersionParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -9094,24 +7543,25 @@ async def begin_rotate_credential( """ @overload - async def begin_rotate_credential( + async def begin_update_version( self, resource_group_name: str, cluster_name: str, - body: JSON, + cluster_update_version_parameters: _types.ClusterUpdateVersionParameters, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Rotate the specified cluster credential. + """Update the version of the provided cluster to one of the available supported versions. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param body: The content of the action request. Required. - :type body: JSON + :param cluster_update_version_parameters: The request body. Required. + :type cluster_update_version_parameters: + ~azure.mgmt.networkcloud.types.ClusterUpdateVersionParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -9123,24 +7573,24 @@ async def begin_rotate_credential( """ @overload - async def begin_rotate_credential( + async def begin_update_version( self, resource_group_name: str, cluster_name: str, - body: IO[bytes], + cluster_update_version_parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Rotate the specified cluster credential. + """Update the version of the provided cluster to one of the available supported versions. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param body: The content of the action request. Required. - :type body: IO[bytes] + :param cluster_update_version_parameters: The request body. Required. + :type cluster_update_version_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -9152,37 +7602,27 @@ async def begin_rotate_credential( """ @distributed_trace_async - @api_version_validation( - method_added_on="2026-05-01-preview", - params_added_on={ - "2026-05-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "cluster_name", - "content_type", - ] - }, - api_versions_list=["2026-05-01-preview"], - ) - async def begin_rotate_credential( + async def begin_update_version( self, resource_group_name: str, cluster_name: str, - body: Union[_models.ClusterRotateCredentialParameters, JSON, IO[bytes]], + cluster_update_version_parameters: Union[ + _models.ClusterUpdateVersionParameters, _types.ClusterUpdateVersionParameters, IO[bytes] + ], **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Rotate the specified cluster credential. + """Update the version of the provided cluster to one of the available supported versions. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param body: The content of the action request. Is one of the following types: - ClusterRotateCredentialParameters, JSON, IO[bytes] Required. - :type body: ~azure.mgmt.networkcloud.models.ClusterRotateCredentialParameters or JSON or - IO[bytes] + :param cluster_update_version_parameters: The request body. Is either a + ClusterUpdateVersionParameters type or a IO[bytes] type. Required. + :type cluster_update_version_parameters: + ~azure.mgmt.networkcloud.models.ClusterUpdateVersionParameters or + ~azure.mgmt.networkcloud.types.ClusterUpdateVersionParameters or IO[bytes] :return: An instance of AsyncLROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: @@ -9198,10 +7638,10 @@ async def begin_rotate_credential( 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._rotate_credential_initial( + raw_result = await self._update_version_initial( resource_group_name=resource_group_name, cluster_name=cluster_name, - body=body, + cluster_update_version_parameters=cluster_update_version_parameters, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -9245,11 +7685,104 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - async def _scan_runtime_initial( + +class KubernetesClustersOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.networkcloud.aio.NetworkCloudMgmtClient`'s + :attr:`kubernetes_clusters` attribute. + """ + + 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: NetworkCloudMgmtClientConfiguration = 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_async + async def get( + self, resource_group_name: str, kubernetes_cluster_name: str, **kwargs: Any + ) -> _models.KubernetesCluster: + """Get properties of the provided the Kubernetes cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :return: KubernetesCluster. The KubernetesCluster is compatible with MutableMapping + :rtype: ~azure.mgmt.networkcloud.models.KubernetesCluster + :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 = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.KubernetesCluster] = kwargs.pop("cls", None) + + _request = build_kubernetes_clusters_get_request( + resource_group_name=resource_group_name, + kubernetes_cluster_name=kubernetes_cluster_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.KubernetesCluster, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + async def _create_or_update_initial( self, resource_group_name: str, - cluster_name: str, - cluster_scan_runtime_parameters: Optional[Union[_models.ClusterScanRuntimeParameters, JSON, IO[bytes]]] = None, + kubernetes_cluster_name: str, + kubernetes_cluster_parameters: Union[_models.KubernetesCluster, _types.KubernetesCluster, IO[bytes]], + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -9258,29 +7791,33 @@ async def _scan_runtime_initial( 409: ResourceExistsError, 304: ResourceNotModifiedError, } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if cluster_scan_runtime_parameters else None cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" if cluster_scan_runtime_parameters else None + content_type = content_type or "application/json" _content = None - if isinstance(cluster_scan_runtime_parameters, (IOBase, bytes)): - _content = cluster_scan_runtime_parameters + if isinstance(kubernetes_cluster_parameters, (IOBase, bytes)): + _content = kubernetes_cluster_parameters else: - if cluster_scan_runtime_parameters is not None: - _content = json.dumps(cluster_scan_runtime_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - else: - _content = None + _content = json.dumps(kubernetes_cluster_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_clusters_scan_runtime_request( + _request = build_kubernetes_clusters_create_or_update_request( resource_group_name=resource_group_name, - cluster_name=cluster_name, + kubernetes_cluster_name=kubernetes_cluster_name, subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, content_type=content_type, api_version=self._config.api_version, content=_content, @@ -9300,7 +7837,7 @@ async def _scan_runtime_initial( response = pipeline_response.http_response - if response.status_code not in [202]: + if response.status_code not in [200, 201]: try: await response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -9313,8 +7850,10 @@ async def _scan_runtime_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + if response.status_code == 201: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -9324,136 +7863,157 @@ async def _scan_runtime_initial( return deserialized # type: ignore @overload - async def begin_scan_runtime( + async def begin_create_or_update( self, resource_group_name: str, - cluster_name: str, - cluster_scan_runtime_parameters: Optional[_models.ClusterScanRuntimeParameters] = None, + kubernetes_cluster_name: str, + kubernetes_cluster_parameters: _models.KubernetesCluster, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Triggers the execution of a runtime protection scan to detect and remediate detected issues, in - accordance with the cluster configuration. + ) -> AsyncLROPoller[_models.KubernetesCluster]: + """Create a new Kubernetes cluster or update the properties of the existing one. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_scan_runtime_parameters: The request body. Default value is None. - :type cluster_scan_runtime_parameters: - ~azure.mgmt.networkcloud.models.ClusterScanRuntimeParameters + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_parameters: The request body. Required. + :type kubernetes_cluster_parameters: ~azure.mgmt.networkcloud.models.KubernetesCluster :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns KubernetesCluster. The KubernetesCluster is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def begin_scan_runtime( + async def begin_create_or_update( self, resource_group_name: str, - cluster_name: str, - cluster_scan_runtime_parameters: Optional[JSON] = None, + kubernetes_cluster_name: str, + kubernetes_cluster_parameters: _types.KubernetesCluster, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Triggers the execution of a runtime protection scan to detect and remediate detected issues, in - accordance with the cluster configuration. + ) -> AsyncLROPoller[_models.KubernetesCluster]: + """Create a new Kubernetes cluster or update the properties of the existing one. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_scan_runtime_parameters: The request body. Default value is None. - :type cluster_scan_runtime_parameters: JSON + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_parameters: The request body. Required. + :type kubernetes_cluster_parameters: ~azure.mgmt.networkcloud.types.KubernetesCluster :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns KubernetesCluster. The KubernetesCluster is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def begin_scan_runtime( + async def begin_create_or_update( self, resource_group_name: str, - cluster_name: str, - cluster_scan_runtime_parameters: Optional[IO[bytes]] = None, + kubernetes_cluster_name: str, + kubernetes_cluster_parameters: IO[bytes], *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Triggers the execution of a runtime protection scan to detect and remediate detected issues, in - accordance with the cluster configuration. + ) -> AsyncLROPoller[_models.KubernetesCluster]: + """Create a new Kubernetes cluster or update the properties of the existing one. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_scan_runtime_parameters: The request body. Default value is None. - :type cluster_scan_runtime_parameters: IO[bytes] + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_parameters: The request body. Required. + :type kubernetes_cluster_parameters: IO[bytes] :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns KubernetesCluster. The KubernetesCluster is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace_async - async def begin_scan_runtime( + async def begin_create_or_update( self, resource_group_name: str, - cluster_name: str, - cluster_scan_runtime_parameters: Optional[Union[_models.ClusterScanRuntimeParameters, JSON, IO[bytes]]] = None, + kubernetes_cluster_name: str, + kubernetes_cluster_parameters: Union[_models.KubernetesCluster, _types.KubernetesCluster, IO[bytes]], + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Triggers the execution of a runtime protection scan to detect and remediate detected issues, in - accordance with the cluster configuration. + ) -> AsyncLROPoller[_models.KubernetesCluster]: + """Create a new Kubernetes cluster or update the properties of the existing one. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_scan_runtime_parameters: The request body. Is one of the following types: - ClusterScanRuntimeParameters, JSON, IO[bytes] Default value is None. - :type cluster_scan_runtime_parameters: - ~azure.mgmt.networkcloud.models.ClusterScanRuntimeParameters or JSON or IO[bytes] - :return: An instance of AsyncLROPoller that returns OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_parameters: The request body. Is either a KubernetesCluster type or a + IO[bytes] type. Required. + :type kubernetes_cluster_parameters: ~azure.mgmt.networkcloud.models.KubernetesCluster or + ~azure.mgmt.networkcloud.types.KubernetesCluster or IO[bytes] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns KubernetesCluster. The KubernetesCluster is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if cluster_scan_runtime_parameters else None - cls: ClsType[_models.OperationStatusResult] = kwargs.pop("cls", None) + cls: ClsType[_models.KubernetesCluster] = 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._scan_runtime_initial( + raw_result = await self._create_or_update_initial( resource_group_name=resource_group_name, - cluster_name=cluster_name, - cluster_scan_runtime_parameters=cluster_scan_runtime_parameters, + kubernetes_cluster_name=kubernetes_cluster_name, + kubernetes_cluster_parameters=kubernetes_cluster_parameters, + etag=etag, + match_condition=match_condition, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -9464,14 +8024,10 @@ async def begin_scan_runtime( kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - response_headers = {} response = pipeline_response.http_response - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = _deserialize(_models.OperationStatusResult, response.json()) + deserialized = _deserialize(_models.KubernetesCluster, response.json()) if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore + return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized path_format_arguments = { @@ -9487,21 +8043,26 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return AsyncLROPoller[_models.OperationStatusResult].from_continuation_token( + return AsyncLROPoller[_models.KubernetesCluster].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return AsyncLROPoller[_models.OperationStatusResult]( + return AsyncLROPoller[_models.KubernetesCluster]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - async def _update_version_initial( + async def _update_initial( self, resource_group_name: str, - cluster_name: str, - cluster_update_version_parameters: Union[_models.ClusterUpdateVersionParameters, JSON, IO[bytes]], + kubernetes_cluster_name: str, + kubernetes_cluster_update_parameters: Optional[ + Union[_models.KubernetesClusterPatchParameters, _types.KubernetesClusterPatchParameters, IO[bytes]] + ] = None, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -9510,25 +8071,37 @@ async def _update_version_initial( 409: ResourceExistsError, 304: ResourceNotModifiedError, } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if kubernetes_cluster_update_parameters else None cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" + content_type = content_type or "application/json" if kubernetes_cluster_update_parameters else None _content = None - if isinstance(cluster_update_version_parameters, (IOBase, bytes)): - _content = cluster_update_version_parameters + if isinstance(kubernetes_cluster_update_parameters, (IOBase, bytes)): + _content = kubernetes_cluster_update_parameters else: - _content = json.dumps(cluster_update_version_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + if kubernetes_cluster_update_parameters is not None: + _content = json.dumps(kubernetes_cluster_update_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None - _request = build_clusters_update_version_request( + _request = build_kubernetes_clusters_update_request( resource_group_name=resource_group_name, - cluster_name=cluster_name, + kubernetes_cluster_name=kubernetes_cluster_name, subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, content_type=content_type, api_version=self._config.api_version, content=_content, @@ -9548,7 +8121,7 @@ async def _update_version_initial( response = pipeline_response.http_response - if response.status_code not in [202]: + if response.status_code not in [200, 202]: try: await response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -9561,8 +8134,11 @@ async def _update_version_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -9572,131 +8148,167 @@ async def _update_version_initial( return deserialized # type: ignore @overload - async def begin_update_version( + async def begin_update( self, resource_group_name: str, - cluster_name: str, - cluster_update_version_parameters: _models.ClusterUpdateVersionParameters, + kubernetes_cluster_name: str, + kubernetes_cluster_update_parameters: Optional[_models.KubernetesClusterPatchParameters] = None, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Update the version of the provided cluster to one of the available supported versions. + ) -> AsyncLROPoller[_models.KubernetesCluster]: + """Patch the properties of the provided Kubernetes cluster, or update the tags associated with the + Kubernetes cluster. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_update_version_parameters: The request body. Required. - :type cluster_update_version_parameters: - ~azure.mgmt.networkcloud.models.ClusterUpdateVersionParameters + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_update_parameters: The request body. Default value is None. + :type kubernetes_cluster_update_parameters: + ~azure.mgmt.networkcloud.models.KubernetesClusterPatchParameters :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns KubernetesCluster. The KubernetesCluster is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def begin_update_version( + async def begin_update( self, resource_group_name: str, - cluster_name: str, - cluster_update_version_parameters: JSON, + kubernetes_cluster_name: str, + kubernetes_cluster_update_parameters: Optional[_types.KubernetesClusterPatchParameters] = None, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Update the version of the provided cluster to one of the available supported versions. + ) -> AsyncLROPoller[_models.KubernetesCluster]: + """Patch the properties of the provided Kubernetes cluster, or update the tags associated with the + Kubernetes cluster. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_update_version_parameters: The request body. Required. - :type cluster_update_version_parameters: JSON + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_update_parameters: The request body. Default value is None. + :type kubernetes_cluster_update_parameters: + ~azure.mgmt.networkcloud.types.KubernetesClusterPatchParameters :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns KubernetesCluster. The KubernetesCluster is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def begin_update_version( + async def begin_update( self, resource_group_name: str, - cluster_name: str, - cluster_update_version_parameters: IO[bytes], + kubernetes_cluster_name: str, + kubernetes_cluster_update_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Update the version of the provided cluster to one of the available supported versions. + ) -> AsyncLROPoller[_models.KubernetesCluster]: + """Patch the properties of the provided Kubernetes cluster, or update the tags associated with the + Kubernetes cluster. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_update_version_parameters: The request body. Required. - :type cluster_update_version_parameters: IO[bytes] + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_update_parameters: The request body. Default value is None. + :type kubernetes_cluster_update_parameters: IO[bytes] :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns KubernetesCluster. The KubernetesCluster is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace_async - async def begin_update_version( + async def begin_update( self, resource_group_name: str, - cluster_name: str, - cluster_update_version_parameters: Union[_models.ClusterUpdateVersionParameters, JSON, IO[bytes]], + kubernetes_cluster_name: str, + kubernetes_cluster_update_parameters: Optional[ + Union[_models.KubernetesClusterPatchParameters, _types.KubernetesClusterPatchParameters, IO[bytes]] + ] = None, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Update the version of the provided cluster to one of the available supported versions. + ) -> AsyncLROPoller[_models.KubernetesCluster]: + """Patch the properties of the provided Kubernetes cluster, or update the tags associated with the + Kubernetes cluster. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_update_version_parameters: The request body. Is one of the following types: - ClusterUpdateVersionParameters, JSON, IO[bytes] Required. - :type cluster_update_version_parameters: - ~azure.mgmt.networkcloud.models.ClusterUpdateVersionParameters or JSON or IO[bytes] - :return: An instance of AsyncLROPoller that returns OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_update_parameters: The request body. Is either a + KubernetesClusterPatchParameters type or a IO[bytes] type. Default value is None. + :type kubernetes_cluster_update_parameters: + ~azure.mgmt.networkcloud.models.KubernetesClusterPatchParameters or + ~azure.mgmt.networkcloud.types.KubernetesClusterPatchParameters or IO[bytes] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns KubernetesCluster. The KubernetesCluster is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.OperationStatusResult] = kwargs.pop("cls", None) + content_type = content_type if kubernetes_cluster_update_parameters else None + cls: ClsType[_models.KubernetesCluster] = 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._update_version_initial( + raw_result = await self._update_initial( resource_group_name=resource_group_name, - cluster_name=cluster_name, - cluster_update_version_parameters=cluster_update_version_parameters, + kubernetes_cluster_name=kubernetes_cluster_name, + kubernetes_cluster_update_parameters=kubernetes_cluster_update_parameters, + etag=etag, + match_condition=match_condition, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -9707,14 +8319,10 @@ async def begin_update_version( kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - response_headers = {} response = pipeline_response.http_response - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = _deserialize(_models.OperationStatusResult, response.json()) + deserialized = _deserialize(_models.KubernetesCluster, response.json()) if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore + return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized path_format_arguments = { @@ -9730,111 +8338,20 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return AsyncLROPoller[_models.OperationStatusResult].from_continuation_token( + return AsyncLROPoller[_models.KubernetesCluster].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return AsyncLROPoller[_models.OperationStatusResult]( + return AsyncLROPoller[_models.KubernetesCluster]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - -class KubernetesClustersOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.networkcloud.aio.NetworkCloudMgmtClient`'s - :attr:`kubernetes_clusters` attribute. - """ - - 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: NetworkCloudMgmtClientConfiguration = 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_async - async def get( - self, resource_group_name: str, kubernetes_cluster_name: str, **kwargs: Any - ) -> _models.KubernetesCluster: - """Get properties of the provided the Kubernetes cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :return: KubernetesCluster. The KubernetesCluster is compatible with MutableMapping - :rtype: ~azure.mgmt.networkcloud.models.KubernetesCluster - :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 = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.KubernetesCluster] = kwargs.pop("cls", None) - - _request = build_kubernetes_clusters_get_request( - resource_group_name=resource_group_name, - kubernetes_cluster_name=kubernetes_cluster_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("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]: - if _stream: - 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.KubernetesCluster, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - async def _create_or_update_initial( + async def _delete_initial( self, resource_group_name: str, kubernetes_cluster_name: str, - kubernetes_cluster_parameters: Union[_models.KubernetesCluster, JSON, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -9854,28 +8371,18 @@ async def _create_or_update_initial( error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - 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" - _content = None - if isinstance(kubernetes_cluster_parameters, (IOBase, bytes)): - _content = kubernetes_cluster_parameters - else: - _content = json.dumps(kubernetes_cluster_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_kubernetes_clusters_create_or_update_request( + _request = build_kubernetes_clusters_delete_request( resource_group_name=resource_group_name, kubernetes_cluster_name=kubernetes_cluster_name, subscription_id=self._config.subscription_id, etag=etag, match_condition=match_condition, - content_type=content_type, api_version=self._config.api_version, - content=_content, headers=_headers, params=_params, ) @@ -9892,7 +8399,7 @@ async def _create_or_update_initial( response = pipeline_response.http_response - if response.status_code not in [200, 201]: + if response.status_code not in [202, 204]: try: await response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -9905,10 +8412,8 @@ async def _create_or_update_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - if response.status_code == 201: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -9917,159 +8422,47 @@ async def _create_or_update_initial( return deserialized # type: ignore - @overload - async def begin_create_or_update( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_parameters: _models.KubernetesCluster, - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> AsyncLROPoller[_models.KubernetesCluster]: - """Create a new Kubernetes cluster or update the properties of the existing one. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_parameters: The request body. Required. - :type kubernetes_cluster_parameters: ~azure.mgmt.networkcloud.models.KubernetesCluster - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns KubernetesCluster. The KubernetesCluster is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_create_or_update( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_parameters: JSON, - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> AsyncLROPoller[_models.KubernetesCluster]: - """Create a new Kubernetes cluster or update the properties of the existing one. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_parameters: The request body. Required. - :type kubernetes_cluster_parameters: JSON - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns KubernetesCluster. The KubernetesCluster is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_create_or_update( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_parameters: IO[bytes], - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> AsyncLROPoller[_models.KubernetesCluster]: - """Create a new Kubernetes cluster or update the properties of the existing one. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_parameters: The request body. Required. - :type kubernetes_cluster_parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns KubernetesCluster. The KubernetesCluster is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] - :raises ~azure.core.exceptions.HttpResponseError: - """ - @distributed_trace_async - async def begin_create_or_update( + async def begin_delete( self, resource_group_name: str, kubernetes_cluster_name: str, - kubernetes_cluster_parameters: Union[_models.KubernetesCluster, JSON, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.KubernetesCluster]: - """Create a new Kubernetes cluster or update the properties of the existing one. + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Delete the provided Kubernetes cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. :type kubernetes_cluster_name: str - :param kubernetes_cluster_parameters: The request body. Is one of the following types: - KubernetesCluster, JSON, IO[bytes] Required. - :type kubernetes_cluster_parameters: ~azure.mgmt.networkcloud.models.KubernetesCluster or JSON - or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns KubernetesCluster. The KubernetesCluster is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :return: An instance of AsyncLROPoller that returns OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.KubernetesCluster] = kwargs.pop("cls", None) + cls: ClsType[_models.OperationStatusResult] = 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( + raw_result = await self._delete_initial( resource_group_name=resource_group_name, kubernetes_cluster_name=kubernetes_cluster_name, - kubernetes_cluster_parameters=kubernetes_cluster_parameters, etag=etag, match_condition=match_condition, - content_type=content_type, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -10079,10 +8472,13 @@ async def begin_create_or_update( kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): + response_headers = {} response = pipeline_response.http_response - deserialized = _deserialize(_models.KubernetesCluster, response.json()) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + + deserialized = _deserialize(_models.OperationStatusResult, response.json()) if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + return cls(pipeline_response, deserialized, response_headers) # type: ignore return deserialized path_format_arguments = { @@ -10098,1409 +8494,264 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return AsyncLROPoller[_models.KubernetesCluster].from_continuation_token( + return AsyncLROPoller[_models.OperationStatusResult].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return AsyncLROPoller[_models.KubernetesCluster]( + return AsyncLROPoller[_models.OperationStatusResult]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - async def _update_initial( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_update_parameters: Optional[ - Union[_models.KubernetesClusterPatchParameters, JSON, IO[bytes]] - ] = None, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if kubernetes_cluster_update_parameters else None - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" if kubernetes_cluster_update_parameters else None - _content = None - if isinstance(kubernetes_cluster_update_parameters, (IOBase, bytes)): - _content = kubernetes_cluster_update_parameters - else: - if kubernetes_cluster_update_parameters is not None: - _content = json.dumps(kubernetes_cluster_update_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - else: - _content = None - - _request = build_kubernetes_clusters_update_request( - resource_group_name=resource_group_name, - kubernetes_cluster_name=kubernetes_cluster_name, - subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 202: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - async def begin_update( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_update_parameters: Optional[_models.KubernetesClusterPatchParameters] = None, - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> AsyncLROPoller[_models.KubernetesCluster]: - """Patch the properties of the provided Kubernetes cluster, or update the tags associated with the - Kubernetes cluster. Properties and tag updates can be done independently. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_update_parameters: The request body. Default value is None. - :type kubernetes_cluster_update_parameters: - ~azure.mgmt.networkcloud.models.KubernetesClusterPatchParameters - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns KubernetesCluster. The KubernetesCluster is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_update( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_update_parameters: Optional[JSON] = None, - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> AsyncLROPoller[_models.KubernetesCluster]: - """Patch the properties of the provided Kubernetes cluster, or update the tags associated with the - Kubernetes cluster. Properties and tag updates can be done independently. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_update_parameters: The request body. Default value is None. - :type kubernetes_cluster_update_parameters: JSON - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns KubernetesCluster. The KubernetesCluster is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_update( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_update_parameters: Optional[IO[bytes]] = None, - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> AsyncLROPoller[_models.KubernetesCluster]: - """Patch the properties of the provided Kubernetes cluster, or update the tags associated with the - Kubernetes cluster. Properties and tag updates can be done independently. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_update_parameters: The request body. Default value is None. - :type kubernetes_cluster_update_parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns KubernetesCluster. The KubernetesCluster is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def begin_update( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_update_parameters: Optional[ - Union[_models.KubernetesClusterPatchParameters, JSON, IO[bytes]] - ] = None, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> AsyncLROPoller[_models.KubernetesCluster]: - """Patch the properties of the provided Kubernetes cluster, or update the tags associated with the - Kubernetes cluster. Properties and tag updates can be done independently. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_update_parameters: The request body. Is one of the following types: - KubernetesClusterPatchParameters, JSON, IO[bytes] Default value is None. - :type kubernetes_cluster_update_parameters: - ~azure.mgmt.networkcloud.models.KubernetesClusterPatchParameters or JSON or IO[bytes] - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns KubernetesCluster. The KubernetesCluster is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if kubernetes_cluster_update_parameters else None - cls: ClsType[_models.KubernetesCluster] = 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._update_initial( - resource_group_name=resource_group_name, - kubernetes_cluster_name=kubernetes_cluster_name, - kubernetes_cluster_update_parameters=kubernetes_cluster_update_parameters, - etag=etag, - match_condition=match_condition, - 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): - response = pipeline_response.http_response - deserialized = _deserialize(_models.KubernetesCluster, response.json()) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.KubernetesCluster].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.KubernetesCluster]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - async def _delete_initial( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - _request = build_kubernetes_clusters_delete_request( - resource_group_name=resource_group_name, - kubernetes_cluster_name=kubernetes_cluster_name, - subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _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 = _failsafe_deserialize( - _models.ErrorResponse, - 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")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - 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, - kubernetes_cluster_name: str, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Delete the provided Kubernetes cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.OperationStatusResult] = 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, - kubernetes_cluster_name=kubernetes_cluster_name, - etag=etag, - match_condition=match_condition, - 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): - response_headers = {} - response = pipeline_response.http_response - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - - deserialized = _deserialize(_models.OperationStatusResult, response.json()) - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - return deserialized - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.OperationStatusResult].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.OperationStatusResult]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - @distributed_trace - def list_by_resource_group( - self, resource_group_name: str, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> AsyncItemPaged["_models.KubernetesCluster"]: - """Get a list of Kubernetes clusters in the provided resource group. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. - Default value is None. - :paramtype top: int - :keyword skip_token: The opaque token that the server returns to indicate where to continue - listing resources from. This is used for paging through large result sets. Default value is - None. - :paramtype skip_token: str - :return: An iterator like instance of KubernetesCluster - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.KubernetesCluster] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.KubernetesCluster]] = 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_kubernetes_clusters_list_by_resource_group_request( - resource_group_name=resource_group_name, - subscription_id=self._config.subscription_id, - top=top, - skip_token=skip_token, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - 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), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - async def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.KubernetesCluster], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - @distributed_trace - def list_by_subscription( - self, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> AsyncItemPaged["_models.KubernetesCluster"]: - """Get a list of Kubernetes clusters in the provided subscription. - - :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. - Default value is None. - :paramtype top: int - :keyword skip_token: The opaque token that the server returns to indicate where to continue - listing resources from. This is used for paging through large result sets. Default value is - None. - :paramtype skip_token: str - :return: An iterator like instance of KubernetesCluster - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.KubernetesCluster] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.KubernetesCluster]] = 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_kubernetes_clusters_list_by_subscription_request( - subscription_id=self._config.subscription_id, - top=top, - skip_token=skip_token, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - 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), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - async def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.KubernetesCluster], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - async def _restart_node_initial( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_restart_node_parameters: Union[ - _models.KubernetesClusterRestartNodeParameters, JSON, IO[bytes] - ], - **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 = kwargs.pop("params", {}) or {} - - 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" - _content = None - if isinstance(kubernetes_cluster_restart_node_parameters, (IOBase, bytes)): - _content = kubernetes_cluster_restart_node_parameters - else: - _content = json.dumps(kubernetes_cluster_restart_node_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_kubernetes_clusters_restart_node_request( - resource_group_name=resource_group_name, - kubernetes_cluster_name=kubernetes_cluster_name, - subscription_id=self._config.subscription_id, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _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]: - 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - async def begin_restart_node( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_restart_node_parameters: _models.KubernetesClusterRestartNodeParameters, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Restart a targeted node of a Kubernetes cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_restart_node_parameters: The request body. Required. - :type kubernetes_cluster_restart_node_parameters: - ~azure.mgmt.networkcloud.models.KubernetesClusterRestartNodeParameters - :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_restart_node( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_restart_node_parameters: JSON, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Restart a targeted node of a Kubernetes cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_restart_node_parameters: The request body. Required. - :type kubernetes_cluster_restart_node_parameters: JSON - :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_restart_node( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_restart_node_parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Restart a targeted node of a Kubernetes cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_restart_node_parameters: The request body. Required. - :type kubernetes_cluster_restart_node_parameters: IO[bytes] - :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def begin_restart_node( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_restart_node_parameters: Union[ - _models.KubernetesClusterRestartNodeParameters, JSON, IO[bytes] - ], - **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Restart a targeted node of a Kubernetes cluster. + @distributed_trace + def list_by_resource_group( + self, resource_group_name: str, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any + ) -> AsyncItemPaged["_models.KubernetesCluster"]: + """Get a list of Kubernetes clusters in the provided resource group. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_restart_node_parameters: The request body. Is one of the following - types: KubernetesClusterRestartNodeParameters, JSON, IO[bytes] Required. - :type kubernetes_cluster_restart_node_parameters: - ~azure.mgmt.networkcloud.models.KubernetesClusterRestartNodeParameters or JSON or IO[bytes] - :return: An instance of AsyncLROPoller that returns OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping + :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. + Default value is None. + :paramtype top: int + :keyword skip_token: The opaque token that the server returns to indicate where to continue + listing resources from. This is used for paging through large result sets. Default value is + None. + :paramtype skip_token: str + :return: An iterator like instance of KubernetesCluster :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.OperationStatusResult] = 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._restart_node_initial( - resource_group_name=resource_group_name, - kubernetes_cluster_name=kubernetes_cluster_name, - kubernetes_cluster_restart_node_parameters=kubernetes_cluster_restart_node_parameters, - 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): - response_headers = {} - response = pipeline_response.http_response - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = _deserialize(_models.OperationStatusResult, response.json()) - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - return deserialized - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.OperationStatusResult].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.OperationStatusResult]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - -class KubernetesVersionsOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.networkcloud.aio.NetworkCloudMgmtClient`'s - :attr:`kubernetes_versions` attribute. - """ - - 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: NetworkCloudMgmtClientConfiguration = 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_async - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "kubernetes_version_name", - "accept", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) - async def get( - self, resource_group_name: str, kubernetes_version_name: str, **kwargs: Any - ) -> _models.KubernetesVersion: - """Retrieve the Kubernetes version resource that describes the available Kubernetes versions for - deployment. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_version_name: The name of the Kubernetes version resource. Required. - :type kubernetes_version_name: str - :return: KubernetesVersion. The KubernetesVersion is compatible with MutableMapping - :rtype: ~azure.mgmt.networkcloud.models.KubernetesVersion + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.KubernetesCluster] :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 = kwargs.pop("params", {}) or {} - cls: ClsType[_models.KubernetesVersion] = kwargs.pop("cls", None) - - _request = build_kubernetes_versions_get_request( - resource_group_name=resource_group_name, - kubernetes_version_name=kubernetes_version_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("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]: - if _stream: - 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.KubernetesVersion, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore + cls: ClsType[List[_models.KubernetesCluster]] = kwargs.pop("cls", None) - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "kubernetes_version_name", - "content_type", - "accept", - "etag", - "match_condition", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) - async def _create_or_update_initial( - self, - resource_group_name: str, - kubernetes_version_name: str, - kubernetes_version_parameters: Union[_models.KubernetesVersion, JSON, IO[bytes]], - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> AsyncIterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, 304: ResourceNotModifiedError, } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - 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" - _content = None - if isinstance(kubernetes_version_parameters, (IOBase, bytes)): - _content = kubernetes_version_parameters - else: - _content = json.dumps(kubernetes_version_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + def prepare_request(next_link=None): + if not next_link: - _request = build_kubernetes_versions_create_or_update_request( - resource_group_name=resource_group_name, - kubernetes_version_name=kubernetes_version_name, - subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) + _request = build_kubernetes_clusters_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + top=top, + skip_token=skip_token, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) + 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), + headers=_headers, + params=_next_request_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) - response = pipeline_response.http_response + return _request - 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, + async def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.KubernetesCluster], + deserialized.get("value", []), ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + _request = prepare_request(next_link) - response_headers = {} - if response.status_code == 201: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") + _stream = False + pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs ) + response = pipeline_response.http_response - deserialized = response.iter_bytes() if _decompress else response.iter_raw() + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore + return pipeline_response - return deserialized # type: ignore + return AsyncItemPaged(get_next, extract_data) - @overload - async def begin_create_or_update( - self, - resource_group_name: str, - kubernetes_version_name: str, - kubernetes_version_parameters: _models.KubernetesVersion, - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> AsyncLROPoller[_models.KubernetesVersion]: - """Create the Kubernetes version resource or update its tags. This resource is system managed and - should only be created with the name "default". + @distributed_trace + def list_by_subscription( + self, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any + ) -> AsyncItemPaged["_models.KubernetesCluster"]: + """Get a list of Kubernetes clusters in the provided subscription. - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_version_name: The name of the Kubernetes version resource. Required. - :type kubernetes_version_name: str - :param kubernetes_version_parameters: The request body. Required. - :type kubernetes_version_parameters: ~azure.mgmt.networkcloud.models.KubernetesVersion - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. + Default value is None. + :paramtype top: int + :keyword skip_token: The opaque token that the server returns to indicate where to continue + listing resources from. This is used for paging through large result sets. Default value is None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns KubernetesVersion. The KubernetesVersion is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesVersion] + :paramtype skip_token: str + :return: An iterator like instance of KubernetesCluster + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.KubernetesCluster] :raises ~azure.core.exceptions.HttpResponseError: """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} - @overload - async def begin_create_or_update( - self, - resource_group_name: str, - kubernetes_version_name: str, - kubernetes_version_parameters: JSON, - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> AsyncLROPoller[_models.KubernetesVersion]: - """Create the Kubernetes version resource or update its tags. This resource is system managed and - should only be created with the name "default". + cls: ClsType[List[_models.KubernetesCluster]] = kwargs.pop("cls", None) - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_version_name: The name of the Kubernetes version resource. Required. - :type kubernetes_version_name: str - :param kubernetes_version_parameters: The request body. Required. - :type kubernetes_version_parameters: JSON - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns KubernetesVersion. The KubernetesVersion is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesVersion] - :raises ~azure.core.exceptions.HttpResponseError: - """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) - @overload - async def begin_create_or_update( - self, - resource_group_name: str, - kubernetes_version_name: str, - kubernetes_version_parameters: IO[bytes], - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> AsyncLROPoller[_models.KubernetesVersion]: - """Create the Kubernetes version resource or update its tags. This resource is system managed and - should only be created with the name "default". + def prepare_request(next_link=None): + if not next_link: - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_version_name: The name of the Kubernetes version resource. Required. - :type kubernetes_version_name: str - :param kubernetes_version_parameters: The request body. Required. - :type kubernetes_version_parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns KubernetesVersion. The KubernetesVersion is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesVersion] - :raises ~azure.core.exceptions.HttpResponseError: - """ + _request = build_kubernetes_clusters_list_by_subscription_request( + subscription_id=self._config.subscription_id, + top=top, + skip_token=skip_token, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) - @distributed_trace_async - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "kubernetes_version_name", - "content_type", - "accept", - "etag", - "match_condition", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) - async def begin_create_or_update( - self, - resource_group_name: str, - kubernetes_version_name: str, - kubernetes_version_parameters: Union[_models.KubernetesVersion, JSON, IO[bytes]], - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> AsyncLROPoller[_models.KubernetesVersion]: - """Create the Kubernetes version resource or update its tags. This resource is system managed and - should only be created with the name "default". + 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), + headers=_headers, + params=_next_request_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_version_name: The name of the Kubernetes version resource. Required. - :type kubernetes_version_name: str - :param kubernetes_version_parameters: The request body. Is one of the following types: - KubernetesVersion, JSON, IO[bytes] Required. - :type kubernetes_version_parameters: ~azure.mgmt.networkcloud.models.KubernetesVersion or JSON - or IO[bytes] - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns KubernetesVersion. The KubernetesVersion is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesVersion] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} + return _request - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.KubernetesVersion] = 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, - kubernetes_version_name=kubernetes_version_name, - kubernetes_version_parameters=kubernetes_version_parameters, - etag=etag, - match_condition=match_condition, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs + async def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.KubernetesCluster], + deserialized.get("value", []), ) - await raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - response = pipeline_response.http_response - deserialized = _deserialize(_models.KubernetesVersion, response.json()) if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") or None, AsyncList(list_of_elem) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } + async def get_next(next_link=None): + _request = prepare_request(next_link) - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.KubernetesVersion].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, + _stream = False + pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs ) - return AsyncLROPoller[_models.KubernetesVersion]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) + response = pipeline_response.http_response - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "kubernetes_version_name", - "content_type", - "accept", - "etag", - "match_condition", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) - async def _update_initial( + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + async def _restart_node_initial( self, resource_group_name: str, - kubernetes_version_name: str, - kubernetes_version_patch_parameters: Optional[ - Union[_models.KubernetesVersionPatchParameters, JSON, IO[bytes]] - ] = None, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, + kubernetes_cluster_name: str, + kubernetes_cluster_restart_node_parameters: Union[ + _models.KubernetesClusterRestartNodeParameters, _types.KubernetesClusterRestartNodeParameters, IO[bytes] + ], **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if kubernetes_version_patch_parameters else None cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" if kubernetes_version_patch_parameters else None + content_type = content_type or "application/json" _content = None - if isinstance(kubernetes_version_patch_parameters, (IOBase, bytes)): - _content = kubernetes_version_patch_parameters + if isinstance(kubernetes_cluster_restart_node_parameters, (IOBase, bytes)): + _content = kubernetes_cluster_restart_node_parameters else: - if kubernetes_version_patch_parameters is not None: - _content = json.dumps(kubernetes_version_patch_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - else: - _content = None + _content = json.dumps(kubernetes_cluster_restart_node_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_kubernetes_versions_update_request( + _request = build_kubernetes_clusters_restart_node_request( resource_group_name=resource_group_name, - kubernetes_version_name=kubernetes_version_name, + kubernetes_cluster_name=kubernetes_cluster_name, subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, content_type=content_type, api_version=self._config.api_version, content=_content, @@ -11520,7 +8771,7 @@ async def _update_initial( response = pipeline_response.http_response - if response.status_code not in [200, 202]: + if response.status_code not in [202]: try: await response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -11533,11 +8784,8 @@ async def _update_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - if response.status_code == 202: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -11547,363 +8795,136 @@ async def _update_initial( return deserialized # type: ignore @overload - async def begin_update( + async def begin_restart_node( self, resource_group_name: str, - kubernetes_version_name: str, - kubernetes_version_patch_parameters: Optional[_models.KubernetesVersionPatchParameters] = None, + kubernetes_cluster_name: str, + kubernetes_cluster_restart_node_parameters: _models.KubernetesClusterRestartNodeParameters, *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.KubernetesVersion]: - """Update tags associated with the Kubernetes version resource. No other properties are supported - for update. + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Restart a targeted node of a Kubernetes cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param kubernetes_version_name: The name of the Kubernetes version resource. Required. - :type kubernetes_version_name: str - :param kubernetes_version_patch_parameters: The request body. Default value is None. - :type kubernetes_version_patch_parameters: - ~azure.mgmt.networkcloud.models.KubernetesVersionPatchParameters + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_restart_node_parameters: The request body. Required. + :type kubernetes_cluster_restart_node_parameters: + ~azure.mgmt.networkcloud.models.KubernetesClusterRestartNodeParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns KubernetesVersion. The KubernetesVersion is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesVersion] + :return: An instance of AsyncLROPoller that returns OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def begin_update( + async def begin_restart_node( self, resource_group_name: str, - kubernetes_version_name: str, - kubernetes_version_patch_parameters: Optional[JSON] = None, + kubernetes_cluster_name: str, + kubernetes_cluster_restart_node_parameters: _types.KubernetesClusterRestartNodeParameters, *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.KubernetesVersion]: - """Update tags associated with the Kubernetes version resource. No other properties are supported - for update. + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Restart a targeted node of a Kubernetes cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param kubernetes_version_name: The name of the Kubernetes version resource. Required. - :type kubernetes_version_name: str - :param kubernetes_version_patch_parameters: The request body. Default value is None. - :type kubernetes_version_patch_parameters: JSON + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_restart_node_parameters: The request body. Required. + :type kubernetes_cluster_restart_node_parameters: + ~azure.mgmt.networkcloud.types.KubernetesClusterRestartNodeParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns KubernetesVersion. The KubernetesVersion is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesVersion] + :return: An instance of AsyncLROPoller that returns OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def begin_update( + async def begin_restart_node( self, resource_group_name: str, - kubernetes_version_name: str, - kubernetes_version_patch_parameters: Optional[IO[bytes]] = None, + kubernetes_cluster_name: str, + kubernetes_cluster_restart_node_parameters: IO[bytes], *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.KubernetesVersion]: - """Update tags associated with the Kubernetes version resource. No other properties are supported - for update. + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Restart a targeted node of a Kubernetes cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param kubernetes_version_name: The name of the Kubernetes version resource. Required. - :type kubernetes_version_name: str - :param kubernetes_version_patch_parameters: The request body. Default value is None. - :type kubernetes_version_patch_parameters: IO[bytes] + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_restart_node_parameters: The request body. Required. + :type kubernetes_cluster_restart_node_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns KubernetesVersion. The KubernetesVersion is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesVersion] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "kubernetes_version_name", - "content_type", - "accept", - "etag", - "match_condition", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) - async def begin_update( - self, - resource_group_name: str, - kubernetes_version_name: str, - kubernetes_version_patch_parameters: Optional[ - Union[_models.KubernetesVersionPatchParameters, JSON, IO[bytes]] - ] = None, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> AsyncLROPoller[_models.KubernetesVersion]: - """Update tags associated with the Kubernetes version resource. No other properties are supported - for update. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_version_name: The name of the Kubernetes version resource. Required. - :type kubernetes_version_name: str - :param kubernetes_version_patch_parameters: The request body. Is one of the following types: - KubernetesVersionPatchParameters, JSON, IO[bytes] Default value is None. - :type kubernetes_version_patch_parameters: - ~azure.mgmt.networkcloud.models.KubernetesVersionPatchParameters or JSON or IO[bytes] - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns KubernetesVersion. The KubernetesVersion is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesVersion] + :return: An instance of AsyncLROPoller that returns OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if kubernetes_version_patch_parameters else None - cls: ClsType[_models.KubernetesVersion] = 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._update_initial( - resource_group_name=resource_group_name, - kubernetes_version_name=kubernetes_version_name, - kubernetes_version_patch_parameters=kubernetes_version_patch_parameters, - etag=etag, - match_condition=match_condition, - 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): - response = pipeline_response.http_response - deserialized = _deserialize(_models.KubernetesVersion, response.json()) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.KubernetesVersion].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.KubernetesVersion]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "kubernetes_version_name", - "etag", - "match_condition", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) - async def _delete_initial( - self, - resource_group_name: str, - kubernetes_version_name: str, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - _request = build_kubernetes_versions_delete_request( - resource_group_name=resource_group_name, - kubernetes_version_name=kubernetes_version_name, - subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _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 = _failsafe_deserialize( - _models.ErrorResponse, - 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")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore @distributed_trace_async - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "kubernetes_version_name", - "etag", - "match_condition", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) - async def begin_delete( + async def begin_restart_node( self, resource_group_name: str, - kubernetes_version_name: str, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, + kubernetes_cluster_name: str, + kubernetes_cluster_restart_node_parameters: Union[ + _models.KubernetesClusterRestartNodeParameters, _types.KubernetesClusterRestartNodeParameters, IO[bytes] + ], **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Delete the specified Kubernetes version resource. + """Restart a targeted node of a Kubernetes cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param kubernetes_version_name: The name of the Kubernetes version resource. Required. - :type kubernetes_version_name: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_restart_node_parameters: The request body. Is either a + KubernetesClusterRestartNodeParameters type or a IO[bytes] type. Required. + :type kubernetes_cluster_restart_node_parameters: + ~azure.mgmt.networkcloud.models.KubernetesClusterRestartNodeParameters or + ~azure.mgmt.networkcloud.types.KubernetesClusterRestartNodeParameters or IO[bytes] :return: An instance of AsyncLROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ - _headers = kwargs.pop("headers", {}) or {} + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.OperationStatusResult] = 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( + raw_result = await self._restart_node_initial( resource_group_name=resource_group_name, - kubernetes_version_name=kubernetes_version_name, - etag=etag, - match_condition=match_condition, + kubernetes_cluster_name=kubernetes_cluster_name, + kubernetes_cluster_restart_node_parameters=kubernetes_cluster_restart_node_parameters, + content_type=content_type, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -11916,6 +8937,7 @@ def get_long_running_output(pipeline_response): response_headers = {} response = pipeline_response.http_response response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) deserialized = _deserialize(_models.OperationStatusResult, response.json()) if cls: @@ -11945,239 +8967,6 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - @distributed_trace - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "top", - "skip_token", - "accept", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) - def list_by_resource_group( - self, resource_group_name: str, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> AsyncItemPaged["_models.KubernetesVersion"]: - """Get a list of Kubernetes version resources in the provided resource group. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. - Default value is None. - :paramtype top: int - :keyword skip_token: The opaque token that the server returns to indicate where to continue - listing resources from. This is used for paging through large result sets. Default value is - None. - :paramtype skip_token: str - :return: An iterator like instance of KubernetesVersion - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.KubernetesVersion] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.KubernetesVersion]] = 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_kubernetes_versions_list_by_resource_group_request( - resource_group_name=resource_group_name, - subscription_id=self._config.subscription_id, - top=top, - skip_token=skip_token, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - 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), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - async def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.KubernetesVersion], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - @distributed_trace - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={"2026-01-01-preview": ["api_version", "subscription_id", "top", "skip_token", "accept"]}, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) - def list_by_subscription( - self, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> AsyncItemPaged["_models.KubernetesVersion"]: - """Get a list of Kubernetes version resources in the provided subscription. - - :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. - Default value is None. - :paramtype top: int - :keyword skip_token: The opaque token that the server returns to indicate where to continue - listing resources from. This is used for paging through large result sets. Default value is - None. - :paramtype skip_token: str - :return: An iterator like instance of KubernetesVersion - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.KubernetesVersion] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.KubernetesVersion]] = 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_kubernetes_versions_list_by_subscription_request( - subscription_id=self._config.subscription_id, - top=top, - skip_token=skip_token, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - 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), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - async def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.KubernetesVersion], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - class L2NetworksOperations: """ @@ -12270,7 +9059,7 @@ async def _create_or_update_initial( self, resource_group_name: str, l2_network_name: str, - l2_network_parameters: Union[_models.L2Network, JSON, IO[bytes]], + l2_network_parameters: Union[_models.L2Network, _types.L2Network, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -12393,7 +9182,7 @@ async def begin_create_or_update( self, resource_group_name: str, l2_network_name: str, - l2_network_parameters: JSON, + l2_network_parameters: _types.L2Network, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -12408,7 +9197,7 @@ async def begin_create_or_update( :param l2_network_name: The name of the L2 network. Required. :type l2_network_name: str :param l2_network_parameters: The request body. Required. - :type l2_network_parameters: JSON + :type l2_network_parameters: ~azure.mgmt.networkcloud.types.L2Network :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -12463,7 +9252,7 @@ async def begin_create_or_update( self, resource_group_name: str, l2_network_name: str, - l2_network_parameters: Union[_models.L2Network, JSON, IO[bytes]], + l2_network_parameters: Union[_models.L2Network, _types.L2Network, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -12476,9 +9265,10 @@ async def begin_create_or_update( :type resource_group_name: str :param l2_network_name: The name of the L2 network. Required. :type l2_network_name: str - :param l2_network_parameters: The request body. Is one of the following types: L2Network, JSON, - IO[bytes] Required. - :type l2_network_parameters: ~azure.mgmt.networkcloud.models.L2Network or JSON or IO[bytes] + :param l2_network_parameters: The request body. Is either a L2Network type or a IO[bytes] type. + Required. + :type l2_network_parameters: ~azure.mgmt.networkcloud.models.L2Network or + ~azure.mgmt.networkcloud.types.L2Network or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -12582,7 +9372,7 @@ async def update( self, resource_group_name: str, l2_network_name: str, - l2_network_update_parameters: Optional[JSON] = None, + l2_network_update_parameters: Optional[_types.L2NetworkPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -12597,7 +9387,7 @@ async def update( :param l2_network_name: The name of the L2 network. Required. :type l2_network_name: str :param l2_network_update_parameters: The request body. Default value is None. - :type l2_network_update_parameters: JSON + :type l2_network_update_parameters: ~azure.mgmt.networkcloud.types.L2NetworkPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -12650,7 +9440,9 @@ async def update( self, resource_group_name: str, l2_network_name: str, - l2_network_update_parameters: Optional[Union[_models.L2NetworkPatchParameters, JSON, IO[bytes]]] = None, + l2_network_update_parameters: Optional[ + Union[_models.L2NetworkPatchParameters, _types.L2NetworkPatchParameters, IO[bytes]] + ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -12663,10 +9455,10 @@ async def update( :type resource_group_name: str :param l2_network_name: The name of the L2 network. Required. :type l2_network_name: str - :param l2_network_update_parameters: The request body. Is one of the following types: - L2NetworkPatchParameters, JSON, IO[bytes] Default value is None. + :param l2_network_update_parameters: The request body. Is either a L2NetworkPatchParameters + type or a IO[bytes] type. Default value is None. :type l2_network_update_parameters: ~azure.mgmt.networkcloud.models.L2NetworkPatchParameters or - JSON or IO[bytes] + ~azure.mgmt.networkcloud.types.L2NetworkPatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -13215,7 +10007,7 @@ async def _create_or_update_initial( self, resource_group_name: str, l3_network_name: str, - l3_network_parameters: Union[_models.L3Network, JSON, IO[bytes]], + l3_network_parameters: Union[_models.L3Network, _types.L3Network, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -13338,7 +10130,7 @@ async def begin_create_or_update( self, resource_group_name: str, l3_network_name: str, - l3_network_parameters: JSON, + l3_network_parameters: _types.L3Network, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -13353,7 +10145,7 @@ async def begin_create_or_update( :param l3_network_name: The name of the L3 network. Required. :type l3_network_name: str :param l3_network_parameters: The request body. Required. - :type l3_network_parameters: JSON + :type l3_network_parameters: ~azure.mgmt.networkcloud.types.L3Network :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -13408,7 +10200,7 @@ async def begin_create_or_update( self, resource_group_name: str, l3_network_name: str, - l3_network_parameters: Union[_models.L3Network, JSON, IO[bytes]], + l3_network_parameters: Union[_models.L3Network, _types.L3Network, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -13421,9 +10213,10 @@ async def begin_create_or_update( :type resource_group_name: str :param l3_network_name: The name of the L3 network. Required. :type l3_network_name: str - :param l3_network_parameters: The request body. Is one of the following types: L3Network, JSON, - IO[bytes] Required. - :type l3_network_parameters: ~azure.mgmt.networkcloud.models.L3Network or JSON or IO[bytes] + :param l3_network_parameters: The request body. Is either a L3Network type or a IO[bytes] type. + Required. + :type l3_network_parameters: ~azure.mgmt.networkcloud.models.L3Network or + ~azure.mgmt.networkcloud.types.L3Network or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -13527,7 +10320,7 @@ async def update( self, resource_group_name: str, l3_network_name: str, - l3_network_update_parameters: Optional[JSON] = None, + l3_network_update_parameters: Optional[_types.L3NetworkPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -13542,7 +10335,7 @@ async def update( :param l3_network_name: The name of the L3 network. Required. :type l3_network_name: str :param l3_network_update_parameters: The request body. Default value is None. - :type l3_network_update_parameters: JSON + :type l3_network_update_parameters: ~azure.mgmt.networkcloud.types.L3NetworkPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -13595,7 +10388,9 @@ async def update( self, resource_group_name: str, l3_network_name: str, - l3_network_update_parameters: Optional[Union[_models.L3NetworkPatchParameters, JSON, IO[bytes]]] = None, + l3_network_update_parameters: Optional[ + Union[_models.L3NetworkPatchParameters, _types.L3NetworkPatchParameters, IO[bytes]] + ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -13608,10 +10403,10 @@ async def update( :type resource_group_name: str :param l3_network_name: The name of the L3 network. Required. :type l3_network_name: str - :param l3_network_update_parameters: The request body. Is one of the following types: - L3NetworkPatchParameters, JSON, IO[bytes] Default value is None. + :param l3_network_update_parameters: The request body. Is either a L3NetworkPatchParameters + type or a IO[bytes] type. Default value is None. :type l3_network_update_parameters: ~azure.mgmt.networkcloud.models.L3NetworkPatchParameters or - JSON or IO[bytes] + ~azure.mgmt.networkcloud.types.L3NetworkPatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -14337,7 +11132,7 @@ async def _create_or_update_initial( self, resource_group_name: str, rack_name: str, - rack_parameters: Union[_models.Rack, JSON, IO[bytes]], + rack_parameters: Union[_models.Rack, _types.Rack, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -14461,7 +11256,7 @@ async def begin_create_or_update( self, resource_group_name: str, rack_name: str, - rack_parameters: JSON, + rack_parameters: _types.Rack, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -14477,7 +11272,7 @@ async def begin_create_or_update( :param rack_name: The name of the rack. Required. :type rack_name: str :param rack_parameters: The request body. Required. - :type rack_parameters: JSON + :type rack_parameters: ~azure.mgmt.networkcloud.types.Rack :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -14533,7 +11328,7 @@ async def begin_create_or_update( self, resource_group_name: str, rack_name: str, - rack_parameters: Union[_models.Rack, JSON, IO[bytes]], + rack_parameters: Union[_models.Rack, _types.Rack, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -14547,9 +11342,9 @@ async def begin_create_or_update( :type resource_group_name: str :param rack_name: The name of the rack. Required. :type rack_name: str - :param rack_parameters: The request body. Is one of the following types: Rack, JSON, IO[bytes] - Required. - :type rack_parameters: ~azure.mgmt.networkcloud.models.Rack or JSON or IO[bytes] + :param rack_parameters: The request body. Is either a Rack type or a IO[bytes] type. Required. + :type rack_parameters: ~azure.mgmt.networkcloud.models.Rack or + ~azure.mgmt.networkcloud.types.Rack or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -14618,7 +11413,9 @@ async def _update_initial( self, resource_group_name: str, rack_name: str, - rack_update_parameters: Optional[Union[_models.RackPatchParameters, JSON, IO[bytes]]] = None, + rack_update_parameters: Optional[ + Union[_models.RackPatchParameters, _types.RackPatchParameters, IO[bytes]] + ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -14747,7 +11544,7 @@ async def begin_update( self, resource_group_name: str, rack_name: str, - rack_update_parameters: Optional[JSON] = None, + rack_update_parameters: Optional[_types.RackPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -14763,7 +11560,7 @@ async def begin_update( :param rack_name: The name of the rack. Required. :type rack_name: str :param rack_update_parameters: The request body. Default value is None. - :type rack_update_parameters: JSON + :type rack_update_parameters: ~azure.mgmt.networkcloud.types.RackPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -14819,7 +11616,9 @@ async def begin_update( self, resource_group_name: str, rack_name: str, - rack_update_parameters: Optional[Union[_models.RackPatchParameters, JSON, IO[bytes]]] = None, + rack_update_parameters: Optional[ + Union[_models.RackPatchParameters, _types.RackPatchParameters, IO[bytes]] + ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -14833,10 +11632,10 @@ async def begin_update( :type resource_group_name: str :param rack_name: The name of the rack. Required. :type rack_name: str - :param rack_update_parameters: The request body. Is one of the following types: - RackPatchParameters, JSON, IO[bytes] Default value is None. - :type rack_update_parameters: ~azure.mgmt.networkcloud.models.RackPatchParameters or JSON or - IO[bytes] + :param rack_update_parameters: The request body. Is either a RackPatchParameters type or a + IO[bytes] type. Default value is None. + :type rack_update_parameters: ~azure.mgmt.networkcloud.models.RackPatchParameters or + ~azure.mgmt.networkcloud.types.RackPatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -15365,7 +12164,7 @@ async def _create_or_update_initial( self, resource_group_name: str, storage_appliance_name: str, - storage_appliance_parameters: Union[_models.StorageAppliance, JSON, IO[bytes]], + storage_appliance_parameters: Union[_models.StorageAppliance, _types.StorageAppliance, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -15490,7 +12289,7 @@ async def begin_create_or_update( self, resource_group_name: str, storage_appliance_name: str, - storage_appliance_parameters: JSON, + storage_appliance_parameters: _types.StorageAppliance, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -15507,7 +12306,7 @@ async def begin_create_or_update( :param storage_appliance_name: The name of the storage appliance. Required. :type storage_appliance_name: str :param storage_appliance_parameters: The request body. Required. - :type storage_appliance_parameters: JSON + :type storage_appliance_parameters: ~azure.mgmt.networkcloud.types.StorageAppliance :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -15564,7 +12363,7 @@ async def begin_create_or_update( self, resource_group_name: str, storage_appliance_name: str, - storage_appliance_parameters: Union[_models.StorageAppliance, JSON, IO[bytes]], + storage_appliance_parameters: Union[_models.StorageAppliance, _types.StorageAppliance, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -15579,10 +12378,10 @@ async def begin_create_or_update( :type resource_group_name: str :param storage_appliance_name: The name of the storage appliance. Required. :type storage_appliance_name: str - :param storage_appliance_parameters: The request body. Is one of the following types: - StorageAppliance, JSON, IO[bytes] Required. - :type storage_appliance_parameters: ~azure.mgmt.networkcloud.models.StorageAppliance or JSON or - IO[bytes] + :param storage_appliance_parameters: The request body. Is either a StorageAppliance type or a + IO[bytes] type. Required. + :type storage_appliance_parameters: ~azure.mgmt.networkcloud.models.StorageAppliance or + ~azure.mgmt.networkcloud.types.StorageAppliance or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -15652,7 +12451,7 @@ async def _update_initial( resource_group_name: str, storage_appliance_name: str, storage_appliance_update_parameters: Optional[ - Union[_models.StorageAppliancePatchParameters, JSON, IO[bytes]] + Union[_models.StorageAppliancePatchParameters, _types.StorageAppliancePatchParameters, IO[bytes]] ] = None, *, etag: Optional[str] = None, @@ -15783,7 +12582,7 @@ async def begin_update( self, resource_group_name: str, storage_appliance_name: str, - storage_appliance_update_parameters: Optional[JSON] = None, + storage_appliance_update_parameters: Optional[_types.StorageAppliancePatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -15799,7 +12598,8 @@ async def begin_update( :param storage_appliance_name: The name of the storage appliance. Required. :type storage_appliance_name: str :param storage_appliance_update_parameters: The request body. Default value is None. - :type storage_appliance_update_parameters: JSON + :type storage_appliance_update_parameters: + ~azure.mgmt.networkcloud.types.StorageAppliancePatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -15856,7 +12656,7 @@ async def begin_update( resource_group_name: str, storage_appliance_name: str, storage_appliance_update_parameters: Optional[ - Union[_models.StorageAppliancePatchParameters, JSON, IO[bytes]] + Union[_models.StorageAppliancePatchParameters, _types.StorageAppliancePatchParameters, IO[bytes]] ] = None, *, etag: Optional[str] = None, @@ -15871,10 +12671,11 @@ async def begin_update( :type resource_group_name: str :param storage_appliance_name: The name of the storage appliance. Required. :type storage_appliance_name: str - :param storage_appliance_update_parameters: The request body. Is one of the following types: - StorageAppliancePatchParameters, JSON, IO[bytes] Default value is None. + :param storage_appliance_update_parameters: The request body. Is either a + StorageAppliancePatchParameters type or a IO[bytes] type. Default value is None. :type storage_appliance_update_parameters: - ~azure.mgmt.networkcloud.models.StorageAppliancePatchParameters or JSON or IO[bytes] + ~azure.mgmt.networkcloud.models.StorageAppliancePatchParameters or + ~azure.mgmt.networkcloud.types.StorageAppliancePatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -16446,7 +13247,11 @@ async def _enable_remote_vendor_management_initial( resource_group_name: str, storage_appliance_name: str, storage_appliance_enable_remote_vendor_management_parameters: Optional[ - Union[_models.StorageApplianceEnableRemoteVendorManagementParameters, JSON, IO[bytes]] + Union[ + _models.StorageApplianceEnableRemoteVendorManagementParameters, + _types.StorageApplianceEnableRemoteVendorManagementParameters, + IO[bytes], + ] ] = None, **kwargs: Any ) -> AsyncIterator[bytes]: @@ -16561,7 +13366,9 @@ async def begin_enable_remote_vendor_management( self, resource_group_name: str, storage_appliance_name: str, - storage_appliance_enable_remote_vendor_management_parameters: Optional[JSON] = None, + storage_appliance_enable_remote_vendor_management_parameters: Optional[ + _types.StorageApplianceEnableRemoteVendorManagementParameters + ] = None, *, content_type: str = "application/json", **kwargs: Any @@ -16575,7 +13382,8 @@ async def begin_enable_remote_vendor_management( :type storage_appliance_name: str :param storage_appliance_enable_remote_vendor_management_parameters: The request body. Default value is None. - :type storage_appliance_enable_remote_vendor_management_parameters: JSON + :type storage_appliance_enable_remote_vendor_management_parameters: + ~azure.mgmt.networkcloud.types.StorageApplianceEnableRemoteVendorManagementParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -16622,7 +13430,11 @@ async def begin_enable_remote_vendor_management( resource_group_name: str, storage_appliance_name: str, storage_appliance_enable_remote_vendor_management_parameters: Optional[ - Union[_models.StorageApplianceEnableRemoteVendorManagementParameters, JSON, IO[bytes]] + Union[ + _models.StorageApplianceEnableRemoteVendorManagementParameters, + _types.StorageApplianceEnableRemoteVendorManagementParameters, + IO[bytes], + ] ] = None, **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: @@ -16633,12 +13445,13 @@ async def begin_enable_remote_vendor_management( :type resource_group_name: str :param storage_appliance_name: The name of the storage appliance. Required. :type storage_appliance_name: str - :param storage_appliance_enable_remote_vendor_management_parameters: The request body. Is one - of the following types: StorageApplianceEnableRemoteVendorManagementParameters, JSON, IO[bytes] + :param storage_appliance_enable_remote_vendor_management_parameters: The request body. Is + either a StorageApplianceEnableRemoteVendorManagementParameters type or a IO[bytes] type. Default value is None. :type storage_appliance_enable_remote_vendor_management_parameters: - ~azure.mgmt.networkcloud.models.StorageApplianceEnableRemoteVendorManagementParameters or JSON - or IO[bytes] + ~azure.mgmt.networkcloud.models.StorageApplianceEnableRemoteVendorManagementParameters or + ~azure.mgmt.networkcloud.types.StorageApplianceEnableRemoteVendorManagementParameters or + IO[bytes] :return: An instance of AsyncLROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: @@ -16707,7 +13520,9 @@ async def _run_read_commands_initial( resource_group_name: str, storage_appliance_name: str, storage_appliance_run_read_commands_parameters: Union[ - _models.StorageApplianceRunReadCommandsParameters, JSON, IO[bytes] + _models.StorageApplianceRunReadCommandsParameters, + _types.StorageApplianceRunReadCommandsParameters, + IO[bytes], ], **kwargs: Any ) -> AsyncIterator[bytes]: @@ -16813,7 +13628,7 @@ async def begin_run_read_commands( self, resource_group_name: str, storage_appliance_name: str, - storage_appliance_run_read_commands_parameters: JSON, + storage_appliance_run_read_commands_parameters: _types.StorageApplianceRunReadCommandsParameters, *, content_type: str = "application/json", **kwargs: Any @@ -16826,7 +13641,8 @@ async def begin_run_read_commands( :param storage_appliance_name: The name of the storage appliance. Required. :type storage_appliance_name: str :param storage_appliance_run_read_commands_parameters: The request body. Required. - :type storage_appliance_run_read_commands_parameters: JSON + :type storage_appliance_run_read_commands_parameters: + ~azure.mgmt.networkcloud.types.StorageApplianceRunReadCommandsParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -16872,7 +13688,9 @@ async def begin_run_read_commands( resource_group_name: str, storage_appliance_name: str, storage_appliance_run_read_commands_parameters: Union[ - _models.StorageApplianceRunReadCommandsParameters, JSON, IO[bytes] + _models.StorageApplianceRunReadCommandsParameters, + _types.StorageApplianceRunReadCommandsParameters, + IO[bytes], ], **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: @@ -16883,10 +13701,11 @@ async def begin_run_read_commands( :type resource_group_name: str :param storage_appliance_name: The name of the storage appliance. Required. :type storage_appliance_name: str - :param storage_appliance_run_read_commands_parameters: The request body. Is one of the - following types: StorageApplianceRunReadCommandsParameters, JSON, IO[bytes] Required. + :param storage_appliance_run_read_commands_parameters: The request body. Is either a + StorageApplianceRunReadCommandsParameters type or a IO[bytes] type. Required. :type storage_appliance_run_read_commands_parameters: - ~azure.mgmt.networkcloud.models.StorageApplianceRunReadCommandsParameters or JSON or IO[bytes] + ~azure.mgmt.networkcloud.models.StorageApplianceRunReadCommandsParameters or + ~azure.mgmt.networkcloud.types.StorageApplianceRunReadCommandsParameters or IO[bytes] :return: An instance of AsyncLROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: @@ -17041,7 +13860,7 @@ async def _create_or_update_initial( self, resource_group_name: str, trunked_network_name: str, - trunked_network_parameters: Union[_models.TrunkedNetwork, JSON, IO[bytes]], + trunked_network_parameters: Union[_models.TrunkedNetwork, _types.TrunkedNetwork, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -17164,7 +13983,7 @@ async def begin_create_or_update( self, resource_group_name: str, trunked_network_name: str, - trunked_network_parameters: JSON, + trunked_network_parameters: _types.TrunkedNetwork, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -17179,7 +13998,7 @@ async def begin_create_or_update( :param trunked_network_name: The name of the trunked network. Required. :type trunked_network_name: str :param trunked_network_parameters: The request body. Required. - :type trunked_network_parameters: JSON + :type trunked_network_parameters: ~azure.mgmt.networkcloud.types.TrunkedNetwork :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -17234,7 +14053,7 @@ async def begin_create_or_update( self, resource_group_name: str, trunked_network_name: str, - trunked_network_parameters: Union[_models.TrunkedNetwork, JSON, IO[bytes]], + trunked_network_parameters: Union[_models.TrunkedNetwork, _types.TrunkedNetwork, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -17247,10 +14066,10 @@ async def begin_create_or_update( :type resource_group_name: str :param trunked_network_name: The name of the trunked network. Required. :type trunked_network_name: str - :param trunked_network_parameters: The request body. Is one of the following types: - TrunkedNetwork, JSON, IO[bytes] Required. - :type trunked_network_parameters: ~azure.mgmt.networkcloud.models.TrunkedNetwork or JSON or - IO[bytes] + :param trunked_network_parameters: The request body. Is either a TrunkedNetwork type or a + IO[bytes] type. Required. + :type trunked_network_parameters: ~azure.mgmt.networkcloud.models.TrunkedNetwork or + ~azure.mgmt.networkcloud.types.TrunkedNetwork or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -17355,7 +14174,7 @@ async def update( self, resource_group_name: str, trunked_network_name: str, - trunked_network_update_parameters: Optional[JSON] = None, + trunked_network_update_parameters: Optional[_types.TrunkedNetworkPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -17370,7 +14189,8 @@ async def update( :param trunked_network_name: The name of the trunked network. Required. :type trunked_network_name: str :param trunked_network_update_parameters: The request body. Default value is None. - :type trunked_network_update_parameters: JSON + :type trunked_network_update_parameters: + ~azure.mgmt.networkcloud.types.TrunkedNetworkPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -17424,7 +14244,7 @@ async def update( resource_group_name: str, trunked_network_name: str, trunked_network_update_parameters: Optional[ - Union[_models.TrunkedNetworkPatchParameters, JSON, IO[bytes]] + Union[_models.TrunkedNetworkPatchParameters, _types.TrunkedNetworkPatchParameters, IO[bytes]] ] = None, *, etag: Optional[str] = None, @@ -17438,10 +14258,11 @@ async def update( :type resource_group_name: str :param trunked_network_name: The name of the trunked network. Required. :type trunked_network_name: str - :param trunked_network_update_parameters: The request body. Is one of the following types: - TrunkedNetworkPatchParameters, JSON, IO[bytes] Default value is None. + :param trunked_network_update_parameters: The request body. Is either a + TrunkedNetworkPatchParameters type or a IO[bytes] type. Default value is None. :type trunked_network_update_parameters: - ~azure.mgmt.networkcloud.models.TrunkedNetworkPatchParameters or JSON or IO[bytes] + ~azure.mgmt.networkcloud.models.TrunkedNetworkPatchParameters or + ~azure.mgmt.networkcloud.types.TrunkedNetworkPatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -17990,7 +14811,7 @@ async def _create_or_update_initial( self, resource_group_name: str, virtual_machine_name: str, - virtual_machine_parameters: Union[_models.VirtualMachine, JSON, IO[bytes]], + virtual_machine_parameters: Union[_models.VirtualMachine, _types.VirtualMachine, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -18113,7 +14934,7 @@ async def begin_create_or_update( self, resource_group_name: str, virtual_machine_name: str, - virtual_machine_parameters: JSON, + virtual_machine_parameters: _types.VirtualMachine, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -18128,7 +14949,7 @@ async def begin_create_or_update( :param virtual_machine_name: The name of the virtual machine. Required. :type virtual_machine_name: str :param virtual_machine_parameters: The request body. Required. - :type virtual_machine_parameters: JSON + :type virtual_machine_parameters: ~azure.mgmt.networkcloud.types.VirtualMachine :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -18183,7 +15004,7 @@ async def begin_create_or_update( self, resource_group_name: str, virtual_machine_name: str, - virtual_machine_parameters: Union[_models.VirtualMachine, JSON, IO[bytes]], + virtual_machine_parameters: Union[_models.VirtualMachine, _types.VirtualMachine, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -18196,10 +15017,10 @@ async def begin_create_or_update( :type resource_group_name: str :param virtual_machine_name: The name of the virtual machine. Required. :type virtual_machine_name: str - :param virtual_machine_parameters: The request body. Is one of the following types: - VirtualMachine, JSON, IO[bytes] Required. - :type virtual_machine_parameters: ~azure.mgmt.networkcloud.models.VirtualMachine or JSON or - IO[bytes] + :param virtual_machine_parameters: The request body. Is either a VirtualMachine type or a + IO[bytes] type. Required. + :type virtual_machine_parameters: ~azure.mgmt.networkcloud.models.VirtualMachine or + ~azure.mgmt.networkcloud.types.VirtualMachine or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -18269,7 +15090,7 @@ async def _update_initial( resource_group_name: str, virtual_machine_name: str, virtual_machine_update_parameters: Optional[ - Union[_models.VirtualMachinePatchParameters, JSON, IO[bytes]] + Union[_models.VirtualMachinePatchParameters, _types.VirtualMachinePatchParameters, IO[bytes]] ] = None, *, etag: Optional[str] = None, @@ -18400,7 +15221,7 @@ async def begin_update( self, resource_group_name: str, virtual_machine_name: str, - virtual_machine_update_parameters: Optional[JSON] = None, + virtual_machine_update_parameters: Optional[_types.VirtualMachinePatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -18416,7 +15237,8 @@ async def begin_update( :param virtual_machine_name: The name of the virtual machine. Required. :type virtual_machine_name: str :param virtual_machine_update_parameters: The request body. Default value is None. - :type virtual_machine_update_parameters: JSON + :type virtual_machine_update_parameters: + ~azure.mgmt.networkcloud.types.VirtualMachinePatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -18473,7 +15295,7 @@ async def begin_update( resource_group_name: str, virtual_machine_name: str, virtual_machine_update_parameters: Optional[ - Union[_models.VirtualMachinePatchParameters, JSON, IO[bytes]] + Union[_models.VirtualMachinePatchParameters, _types.VirtualMachinePatchParameters, IO[bytes]] ] = None, *, etag: Optional[str] = None, @@ -18488,10 +15310,11 @@ async def begin_update( :type resource_group_name: str :param virtual_machine_name: The name of the virtual machine. Required. :type virtual_machine_name: str - :param virtual_machine_update_parameters: The request body. Is one of the following types: - VirtualMachinePatchParameters, JSON, IO[bytes] Default value is None. + :param virtual_machine_update_parameters: The request body. Is either a + VirtualMachinePatchParameters type or a IO[bytes] type. Default value is None. :type virtual_machine_update_parameters: - ~azure.mgmt.networkcloud.models.VirtualMachinePatchParameters or JSON or IO[bytes] + ~azure.mgmt.networkcloud.models.VirtualMachinePatchParameters or + ~azure.mgmt.networkcloud.types.VirtualMachinePatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -18930,7 +15753,7 @@ async def _assign_relay_initial( resource_group_name: str, virtual_machine_name: str, virtual_machine_assign_relay_parameters: Optional[ - Union[_models.VirtualMachineAssignRelayParameters, JSON, IO[bytes]] + Union[_models.VirtualMachineAssignRelayParameters, _types.VirtualMachineAssignRelayParameters, IO[bytes]] ] = None, **kwargs: Any ) -> AsyncIterator[bytes]: @@ -19041,7 +15864,7 @@ async def begin_assign_relay( self, resource_group_name: str, virtual_machine_name: str, - virtual_machine_assign_relay_parameters: Optional[JSON] = None, + virtual_machine_assign_relay_parameters: Optional[_types.VirtualMachineAssignRelayParameters] = None, *, content_type: str = "application/json", **kwargs: Any @@ -19055,7 +15878,8 @@ async def begin_assign_relay( :param virtual_machine_name: The name of the virtual machine. Required. :type virtual_machine_name: str :param virtual_machine_assign_relay_parameters: The request body. Default value is None. - :type virtual_machine_assign_relay_parameters: JSON + :type virtual_machine_assign_relay_parameters: + ~azure.mgmt.networkcloud.types.VirtualMachineAssignRelayParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -19102,7 +15926,7 @@ async def begin_assign_relay( resource_group_name: str, virtual_machine_name: str, virtual_machine_assign_relay_parameters: Optional[ - Union[_models.VirtualMachineAssignRelayParameters, JSON, IO[bytes]] + Union[_models.VirtualMachineAssignRelayParameters, _types.VirtualMachineAssignRelayParameters, IO[bytes]] ] = None, **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: @@ -19114,10 +15938,11 @@ async def begin_assign_relay( :type resource_group_name: str :param virtual_machine_name: The name of the virtual machine. Required. :type virtual_machine_name: str - :param virtual_machine_assign_relay_parameters: The request body. Is one of the following - types: VirtualMachineAssignRelayParameters, JSON, IO[bytes] Default value is None. + :param virtual_machine_assign_relay_parameters: The request body. Is either a + VirtualMachineAssignRelayParameters type or a IO[bytes] type. Default value is None. :type virtual_machine_assign_relay_parameters: - ~azure.mgmt.networkcloud.models.VirtualMachineAssignRelayParameters or JSON or IO[bytes] + ~azure.mgmt.networkcloud.models.VirtualMachineAssignRelayParameters or + ~azure.mgmt.networkcloud.types.VirtualMachineAssignRelayParameters or IO[bytes] :return: An instance of AsyncLROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: @@ -19186,7 +16011,7 @@ async def _power_off_initial( resource_group_name: str, virtual_machine_name: str, virtual_machine_power_off_parameters: Optional[ - Union[_models.VirtualMachinePowerOffParameters, JSON, IO[bytes]] + Union[_models.VirtualMachinePowerOffParameters, _types.VirtualMachinePowerOffParameters, IO[bytes]] ] = None, **kwargs: Any ) -> AsyncIterator[bytes]: @@ -19296,7 +16121,7 @@ async def begin_power_off( self, resource_group_name: str, virtual_machine_name: str, - virtual_machine_power_off_parameters: Optional[JSON] = None, + virtual_machine_power_off_parameters: Optional[_types.VirtualMachinePowerOffParameters] = None, *, content_type: str = "application/json", **kwargs: Any @@ -19309,7 +16134,8 @@ async def begin_power_off( :param virtual_machine_name: The name of the virtual machine. Required. :type virtual_machine_name: str :param virtual_machine_power_off_parameters: The request body. Default value is None. - :type virtual_machine_power_off_parameters: JSON + :type virtual_machine_power_off_parameters: + ~azure.mgmt.networkcloud.types.VirtualMachinePowerOffParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -19355,7 +16181,7 @@ async def begin_power_off( resource_group_name: str, virtual_machine_name: str, virtual_machine_power_off_parameters: Optional[ - Union[_models.VirtualMachinePowerOffParameters, JSON, IO[bytes]] + Union[_models.VirtualMachinePowerOffParameters, _types.VirtualMachinePowerOffParameters, IO[bytes]] ] = None, **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: @@ -19366,10 +16192,11 @@ async def begin_power_off( :type resource_group_name: str :param virtual_machine_name: The name of the virtual machine. Required. :type virtual_machine_name: str - :param virtual_machine_power_off_parameters: The request body. Is one of the following types: - VirtualMachinePowerOffParameters, JSON, IO[bytes] Default value is None. + :param virtual_machine_power_off_parameters: The request body. Is either a + VirtualMachinePowerOffParameters type or a IO[bytes] type. Default value is None. :type virtual_machine_power_off_parameters: - ~azure.mgmt.networkcloud.models.VirtualMachinePowerOffParameters or JSON or IO[bytes] + ~azure.mgmt.networkcloud.models.VirtualMachinePowerOffParameters or + ~azure.mgmt.networkcloud.types.VirtualMachinePowerOffParameters or IO[bytes] :return: An instance of AsyncLROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: @@ -19915,7 +16742,7 @@ async def _create_or_update_initial( self, resource_group_name: str, volume_name: str, - volume_parameters: Union[_models.Volume, JSON, IO[bytes]], + volume_parameters: Union[_models.Volume, _types.Volume, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -20038,7 +16865,7 @@ async def begin_create_or_update( self, resource_group_name: str, volume_name: str, - volume_parameters: JSON, + volume_parameters: _types.Volume, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -20053,7 +16880,7 @@ async def begin_create_or_update( :param volume_name: The name of the volume. Required. :type volume_name: str :param volume_parameters: The request body. Required. - :type volume_parameters: JSON + :type volume_parameters: ~azure.mgmt.networkcloud.types.Volume :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -20108,7 +16935,7 @@ async def begin_create_or_update( self, resource_group_name: str, volume_name: str, - volume_parameters: Union[_models.Volume, JSON, IO[bytes]], + volume_parameters: Union[_models.Volume, _types.Volume, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -20121,9 +16948,10 @@ async def begin_create_or_update( :type resource_group_name: str :param volume_name: The name of the volume. Required. :type volume_name: str - :param volume_parameters: The request body. Is one of the following types: Volume, JSON, - IO[bytes] Required. - :type volume_parameters: ~azure.mgmt.networkcloud.models.Volume or JSON or IO[bytes] + :param volume_parameters: The request body. Is either a Volume type or a IO[bytes] type. + Required. + :type volume_parameters: ~azure.mgmt.networkcloud.models.Volume or + ~azure.mgmt.networkcloud.types.Volume or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -20227,7 +17055,7 @@ async def update( self, resource_group_name: str, volume_name: str, - volume_update_parameters: Optional[JSON] = None, + volume_update_parameters: Optional[_types.VolumePatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -20242,7 +17070,7 @@ async def update( :param volume_name: The name of the volume. Required. :type volume_name: str :param volume_update_parameters: The request body. Default value is None. - :type volume_update_parameters: JSON + :type volume_update_parameters: ~azure.mgmt.networkcloud.types.VolumePatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -20295,7 +17123,9 @@ async def update( self, resource_group_name: str, volume_name: str, - volume_update_parameters: Optional[Union[_models.VolumePatchParameters, JSON, IO[bytes]]] = None, + volume_update_parameters: Optional[ + Union[_models.VolumePatchParameters, _types.VolumePatchParameters, IO[bytes]] + ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -20308,10 +17138,10 @@ async def update( :type resource_group_name: str :param volume_name: The name of the volume. Required. :type volume_name: str - :param volume_update_parameters: The request body. Is one of the following types: - VolumePatchParameters, JSON, IO[bytes] Default value is None. - :type volume_update_parameters: ~azure.mgmt.networkcloud.models.VolumePatchParameters or JSON - or IO[bytes] + :param volume_update_parameters: The request body. Is either a VolumePatchParameters type or a + IO[bytes] type. Default value is None. + :type volume_update_parameters: ~azure.mgmt.networkcloud.models.VolumePatchParameters or + ~azure.mgmt.networkcloud.types.VolumePatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -20866,7 +17696,9 @@ async def _create_or_update_initial( resource_group_name: str, cluster_name: str, bare_metal_machine_key_set_name: str, - bare_metal_machine_key_set_parameters: Union[_models.BareMetalMachineKeySet, JSON, IO[bytes]], + bare_metal_machine_key_set_parameters: Union[ + _models.BareMetalMachineKeySet, _types.BareMetalMachineKeySet, IO[bytes] + ], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -20996,7 +17828,7 @@ async def begin_create_or_update( resource_group_name: str, cluster_name: str, bare_metal_machine_key_set_name: str, - bare_metal_machine_key_set_parameters: JSON, + bare_metal_machine_key_set_parameters: _types.BareMetalMachineKeySet, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -21013,7 +17845,8 @@ async def begin_create_or_update( :param bare_metal_machine_key_set_name: The name of the bare metal machine key set. Required. :type bare_metal_machine_key_set_name: str :param bare_metal_machine_key_set_parameters: The request body. Required. - :type bare_metal_machine_key_set_parameters: JSON + :type bare_metal_machine_key_set_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachineKeySet :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -21074,7 +17907,9 @@ async def begin_create_or_update( resource_group_name: str, cluster_name: str, bare_metal_machine_key_set_name: str, - bare_metal_machine_key_set_parameters: Union[_models.BareMetalMachineKeySet, JSON, IO[bytes]], + bare_metal_machine_key_set_parameters: Union[ + _models.BareMetalMachineKeySet, _types.BareMetalMachineKeySet, IO[bytes] + ], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -21089,10 +17924,11 @@ async def begin_create_or_update( :type cluster_name: str :param bare_metal_machine_key_set_name: The name of the bare metal machine key set. Required. :type bare_metal_machine_key_set_name: str - :param bare_metal_machine_key_set_parameters: The request body. Is one of the following types: - BareMetalMachineKeySet, JSON, IO[bytes] Required. + :param bare_metal_machine_key_set_parameters: The request body. Is either a + BareMetalMachineKeySet type or a IO[bytes] type. Required. :type bare_metal_machine_key_set_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineKeySet or JSON or IO[bytes] + ~azure.mgmt.networkcloud.models.BareMetalMachineKeySet or + ~azure.mgmt.networkcloud.types.BareMetalMachineKeySet or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -21165,7 +18001,9 @@ async def _update_initial( cluster_name: str, bare_metal_machine_key_set_name: str, bare_metal_machine_key_set_update_parameters: Optional[ - Union[_models.BareMetalMachineKeySetPatchParameters, JSON, IO[bytes]] + Union[ + _models.BareMetalMachineKeySetPatchParameters, _types.BareMetalMachineKeySetPatchParameters, IO[bytes] + ] ] = None, *, etag: Optional[str] = None, @@ -21302,7 +18140,7 @@ async def begin_update( resource_group_name: str, cluster_name: str, bare_metal_machine_key_set_name: str, - bare_metal_machine_key_set_update_parameters: Optional[JSON] = None, + bare_metal_machine_key_set_update_parameters: Optional[_types.BareMetalMachineKeySetPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -21320,7 +18158,8 @@ async def begin_update( :param bare_metal_machine_key_set_name: The name of the bare metal machine key set. Required. :type bare_metal_machine_key_set_name: str :param bare_metal_machine_key_set_update_parameters: The request body. Default value is None. - :type bare_metal_machine_key_set_update_parameters: JSON + :type bare_metal_machine_key_set_update_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachineKeySetPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -21383,7 +18222,9 @@ async def begin_update( cluster_name: str, bare_metal_machine_key_set_name: str, bare_metal_machine_key_set_update_parameters: Optional[ - Union[_models.BareMetalMachineKeySetPatchParameters, JSON, IO[bytes]] + Union[ + _models.BareMetalMachineKeySetPatchParameters, _types.BareMetalMachineKeySetPatchParameters, IO[bytes] + ] ] = None, *, etag: Optional[str] = None, @@ -21400,10 +18241,11 @@ async def begin_update( :type cluster_name: str :param bare_metal_machine_key_set_name: The name of the bare metal machine key set. Required. :type bare_metal_machine_key_set_name: str - :param bare_metal_machine_key_set_update_parameters: The request body. Is one of the following - types: BareMetalMachineKeySetPatchParameters, JSON, IO[bytes] Default value is None. + :param bare_metal_machine_key_set_update_parameters: The request body. Is either a + BareMetalMachineKeySetPatchParameters type or a IO[bytes] type. Default value is None. :type bare_metal_machine_key_set_update_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineKeySetPatchParameters or JSON or IO[bytes] + ~azure.mgmt.networkcloud.models.BareMetalMachineKeySetPatchParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachineKeySetPatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -21849,7 +18691,7 @@ async def _create_or_update_initial( resource_group_name: str, cluster_name: str, bmc_key_set_name: str, - bmc_key_set_parameters: Union[_models.BmcKeySet, JSON, IO[bytes]], + bmc_key_set_parameters: Union[_models.BmcKeySet, _types.BmcKeySet, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -21978,7 +18820,7 @@ async def begin_create_or_update( resource_group_name: str, cluster_name: str, bmc_key_set_name: str, - bmc_key_set_parameters: JSON, + bmc_key_set_parameters: _types.BmcKeySet, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -21996,7 +18838,7 @@ async def begin_create_or_update( :param bmc_key_set_name: The name of the baseboard management controller key set. Required. :type bmc_key_set_name: str :param bmc_key_set_parameters: The request body. Required. - :type bmc_key_set_parameters: JSON + :type bmc_key_set_parameters: ~azure.mgmt.networkcloud.types.BmcKeySet :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -22056,7 +18898,7 @@ async def begin_create_or_update( resource_group_name: str, cluster_name: str, bmc_key_set_name: str, - bmc_key_set_parameters: Union[_models.BmcKeySet, JSON, IO[bytes]], + bmc_key_set_parameters: Union[_models.BmcKeySet, _types.BmcKeySet, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -22072,9 +18914,10 @@ async def begin_create_or_update( :type cluster_name: str :param bmc_key_set_name: The name of the baseboard management controller key set. Required. :type bmc_key_set_name: str - :param bmc_key_set_parameters: The request body. Is one of the following types: BmcKeySet, - JSON, IO[bytes] Required. - :type bmc_key_set_parameters: ~azure.mgmt.networkcloud.models.BmcKeySet or JSON or IO[bytes] + :param bmc_key_set_parameters: The request body. Is either a BmcKeySet type or a IO[bytes] + type. Required. + :type bmc_key_set_parameters: ~azure.mgmt.networkcloud.models.BmcKeySet or + ~azure.mgmt.networkcloud.types.BmcKeySet or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -22145,7 +18988,9 @@ async def _update_initial( resource_group_name: str, cluster_name: str, bmc_key_set_name: str, - bmc_key_set_update_parameters: Optional[Union[_models.BmcKeySetPatchParameters, JSON, IO[bytes]]] = None, + bmc_key_set_update_parameters: Optional[ + Union[_models.BmcKeySetPatchParameters, _types.BmcKeySetPatchParameters, IO[bytes]] + ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -22279,7 +19124,7 @@ async def begin_update( resource_group_name: str, cluster_name: str, bmc_key_set_name: str, - bmc_key_set_update_parameters: Optional[JSON] = None, + bmc_key_set_update_parameters: Optional[_types.BmcKeySetPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -22297,7 +19142,7 @@ async def begin_update( :param bmc_key_set_name: The name of the baseboard management controller key set. Required. :type bmc_key_set_name: str :param bmc_key_set_update_parameters: The request body. Default value is None. - :type bmc_key_set_update_parameters: JSON + :type bmc_key_set_update_parameters: ~azure.mgmt.networkcloud.types.BmcKeySetPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -22357,7 +19202,9 @@ async def begin_update( resource_group_name: str, cluster_name: str, bmc_key_set_name: str, - bmc_key_set_update_parameters: Optional[Union[_models.BmcKeySetPatchParameters, JSON, IO[bytes]]] = None, + bmc_key_set_update_parameters: Optional[ + Union[_models.BmcKeySetPatchParameters, _types.BmcKeySetPatchParameters, IO[bytes]] + ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -22373,10 +19220,10 @@ async def begin_update( :type cluster_name: str :param bmc_key_set_name: The name of the baseboard management controller key set. Required. :type bmc_key_set_name: str - :param bmc_key_set_update_parameters: The request body. Is one of the following types: - BmcKeySetPatchParameters, JSON, IO[bytes] Default value is None. + :param bmc_key_set_update_parameters: The request body. Is either a BmcKeySetPatchParameters + type or a IO[bytes] type. Default value is None. :type bmc_key_set_update_parameters: ~azure.mgmt.networkcloud.models.BmcKeySetPatchParameters - or JSON or IO[bytes] + or ~azure.mgmt.networkcloud.types.BmcKeySetPatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -22820,7 +19667,7 @@ async def _create_or_update_initial( resource_group_name: str, kubernetes_cluster_name: str, agent_pool_name: str, - agent_pool_parameters: Union[_models.AgentPool, JSON, IO[bytes]], + agent_pool_parameters: Union[_models.AgentPool, _types.AgentPool, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -22948,7 +19795,7 @@ async def begin_create_or_update( resource_group_name: str, kubernetes_cluster_name: str, agent_pool_name: str, - agent_pool_parameters: JSON, + agent_pool_parameters: _types.AgentPool, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -22965,7 +19812,7 @@ async def begin_create_or_update( :param agent_pool_name: The name of the Kubernetes cluster agent pool. Required. :type agent_pool_name: str :param agent_pool_parameters: The request body. Required. - :type agent_pool_parameters: JSON + :type agent_pool_parameters: ~azure.mgmt.networkcloud.types.AgentPool :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -23024,7 +19871,7 @@ async def begin_create_or_update( resource_group_name: str, kubernetes_cluster_name: str, agent_pool_name: str, - agent_pool_parameters: Union[_models.AgentPool, JSON, IO[bytes]], + agent_pool_parameters: Union[_models.AgentPool, _types.AgentPool, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -23039,9 +19886,10 @@ async def begin_create_or_update( :type kubernetes_cluster_name: str :param agent_pool_name: The name of the Kubernetes cluster agent pool. Required. :type agent_pool_name: str - :param agent_pool_parameters: The request body. Is one of the following types: AgentPool, JSON, - IO[bytes] Required. - :type agent_pool_parameters: ~azure.mgmt.networkcloud.models.AgentPool or JSON or IO[bytes] + :param agent_pool_parameters: The request body. Is either a AgentPool type or a IO[bytes] type. + Required. + :type agent_pool_parameters: ~azure.mgmt.networkcloud.models.AgentPool or + ~azure.mgmt.networkcloud.types.AgentPool or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -23112,7 +19960,9 @@ async def _update_initial( resource_group_name: str, kubernetes_cluster_name: str, agent_pool_name: str, - agent_pool_update_parameters: Optional[Union[_models.AgentPoolPatchParameters, JSON, IO[bytes]]] = None, + agent_pool_update_parameters: Optional[ + Union[_models.AgentPoolPatchParameters, _types.AgentPoolPatchParameters, IO[bytes]] + ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -23247,7 +20097,7 @@ async def begin_update( resource_group_name: str, kubernetes_cluster_name: str, agent_pool_name: str, - agent_pool_update_parameters: Optional[JSON] = None, + agent_pool_update_parameters: Optional[_types.AgentPoolPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -23266,7 +20116,7 @@ async def begin_update( :param agent_pool_name: The name of the Kubernetes cluster agent pool. Required. :type agent_pool_name: str :param agent_pool_update_parameters: The request body. Default value is None. - :type agent_pool_update_parameters: JSON + :type agent_pool_update_parameters: ~azure.mgmt.networkcloud.types.AgentPoolPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -23327,7 +20177,9 @@ async def begin_update( resource_group_name: str, kubernetes_cluster_name: str, agent_pool_name: str, - agent_pool_update_parameters: Optional[Union[_models.AgentPoolPatchParameters, JSON, IO[bytes]]] = None, + agent_pool_update_parameters: Optional[ + Union[_models.AgentPoolPatchParameters, _types.AgentPoolPatchParameters, IO[bytes]] + ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -23344,10 +20196,10 @@ async def begin_update( :type kubernetes_cluster_name: str :param agent_pool_name: The name of the Kubernetes cluster agent pool. Required. :type agent_pool_name: str - :param agent_pool_update_parameters: The request body. Is one of the following types: - AgentPoolPatchParameters, JSON, IO[bytes] Default value is None. + :param agent_pool_update_parameters: The request body. Is either a AgentPoolPatchParameters + type or a IO[bytes] type. Default value is None. :type agent_pool_update_parameters: ~azure.mgmt.networkcloud.models.AgentPoolPatchParameters or - JSON or IO[bytes] + ~azure.mgmt.networkcloud.types.AgentPoolPatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -23792,7 +20644,9 @@ async def _create_or_update_initial( resource_group_name: str, kubernetes_cluster_name: str, feature_name: str, - kubernetes_cluster_feature_parameters: Union[_models.KubernetesClusterFeature, JSON, IO[bytes]], + kubernetes_cluster_feature_parameters: Union[ + _models.KubernetesClusterFeature, _types.KubernetesClusterFeature, IO[bytes] + ], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -23923,7 +20777,7 @@ async def begin_create_or_update( resource_group_name: str, kubernetes_cluster_name: str, feature_name: str, - kubernetes_cluster_feature_parameters: JSON, + kubernetes_cluster_feature_parameters: _types.KubernetesClusterFeature, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -23941,7 +20795,8 @@ async def begin_create_or_update( :param feature_name: The name of the feature. Required. :type feature_name: str :param kubernetes_cluster_feature_parameters: The request body. Required. - :type kubernetes_cluster_feature_parameters: JSON + :type kubernetes_cluster_feature_parameters: + ~azure.mgmt.networkcloud.types.KubernetesClusterFeature :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -24003,7 +20858,9 @@ async def begin_create_or_update( resource_group_name: str, kubernetes_cluster_name: str, feature_name: str, - kubernetes_cluster_feature_parameters: Union[_models.KubernetesClusterFeature, JSON, IO[bytes]], + kubernetes_cluster_feature_parameters: Union[ + _models.KubernetesClusterFeature, _types.KubernetesClusterFeature, IO[bytes] + ], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -24019,10 +20876,11 @@ async def begin_create_or_update( :type kubernetes_cluster_name: str :param feature_name: The name of the feature. Required. :type feature_name: str - :param kubernetes_cluster_feature_parameters: The request body. Is one of the following types: - KubernetesClusterFeature, JSON, IO[bytes] Required. + :param kubernetes_cluster_feature_parameters: The request body. Is either a + KubernetesClusterFeature type or a IO[bytes] type. Required. :type kubernetes_cluster_feature_parameters: - ~azure.mgmt.networkcloud.models.KubernetesClusterFeature or JSON or IO[bytes] + ~azure.mgmt.networkcloud.models.KubernetesClusterFeature or + ~azure.mgmt.networkcloud.types.KubernetesClusterFeature or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -24095,7 +20953,11 @@ async def _update_initial( kubernetes_cluster_name: str, feature_name: str, kubernetes_cluster_feature_update_parameters: Optional[ - Union[_models.KubernetesClusterFeaturePatchParameters, JSON, IO[bytes]] + Union[ + _models.KubernetesClusterFeaturePatchParameters, + _types.KubernetesClusterFeaturePatchParameters, + IO[bytes], + ] ] = None, *, etag: Optional[str] = None, @@ -24231,7 +21093,7 @@ async def begin_update( resource_group_name: str, kubernetes_cluster_name: str, feature_name: str, - kubernetes_cluster_feature_update_parameters: Optional[JSON] = None, + kubernetes_cluster_feature_update_parameters: Optional[_types.KubernetesClusterFeaturePatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -24248,7 +21110,8 @@ async def begin_update( :param feature_name: The name of the feature. Required. :type feature_name: str :param kubernetes_cluster_feature_update_parameters: The request body. Default value is None. - :type kubernetes_cluster_feature_update_parameters: JSON + :type kubernetes_cluster_feature_update_parameters: + ~azure.mgmt.networkcloud.types.KubernetesClusterFeaturePatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -24310,7 +21173,11 @@ async def begin_update( kubernetes_cluster_name: str, feature_name: str, kubernetes_cluster_feature_update_parameters: Optional[ - Union[_models.KubernetesClusterFeaturePatchParameters, JSON, IO[bytes]] + Union[ + _models.KubernetesClusterFeaturePatchParameters, + _types.KubernetesClusterFeaturePatchParameters, + IO[bytes], + ] ] = None, *, etag: Optional[str] = None, @@ -24326,10 +21193,11 @@ async def begin_update( :type kubernetes_cluster_name: str :param feature_name: The name of the feature. Required. :type feature_name: str - :param kubernetes_cluster_feature_update_parameters: The request body. Is one of the following - types: KubernetesClusterFeaturePatchParameters, JSON, IO[bytes] Default value is None. + :param kubernetes_cluster_feature_update_parameters: The request body. Is either a + KubernetesClusterFeaturePatchParameters type or a IO[bytes] type. Default value is None. :type kubernetes_cluster_feature_update_parameters: - ~azure.mgmt.networkcloud.models.KubernetesClusterFeaturePatchParameters or JSON or IO[bytes] + ~azure.mgmt.networkcloud.models.KubernetesClusterFeaturePatchParameters or + ~azure.mgmt.networkcloud.types.KubernetesClusterFeaturePatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -24775,7 +21643,7 @@ async def _create_or_update_initial( resource_group_name: str, virtual_machine_name: str, console_name: str, - console_parameters: Union[_models.Console, JSON, IO[bytes]], + console_parameters: Union[_models.Console, _types.Console, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -24904,7 +21772,7 @@ async def begin_create_or_update( resource_group_name: str, virtual_machine_name: str, console_name: str, - console_parameters: JSON, + console_parameters: _types.Console, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -24922,7 +21790,7 @@ async def begin_create_or_update( :param console_name: The name of the virtual machine console. Required. :type console_name: str :param console_parameters: The request body. Required. - :type console_parameters: JSON + :type console_parameters: ~azure.mgmt.networkcloud.types.Console :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -24982,7 +21850,7 @@ async def begin_create_or_update( resource_group_name: str, virtual_machine_name: str, console_name: str, - console_parameters: Union[_models.Console, JSON, IO[bytes]], + console_parameters: Union[_models.Console, _types.Console, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -24998,9 +21866,10 @@ async def begin_create_or_update( :type virtual_machine_name: str :param console_name: The name of the virtual machine console. Required. :type console_name: str - :param console_parameters: The request body. Is one of the following types: Console, JSON, - IO[bytes] Required. - :type console_parameters: ~azure.mgmt.networkcloud.models.Console or JSON or IO[bytes] + :param console_parameters: The request body. Is either a Console type or a IO[bytes] type. + Required. + :type console_parameters: ~azure.mgmt.networkcloud.models.Console or + ~azure.mgmt.networkcloud.types.Console or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -25071,7 +21940,9 @@ async def _update_initial( resource_group_name: str, virtual_machine_name: str, console_name: str, - console_update_parameters: Optional[Union[_models.ConsolePatchParameters, JSON, IO[bytes]]] = None, + console_update_parameters: Optional[ + Union[_models.ConsolePatchParameters, _types.ConsolePatchParameters, IO[bytes]] + ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -25205,7 +22076,7 @@ async def begin_update( resource_group_name: str, virtual_machine_name: str, console_name: str, - console_update_parameters: Optional[JSON] = None, + console_update_parameters: Optional[_types.ConsolePatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -25223,7 +22094,7 @@ async def begin_update( :param console_name: The name of the virtual machine console. Required. :type console_name: str :param console_update_parameters: The request body. Default value is None. - :type console_update_parameters: JSON + :type console_update_parameters: ~azure.mgmt.networkcloud.types.ConsolePatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -25283,7 +22154,9 @@ async def begin_update( resource_group_name: str, virtual_machine_name: str, console_name: str, - console_update_parameters: Optional[Union[_models.ConsolePatchParameters, JSON, IO[bytes]]] = None, + console_update_parameters: Optional[ + Union[_models.ConsolePatchParameters, _types.ConsolePatchParameters, IO[bytes]] + ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -25299,10 +22172,10 @@ async def begin_update( :type virtual_machine_name: str :param console_name: The name of the virtual machine console. Required. :type console_name: str - :param console_update_parameters: The request body. Is one of the following types: - ConsolePatchParameters, JSON, IO[bytes] Default value is None. - :type console_update_parameters: ~azure.mgmt.networkcloud.models.ConsolePatchParameters or JSON - or IO[bytes] + :param console_update_parameters: The request body. Is either a ConsolePatchParameters type or + a IO[bytes] type. Default value is None. + :type console_update_parameters: ~azure.mgmt.networkcloud.models.ConsolePatchParameters or + ~azure.mgmt.networkcloud.types.ConsolePatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -25748,7 +22621,9 @@ async def _create_or_update_initial( resource_group_name: str, cluster_name: str, metrics_configuration_name: str, - metrics_configuration_parameters: Union[_models.ClusterMetricsConfiguration, JSON, IO[bytes]], + metrics_configuration_parameters: Union[ + _models.ClusterMetricsConfiguration, _types.ClusterMetricsConfiguration, IO[bytes] + ], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -25879,7 +22754,7 @@ async def begin_create_or_update( resource_group_name: str, cluster_name: str, metrics_configuration_name: str, - metrics_configuration_parameters: JSON, + metrics_configuration_parameters: _types.ClusterMetricsConfiguration, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -25897,7 +22772,8 @@ async def begin_create_or_update( Required. :type metrics_configuration_name: str :param metrics_configuration_parameters: The request body. Required. - :type metrics_configuration_parameters: JSON + :type metrics_configuration_parameters: + ~azure.mgmt.networkcloud.types.ClusterMetricsConfiguration :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -25959,7 +22835,9 @@ async def begin_create_or_update( resource_group_name: str, cluster_name: str, metrics_configuration_name: str, - metrics_configuration_parameters: Union[_models.ClusterMetricsConfiguration, JSON, IO[bytes]], + metrics_configuration_parameters: Union[ + _models.ClusterMetricsConfiguration, _types.ClusterMetricsConfiguration, IO[bytes] + ], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -25975,10 +22853,11 @@ async def begin_create_or_update( :param metrics_configuration_name: The name of the metrics configuration for the cluster. Required. :type metrics_configuration_name: str - :param metrics_configuration_parameters: The request body. Is one of the following types: - ClusterMetricsConfiguration, JSON, IO[bytes] Required. + :param metrics_configuration_parameters: The request body. Is either a + ClusterMetricsConfiguration type or a IO[bytes] type. Required. :type metrics_configuration_parameters: - ~azure.mgmt.networkcloud.models.ClusterMetricsConfiguration or JSON or IO[bytes] + ~azure.mgmt.networkcloud.models.ClusterMetricsConfiguration or + ~azure.mgmt.networkcloud.types.ClusterMetricsConfiguration or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -26051,7 +22930,11 @@ async def _update_initial( cluster_name: str, metrics_configuration_name: str, metrics_configuration_update_parameters: Optional[ - Union[_models.ClusterMetricsConfigurationPatchParameters, JSON, IO[bytes]] + Union[ + _models.ClusterMetricsConfigurationPatchParameters, + _types.ClusterMetricsConfigurationPatchParameters, + IO[bytes], + ] ] = None, *, etag: Optional[str] = None, @@ -26189,7 +23072,7 @@ async def begin_update( resource_group_name: str, cluster_name: str, metrics_configuration_name: str, - metrics_configuration_update_parameters: Optional[JSON] = None, + metrics_configuration_update_parameters: Optional[_types.ClusterMetricsConfigurationPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -26208,7 +23091,8 @@ async def begin_update( Required. :type metrics_configuration_name: str :param metrics_configuration_update_parameters: The request body. Default value is None. - :type metrics_configuration_update_parameters: JSON + :type metrics_configuration_update_parameters: + ~azure.mgmt.networkcloud.types.ClusterMetricsConfigurationPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -26272,7 +23156,11 @@ async def begin_update( cluster_name: str, metrics_configuration_name: str, metrics_configuration_update_parameters: Optional[ - Union[_models.ClusterMetricsConfigurationPatchParameters, JSON, IO[bytes]] + Union[ + _models.ClusterMetricsConfigurationPatchParameters, + _types.ClusterMetricsConfigurationPatchParameters, + IO[bytes], + ] ] = None, *, etag: Optional[str] = None, @@ -26290,10 +23178,11 @@ async def begin_update( :param metrics_configuration_name: The name of the metrics configuration for the cluster. Required. :type metrics_configuration_name: str - :param metrics_configuration_update_parameters: The request body. Is one of the following - types: ClusterMetricsConfigurationPatchParameters, JSON, IO[bytes] Default value is None. + :param metrics_configuration_update_parameters: The request body. Is either a + ClusterMetricsConfigurationPatchParameters type or a IO[bytes] type. Default value is None. :type metrics_configuration_update_parameters: - ~azure.mgmt.networkcloud.models.ClusterMetricsConfigurationPatchParameters or JSON or IO[bytes] + ~azure.mgmt.networkcloud.models.ClusterMetricsConfigurationPatchParameters or + ~azure.mgmt.networkcloud.types.ClusterMetricsConfigurationPatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/models/__init__.py b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/models/__init__.py index 0d1972f54d98..6e71f11bab4a 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/models/__init__.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/models/__init__.py @@ -15,12 +15,6 @@ from ._models import ( # type: ignore AadConfiguration, - AccessBridge, - AccessBridgeEndpoint, - AccessBridgePatchParameters, - AccessBridgePatchProperties, - AccessBridgeProperties, - AccessBridgeSecurityRule, ActionState, AdministrativeCredentials, AdministratorConfiguration, @@ -42,12 +36,10 @@ BareMetalMachineKeySetPatchParameters, BareMetalMachineKeySetPatchProperties, BareMetalMachineKeySetProperties, - BareMetalMachineMonitoringConfigurationStatus, BareMetalMachinePatchParameters, BareMetalMachinePatchProperties, BareMetalMachinePowerOffParameters, BareMetalMachineProperties, - BareMetalMachineReimageParameters, BareMetalMachineReplaceParameters, BareMetalMachineRunCommandParameters, BareMetalMachineRunDataExtractsParameters, @@ -72,12 +64,9 @@ ClusterCapacity, ClusterContinueUpdateVersionParameters, ClusterDeployParameters, - ClusterInspectParameters, ClusterManager, ClusterManagerPatchParameters, ClusterManagerProperties, - ClusterManagerRelayConfiguration, - ClusterManagerUpdateRelayPrivateEndpointConnectionParameters, ClusterMetricsConfiguration, ClusterMetricsConfigurationPatchParameters, ClusterMetricsConfigurationPatchProperties, @@ -85,7 +74,6 @@ ClusterPatchParameters, ClusterPatchProperties, ClusterProperties, - ClusterRotateCredentialParameters, ClusterScanRuntimeParameters, ClusterSecretArchive, ClusterUpdateStrategy, @@ -105,7 +93,6 @@ ErrorResponse, ExtendedLocation, FeatureStatus, - FilterDevices, HardwareInventory, HardwareInventoryNetworkInterface, HardwareValidationStatus, @@ -126,10 +113,6 @@ KubernetesClusterProperties, KubernetesClusterRestartNodeParameters, KubernetesLabel, - KubernetesVersion, - KubernetesVersionPatchParameters, - KubernetesVersionProperties, - KubernetesVersionValue, L2Network, L2NetworkAttachmentConfiguration, L2NetworkPatchParameters, @@ -177,8 +160,6 @@ StorageApplianceCommandSpecification, StorageApplianceConfigurationData, StorageApplianceEnableRemoteVendorManagementParameters, - StorageApplianceExpansionShelf, - StorageApplianceMonitoringConfigurationStatus, StorageAppliancePatchParameters, StorageAppliancePatchProperties, StorageApplianceProperties, @@ -210,9 +191,6 @@ ) from ._enums import ( # type: ignore - AccessBridgeAllowedName, - AccessBridgeDetailedStatus, - AccessBridgeProvisioningState, ActionStateStatus, ActionType, AdvertiseToFabric, @@ -228,12 +206,9 @@ BareMetalMachineKeySetPrivilegeLevel, BareMetalMachineKeySetProvisioningState, BareMetalMachineKeySetUserSetupStatus, - BareMetalMachineMetricsConfigurationStatusLogLevel, - BareMetalMachineMetricsConfigurationStatusMetricsLevel, BareMetalMachinePowerState, BareMetalMachineProvisioningState, BareMetalMachineReadyState, - BareMetalMachineReimageSafeguardMode, BareMetalMachineReplaceSafeguardMode, BareMetalMachineReplaceStoragePolicy, BareMetalMachineSkipShutdown, @@ -250,9 +225,7 @@ CloudServicesNetworkStorageStatusStatus, ClusterConnectionStatus, ClusterContinueUpdateVersionMachineGroupTargetingMode, - ClusterContinueUpdateVersionSafeguardMode, ClusterDetailedStatus, - ClusterInspectAdditionalAction, ClusterManagerConnectionStatus, ClusterManagerDetailedStatus, ClusterManagerProvisioningState, @@ -263,7 +236,6 @@ ClusterSecretArchiveEnabled, ClusterType, ClusterUpdateStrategyType, - ClusterUpdateVersionSafeguardMode, CommandOutputType, ConsoleDetailedStatus, ConsoleEnabled, @@ -271,7 +243,6 @@ ControlImpact, CreatedByType, DefaultGateway, - DeploymentType, DeviceConnectionType, DiskType, ExtendedLocationType, @@ -291,7 +262,6 @@ KubernetesNodePowerState, KubernetesNodeRole, KubernetesPluginType, - KubernetesVersionProvisioningState, L2NetworkDetailedStatus, L2NetworkProvisioningState, L3NetworkConfigurationIpamEnabled, @@ -307,22 +277,14 @@ RackProvisioningState, RackSkuProvisioningState, RackSkuType, - RelayPrivateEndpointConnectionState, RelayType, RemoteVendorManagementFeature, RemoteVendorManagementStatus, - RuntimeProtectionAgentHealthStatus, - RuntimeProtectionAgentLicenseStatus, - RuntimeProtectionDefinitionUpdateMode, RuntimeProtectionEnforcementLevel, - SecurityRuleDirection, SkipShutdown, StepStateStatus, StorageApplianceDetailedStatus, - StorageApplianceMetricsConfigurationStatusLogLevel, - StorageApplianceMetricsConfigurationStatusMetricsLevel, StorageApplianceProvisioningState, - TransportProtocol, TrunkedNetworkDetailedStatus, TrunkedNetworkProvisioningState, ValidationThresholdGrouping, @@ -349,12 +311,6 @@ __all__ = [ "AadConfiguration", - "AccessBridge", - "AccessBridgeEndpoint", - "AccessBridgePatchParameters", - "AccessBridgePatchProperties", - "AccessBridgeProperties", - "AccessBridgeSecurityRule", "ActionState", "AdministrativeCredentials", "AdministratorConfiguration", @@ -376,12 +332,10 @@ "BareMetalMachineKeySetPatchParameters", "BareMetalMachineKeySetPatchProperties", "BareMetalMachineKeySetProperties", - "BareMetalMachineMonitoringConfigurationStatus", "BareMetalMachinePatchParameters", "BareMetalMachinePatchProperties", "BareMetalMachinePowerOffParameters", "BareMetalMachineProperties", - "BareMetalMachineReimageParameters", "BareMetalMachineReplaceParameters", "BareMetalMachineRunCommandParameters", "BareMetalMachineRunDataExtractsParameters", @@ -406,12 +360,9 @@ "ClusterCapacity", "ClusterContinueUpdateVersionParameters", "ClusterDeployParameters", - "ClusterInspectParameters", "ClusterManager", "ClusterManagerPatchParameters", "ClusterManagerProperties", - "ClusterManagerRelayConfiguration", - "ClusterManagerUpdateRelayPrivateEndpointConnectionParameters", "ClusterMetricsConfiguration", "ClusterMetricsConfigurationPatchParameters", "ClusterMetricsConfigurationPatchProperties", @@ -419,7 +370,6 @@ "ClusterPatchParameters", "ClusterPatchProperties", "ClusterProperties", - "ClusterRotateCredentialParameters", "ClusterScanRuntimeParameters", "ClusterSecretArchive", "ClusterUpdateStrategy", @@ -439,7 +389,6 @@ "ErrorResponse", "ExtendedLocation", "FeatureStatus", - "FilterDevices", "HardwareInventory", "HardwareInventoryNetworkInterface", "HardwareValidationStatus", @@ -460,10 +409,6 @@ "KubernetesClusterProperties", "KubernetesClusterRestartNodeParameters", "KubernetesLabel", - "KubernetesVersion", - "KubernetesVersionPatchParameters", - "KubernetesVersionProperties", - "KubernetesVersionValue", "L2Network", "L2NetworkAttachmentConfiguration", "L2NetworkPatchParameters", @@ -511,8 +456,6 @@ "StorageApplianceCommandSpecification", "StorageApplianceConfigurationData", "StorageApplianceEnableRemoteVendorManagementParameters", - "StorageApplianceExpansionShelf", - "StorageApplianceMonitoringConfigurationStatus", "StorageAppliancePatchParameters", "StorageAppliancePatchProperties", "StorageApplianceProperties", @@ -541,9 +484,6 @@ "VolumeProperties", "VulnerabilityScanningSettings", "VulnerabilityScanningSettingsPatch", - "AccessBridgeAllowedName", - "AccessBridgeDetailedStatus", - "AccessBridgeProvisioningState", "ActionStateStatus", "ActionType", "AdvertiseToFabric", @@ -559,12 +499,9 @@ "BareMetalMachineKeySetPrivilegeLevel", "BareMetalMachineKeySetProvisioningState", "BareMetalMachineKeySetUserSetupStatus", - "BareMetalMachineMetricsConfigurationStatusLogLevel", - "BareMetalMachineMetricsConfigurationStatusMetricsLevel", "BareMetalMachinePowerState", "BareMetalMachineProvisioningState", "BareMetalMachineReadyState", - "BareMetalMachineReimageSafeguardMode", "BareMetalMachineReplaceSafeguardMode", "BareMetalMachineReplaceStoragePolicy", "BareMetalMachineSkipShutdown", @@ -581,9 +518,7 @@ "CloudServicesNetworkStorageStatusStatus", "ClusterConnectionStatus", "ClusterContinueUpdateVersionMachineGroupTargetingMode", - "ClusterContinueUpdateVersionSafeguardMode", "ClusterDetailedStatus", - "ClusterInspectAdditionalAction", "ClusterManagerConnectionStatus", "ClusterManagerDetailedStatus", "ClusterManagerProvisioningState", @@ -594,7 +529,6 @@ "ClusterSecretArchiveEnabled", "ClusterType", "ClusterUpdateStrategyType", - "ClusterUpdateVersionSafeguardMode", "CommandOutputType", "ConsoleDetailedStatus", "ConsoleEnabled", @@ -602,7 +536,6 @@ "ControlImpact", "CreatedByType", "DefaultGateway", - "DeploymentType", "DeviceConnectionType", "DiskType", "ExtendedLocationType", @@ -622,7 +555,6 @@ "KubernetesNodePowerState", "KubernetesNodeRole", "KubernetesPluginType", - "KubernetesVersionProvisioningState", "L2NetworkDetailedStatus", "L2NetworkProvisioningState", "L3NetworkConfigurationIpamEnabled", @@ -638,22 +570,14 @@ "RackProvisioningState", "RackSkuProvisioningState", "RackSkuType", - "RelayPrivateEndpointConnectionState", "RelayType", "RemoteVendorManagementFeature", "RemoteVendorManagementStatus", - "RuntimeProtectionAgentHealthStatus", - "RuntimeProtectionAgentLicenseStatus", - "RuntimeProtectionDefinitionUpdateMode", "RuntimeProtectionEnforcementLevel", - "SecurityRuleDirection", "SkipShutdown", "StepStateStatus", "StorageApplianceDetailedStatus", - "StorageApplianceMetricsConfigurationStatusLogLevel", - "StorageApplianceMetricsConfigurationStatusMetricsLevel", "StorageApplianceProvisioningState", - "TransportProtocol", "TrunkedNetworkDetailedStatus", "TrunkedNetworkProvisioningState", "ValidationThresholdGrouping", diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/models/_enums.py b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/models/_enums.py index 716a7950020d..1b6cfa435c8b 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/models/_enums.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/models/_enums.py @@ -11,43 +11,6 @@ from azure.core import CaseInsensitiveEnumMeta -class AccessBridgeAllowedName(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The allowed names for the access bridge.""" - - BASTION = "Bastion" - """The access bridge for bare metal machine bastion access.""" - PRIVATE_VAULT = "PrivateVault" - """The access bridge for cluster access to private vault.""" - STORAGE_DASHBOARD = "StorageDashboard" - """The access bridge for access to the storage dashboard.""" - - -class AccessBridgeDetailedStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The detailed status reported by the access bridge.""" - - RUNNING = "Running" - """The access bridge is healthy and operating normally.""" - DEGRADED = "Degraded" - """The access bridge is experiencing degraded performance or partial outages.""" - FAILED = "Failed" - """The access bridge is not operational.""" - - -class AccessBridgeProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The provisioning state of the access bridge.""" - - ACCEPTED = "Accepted" - """The Accepted status.""" - CANCELED = "Canceled" - """The Canceled status.""" - FAILED = "Failed" - """The Failed status.""" - PROVISIONING = "Provisioning" - """The Provisioning status.""" - SUCCEEDED = "Succeeded" - """The Succeeded status.""" - - class ActionStateStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The status of the action.""" @@ -225,28 +188,6 @@ class BareMetalMachineKeySetUserSetupStatus(str, Enum, metaclass=CaseInsensitive """The user is not valid and has no access.""" -class BareMetalMachineMetricsConfigurationStatusLogLevel( # pylint: disable=name-too-long - str, Enum, metaclass=CaseInsensitiveEnumMeta -): - """The log level for the monitoring configuration status of the bare metal machine.""" - - DEFAULT = "Default" - """Logs are emitted at the default log level.""" - NEXUS = "Nexus" - """Logs are emitted at the Nexus log level.""" - - -class BareMetalMachineMetricsConfigurationStatusMetricsLevel( # pylint: disable=name-too-long - str, Enum, metaclass=CaseInsensitiveEnumMeta -): - """The metrics level for the monitoring configuration status of the bare metal machine.""" - - DEFAULT = "Default" - """Metrics are emitted at the default metrics level.""" - NEXUS = "Nexus" - """Metrics are emitted at the Nexus metrics level.""" - - class BareMetalMachinePowerState(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The power state derived from the baseboard management controller.""" @@ -282,18 +223,6 @@ class BareMetalMachineReadyState(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The bare metal machine is not ready to receive workloads.""" -class BareMetalMachineReimageSafeguardMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The safeguard mode to use for the reimage action, where None indicates to bypass safeguards and - All indicates to utilize all safeguards. - """ - - ALL = "All" - """Run all pre‑operation validation checks before performing the reimage. If any check fails, the - request is rejected and no changes are made.""" - NONE = "None" - """Skip all safeguards and perform the reimage without running pre‑operation validation checks.""" - - class BareMetalMachineReplaceSafeguardMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The safeguard mode to use for the replace action, where None indicates to bypass safeguards and All indicates to utilize all safeguards. @@ -444,12 +373,6 @@ class CloudServicesNetworkStorageStatusStatus(str, Enum, metaclass=CaseInsensiti """The storage allocation is expanding the volume.""" EXPANSION_FAILED = "ExpansionFailed" """The expansion of the storage allocation has failed.""" - INITIALIZING = "Initializing" - """The storage allocation is initializing.""" - NONE = "None" - """The storage allocation has no status.""" - REPAIRING = "Repairing" - """The storage allocation is being repaired.""" class ClusterConnectionStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): @@ -474,21 +397,6 @@ class ClusterContinueUpdateVersionMachineGroupTargetingMode( # pylint: disable= """Racks will be targeted for update in alphabetical order based on the rack name.""" -class ClusterContinueUpdateVersionSafeguardMode( # pylint: disable=name-too-long - str, Enum, metaclass=CaseInsensitiveEnumMeta -): - """ClusterContinueUpdateVersionSafeguardMode represents the mode of the cluster continue update - safeguards. - """ - - ALL = "All" - """Run all pre‑operation validation checks before continuing the version update. If any check - fails, the request is rejected and no changes are made.""" - NONE = "None" - """Skip all safeguards and continue the version update without running pre‑operation validation - checks.""" - - class ClusterDetailedStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The current detailed status of the cluster.""" @@ -512,15 +420,6 @@ class ClusterDetailedStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The Failed status.""" -class ClusterInspectAdditionalAction(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Additional actions supplement the default non-disruptive cluster inspection. Additional actions - may be disallowed if the cluster is in a deployed and running state. - """ - - RESET_HARDWARE = "ResetHardware" - """Indicates that hardware reset should be performed during inspection.""" - - class ClusterManagerConnectionStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The latest connectivity status between cluster manager and the cluster.""" @@ -647,17 +546,6 @@ class ClusterUpdateStrategyType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Pause after each rack is updated.""" -class ClusterUpdateVersionSafeguardMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """ClusterUpdateVersionSafeguardMode represents the mode of the cluster update safeguards.""" - - ALL = "All" - """Run all pre‑operation validation checks before performing the version update. If any check - fails, the request is rejected and no changes are made.""" - NONE = "None" - """Skip all safeguards and perform the version update without running pre‑operation validation - checks.""" - - class CommandOutputType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The type of command output for the override.""" @@ -667,9 +555,6 @@ class CommandOutputType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """BareMetalMachineRunDataExtracts output type.""" BARE_METAL_MACHINE_RUN_READ_COMMANDS = "BareMetalMachineRunReadCommands" """BareMetalMachineRunReadCommands output type.""" - CLUSTER_SUPPORT_ADMINISTRATIVE_ACTIONS = "ClusterSupportAdministrativeActions" - """ClusterSupportAdministrativeActions output type supporting administrative actions that can be - run on a cluster for support purposes.""" STORAGE_RUN_READ_COMMANDS = "StorageRunReadCommands" """StorageRunReadCommands output type.""" BARE_METAL_MACHINE_RUN_DATA_EXTRACTS_RESTRICTED = "BareMetalMachineRunDataExtractsRestricted" @@ -742,18 +627,6 @@ class DefaultGateway(str, Enum, metaclass=CaseInsensitiveEnumMeta): """This is not the default gateway.""" -class DeploymentType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The type (kind) of the cluster. When specified, the value must exactly match the kind - configured on the cluster manager that manages the cluster. If omitted, the service will - default the value to the kind value of the cluster manager. - """ - - NEXUS = "Nexus" - """Azure Operator Nexus.""" - AZURE_LOCAL = "AzureLocal" - """Azure Local.""" - - class DeviceConnectionType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The connection type of the device.""" @@ -984,19 +857,6 @@ class KubernetesPluginType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """IPVLAN plugin type.""" -class KubernetesVersionProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The provisioning state of the Kubernetes version resource.""" - - ACCEPTED = "Accepted" - """The Accepted status.""" - CANCELED = "Canceled" - """The Canceled status.""" - FAILED = "Failed" - """The Failed status.""" - SUCCEEDED = "Succeeded" - """The Succeeded status.""" - - class L2NetworkDetailedStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The more detailed status of the L2 network.""" @@ -1174,15 +1034,6 @@ class RackSkuType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Combination of Aggregator Rack and Compute Rack for a single rack cluster.""" -class RelayPrivateEndpointConnectionState(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The state to set for the private endpoint connection.""" - - APPROVED = "Approved" - """The private endpoint connection is approved.""" - REJECTED = "Rejected" - """The private endpoint connection is rejected.""" - - class RelayType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The indicator of which relay type the machine should be assigned to use. Platform indicates the use of a platform-dedicated relay. Public indicates the use of the standard public relay for @@ -1217,33 +1068,6 @@ class RemoteVendorManagementStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta) """Remote vendor management is unsupported.""" -class RuntimeProtectionAgentHealthStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The runtime protection agent health status.""" - - HEALTHY = "Healthy" - """The runtime protection agent is healthy.""" - UNHEALTHY = "Unhealthy" - """The runtime protection agent has health issues.""" - - -class RuntimeProtectionAgentLicenseStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The runtime protection agent license status.""" - - LICENSED = "Licensed" - """The runtime protection agent license is valid.""" - UNLICENSED = "Unlicensed" - """The runtime protection agent license is not valid.""" - - -class RuntimeProtectionDefinitionUpdateMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The definition update mode for runtime protection.""" - - AUTOMATIC = "Automatic" - """Update definitions automatically through the connected runtime protection agent.""" - NONE = "None" - """Do not update definitions.""" - - class RuntimeProtectionEnforcementLevel(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The mode of operation for runtime protection.""" @@ -1259,15 +1083,6 @@ class RuntimeProtectionEnforcementLevel(str, Enum, metaclass=CaseInsensitiveEnum """Real-time scans detect and remediate detected issues.""" -class SecurityRuleDirection(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The direction of allowed network traffic based on the rule.""" - - INBOUND = "Inbound" - """Inbound traffic toward the on-premsises cluster.""" - OUTBOUND = "Outbound" - """Outbound traffic from the on-premises cluster.""" - - class SkipShutdown(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The indicator of whether to skip the graceful OS shutdown and power off the virtual machine immediately. @@ -1305,28 +1120,6 @@ class StorageApplianceDetailedStatus(str, Enum, metaclass=CaseInsensitiveEnumMet """The Provisioning status.""" -class StorageApplianceMetricsConfigurationStatusLogLevel( # pylint: disable=name-too-long - str, Enum, metaclass=CaseInsensitiveEnumMeta -): - """The log level for the monitoring configuration status of the storage appliance.""" - - DEFAULT = "Default" - """Logs are emitted at the default log level.""" - NEXUS = "Nexus" - """Logs are emitted at the Nexus log level.""" - - -class StorageApplianceMetricsConfigurationStatusMetricsLevel( # pylint: disable=name-too-long - str, Enum, metaclass=CaseInsensitiveEnumMeta -): - """The metrics level for the monitoring configuration status of the storage appliance.""" - - DEFAULT = "Default" - """Metrics are emitted at the default metrics level.""" - NEXUS = "Nexus" - """Metrics are emitted at the Nexus metrics level.""" - - class StorageApplianceProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The provisioning state of the storage appliance.""" @@ -1342,15 +1135,6 @@ class StorageApplianceProvisioningState(str, Enum, metaclass=CaseInsensitiveEnum """The Accepted status.""" -class TransportProtocol(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The protocol advertised by the access bridge endpoints.""" - - TCP = "TCP" - """The TCP transport protocol.""" - UDP = "UDP" - """The UDP transport protocol.""" - - class TrunkedNetworkDetailedStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The more detailed status of the trunked network.""" diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/models/_models.py b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/models/_models.py index 0824b25ced6e..399060fd413b 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/models/_models.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/models/_models.py @@ -47,409 +47,6 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class Resource(_Model): - """Resource. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /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.networkcloud.models.SystemData - """ - - id: Optional[str] = rest_field(visibility=["read"]) - """Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.""" - name: Optional[str] = rest_field(visibility=["read"]) - """The name of the resource.""" - type: Optional[str] = rest_field(visibility=["read"]) - """The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or - \"Microsoft.Storage/storageAccounts\".""" - system_data: Optional["_models.SystemData"] = rest_field(name="systemData", visibility=["read"]) - """Azure Resource Manager metadata containing createdBy and modifiedBy information.""" - - -class TrackedResource(Resource): - """Tracked Resource. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /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.networkcloud.models.SystemData - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - :ivar location: The geo-location where the resource lives. Required. - :vartype location: str - """ - - tags: Optional[dict[str, str]] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """Resource tags.""" - location: str = rest_field(visibility=["read", "create"]) - """The geo-location where the resource lives. Required.""" - - @overload - def __init__( - self, - *, - location: str, - tags: Optional[dict[str, str]] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class AccessBridge(TrackedResource): - """AccessBridge represents a managed access bridge resource. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /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.networkcloud.models.SystemData - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - :ivar location: The geo-location where the resource lives. Required. - :vartype location: str - :ivar properties: The list of the resource properties. Required. - :vartype properties: ~azure.mgmt.networkcloud.models.AccessBridgeProperties - :ivar etag: "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 etag: str - :ivar extended_location: The extended location of the resource. This property is required when - creating the resource. Required. - :vartype extended_location: ~azure.mgmt.networkcloud.models.ExtendedLocation - """ - - properties: "_models.AccessBridgeProperties" = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """The list of the resource properties. Required.""" - etag: Optional[str] = rest_field(visibility=["read"]) - """\"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.\").""" - extended_location: "_models.ExtendedLocation" = rest_field(name="extendedLocation", visibility=["read", "create"]) - """The extended location of the resource. This property is required when creating the resource. - Required.""" - - __flattened_items = [ - "ipv4_connected_prefix", - "ipv6_connected_prefix", - "network_id", - "security_rules", - "detailed_status", - "detailed_status_message", - "endpoints", - "protocol", - "provisioning_state", - ] - - @overload - def __init__( - self, - *, - location: str, - properties: "_models.AccessBridgeProperties", - extended_location: "_models.ExtendedLocation", - tags: Optional[dict[str, str]] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - _flattened_input = {k: kwargs.pop(k) for k in kwargs.keys() & self.__flattened_items} - super().__init__(*args, **kwargs) - for k, v in _flattened_input.items(): - setattr(self, k, v) - - def __getattr__(self, name: str) -> Any: - if name in self.__flattened_items: - if self.properties is None: - return None - return getattr(self.properties, name) - raise AttributeError(f"'{self.__class__.__name__}' object has no attribute '{name}'") - - def __setattr__(self, key: str, value: Any) -> None: - if key in self.__flattened_items: - if self.properties is None: - self.properties = self._attr_to_rest_field["properties"]._class_type() - setattr(self.properties, key, value) - else: - super().__setattr__(key, value) - - -class AccessBridgeEndpoint(_Model): - """AccessBridgeEndpoint describes a single advertised service endpoint. - - :ivar fqdn: The fully qualified domain name used to describe the certificate name for the - endpoint. - :vartype fqdn: str - :ivar ipv4_address: The IPv4 address associated with the endpoint. - :vartype ipv4_address: str - :ivar ipv6_address: The IPv6 address associated with the endpoint. - :vartype ipv6_address: str - :ivar name: The name that identifies the type of endpoint (for example VIP or host). - :vartype name: str - """ - - fqdn: Optional[str] = rest_field(visibility=["read"]) - """The fully qualified domain name used to describe the certificate name for the endpoint.""" - ipv4_address: Optional[str] = rest_field(name="ipv4Address", visibility=["read"]) - """The IPv4 address associated with the endpoint.""" - ipv6_address: Optional[str] = rest_field(name="ipv6Address", visibility=["read"]) - """The IPv6 address associated with the endpoint.""" - name: Optional[str] = rest_field(visibility=["read"]) - """The name that identifies the type of endpoint (for example VIP or host).""" - - -class AccessBridgePatchParameters(_Model): - """AccessBridgePatchParameters represents the payload for a PATCH request to an access bridge. - - :ivar properties: The list of the resource properties. - :vartype properties: ~azure.mgmt.networkcloud.models.AccessBridgePatchProperties - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - """ - - properties: Optional["_models.AccessBridgePatchProperties"] = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """The list of the resource properties.""" - tags: Optional[dict[str, str]] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """Resource tags.""" - - @overload - def __init__( - self, - *, - properties: Optional["_models.AccessBridgePatchProperties"] = None, - tags: Optional[dict[str, str]] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class AccessBridgePatchProperties(_Model): - """AccessBridgePatchProperties identifies the mutable properties for patch operations. - - :ivar security_rules: The list of security rules enforced by the access bridge. - :vartype security_rules: list[~azure.mgmt.networkcloud.models.AccessBridgeSecurityRule] - """ - - security_rules: Optional[list["_models.AccessBridgeSecurityRule"]] = rest_field( - name="securityRules", visibility=["read", "create", "update", "delete", "query"] - ) - """The list of security rules enforced by the access bridge.""" - - @overload - def __init__( - self, - *, - security_rules: Optional[list["_models.AccessBridgeSecurityRule"]] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class AccessBridgeProperties(_Model): - """AccessBridgeProperties captures the input and status for an access bridge. - - :ivar ipv4_connected_prefix: The IPv4 subnet from which the access bridge allocates an address. - This subnet must be part of the internal network specified by networkId. - :vartype ipv4_connected_prefix: str - :ivar ipv6_connected_prefix: The IPv6 subnet from which the access bridge allocates an address. - This subnet must be part of the internal network specified by networkId. - :vartype ipv6_connected_prefix: str - :ivar network_id: The resource ID of the internal network in a layer 3 isolation domain - containing the IP subnets to use. Required. - :vartype network_id: str - :ivar security_rules: The list of security rules enforced by the access bridge. - :vartype security_rules: list[~azure.mgmt.networkcloud.models.AccessBridgeSecurityRule] - :ivar detailed_status: The detailed status reported by the access bridge. Known values are: - "Running", "Degraded", and "Failed". - :vartype detailed_status: str or ~azure.mgmt.networkcloud.models.AccessBridgeDetailedStatus - :ivar detailed_status_message: The descriptive message that accompanies the detailed status. - :vartype detailed_status_message: str - :ivar endpoints: The observed endpoints that clients should use to reach the access bridge. - :vartype endpoints: list[~azure.mgmt.networkcloud.models.AccessBridgeEndpoint] - :ivar protocol: The protocol advertised by the access bridge endpoints. Known values are: "TCP" - and "UDP". - :vartype protocol: str or ~azure.mgmt.networkcloud.models.TransportProtocol - :ivar provisioning_state: The provisioning state of the access bridge. Known values are: - "Accepted", "Canceled", "Failed", "Provisioning", and "Succeeded". - :vartype provisioning_state: str or - ~azure.mgmt.networkcloud.models.AccessBridgeProvisioningState - """ - - ipv4_connected_prefix: Optional[str] = rest_field(name="ipv4ConnectedPrefix", visibility=["read", "create"]) - """The IPv4 subnet from which the access bridge allocates an address. This subnet must be part of - the internal network specified by networkId.""" - ipv6_connected_prefix: Optional[str] = rest_field(name="ipv6ConnectedPrefix", visibility=["read", "create"]) - """The IPv6 subnet from which the access bridge allocates an address. This subnet must be part of - the internal network specified by networkId.""" - network_id: str = rest_field(name="networkId", visibility=["read", "create"]) - """The resource ID of the internal network in a layer 3 isolation domain containing the IP subnets - to use. Required.""" - security_rules: Optional[list["_models.AccessBridgeSecurityRule"]] = rest_field( - name="securityRules", visibility=["read", "create", "update", "delete", "query"] - ) - """The list of security rules enforced by the access bridge.""" - detailed_status: Optional[Union[str, "_models.AccessBridgeDetailedStatus"]] = rest_field( - name="detailedStatus", visibility=["read"] - ) - """The detailed status reported by the access bridge. Known values are: \"Running\", \"Degraded\", - and \"Failed\".""" - detailed_status_message: Optional[str] = rest_field(name="detailedStatusMessage", visibility=["read"]) - """The descriptive message that accompanies the detailed status.""" - endpoints: Optional[list["_models.AccessBridgeEndpoint"]] = rest_field(visibility=["read"]) - """The observed endpoints that clients should use to reach the access bridge.""" - protocol: Optional[Union[str, "_models.TransportProtocol"]] = rest_field(visibility=["read"]) - """The protocol advertised by the access bridge endpoints. Known values are: \"TCP\" and \"UDP\".""" - provisioning_state: Optional[Union[str, "_models.AccessBridgeProvisioningState"]] = rest_field( - name="provisioningState", visibility=["read"] - ) - """The provisioning state of the access bridge. Known values are: \"Accepted\", \"Canceled\", - \"Failed\", \"Provisioning\", and \"Succeeded\".""" - - @overload - def __init__( - self, - *, - network_id: str, - ipv4_connected_prefix: Optional[str] = None, - ipv6_connected_prefix: Optional[str] = None, - security_rules: Optional[list["_models.AccessBridgeSecurityRule"]] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class AccessBridgeSecurityRule(_Model): - """AccessBridgeSecurityRule captures an individual access rule enforced by the bridge. - - :ivar description: The user provided value describing this rule. - :vartype description: str - :ivar direction: The direction of allowed network traffic based on the rule. Required. Known - values are: "Inbound" and "Outbound". - :vartype direction: str or ~azure.mgmt.networkcloud.models.SecurityRuleDirection - :ivar ipv4_addresses: The set of IPv4 addresses permitted as the source or destination of the - security rule. For as single address, utilize a /32 (CIDR notation). One or both Ipv4Addresses - and Ipv6Addresses must be specified. Example formats: 10.10.10.10-10.10.10.20 or - 10.10.10.10/24. - :vartype ipv4_addresses: list[str] - :ivar ipv6_addresses: The set of IPv6 addresses permitted as the source or destination of the - security rule. For as single address, utilize a /128 (CIDR notation). One or both Ipv4Addresses - and Ipv6Addresses must be specified. Example formats: 2001:db8:abcd::1-2001:db8:abcd::ff or - 2001:db8:abcd::1/64. - :vartype ipv6_addresses: list[str] - :ivar port: The source or destination port or port range. Example 24562 or 24562-24570. - Required. - :vartype port: str - """ - - description: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """The user provided value describing this rule.""" - direction: Union[str, "_models.SecurityRuleDirection"] = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """The direction of allowed network traffic based on the rule. Required. Known values are: - \"Inbound\" and \"Outbound\".""" - ipv4_addresses: Optional[list[str]] = rest_field( - name="ipv4Addresses", visibility=["read", "create", "update", "delete", "query"] - ) - """The set of IPv4 addresses permitted as the source or destination of the security rule. For as - single address, utilize a /32 (CIDR notation). One or both Ipv4Addresses and Ipv6Addresses must - be specified. Example formats: 10.10.10.10-10.10.10.20 or 10.10.10.10/24.""" - ipv6_addresses: Optional[list[str]] = rest_field( - name="ipv6Addresses", visibility=["read", "create", "update", "delete", "query"] - ) - """The set of IPv6 addresses permitted as the source or destination of the security rule. For as - single address, utilize a /128 (CIDR notation). One or both Ipv4Addresses and Ipv6Addresses - must be specified. Example formats: 2001:db8:abcd::1-2001:db8:abcd::ff or 2001:db8:abcd::1/64.""" - port: str = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """The source or destination port or port range. Example 24562 or 24562-24570. Required.""" - - @overload - def __init__( - self, - *, - direction: Union[str, "_models.SecurityRuleDirection"], - port: str, - description: Optional[str] = None, - ipv4_addresses: Optional[list[str]] = None, - ipv6_addresses: Optional[list[str]] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - class ActionState(_Model): """ActionState represents the state of an action taken against a resource. This can be used to represent both explicitly and implicitly defined action types. @@ -638,6 +235,78 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) +class Resource(_Model): + """Resource. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /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.networkcloud.models.SystemData + """ + + id: Optional[str] = rest_field(visibility=["read"]) + """Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.""" + name: Optional[str] = rest_field(visibility=["read"]) + """The name of the resource.""" + type: Optional[str] = rest_field(visibility=["read"]) + """The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or + \"Microsoft.Storage/storageAccounts\".""" + system_data: Optional["_models.SystemData"] = rest_field(name="systemData", visibility=["read"]) + """Azure Resource Manager metadata containing createdBy and modifiedBy information.""" + + +class TrackedResource(Resource): + """Tracked Resource. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /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.networkcloud.models.SystemData + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + """ + + tags: Optional[dict[str, str]] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Resource tags.""" + location: str = rest_field(visibility=["read", "create"]) + """The geo-location where the resource lives. Required.""" + + @overload + def __init__( + self, + *, + location: str, + tags: Optional[dict[str, str]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + class AgentPool(TrackedResource): """AgentPool represents the agent pool of Kubernetes cluster. @@ -1176,8 +845,6 @@ class BareMetalMachine(TrackedResource): "serial_number", "action_states", "associated_resource_ids", - "bmc_ipv4_address", - "bmc_ipv6_address", "ca_certificate", "cluster_id", "cordon_status", @@ -1190,7 +857,6 @@ class BareMetalMachine(TrackedResource): "kubernetes_version", "machine_cluster_version", "machine_roles", - "monitoring_configuration_status", "oam_ipv4_address", "oam_ipv6_address", "os_image", @@ -1708,50 +1374,6 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class BareMetalMachineMonitoringConfigurationStatus(_Model): # pylint: disable=name-too-long - """BareMetalMachineMonitoringConfigurationStatus represents the monitoring configuration status of - the bare metal machine. - - :ivar log_level: The log level for the monitoring configuration status of the bare metal - machine. Known values are: "Default" and "Nexus". - :vartype log_level: str or - ~azure.mgmt.networkcloud.models.BareMetalMachineMetricsConfigurationStatusLogLevel - :ivar metrics_level: The metrics level for the monitoring configuration status of the bare - metal machine. Known values are: "Default" and "Nexus". - :vartype metrics_level: str or - ~azure.mgmt.networkcloud.models.BareMetalMachineMetricsConfigurationStatusMetricsLevel - """ - - log_level: Optional[Union[str, "_models.BareMetalMachineMetricsConfigurationStatusLogLevel"]] = rest_field( - name="logLevel", visibility=["read", "create", "update", "delete", "query"] - ) - """The log level for the monitoring configuration status of the bare metal machine. Known values - are: \"Default\" and \"Nexus\".""" - metrics_level: Optional[Union[str, "_models.BareMetalMachineMetricsConfigurationStatusMetricsLevel"]] = rest_field( - name="metricsLevel", visibility=["read", "create", "update", "delete", "query"] - ) - """The metrics level for the monitoring configuration status of the bare metal machine. Known - values are: \"Default\" and \"Nexus\".""" - - @overload - def __init__( - self, - *, - log_level: Optional[Union[str, "_models.BareMetalMachineMetricsConfigurationStatusLogLevel"]] = None, - metrics_level: Optional[Union[str, "_models.BareMetalMachineMetricsConfigurationStatusMetricsLevel"]] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - class BareMetalMachinePatchParameters(_Model): """BareMetalMachinePatchParameters represents the body of the request to patch bare metal machine properties. @@ -1906,10 +1528,6 @@ class BareMetalMachineProperties(_Model): :ivar associated_resource_ids: The list of resource IDs for the other Microsoft.NetworkCloud resources that have attached this network. :vartype associated_resource_ids: list[str] - :ivar bmc_ipv4_address: The IPv4 address of the BMC interface for the bare metal machine. - :vartype bmc_ipv4_address: str - :ivar bmc_ipv6_address: The IPv6 address of the BMC interface for the bare metal machine. - :vartype bmc_ipv6_address: str :ivar ca_certificate: The CA certificate information issued by the platform for connecting to TLS interfaces for the bare metal machine. Callers add this certificate to the trusted CA store on the Kubernetes control plane nodes to allow secure communication with the bare metal @@ -1946,10 +1564,6 @@ class BareMetalMachineProperties(_Model): :ivar machine_roles: The list of roles that are assigned to the cluster node running on this machine. :vartype machine_roles: list[str] - :ivar monitoring_configuration_status: The monitoring configuration status of the bare metal - machine. - :vartype monitoring_configuration_status: - ~azure.mgmt.networkcloud.models.BareMetalMachineMonitoringConfigurationStatus :ivar oam_ipv4_address: The IPv4 address that is assigned to the bare metal machine during the cluster deployment. :vartype oam_ipv4_address: str @@ -2014,10 +1628,6 @@ class BareMetalMachineProperties(_Model): associated_resource_ids: Optional[list[str]] = rest_field(name="associatedResourceIds", visibility=["read"]) """The list of resource IDs for the other Microsoft.NetworkCloud resources that have attached this network.""" - bmc_ipv4_address: Optional[str] = rest_field(name="bmcIpv4Address", visibility=["read"]) - """The IPv4 address of the BMC interface for the bare metal machine.""" - bmc_ipv6_address: Optional[str] = rest_field(name="bmcIpv6Address", visibility=["read"]) - """The IPv6 address of the BMC interface for the bare metal machine.""" ca_certificate: Optional["_models.CertificateInfo"] = rest_field(name="caCertificate", visibility=["read"]) """The CA certificate information issued by the platform for connecting to TLS interfaces for the bare metal machine. Callers add this certificate to the trusted CA store on the Kubernetes @@ -2061,10 +1671,6 @@ class BareMetalMachineProperties(_Model): update.""" machine_roles: Optional[list[str]] = rest_field(name="machineRoles", visibility=["read"]) """The list of roles that are assigned to the cluster node running on this machine.""" - monitoring_configuration_status: Optional["_models.BareMetalMachineMonitoringConfigurationStatus"] = rest_field( - name="monitoringConfigurationStatus", visibility=["read"] - ) - """The monitoring configuration status of the bare metal machine.""" oam_ipv4_address: Optional[str] = rest_field(name="oamIpv4Address", visibility=["read"]) """The IPv4 address that is assigned to the bare metal machine during the cluster deployment.""" oam_ipv6_address: Optional[str] = rest_field(name="oamIpv6Address", visibility=["read"]) @@ -2130,42 +1736,6 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class BareMetalMachineReimageParameters(_Model): - """BareMetalMachineReimageParameters represents the body of the request to reimage a bare metal - machine. - - :ivar safeguard_mode: The safeguard mode to use for the reimage action, where None indicates to - bypass safeguards and All indicates to utilize all safeguards. If not specified, the default is - All. Known values are: "All" and "None". - :vartype safeguard_mode: str or - ~azure.mgmt.networkcloud.models.BareMetalMachineReimageSafeguardMode - """ - - safeguard_mode: Optional[Union[str, "_models.BareMetalMachineReimageSafeguardMode"]] = rest_field( - name="safeguardMode", visibility=["read", "create", "update", "delete", "query"] - ) - """The safeguard mode to use for the reimage action, where None indicates to bypass safeguards and - All indicates to utilize all safeguards. If not specified, the default is All. Known values - are: \"All\" and \"None\".""" - - @overload - def __init__( - self, - *, - safeguard_mode: Optional[Union[str, "_models.BareMetalMachineReimageSafeguardMode"]] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - class BareMetalMachineReplaceParameters(_Model): """BareMetalMachineReplaceParameters represents the body of the request to physically swap a bare metal machine for another. @@ -3222,8 +2792,7 @@ class CloudServicesNetworkStorageStatus(_Model): :ivar size_mi_b: The size in Mebibytes of the storage allocation. :vartype size_mi_b: int :ivar status: The status of the storage allocation for the cloud services network. Known values - are: "Available", "ExpandingVolume", "ExpansionFailed", "Initializing", "None", and - "Repairing". + are: "Available", "ExpandingVolume", and "ExpansionFailed". :vartype status: str or ~azure.mgmt.networkcloud.models.CloudServicesNetworkStorageStatusStatus :ivar status_message: The description for the status of the shared storage. :vartype status_message: str @@ -3238,8 +2807,7 @@ class CloudServicesNetworkStorageStatus(_Model): """The size in Mebibytes of the storage allocation.""" status: Optional[Union[str, "_models.CloudServicesNetworkStorageStatusStatus"]] = rest_field(visibility=["read"]) """The status of the storage allocation for the cloud services network. Known values are: - \"Available\", \"ExpandingVolume\", \"ExpansionFailed\", \"Initializing\", \"None\", and - \"Repairing\".""" + \"Available\", \"ExpandingVolume\", and \"ExpansionFailed\".""" status_message: Optional[str] = rest_field(name="statusMessage", visibility=["read"]) """The description for the status of the shared storage.""" volume_id: Optional[str] = rest_field(name="volumeId", visibility=["read"]) @@ -3276,11 +2844,6 @@ class Cluster(TrackedResource): :vartype extended_location: ~azure.mgmt.networkcloud.models.ExtendedLocation :ivar identity: The managed service identities assigned to this resource. :vartype identity: ~azure.mgmt.networkcloud.models.ManagedServiceIdentity - :ivar kind: The type (kind) of the cluster. When specified, the value must exactly match the - kind configured on the cluster manager that manages the cluster. If omitted, the service will - default the value to the kind value of the cluster manager. Known values are: "Nexus" and - "AzureLocal". - :vartype kind: str or ~azure.mgmt.networkcloud.models.DeploymentType """ properties: "_models.ClusterProperties" = rest_field(visibility=["read", "create", "update", "delete", "query"]) @@ -3297,11 +2860,6 @@ class Cluster(TrackedResource): visibility=["read", "create", "update", "delete", "query"] ) """The managed service identities assigned to this resource.""" - kind: Optional[Union[str, "_models.DeploymentType"]] = rest_field(visibility=["read", "create"]) - """The type (kind) of the cluster. When specified, the value must exactly match the kind - configured on the cluster manager that manages the cluster. If omitted, the service will - default the value to the kind value of the cluster manager. Known values are: \"Nexus\" and - \"AzureLocal\".""" __flattened_items = [ "aggregator_or_single_rack_definition", @@ -3331,8 +2889,6 @@ class Cluster(TrackedResource): "detailed_status", "detailed_status_message", "hybrid_aks_extended_location", - "last_successful_version_update_time", - "managed_credentials", "manual_action_count", "support_expiry_date", "workload_resource_ids", @@ -3348,7 +2904,6 @@ def __init__( extended_location: "_models.ExtendedLocation", tags: Optional[dict[str, str]] = None, identity: Optional["_models.ManagedServiceIdentity"] = None, - kind: Optional[Union[str, "_models.DeploymentType"]] = None, ) -> None: ... @overload @@ -3535,11 +3090,6 @@ class ClusterContinueUpdateVersionParameters(_Model): of servers to continue the update. "AlphaByRack" :vartype machine_group_targeting_mode: str or ~azure.mgmt.networkcloud.models.ClusterContinueUpdateVersionMachineGroupTargetingMode - :ivar safeguard_mode: Specifies how safeguards are applied during the continue update version - operation. Use All to run all pre‑operation validation checks. Use None to bypass safeguards. - If not specified, the default is All. Known values are: "All" and "None". - :vartype safeguard_mode: str or - ~azure.mgmt.networkcloud.models.ClusterContinueUpdateVersionSafeguardMode """ machine_group_targeting_mode: Optional[ @@ -3547,12 +3097,6 @@ class ClusterContinueUpdateVersionParameters(_Model): ] = rest_field(name="machineGroupTargetingMode", visibility=["read", "create", "update", "delete", "query"]) """The mode by which the cluster will target the next grouping of servers to continue the update. \"AlphaByRack\"""" - safeguard_mode: Optional[Union[str, "_models.ClusterContinueUpdateVersionSafeguardMode"]] = rest_field( - name="safeguardMode", visibility=["read", "create", "update", "delete", "query"] - ) - """Specifies how safeguards are applied during the continue update version operation. Use All to - run all pre‑operation validation checks. Use None to bypass safeguards. If not specified, the - default is All. Known values are: \"All\" and \"None\".""" @overload def __init__( @@ -3561,7 +3105,6 @@ def __init__( machine_group_targeting_mode: Optional[ Union[str, "_models.ClusterContinueUpdateVersionMachineGroupTargetingMode"] ] = None, - safeguard_mode: Optional[Union[str, "_models.ClusterContinueUpdateVersionSafeguardMode"]] = None, ) -> None: ... @overload @@ -3607,49 +3150,6 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ClusterInspectParameters(_Model): - """ClusterInspectParameters represents the body of the request to inspect the cluster. - - :ivar additional_actions: Additional actions supplement the default non-disruptive cluster - inspection. Additional actions may be disallowed if the cluster is in a deployed and running - state. - :vartype additional_actions: list[str or - ~azure.mgmt.networkcloud.models.ClusterInspectAdditionalAction] - :ivar filter_devices: Indicates which devices are included in the inspection. By default, all - devices that can be targeted will be included in the inspection. - :vartype filter_devices: ~azure.mgmt.networkcloud.models.FilterDevices - """ - - additional_actions: Optional[list[Union[str, "_models.ClusterInspectAdditionalAction"]]] = rest_field( - name="additionalActions", visibility=["read", "create", "update", "delete", "query"] - ) - """Additional actions supplement the default non-disruptive cluster inspection. Additional actions - may be disallowed if the cluster is in a deployed and running state.""" - filter_devices: Optional["_models.FilterDevices"] = rest_field( - name="filterDevices", visibility=["read", "create", "update", "delete", "query"] - ) - """Indicates which devices are included in the inspection. By default, all devices that can be - targeted will be included in the inspection.""" - - @overload - def __init__( - self, - *, - additional_actions: Optional[list[Union[str, "_models.ClusterInspectAdditionalAction"]]] = None, - filter_devices: Optional["_models.FilterDevices"] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - class ClusterManager(TrackedResource): """ClusterManager represents a control-plane to manage one or more on-premises clusters. @@ -3677,8 +3177,6 @@ class ClusterManager(TrackedResource): :vartype etag: str :ivar identity: The managed service identities assigned to this resource. :vartype identity: ~azure.mgmt.networkcloud.models.ManagedServiceIdentity - :ivar kind: The kind of the cluster manager. Known values are: "Nexus" and "AzureLocal". - :vartype kind: str or ~azure.mgmt.networkcloud.models.DeploymentType """ properties: "_models.ClusterManagerProperties" = rest_field( @@ -3694,8 +3192,6 @@ class ClusterManager(TrackedResource): visibility=["read", "create", "update", "delete", "query"] ) """The managed service identities assigned to this resource.""" - kind: Optional[Union[str, "_models.DeploymentType"]] = rest_field(visibility=["read", "create"]) - """The kind of the cluster manager. Known values are: \"Nexus\" and \"AzureLocal\".""" __flattened_items = [ "analytics_workspace_id", @@ -3707,7 +3203,6 @@ class ClusterManager(TrackedResource): "managed_resource_group_configuration", "manager_extended_location", "provisioning_state", - "relay_configuration", "vm_size", ] @@ -3719,7 +3214,6 @@ def __init__( properties: "_models.ClusterManagerProperties", tags: Optional[dict[str, str]] = None, identity: Optional["_models.ManagedServiceIdentity"] = None, - kind: Optional[Union[str, "_models.DeploymentType"]] = None, ) -> None: ... @overload @@ -3820,8 +3314,6 @@ class ClusterManagerProperties(_Model): "Succeeded", "Failed", "Canceled", "Provisioning", "Accepted", and "Updating". :vartype provisioning_state: str or ~azure.mgmt.networkcloud.models.ClusterManagerProvisioningState - :ivar relay_configuration: The relay configuration for the cluster manager. - :vartype relay_configuration: ~azure.mgmt.networkcloud.models.ClusterManagerRelayConfiguration :ivar vm_size: The size of the Azure virtual machines to use for hosting the cluster manager resource. :vartype vm_size: str @@ -3841,123 +3333,39 @@ class ClusterManagerProperties(_Model): name="detailedStatus", visibility=["read"] ) """The detailed status that provides additional information about the cluster manager. Known - values are: \"Error\", \"Available\", \"Provisioning\", \"ProvisioningFailed\", \"Updating\", - and \"UpdateFailed\".""" - detailed_status_message: Optional[str] = rest_field(name="detailedStatusMessage", visibility=["read"]) - """The descriptive message about the current detailed status.""" - fabric_controller_id: str = rest_field(name="fabricControllerId", visibility=["read", "create"]) - """The resource ID of the fabric controller that has one to one mapping with the cluster manager. - Required.""" - managed_resource_group_configuration: Optional["_models.ManagedResourceGroupConfiguration"] = rest_field( - name="managedResourceGroupConfiguration", visibility=["read", "create", "update", "delete", "query"] - ) - """The configuration of the managed resource group associated with the resource.""" - manager_extended_location: Optional["_models.ExtendedLocation"] = rest_field( - name="managerExtendedLocation", visibility=["read"] - ) - """The extended location (custom location) that represents the cluster manager's control plane - location. This extended location is used when creating cluster and rack manifest resources.""" - provisioning_state: Optional[Union[str, "_models.ClusterManagerProvisioningState"]] = rest_field( - name="provisioningState", visibility=["read"] - ) - """The provisioning state of the cluster manager. Known values are: \"Succeeded\", \"Failed\", - \"Canceled\", \"Provisioning\", \"Accepted\", and \"Updating\".""" - relay_configuration: Optional["_models.ClusterManagerRelayConfiguration"] = rest_field( - name="relayConfiguration", visibility=["read"] - ) - """The relay configuration for the cluster manager.""" - vm_size: Optional[str] = rest_field(name="vmSize", visibility=["read", "create"]) - """The size of the Azure virtual machines to use for hosting the cluster manager resource.""" - - @overload - def __init__( - self, - *, - fabric_controller_id: str, - analytics_workspace_id: Optional[str] = None, - availability_zones: Optional[list[str]] = None, - managed_resource_group_configuration: Optional["_models.ManagedResourceGroupConfiguration"] = None, - vm_size: Optional[str] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class ClusterManagerRelayConfiguration(_Model): - """ClusterManagerRelayConfiguration represents the relay configuration for the cluster manager. - - :ivar relay_namespace_id: The resource ID of the Azure relay namespace managed by the cluster - manager. - :vartype relay_namespace_id: str - """ - - relay_namespace_id: Optional[str] = rest_field( - name="relayNamespaceId", visibility=["read", "create", "update", "delete", "query"] - ) - """The resource ID of the Azure relay namespace managed by the cluster manager.""" - - @overload - def __init__( - self, - *, - relay_namespace_id: Optional[str] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class ClusterManagerUpdateRelayPrivateEndpointConnectionParameters(_Model): # pylint: disable=name-too-long - """ClusterManagerUpdateRelayPrivateEndpointConnectionParameters represents the body of the request - to approve or reject the relay private endpoint connection for the private relay managed by a - cluster manager. - - :ivar connection_state: The state to set for the private endpoint connection. Required. Known - values are: "Approved" and "Rejected". - :vartype connection_state: str or - ~azure.mgmt.networkcloud.models.RelayPrivateEndpointConnectionState - :ivar description: The description to associate with the private endpoint connection. - :vartype description: str - :ivar private_endpoint_resource_id: The resource ID of private endpoint to be permitted or - denied connection to the relay namespace. Required. - :vartype private_endpoint_resource_id: str - """ - - connection_state: Union[str, "_models.RelayPrivateEndpointConnectionState"] = rest_field( - name="connectionState", visibility=["read", "create", "update", "delete", "query"] + values are: \"Error\", \"Available\", \"Provisioning\", \"ProvisioningFailed\", \"Updating\", + and \"UpdateFailed\".""" + detailed_status_message: Optional[str] = rest_field(name="detailedStatusMessage", visibility=["read"]) + """The descriptive message about the current detailed status.""" + fabric_controller_id: str = rest_field(name="fabricControllerId", visibility=["read", "create"]) + """The resource ID of the fabric controller that has one to one mapping with the cluster manager. + Required.""" + managed_resource_group_configuration: Optional["_models.ManagedResourceGroupConfiguration"] = rest_field( + name="managedResourceGroupConfiguration", visibility=["read", "create", "update", "delete", "query"] ) - """The state to set for the private endpoint connection. Required. Known values are: \"Approved\" - and \"Rejected\".""" - description: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """The description to associate with the private endpoint connection.""" - private_endpoint_resource_id: str = rest_field( - name="privateEndpointResourceId", visibility=["read", "create", "update", "delete", "query"] + """The configuration of the managed resource group associated with the resource.""" + manager_extended_location: Optional["_models.ExtendedLocation"] = rest_field( + name="managerExtendedLocation", visibility=["read"] + ) + """The extended location (custom location) that represents the cluster manager's control plane + location. This extended location is used when creating cluster and rack manifest resources.""" + provisioning_state: Optional[Union[str, "_models.ClusterManagerProvisioningState"]] = rest_field( + name="provisioningState", visibility=["read"] ) - """The resource ID of private endpoint to be permitted or denied connection to the relay - namespace. Required.""" + """The provisioning state of the cluster manager. Known values are: \"Succeeded\", \"Failed\", + \"Canceled\", \"Provisioning\", \"Accepted\", and \"Updating\".""" + vm_size: Optional[str] = rest_field(name="vmSize", visibility=["read", "create"]) + """The size of the Azure virtual machines to use for hosting the cluster manager resource.""" @overload def __init__( self, *, - connection_state: Union[str, "_models.RelayPrivateEndpointConnectionState"], - private_endpoint_resource_id: str, - description: Optional[str] = None, + fabric_controller_id: str, + analytics_workspace_id: Optional[str] = None, + availability_zones: Optional[list[str]] = None, + managed_resource_group_configuration: Optional["_models.ManagedResourceGroupConfiguration"] = None, + vm_size: Optional[str] = None, ) -> None: ... @overload @@ -4516,12 +3924,6 @@ class ClusterProperties(_Model): control plane location. This extended location is used when creating provisioned clusters (Hybrid AKS clusters). :vartype hybrid_aks_extended_location: ~azure.mgmt.networkcloud.models.ExtendedLocation - :ivar last_successful_version_update_time: The date and time of the end of the last successful - version update for the cluster. - :vartype last_successful_version_update_time: ~datetime.datetime - :ivar managed_credentials: The list of credentials that are managed for the cluster and can be - rotated on-demand. - :vartype managed_credentials: list[str] :ivar manual_action_count: The count of Manual Action Taken (MAT) events that have not been validated. :vartype manual_action_count: int @@ -4646,12 +4048,6 @@ class ClusterProperties(_Model): """Field Deprecated. This field will not be populated in an upcoming version. The extended location (custom location) that represents the Hybrid AKS control plane location. This extended location is used when creating provisioned clusters (Hybrid AKS clusters).""" - last_successful_version_update_time: Optional[datetime.datetime] = rest_field( - name="lastSuccessfulVersionUpdateTime", visibility=["read"], format="rfc3339" - ) - """The date and time of the end of the last successful version update for the cluster.""" - managed_credentials: Optional[list[str]] = rest_field(name="managedCredentials", visibility=["read"]) - """The list of credentials that are managed for the cluster and can be rotated on-demand.""" manual_action_count: Optional[int] = rest_field(name="manualActionCount", visibility=["read"]) """The count of Manual Action Taken (MAT) events that have not been validated.""" support_expiry_date: Optional[str] = rest_field(name="supportExpiryDate", visibility=["read"]) @@ -4698,35 +4094,6 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class ClusterRotateCredentialParameters(_Model): - """ClusterRotateCredentialParameters represents the body of the request to rotate cluster - credentials. - - :ivar credentials: The list of credential names for the credentials to rotate. Required. - :vartype credentials: list[str] - """ - - credentials: list[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """The list of credential names for the credentials to rotate. Required.""" - - @overload - def __init__( - self, - *, - credentials: list[str], - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - class ClusterScanRuntimeParameters(_Model): """ClusterScanRuntimeParameters defines the parameters for the cluster scan runtime operation. @@ -4867,21 +4234,10 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: class ClusterUpdateVersionParameters(_Model): """ClusterUpdateVersionParameters represents the body of the request to update cluster version. - :ivar safeguard_mode: Specifies how safeguards are applied during the update version operation. - Use All to run all pre‑operation validation checks. Use None to bypass safeguards. If not - specified, the default is All. Known values are: "All" and "None". - :vartype safeguard_mode: str or - ~azure.mgmt.networkcloud.models.ClusterUpdateVersionSafeguardMode :ivar target_cluster_version: The version to be applied to the cluster during update. Required. :vartype target_cluster_version: str """ - safeguard_mode: Optional[Union[str, "_models.ClusterUpdateVersionSafeguardMode"]] = rest_field( - name="safeguardMode", visibility=["read", "create", "update", "delete", "query"] - ) - """Specifies how safeguards are applied during the update version operation. Use All to run all - pre‑operation validation checks. Use None to bypass safeguards. If not specified, the default - is All. Known values are: \"All\" and \"None\".""" target_cluster_version: str = rest_field( name="targetClusterVersion", visibility=["read", "create", "update", "delete", "query"] ) @@ -4892,7 +4248,6 @@ def __init__( self, *, target_cluster_version: str, - safeguard_mode: Optional[Union[str, "_models.ClusterUpdateVersionSafeguardMode"]] = None, ) -> None: ... @overload @@ -4914,8 +4269,8 @@ class CommandOutputOverride(_Model): :vartype associated_identity: ~azure.mgmt.networkcloud.models.IdentitySelector :ivar command_output_type: The type of command output for the override. Known values are: "BareMetalMachineRunCommand", "BareMetalMachineRunDataExtracts", - "BareMetalMachineRunReadCommands", "ClusterSupportAdministrativeActions", - "StorageRunReadCommands", and "BareMetalMachineRunDataExtractsRestricted". + "BareMetalMachineRunReadCommands", "StorageRunReadCommands", and + "BareMetalMachineRunDataExtractsRestricted". :vartype command_output_type: str or ~azure.mgmt.networkcloud.models.CommandOutputType :ivar container_url: The URL of the storage account container that is to be used by the specified identities. @@ -4932,8 +4287,7 @@ class CommandOutputOverride(_Model): ) """The type of command output for the override. Known values are: \"BareMetalMachineRunCommand\", \"BareMetalMachineRunDataExtracts\", \"BareMetalMachineRunReadCommands\", - \"ClusterSupportAdministrativeActions\", \"StorageRunReadCommands\", and - \"BareMetalMachineRunDataExtractsRestricted\".""" + \"StorageRunReadCommands\", and \"BareMetalMachineRunDataExtractsRestricted\".""" container_url: Optional[str] = rest_field( name="containerUrl", visibility=["read", "create", "update", "delete", "query"] ) @@ -5582,44 +4936,6 @@ class FeatureStatus(_Model): """The version of the feature.""" -class FilterDevices(_Model): - """FilterDevices defines the filtered target of the inspection. - - :ivar bare_metal_machine_names: The list of bare metal machine names to include in the - inspection. - :vartype bare_metal_machine_names: list[str] - :ivar rack_names: The list of rack names to include in the inspection. - :vartype rack_names: list[str] - """ - - bare_metal_machine_names: Optional[list[str]] = rest_field( - name="bareMetalMachineNames", visibility=["read", "create", "update", "delete", "query"] - ) - """The list of bare metal machine names to include in the inspection.""" - rack_names: Optional[list[str]] = rest_field( - name="rackNames", visibility=["read", "create", "update", "delete", "query"] - ) - """The list of rack names to include in the inspection.""" - - @overload - def __init__( - self, - *, - bare_metal_machine_names: Optional[list[str]] = None, - rack_names: Optional[list[str]] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - class HardwareInventory(_Model): """HardwareInventory represents the hardware configuration of this machine as exposed to the customer, including information acquired from the model/sku information and from the ironic @@ -6772,156 +6088,6 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class KubernetesVersion(TrackedResource): - """KubernetesVersion represents the available Kubernetes versions for a cluster. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /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.networkcloud.models.SystemData - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - :ivar location: The geo-location where the resource lives. Required. - :vartype location: str - :ivar properties: The list of the resource properties. Required. - :vartype properties: ~azure.mgmt.networkcloud.models.KubernetesVersionProperties - :ivar etag: "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 etag: str - :ivar extended_location: The extended location of the resource. This property is required when - creating the resource. Required. - :vartype extended_location: ~azure.mgmt.networkcloud.models.ExtendedLocation - """ - - properties: "_models.KubernetesVersionProperties" = rest_field( - visibility=["read", "create", "update", "delete", "query"] - ) - """The list of the resource properties. Required.""" - etag: Optional[str] = rest_field(visibility=["read"]) - """\"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.\").""" - extended_location: "_models.ExtendedLocation" = rest_field(name="extendedLocation", visibility=["read", "create"]) - """The extended location of the resource. This property is required when creating the resource. - Required.""" - - __flattened_items = ["values_property", "provisioning_state"] - - @overload - def __init__( - self, - *, - location: str, - properties: "_models.KubernetesVersionProperties", - extended_location: "_models.ExtendedLocation", - tags: Optional[dict[str, str]] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - _flattened_input = {k: kwargs.pop(k) for k in kwargs.keys() & self.__flattened_items} - super().__init__(*args, **kwargs) - for k, v in _flattened_input.items(): - setattr(self, k, v) - - def __getattr__(self, name: str) -> Any: - if name in self.__flattened_items: - if self.properties is None: - return None - return getattr(self.properties, name) - raise AttributeError(f"'{self.__class__.__name__}' object has no attribute '{name}'") - - def __setattr__(self, key: str, value: Any) -> None: - if key in self.__flattened_items: - if self.properties is None: - self.properties = self._attr_to_rest_field["properties"]._class_type() - setattr(self.properties, key, value) - else: - super().__setattr__(key, value) - - -class KubernetesVersionPatchParameters(_Model): - """KubernetesVersionPatchParameters represents the body of the request to patch Kubernetes version - tags. - - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - """ - - tags: Optional[dict[str, str]] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """Resource tags.""" - - @overload - def __init__( - self, - *, - tags: Optional[dict[str, str]] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class KubernetesVersionProperties(_Model): - """KubernetesVersionProperties contains the read-only properties describing available versions. - - :ivar values_property: The list of available Kubernetes versions. - :vartype values_property: list[~azure.mgmt.networkcloud.models.KubernetesVersionValue] - :ivar provisioning_state: The provisioning state of the Kubernetes version resource. Known - values are: "Accepted", "Canceled", "Failed", and "Succeeded". - :vartype provisioning_state: str or - ~azure.mgmt.networkcloud.models.KubernetesVersionProvisioningState - """ - - values_property: Optional[list["_models.KubernetesVersionValue"]] = rest_field( - name="values", visibility=["read"], original_tsp_name="values" - ) - """The list of available Kubernetes versions.""" - provisioning_state: Optional[Union[str, "_models.KubernetesVersionProvisioningState"]] = rest_field( - name="provisioningState", visibility=["read"] - ) - """The provisioning state of the Kubernetes version resource. Known values are: \"Accepted\", - \"Canceled\", \"Failed\", and \"Succeeded\".""" - - -class KubernetesVersionValue(_Model): - """KubernetesVersionValue describes a specific Kubernetes version that can be deployed. - - :ivar description: Additional description for the Kubernetes version. - :vartype description: str - :ivar version: The Kubernetes version identifier. - :vartype version: str - """ - - description: Optional[str] = rest_field(visibility=["read"]) - """Additional description for the Kubernetes version.""" - version: Optional[str] = rest_field(visibility=["read"]) - """The Kubernetes version identifier.""" - - class L2Network(TrackedResource): """L2Network represents a network that utilizes a single isolation domain set up for layer-2 resources. @@ -8660,7 +7826,6 @@ class RackSku(ProxyResource): __flattened_items = [ "compute_machines", "controller_machines", - "deployment_type", "description", "max_cluster_slots", "provisioning_state", @@ -8715,9 +7880,6 @@ class RackSkuProperties(_Model): :ivar controller_machines: The list of machine SKUs and associated rack slot for the control-plane dedicated machines in this rack model. :vartype controller_machines: list[~azure.mgmt.networkcloud.models.MachineSkuSlot] - :ivar deployment_type: The deployment type supported by the rack SKU. Known values are: "Nexus" - and "AzureLocal". - :vartype deployment_type: str or ~azure.mgmt.networkcloud.models.DeploymentType :ivar description: The free-form text describing the rack. :vartype description: str :ivar max_cluster_slots: The maximum number of compute racks supported by an aggregator rack. 0 @@ -8743,10 +7905,6 @@ class RackSkuProperties(_Model): ) """The list of machine SKUs and associated rack slot for the control-plane dedicated machines in this rack model.""" - deployment_type: Optional[Union[str, "_models.DeploymentType"]] = rest_field( - name="deploymentType", visibility=["read"] - ) - """The deployment type supported by the rack SKU. Known values are: \"Nexus\" and \"AzureLocal\".""" description: Optional[str] = rest_field(visibility=["read"]) """The free-form text describing the rack.""" max_cluster_slots: Optional[int] = rest_field(name="maxClusterSlots", visibility=["read"]) @@ -8810,21 +7968,12 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: class RuntimeProtectionConfiguration(_Model): """RuntimeProtectionConfiguration represents the runtime protection configuration for the cluster. - :ivar definition_update_mode: The definition update mode for runtime protection. Known values - are: "Automatic" and "None". - :vartype definition_update_mode: str or - ~azure.mgmt.networkcloud.models.RuntimeProtectionDefinitionUpdateMode :ivar enforcement_level: The mode of operation for runtime protection. Known values are: "Audit", "Disabled", "OnDemand", "Passive", and "RealTime". :vartype enforcement_level: str or ~azure.mgmt.networkcloud.models.RuntimeProtectionEnforcementLevel """ - definition_update_mode: Optional[Union[str, "_models.RuntimeProtectionDefinitionUpdateMode"]] = rest_field( - name="definitionUpdateMode", visibility=["read", "create", "update", "delete", "query"] - ) - """The definition update mode for runtime protection. Known values are: \"Automatic\" and - \"None\".""" enforcement_level: Optional[Union[str, "_models.RuntimeProtectionEnforcementLevel"]] = rest_field( name="enforcementLevel", visibility=["read", "create", "update", "delete", "query"] ) @@ -8835,7 +7984,6 @@ class RuntimeProtectionConfiguration(_Model): def __init__( self, *, - definition_update_mode: Optional[Union[str, "_models.RuntimeProtectionDefinitionUpdateMode"]] = None, enforcement_level: Optional[Union[str, "_models.RuntimeProtectionEnforcementLevel"]] = None, ) -> None: ... @@ -8853,29 +8001,10 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: class RuntimeProtectionStatus(_Model): """RuntimeProtectionStatus represents the runtime protection status of the bare metal machine. - :ivar agent_health_status: The runtime protection agent health status. Known values are: - "Healthy" and "Unhealthy". - :vartype agent_health_status: str or - ~azure.mgmt.networkcloud.models.RuntimeProtectionAgentHealthStatus - :ivar agent_health_status_issues: The runtime protection agent health status issues, if - present. - :vartype agent_health_status_issues: list[str] - :ivar agent_license_status: The runtime protection agent license status. Known values are: - "Licensed" and "Unlicensed". - :vartype agent_license_status: str or - ~azure.mgmt.networkcloud.models.RuntimeProtectionAgentLicenseStatus - :ivar definition_update_mode: The definition update mode for runtime protection. Known values - are: "Automatic" and "None". - :vartype definition_update_mode: str or - ~azure.mgmt.networkcloud.models.RuntimeProtectionDefinitionUpdateMode :ivar definitions_last_updated: The timestamp when the malware definitions were last updated. :vartype definitions_last_updated: ~datetime.datetime :ivar definitions_version: The version of the malware definitions. :vartype definitions_version: str - :ivar enforcement_level: The enforcement level set for the runtime protection on the bare metal - machine. Known values are: "Audit", "Disabled", "OnDemand", "Passive", and "RealTime". - :vartype enforcement_level: str or - ~azure.mgmt.networkcloud.models.RuntimeProtectionEnforcementLevel :ivar scan_completed_time: The timestamp of the most recently completed scan, or empty if there has never been a scan. :vartype scan_completed_time: ~datetime.datetime @@ -8887,32 +8016,12 @@ class RuntimeProtectionStatus(_Model): :vartype scan_started_time: ~datetime.datetime """ - agent_health_status: Optional[Union[str, "_models.RuntimeProtectionAgentHealthStatus"]] = rest_field( - name="agentHealthStatus", visibility=["read"] - ) - """The runtime protection agent health status. Known values are: \"Healthy\" and \"Unhealthy\".""" - agent_health_status_issues: Optional[list[str]] = rest_field(name="agentHealthStatusIssues", visibility=["read"]) - """The runtime protection agent health status issues, if present.""" - agent_license_status: Optional[Union[str, "_models.RuntimeProtectionAgentLicenseStatus"]] = rest_field( - name="agentLicenseStatus", visibility=["read"] - ) - """The runtime protection agent license status. Known values are: \"Licensed\" and \"Unlicensed\".""" - definition_update_mode: Optional[Union[str, "_models.RuntimeProtectionDefinitionUpdateMode"]] = rest_field( - name="definitionUpdateMode", visibility=["read"] - ) - """The definition update mode for runtime protection. Known values are: \"Automatic\" and - \"None\".""" definitions_last_updated: Optional[datetime.datetime] = rest_field( name="definitionsLastUpdated", visibility=["read"], format="rfc3339" ) """The timestamp when the malware definitions were last updated.""" definitions_version: Optional[str] = rest_field(name="definitionsVersion", visibility=["read"]) """The version of the malware definitions.""" - enforcement_level: Optional[Union[str, "_models.RuntimeProtectionEnforcementLevel"]] = rest_field( - name="enforcementLevel", visibility=["read"] - ) - """The enforcement level set for the runtime protection on the bare metal machine. Known values - are: \"Audit\", \"Disabled\", \"OnDemand\", \"Passive\", and \"RealTime\".""" scan_completed_time: Optional[datetime.datetime] = rest_field( name="scanCompletedTime", visibility=["read"], format="rfc3339" ) @@ -9275,11 +8384,9 @@ class StorageAppliance(TrackedResource): "cluster_id", "detailed_status", "detailed_status_message", - "expansion_shelves", "management_ipv4_address", "manufacturer", "model", - "monitoring_configuration_status", "remote_vendor_management_feature", "remote_vendor_management_status", "secret_rotation_status", @@ -9451,82 +8558,6 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class StorageApplianceExpansionShelf(_Model): - """StorageApplianceExpansionShelf represents an expansion shelf connected to a storage appliance. - - :ivar model: The model of the expansion shelf. - :vartype model: str - :ivar version: The version of the expansion shelf. - :vartype version: str - """ - - model: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """The model of the expansion shelf.""" - version: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """The version of the expansion shelf.""" - - @overload - def __init__( - self, - *, - model: Optional[str] = None, - version: Optional[str] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - -class StorageApplianceMonitoringConfigurationStatus(_Model): # pylint: disable=name-too-long - """The monitoring configuration status of the storage appliance. - - :ivar log_level: The log level for the monitoring configuration status of the storage - appliance. Known values are: "Default" and "Nexus". - :vartype log_level: str or - ~azure.mgmt.networkcloud.models.StorageApplianceMetricsConfigurationStatusLogLevel - :ivar metrics_level: The metrics level for the monitoring configuration status of the storage - appliance. Known values are: "Default" and "Nexus". - :vartype metrics_level: str or - ~azure.mgmt.networkcloud.models.StorageApplianceMetricsConfigurationStatusMetricsLevel - """ - - log_level: Optional[Union[str, "_models.StorageApplianceMetricsConfigurationStatusLogLevel"]] = rest_field( - name="logLevel", visibility=["read", "create", "update", "delete", "query"] - ) - """The log level for the monitoring configuration status of the storage appliance. Known values - are: \"Default\" and \"Nexus\".""" - metrics_level: Optional[Union[str, "_models.StorageApplianceMetricsConfigurationStatusMetricsLevel"]] = rest_field( - name="metricsLevel", visibility=["read", "create", "update", "delete", "query"] - ) - """The metrics level for the monitoring configuration status of the storage appliance. Known - values are: \"Default\" and \"Nexus\".""" - - @overload - def __init__( - self, - *, - log_level: Optional[Union[str, "_models.StorageApplianceMetricsConfigurationStatusLogLevel"]] = None, - metrics_level: Optional[Union[str, "_models.StorageApplianceMetricsConfigurationStatusMetricsLevel"]] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - class StorageAppliancePatchParameters(_Model): """StorageAppliancePatchParameters represents the body of the request to patch storage appliance properties. @@ -9644,9 +8675,6 @@ class StorageApplianceProperties(_Model): :vartype detailed_status: str or ~azure.mgmt.networkcloud.models.StorageApplianceDetailedStatus :ivar detailed_status_message: The descriptive message about the current detailed status. :vartype detailed_status_message: str - :ivar expansion_shelves: The list of expansion shelves connected to the storage appliance. - :vartype expansion_shelves: - list[~azure.mgmt.networkcloud.models.StorageApplianceExpansionShelf] :ivar management_ipv4_address: The endpoint for the management interface of the storage appliance. :vartype management_ipv4_address: str @@ -9654,10 +8682,6 @@ class StorageApplianceProperties(_Model): :vartype manufacturer: str :ivar model: The model of the storage appliance. :vartype model: str - :ivar monitoring_configuration_status: The monitoring configuration status of the storage - appliance. - :vartype monitoring_configuration_status: - ~azure.mgmt.networkcloud.models.StorageApplianceMonitoringConfigurationStatus :ivar remote_vendor_management_feature: The indicator of whether the storage appliance supports remote vendor management. Known values are: "Supported" and "Unsupported". :vartype remote_vendor_management_feature: str or @@ -9706,20 +8730,12 @@ class StorageApplianceProperties(_Model): \"Error\", and \"Provisioning\".""" detailed_status_message: Optional[str] = rest_field(name="detailedStatusMessage", visibility=["read"]) """The descriptive message about the current detailed status.""" - expansion_shelves: Optional[list["_models.StorageApplianceExpansionShelf"]] = rest_field( - name="expansionShelves", visibility=["read"] - ) - """The list of expansion shelves connected to the storage appliance.""" management_ipv4_address: Optional[str] = rest_field(name="managementIpv4Address", visibility=["read"]) """The endpoint for the management interface of the storage appliance.""" manufacturer: Optional[str] = rest_field(visibility=["read"]) """The manufacturer of the storage appliance.""" model: Optional[str] = rest_field(visibility=["read"]) """The model of the storage appliance.""" - monitoring_configuration_status: Optional["_models.StorageApplianceMonitoringConfigurationStatus"] = rest_field( - name="monitoringConfigurationStatus", visibility=["read"] - ) - """The monitoring configuration status of the storage appliance.""" remote_vendor_management_feature: Optional[Union[str, "_models.RemoteVendorManagementFeature"]] = rest_field( name="remoteVendorManagementFeature", visibility=["read"] ) @@ -10945,7 +9961,6 @@ class Volume(TrackedResource): "size_mi_b", "storage_appliance_id", "allocated_size_mi_b", - "assigned_storage_appliance_id", "attached_to", "detailed_status", "detailed_status_message", @@ -11029,9 +10044,6 @@ class VolumeProperties(_Model): :vartype storage_appliance_id: str :ivar allocated_size_mi_b: The allocated size of the volume in Mebibytes. :vartype allocated_size_mi_b: int - :ivar assigned_storage_appliance_id: The assigned resource ID of the storage appliance that - hosts the volume. - :vartype assigned_storage_appliance_id: str :ivar attached_to: The list of resource IDs that attach the volume. It may include virtual machines and Hybrid AKS clusters. :vartype attached_to: list[str] @@ -11055,8 +10067,6 @@ class VolumeProperties(_Model): """The resource ID of the storage appliance that hosts the volume.""" allocated_size_mi_b: Optional[int] = rest_field(name="allocatedSizeMiB", visibility=["read"]) """The allocated size of the volume in Mebibytes.""" - assigned_storage_appliance_id: Optional[str] = rest_field(name="assignedStorageApplianceId", visibility=["read"]) - """The assigned resource ID of the storage appliance that hosts the volume.""" attached_to: Optional[list[str]] = rest_field(name="attachedTo", visibility=["read"]) """The list of resource IDs that attach the volume. It may include virtual machines and Hybrid AKS clusters.""" diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/operations/__init__.py b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/operations/__init__.py index d49d351ab326..a3eb236d5878 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/operations/__init__.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/operations/__init__.py @@ -13,13 +13,11 @@ from ._patch import * # pylint: disable=unused-wildcard-import from ._operations import Operations # type: ignore -from ._operations import AccessBridgesOperations # type: ignore from ._operations import BareMetalMachinesOperations # type: ignore from ._operations import CloudServicesNetworksOperations # type: ignore from ._operations import ClusterManagersOperations # type: ignore from ._operations import ClustersOperations # type: ignore from ._operations import KubernetesClustersOperations # type: ignore -from ._operations import KubernetesVersionsOperations # type: ignore from ._operations import L2NetworksOperations # type: ignore from ._operations import L3NetworksOperations # type: ignore from ._operations import RackSkusOperations # type: ignore @@ -41,13 +39,11 @@ __all__ = [ "Operations", - "AccessBridgesOperations", "BareMetalMachinesOperations", "CloudServicesNetworksOperations", "ClusterManagersOperations", "ClustersOperations", "KubernetesClustersOperations", - "KubernetesVersionsOperations", "L2NetworksOperations", "L3NetworksOperations", "RackSkusOperations", diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/operations/_operations.py b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/operations/_operations.py index 5cd815d9dea6..b891156846c6 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/operations/_operations.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/operations/_operations.py @@ -33,16 +33,14 @@ from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling -from .. import models as _models +from .. import models as _models, types as _types from .._configuration import NetworkCloudMgmtClientConfiguration from .._utils.model_base import SdkJSONEncoder, _deserialize, _failsafe_deserialize from .._utils.serialization import Deserializer, Serializer from .._utils.utils import prep_if_match, prep_if_none_match -from .._validation import api_version_validation T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] -JSON = MutableMapping[str, Any] List = list _SERIALIZER = Serializer() @@ -53,7 +51,7 @@ def build_operations_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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -68,224 +66,13 @@ def build_operations_list_request(**kwargs: Any) -> HttpRequest: return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_access_bridges_get_request( - resource_group_name: str, - access_bridge_name: Union[str, _models.AccessBridgeAllowedName], - 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-05-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/accessBridges/{accessBridgeName}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "accessBridgeName": _SERIALIZER.url("access_bridge_name", access_bridge_name, "str"), - } - - _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_access_bridges_create_or_update_request( # pylint: disable=name-too-long - resource_group_name: str, - access_bridge_name: Union[str, _models.AccessBridgeAllowedName], - subscription_id: str, - **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/accessBridges/{accessBridgeName}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "accessBridgeName": _SERIALIZER.url("access_bridge_name", access_bridge_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - 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_access_bridges_update_request( - resource_group_name: str, - access_bridge_name: Union[str, _models.AccessBridgeAllowedName], - subscription_id: str, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/accessBridges/{accessBridgeName}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "accessBridgeName": _SERIALIZER.url("access_bridge_name", access_bridge_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - if content_type is not None: - _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - if_match = prep_if_match(etag, match_condition) - if if_match is not None: - _headers["If-Match"] = _SERIALIZER.header("if_match", if_match, "str") - if_none_match = prep_if_none_match(etag, match_condition) - if if_none_match is not None: - _headers["If-None-Match"] = _SERIALIZER.header("if_none_match", if_none_match, "str") - - return HttpRequest(method="PATCH", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_access_bridges_delete_request( - resource_group_name: str, - access_bridge_name: Union[str, _models.AccessBridgeAllowedName], - subscription_id: str, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = 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-05-01-preview")) - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/accessBridges/{accessBridgeName}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "accessBridgeName": _SERIALIZER.url("access_bridge_name", access_bridge_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - if_match = prep_if_match(etag, match_condition) - if if_match is not None: - _headers["If-Match"] = _SERIALIZER.header("if_match", if_match, "str") - if_none_match = prep_if_none_match(etag, match_condition) - if if_none_match is not None: - _headers["If-None-Match"] = _SERIALIZER.header("if_none_match", if_none_match, "str") - - return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_access_bridges_list_by_resource_group_request( # pylint: disable=name-too-long - resource_group_name: str, - subscription_id: str, - *, - top: Optional[int] = None, - skip_token: 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-05-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/accessBridges" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - if top is not None: - _params["$top"] = _SERIALIZER.query("top", top, "int") - if skip_token is not None: - _params["$skipToken"] = _SERIALIZER.query("skip_token", skip_token, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_access_bridges_list_by_subscription_request( # pylint: disable=name-too-long - subscription_id: str, *, top: Optional[int] = None, skip_token: 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-05-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/providers/Microsoft.NetworkCloud/accessBridges" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - if top is not None: - _params["$top"] = _SERIALIZER.query("top", top, "int") - if skip_token is not None: - _params["$skipToken"] = _SERIALIZER.query("skip_token", skip_token, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - def build_bare_metal_machines_get_request( resource_group_name: str, bare_metal_machine_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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -320,7 +107,7 @@ def build_bare_metal_machines_create_or_update_request( # pylint: disable=name- _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -363,7 +150,7 @@ def build_bare_metal_machines_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -405,7 +192,7 @@ def build_bare_metal_machines_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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}" path_format_arguments = { @@ -441,7 +228,7 @@ def build_bare_metal_machines_list_by_resource_group_request( # pylint: disable _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -472,7 +259,7 @@ def build_bare_metal_machines_list_by_subscription_request( # pylint: disable=n _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -503,7 +290,7 @@ def build_bare_metal_machines_cordon_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}/cordon" path_format_arguments = { @@ -531,7 +318,7 @@ def build_bare_metal_machines_power_off_request( # pylint: disable=name-too-lon _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}/powerOff" path_format_arguments = { @@ -555,11 +342,9 @@ def build_bare_metal_machines_power_off_request( # pylint: disable=name-too-lon def build_bare_metal_machines_reimage_request( # pylint: disable=name-too-long resource_group_name: str, bare_metal_machine_name: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}/reimage" path_format_arguments = { @@ -573,11 +358,7 @@ def build_bare_metal_machines_reimage_request( # pylint: disable=name-too-long # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - # Construct headers - if content_type is not None: - _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") - - return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) + return HttpRequest(method="POST", url=_url, params=_params, **kwargs) def build_bare_metal_machines_replace_request( # pylint: disable=name-too-long @@ -587,7 +368,7 @@ def build_bare_metal_machines_replace_request( # pylint: disable=name-too-long _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}/replace" path_format_arguments = { @@ -613,7 +394,7 @@ def build_bare_metal_machines_restart_request( # pylint: disable=name-too-long ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}/restart" path_format_arguments = { @@ -637,7 +418,7 @@ def build_bare_metal_machines_run_command_request( # pylint: disable=name-too-l _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}/runCommand" path_format_arguments = { @@ -665,7 +446,7 @@ def build_bare_metal_machines_run_data_extracts_request( # pylint: disable=name _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}/runDataExtracts" path_format_arguments = { @@ -693,7 +474,7 @@ def build_bare_metal_machines_run_data_extracts_restricted_request( # pylint: d _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}/runDataExtractsRestricted" path_format_arguments = { @@ -721,7 +502,7 @@ def build_bare_metal_machines_run_read_commands_request( # pylint: disable=name _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}/runReadCommands" path_format_arguments = { @@ -747,7 +528,7 @@ def build_bare_metal_machines_start_request( ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}/start" path_format_arguments = { @@ -769,7 +550,7 @@ def build_bare_metal_machines_uncordon_request( # pylint: disable=name-too-long ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}/uncordon" path_format_arguments = { @@ -792,7 +573,7 @@ def build_cloud_services_networks_get_request( # pylint: disable=name-too-long _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -827,7 +608,7 @@ def build_cloud_services_networks_create_or_update_request( # pylint: disable=n _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -870,7 +651,7 @@ def build_cloud_services_networks_update_request( # pylint: disable=name-too-lo _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -912,7 +693,7 @@ def build_cloud_services_networks_delete_request( # pylint: disable=name-too-lo _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/cloudServicesNetworks/{cloudServicesNetworkName}" path_format_arguments = { @@ -948,7 +729,7 @@ def build_cloud_services_networks_list_by_resource_group_request( # pylint: dis _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -979,7 +760,7 @@ def build_cloud_services_networks_list_by_subscription_request( # pylint: disab _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1009,7 +790,7 @@ def build_cluster_managers_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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1044,7 +825,7 @@ def build_cluster_managers_create_or_update_request( # pylint: disable=name-too _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1087,7 +868,7 @@ def build_cluster_managers_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1129,7 +910,7 @@ def build_cluster_managers_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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusterManagers/{clusterManagerName}" path_format_arguments = { @@ -1165,7 +946,7 @@ def build_cluster_managers_list_by_resource_group_request( # pylint: disable=na _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1196,7 +977,7 @@ def build_cluster_managers_list_by_subscription_request( # pylint: disable=name _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1220,41 +1001,13 @@ def build_cluster_managers_list_by_subscription_request( # pylint: disable=name return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_cluster_managers_update_relay_private_endpoint_connection_request( # pylint: disable=name-too-long - resource_group_name: str, cluster_manager_name: str, subscription_id: str, **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusterManagers/{clusterManagerName}/updateRelayPrivateEndpointConnection" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterManagerName": _SERIALIZER.url("cluster_manager_name", cluster_manager_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - if content_type is not None: - _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") - - return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) - - def build_clusters_get_request( resource_group_name: str, cluster_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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1289,7 +1042,7 @@ def build_clusters_create_or_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1332,7 +1085,7 @@ def build_clusters_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1374,7 +1127,7 @@ def build_clusters_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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}" path_format_arguments = { @@ -1410,7 +1163,7 @@ def build_clusters_list_by_resource_group_request( # pylint: disable=name-too-l _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1443,7 +1196,7 @@ def build_clusters_list_by_subscription_request( # pylint: disable=name-too-lon _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1474,7 +1227,7 @@ def build_clusters_continue_update_version_request( # pylint: disable=name-too- _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}/continueUpdateVersion" path_format_arguments = { @@ -1502,7 +1255,7 @@ def build_clusters_deploy_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}/deploy" path_format_arguments = { @@ -1523,16 +1276,16 @@ def build_clusters_deploy_request( return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_clusters_inspect_request( +def build_clusters_scan_runtime_request( resource_group_name: str, cluster_name: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}/inspect" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}/scanRuntime" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), @@ -1551,16 +1304,16 @@ def build_clusters_inspect_request( return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_clusters_rotate_credential_request( +def build_clusters_update_version_request( resource_group_name: str, cluster_name: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}/rotateCredential" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}/updateVersion" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), @@ -1579,20 +1332,21 @@ def build_clusters_rotate_credential_request( return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_clusters_scan_runtime_request( - resource_group_name: str, cluster_name: str, subscription_id: str, **kwargs: Any +def build_kubernetes_clusters_get_request( + resource_group_name: str, kubernetes_cluster_name: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + accept = _headers.pop("Accept", "application/json") + # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}/scanRuntime" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/kubernetesClusters/{kubernetesClusterName}" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), + "kubernetesClusterName": _SERIALIZER.url("kubernetes_cluster_name", kubernetes_cluster_name, "str"), } _url: str = _url.format(**path_format_arguments) # type: ignore @@ -1601,90 +1355,33 @@ def build_clusters_scan_runtime_request( _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - 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="POST", url=_url, params=_params, headers=_headers, **kwargs) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_clusters_update_version_request( - resource_group_name: str, cluster_name: str, subscription_id: str, **kwargs: Any +def build_kubernetes_clusters_create_or_update_request( # pylint: disable=name-too-long + resource_group_name: str, + kubernetes_cluster_name: str, + subscription_id: str, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + accept = _headers.pop("Accept", "application/json") + # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}/updateVersion" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/kubernetesClusters/{kubernetesClusterName}" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - if content_type is not None: - _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") - - return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_kubernetes_clusters_get_request( - resource_group_name: str, kubernetes_cluster_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-05-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/kubernetesClusters/{kubernetesClusterName}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "kubernetesClusterName": _SERIALIZER.url("kubernetes_cluster_name", kubernetes_cluster_name, "str"), - } - - _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_kubernetes_clusters_create_or_update_request( # pylint: disable=name-too-long - resource_group_name: str, - kubernetes_cluster_name: str, - subscription_id: str, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/kubernetesClusters/{kubernetesClusterName}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "kubernetesClusterName": _SERIALIZER.url("kubernetes_cluster_name", kubernetes_cluster_name, "str"), + "kubernetesClusterName": _SERIALIZER.url("kubernetes_cluster_name", kubernetes_cluster_name, "str"), } _url: str = _url.format(**path_format_arguments) # type: ignore @@ -1719,7 +1416,7 @@ def build_kubernetes_clusters_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1761,7 +1458,7 @@ def build_kubernetes_clusters_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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/kubernetesClusters/{kubernetesClusterName}" path_format_arguments = { @@ -1797,7 +1494,7 @@ def build_kubernetes_clusters_list_by_resource_group_request( # pylint: disable _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1828,7 +1525,7 @@ def build_kubernetes_clusters_list_by_subscription_request( # pylint: disable=n _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1859,7 +1556,7 @@ def build_kubernetes_clusters_restart_node_request( # pylint: disable=name-too- _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/kubernetesClusters/{kubernetesClusterName}/restartNode" path_format_arguments = { @@ -1880,230 +1577,13 @@ def build_kubernetes_clusters_restart_node_request( # pylint: disable=name-too- return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_kubernetes_versions_get_request( - resource_group_name: str, kubernetes_version_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-05-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/kubernetesVersions/{kubernetesVersionName}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "kubernetesVersionName": _SERIALIZER.url("kubernetes_version_name", kubernetes_version_name, "str"), - } - - _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_kubernetes_versions_create_or_update_request( # pylint: disable=name-too-long - resource_group_name: str, - kubernetes_version_name: str, - subscription_id: str, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/kubernetesVersions/{kubernetesVersionName}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "kubernetesVersionName": _SERIALIZER.url("kubernetes_version_name", kubernetes_version_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - if content_type is not None: - _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - if_match = prep_if_match(etag, match_condition) - if if_match is not None: - _headers["If-Match"] = _SERIALIZER.header("if_match", if_match, "str") - if_none_match = prep_if_none_match(etag, match_condition) - if if_none_match is not None: - _headers["If-None-Match"] = _SERIALIZER.header("if_none_match", if_none_match, "str") - - return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_kubernetes_versions_update_request( - resource_group_name: str, - kubernetes_version_name: str, - subscription_id: str, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any -) -> HttpRequest: - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/kubernetesVersions/{kubernetesVersionName}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "kubernetesVersionName": _SERIALIZER.url("kubernetes_version_name", kubernetes_version_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - if content_type is not None: - _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - if_match = prep_if_match(etag, match_condition) - if if_match is not None: - _headers["If-Match"] = _SERIALIZER.header("if_match", if_match, "str") - if_none_match = prep_if_none_match(etag, match_condition) - if if_none_match is not None: - _headers["If-None-Match"] = _SERIALIZER.header("if_none_match", if_none_match, "str") - - return HttpRequest(method="PATCH", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_kubernetes_versions_delete_request( - resource_group_name: str, - kubernetes_version_name: str, - subscription_id: str, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = 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-05-01-preview")) - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/kubernetesVersions/{kubernetesVersionName}" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "kubernetesVersionName": _SERIALIZER.url("kubernetes_version_name", kubernetes_version_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - - # Construct headers - if_match = prep_if_match(etag, match_condition) - if if_match is not None: - _headers["If-Match"] = _SERIALIZER.header("if_match", if_match, "str") - if_none_match = prep_if_none_match(etag, match_condition) - if if_none_match is not None: - _headers["If-None-Match"] = _SERIALIZER.header("if_none_match", if_none_match, "str") - - return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_kubernetes_versions_list_by_resource_group_request( # pylint: disable=name-too-long - resource_group_name: str, - subscription_id: str, - *, - top: Optional[int] = None, - skip_token: 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-05-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/kubernetesVersions" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - if top is not None: - _params["$top"] = _SERIALIZER.query("top", top, "int") - if skip_token is not None: - _params["$skipToken"] = _SERIALIZER.query("skip_token", skip_token, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - -def build_kubernetes_versions_list_by_subscription_request( # pylint: disable=name-too-long - subscription_id: str, *, top: Optional[int] = None, skip_token: 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-05-01-preview")) - accept = _headers.pop("Accept", "application/json") - - # Construct URL - _url = "/subscriptions/{subscriptionId}/providers/Microsoft.NetworkCloud/kubernetesVersions" - path_format_arguments = { - "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), - } - - _url: str = _url.format(**path_format_arguments) # type: ignore - - # Construct parameters - _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - if top is not None: - _params["$top"] = _SERIALIZER.query("top", top, "int") - if skip_token is not None: - _params["$skipToken"] = _SERIALIZER.query("skip_token", skip_token, "str") - - # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - - def build_l2_networks_get_request( resource_group_name: str, l2_network_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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2138,7 +1618,7 @@ def build_l2_networks_create_or_update_request( # pylint: disable=name-too-long _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2181,7 +1661,7 @@ def build_l2_networks_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2223,7 +1703,7 @@ def build_l2_networks_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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/l2Networks/{l2NetworkName}" path_format_arguments = { @@ -2259,7 +1739,7 @@ def build_l2_networks_list_by_resource_group_request( # pylint: disable=name-to _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2292,7 +1772,7 @@ def build_l2_networks_list_by_subscription_request( # pylint: disable=name-too- _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2322,7 +1802,7 @@ def build_l3_networks_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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2357,7 +1837,7 @@ def build_l3_networks_create_or_update_request( # pylint: disable=name-too-long _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2400,7 +1880,7 @@ def build_l3_networks_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2442,7 +1922,7 @@ def build_l3_networks_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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/l3Networks/{l3NetworkName}" path_format_arguments = { @@ -2478,7 +1958,7 @@ def build_l3_networks_list_by_resource_group_request( # pylint: disable=name-to _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2511,7 +1991,7 @@ def build_l3_networks_list_by_subscription_request( # pylint: disable=name-too- _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2539,7 +2019,7 @@ def build_rack_skus_get_request(rack_sku_name: str, subscription_id: str, **kwar _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2566,7 +2046,7 @@ def build_rack_skus_list_by_subscription_request( # pylint: disable=name-too-lo _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2592,7 +2072,7 @@ def build_racks_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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2627,7 +2107,7 @@ def build_racks_create_or_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2670,7 +2150,7 @@ def build_racks_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2712,7 +2192,7 @@ def build_racks_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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/racks/{rackName}" path_format_arguments = { @@ -2748,7 +2228,7 @@ def build_racks_list_by_resource_group_request( # pylint: disable=name-too-long _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2779,7 +2259,7 @@ def build_racks_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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2809,7 +2289,7 @@ def build_storage_appliances_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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2844,7 +2324,7 @@ def build_storage_appliances_create_or_update_request( # pylint: disable=name-t _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2887,7 +2367,7 @@ def build_storage_appliances_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2929,7 +2409,7 @@ def build_storage_appliances_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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/storageAppliances/{storageApplianceName}" path_format_arguments = { @@ -2965,7 +2445,7 @@ def build_storage_appliances_list_by_resource_group_request( # pylint: disable= _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2996,7 +2476,7 @@ def build_storage_appliances_list_by_subscription_request( # pylint: disable=na _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3025,7 +2505,7 @@ def build_storage_appliances_disable_remote_vendor_management_request( # pylint ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/storageAppliances/{storageApplianceName}/disableRemoteVendorManagement" path_format_arguments = { @@ -3049,7 +2529,7 @@ def build_storage_appliances_enable_remote_vendor_management_request( # pylint: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/storageAppliances/{storageApplianceName}/enableRemoteVendorManagement" path_format_arguments = { @@ -3077,7 +2557,7 @@ def build_storage_appliances_run_read_commands_request( # pylint: disable=name- _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/storageAppliances/{storageApplianceName}/runReadCommands" path_format_arguments = { @@ -3104,7 +2584,7 @@ def build_trunked_networks_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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3139,7 +2619,7 @@ def build_trunked_networks_create_or_update_request( # pylint: disable=name-too _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3182,7 +2662,7 @@ def build_trunked_networks_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3224,7 +2704,7 @@ def build_trunked_networks_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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/trunkedNetworks/{trunkedNetworkName}" path_format_arguments = { @@ -3260,7 +2740,7 @@ def build_trunked_networks_list_by_resource_group_request( # pylint: disable=na _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3291,7 +2771,7 @@ def build_trunked_networks_list_by_subscription_request( # pylint: disable=name _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3321,7 +2801,7 @@ def build_virtual_machines_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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3356,7 +2836,7 @@ def build_virtual_machines_create_or_update_request( # pylint: disable=name-too _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3399,7 +2879,7 @@ def build_virtual_machines_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3441,7 +2921,7 @@ def build_virtual_machines_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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/virtualMachines/{virtualMachineName}" path_format_arguments = { @@ -3477,7 +2957,7 @@ def build_virtual_machines_list_by_resource_group_request( # pylint: disable=na _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3508,7 +2988,7 @@ def build_virtual_machines_list_by_subscription_request( # pylint: disable=name _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3539,7 +3019,7 @@ def build_virtual_machines_assign_relay_request( # pylint: disable=name-too-lon _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/virtualMachines/{virtualMachineName}/assignRelay" path_format_arguments = { @@ -3567,7 +3047,7 @@ def build_virtual_machines_power_off_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/virtualMachines/{virtualMachineName}/powerOff" path_format_arguments = { @@ -3593,7 +3073,7 @@ def build_virtual_machines_reimage_request( ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/virtualMachines/{virtualMachineName}/reimage" path_format_arguments = { @@ -3615,7 +3095,7 @@ def build_virtual_machines_restart_request( ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/virtualMachines/{virtualMachineName}/restart" path_format_arguments = { @@ -3637,7 +3117,7 @@ def build_virtual_machines_start_request( ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/virtualMachines/{virtualMachineName}/start" path_format_arguments = { @@ -3660,7 +3140,7 @@ def build_volumes_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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3695,7 +3175,7 @@ def build_volumes_create_or_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3738,7 +3218,7 @@ def build_volumes_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3780,7 +3260,7 @@ def build_volumes_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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/volumes/{volumeName}" path_format_arguments = { @@ -3816,7 +3296,7 @@ def build_volumes_list_by_resource_group_request( # pylint: disable=name-too-lo _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3847,7 +3327,7 @@ def build_volumes_list_by_subscription_request( # pylint: disable=name-too-long _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3881,7 +3361,7 @@ def build_bare_metal_machine_key_sets_get_request( # pylint: disable=name-too-l _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3920,7 +3400,7 @@ def build_bare_metal_machine_key_sets_create_or_update_request( # pylint: disab _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3967,7 +3447,7 @@ def build_bare_metal_machine_key_sets_update_request( # pylint: disable=name-to _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -4013,7 +3493,7 @@ def build_bare_metal_machine_key_sets_delete_request( # pylint: disable=name-to _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}/bareMetalMachineKeySets/{bareMetalMachineKeySetName}" path_format_arguments = { @@ -4053,7 +3533,7 @@ def build_bare_metal_machine_key_sets_list_by_cluster_request( # pylint: disabl _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -4085,7 +3565,7 @@ def build_bmc_key_sets_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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -4122,7 +3602,7 @@ def build_bmc_key_sets_create_or_update_request( # pylint: disable=name-too-lon _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -4167,7 +3647,7 @@ def build_bmc_key_sets_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -4211,7 +3691,7 @@ def build_bmc_key_sets_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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}/bmcKeySets/{bmcKeySetName}" path_format_arguments = { @@ -4249,7 +3729,7 @@ def build_bmc_key_sets_list_by_cluster_request( # pylint: disable=name-too-long _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -4281,7 +3761,7 @@ def build_agent_pools_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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -4318,7 +3798,7 @@ def build_agent_pools_create_or_update_request( # pylint: disable=name-too-long _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -4363,7 +3843,7 @@ def build_agent_pools_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -4407,7 +3887,7 @@ def build_agent_pools_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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/kubernetesClusters/{kubernetesClusterName}/agentPools/{agentPoolName}" path_format_arguments = { @@ -4445,7 +3925,7 @@ def build_agent_pools_list_by_kubernetes_cluster_request( # pylint: disable=nam _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -4477,7 +3957,7 @@ def build_kubernetes_cluster_features_get_request( # pylint: disable=name-too-l _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -4514,7 +3994,7 @@ def build_kubernetes_cluster_features_create_or_update_request( # pylint: disab _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -4559,7 +4039,7 @@ def build_kubernetes_cluster_features_update_request( # pylint: disable=name-to _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -4603,7 +4083,7 @@ def build_kubernetes_cluster_features_delete_request( # pylint: disable=name-to _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/kubernetesClusters/{kubernetesClusterName}/features/{featureName}" path_format_arguments = { @@ -4641,7 +4121,7 @@ def build_kubernetes_cluster_features_list_by_kubernetes_cluster_request( # pyl _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -4673,7 +4153,7 @@ def build_consoles_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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -4710,7 +4190,7 @@ def build_consoles_create_or_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -4755,7 +4235,7 @@ def build_consoles_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -4799,7 +4279,7 @@ def build_consoles_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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/virtualMachines/{virtualMachineName}/consoles/{consoleName}" path_format_arguments = { @@ -4837,7 +4317,7 @@ def build_consoles_list_by_virtual_machine_request( # pylint: disable=name-too- _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -4869,7 +4349,7 @@ def build_metrics_configurations_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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -4906,7 +4386,7 @@ def build_metrics_configurations_create_or_update_request( # pylint: disable=na _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -4951,7 +4431,7 @@ def build_metrics_configurations_update_request( # pylint: disable=name-too-lon _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -4995,7 +4475,7 @@ def build_metrics_configurations_delete_request( # pylint: disable=name-too-lon _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}/metricsConfigurations/{metricsConfigurationName}" path_format_arguments = { @@ -5033,7 +4513,7 @@ def build_metrics_configurations_list_by_cluster_request( # pylint: disable=nam _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-05-01-preview")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -5169,14 +4649,14 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) -class AccessBridgesOperations: +class BareMetalMachinesOperations: # pylint: disable=too-many-public-methods """ .. warning:: **DO NOT** instantiate this class directly. Instead, you should access the following operations through :class:`~azure.mgmt.networkcloud.NetworkCloudMgmtClient`'s - :attr:`access_bridges` attribute. + :attr:`bare_metal_machines` attribute. """ def __init__(self, *args, **kwargs) -> None: @@ -5187,32 +4667,16 @@ def __init__(self, *args, **kwargs) -> None: self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @distributed_trace - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "access_bridge_name", - "accept", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) - def get( - self, resource_group_name: str, access_bridge_name: Union[str, _models.AccessBridgeAllowedName], **kwargs: Any - ) -> _models.AccessBridge: - """Get the properties of the provided access bridge. + def get(self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any) -> _models.BareMetalMachine: + """Get properties of the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", - "PrivateVault", and "StorageDashboard". Required. - :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName - :return: AccessBridge. The AccessBridge is compatible with MutableMapping - :rtype: ~azure.mgmt.networkcloud.models.AccessBridge + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :return: BareMetalMachine. The BareMetalMachine is compatible with MutableMapping + :rtype: ~azure.mgmt.networkcloud.models.BareMetalMachine :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -5226,11 +4690,11 @@ def get( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.AccessBridge] = kwargs.pop("cls", None) + cls: ClsType[_models.BareMetalMachine] = kwargs.pop("cls", None) - _request = build_access_bridges_get_request( + _request = build_bare_metal_machines_get_request( resource_group_name=resource_group_name, - access_bridge_name=access_bridge_name, + bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -5265,32 +4729,21 @@ def get( if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.AccessBridge, response.json()) + deserialized = _deserialize(_models.BareMetalMachine, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "access_bridge_name", - "content_type", - "accept", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) def _create_or_update_initial( self, resource_group_name: str, - access_bridge_name: Union[str, _models.AccessBridgeAllowedName], - access_bridge: Union[_models.AccessBridge, JSON, IO[bytes]], + bare_metal_machine_name: str, + bare_metal_machine_parameters: Union[_models.BareMetalMachine, _types.BareMetalMachine, IO[bytes]], + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -5299,6 +4752,12 @@ def _create_or_update_initial( 409: ResourceExistsError, 304: ResourceNotModifiedError, } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) @@ -5309,15 +4768,17 @@ def _create_or_update_initial( content_type = content_type or "application/json" _content = None - if isinstance(access_bridge, (IOBase, bytes)): - _content = access_bridge + if isinstance(bare_metal_machine_parameters, (IOBase, bytes)): + _content = bare_metal_machine_parameters else: - _content = json.dumps(access_bridge, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + _content = json.dumps(bare_metal_machine_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_access_bridges_create_or_update_request( + _request = build_bare_metal_machines_create_or_update_request( resource_group_name=resource_group_name, - access_bridge_name=access_bridge_name, + bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, content_type=content_type, api_version=self._config.api_version, content=_content, @@ -5366,28 +4827,36 @@ def _create_or_update_initial( def begin_create_or_update( self, resource_group_name: str, - access_bridge_name: Union[str, _models.AccessBridgeAllowedName], - access_bridge: _models.AccessBridge, + bare_metal_machine_name: str, + bare_metal_machine_parameters: _models.BareMetalMachine, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.AccessBridge]: - """Create a new access bridge or update the properties of the existing access bridge. + ) -> LROPoller[_models.BareMetalMachine]: + """Create a new bare metal machine or update the properties of the existing one. All customer + initiated requests will be rejected as the life cycle of this resource is managed by the + system. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", - "PrivateVault", and "StorageDashboard". Required. - :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName - :param access_bridge: The access bridge configuration. Required. - :type access_bridge: ~azure.mgmt.networkcloud.models.AccessBridge + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_parameters: The request body. Required. + :type bare_metal_machine_parameters: ~azure.mgmt.networkcloud.models.BareMetalMachine :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 AccessBridge. The AccessBridge is compatible - with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.AccessBridge] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns BareMetalMachine. The BareMetalMachine is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -5395,28 +4864,36 @@ def begin_create_or_update( def begin_create_or_update( self, resource_group_name: str, - access_bridge_name: Union[str, _models.AccessBridgeAllowedName], - access_bridge: JSON, + bare_metal_machine_name: str, + bare_metal_machine_parameters: _types.BareMetalMachine, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.AccessBridge]: - """Create a new access bridge or update the properties of the existing access bridge. + ) -> LROPoller[_models.BareMetalMachine]: + """Create a new bare metal machine or update the properties of the existing one. All customer + initiated requests will be rejected as the life cycle of this resource is managed by the + system. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", - "PrivateVault", and "StorageDashboard". Required. - :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName - :param access_bridge: The access bridge configuration. Required. - :type access_bridge: JSON + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_parameters: The request body. Required. + :type bare_metal_machine_parameters: ~azure.mgmt.networkcloud.types.BareMetalMachine :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 AccessBridge. The AccessBridge is compatible - with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.AccessBridge] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns BareMetalMachine. The BareMetalMachine is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -5424,82 +4901,88 @@ def begin_create_or_update( def begin_create_or_update( self, resource_group_name: str, - access_bridge_name: Union[str, _models.AccessBridgeAllowedName], - access_bridge: IO[bytes], + bare_metal_machine_name: str, + bare_metal_machine_parameters: IO[bytes], *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.AccessBridge]: - """Create a new access bridge or update the properties of the existing access bridge. + ) -> LROPoller[_models.BareMetalMachine]: + """Create a new bare metal machine or update the properties of the existing one. All customer + initiated requests will be rejected as the life cycle of this resource is managed by the + system. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", - "PrivateVault", and "StorageDashboard". Required. - :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName - :param access_bridge: The access bridge configuration. Required. - :type access_bridge: IO[bytes] + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_parameters: The request body. Required. + :type bare_metal_machine_parameters: IO[bytes] :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 AccessBridge. The AccessBridge is compatible - with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.AccessBridge] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns BareMetalMachine. The BareMetalMachine is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "access_bridge_name", - "content_type", - "accept", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) def begin_create_or_update( self, resource_group_name: str, - access_bridge_name: Union[str, _models.AccessBridgeAllowedName], - access_bridge: Union[_models.AccessBridge, JSON, IO[bytes]], + bare_metal_machine_name: str, + bare_metal_machine_parameters: Union[_models.BareMetalMachine, _types.BareMetalMachine, IO[bytes]], + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.AccessBridge]: - """Create a new access bridge or update the properties of the existing access bridge. + ) -> LROPoller[_models.BareMetalMachine]: + """Create a new bare metal machine or update the properties of the existing one. All customer + initiated requests will be rejected as the life cycle of this resource is managed by the + system. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", - "PrivateVault", and "StorageDashboard". Required. - :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName - :param access_bridge: The access bridge configuration. Is one of the following types: - AccessBridge, JSON, IO[bytes] Required. - :type access_bridge: ~azure.mgmt.networkcloud.models.AccessBridge or JSON or IO[bytes] - :return: An instance of LROPoller that returns AccessBridge. The AccessBridge is compatible - with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.AccessBridge] + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_parameters: The request body. Is either a BareMetalMachine type or a + IO[bytes] type. Required. + :type bare_metal_machine_parameters: ~azure.mgmt.networkcloud.models.BareMetalMachine or + ~azure.mgmt.networkcloud.types.BareMetalMachine or IO[bytes] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns BareMetalMachine. The BareMetalMachine is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.AccessBridge] = kwargs.pop("cls", None) + cls: ClsType[_models.BareMetalMachine] = 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, - access_bridge_name=access_bridge_name, - access_bridge=access_bridge, + bare_metal_machine_name=bare_metal_machine_name, + bare_metal_machine_parameters=bare_metal_machine_parameters, + etag=etag, + match_condition=match_condition, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -5511,7 +4994,7 @@ def begin_create_or_update( def get_long_running_output(pipeline_response): response = pipeline_response.http_response - deserialized = _deserialize(_models.AccessBridge, response.json()) + deserialized = _deserialize(_models.BareMetalMachine, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized @@ -5529,37 +5012,23 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return LROPoller[_models.AccessBridge].from_continuation_token( + return LROPoller[_models.BareMetalMachine].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return LROPoller[_models.AccessBridge]( + return LROPoller[_models.BareMetalMachine]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "access_bridge_name", - "content_type", - "accept", - "etag", - "match_condition", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) def _update_initial( self, resource_group_name: str, - access_bridge_name: Union[str, _models.AccessBridgeAllowedName], - access_bridge_update_parameters: Optional[Union[_models.AccessBridgePatchParameters, JSON, IO[bytes]]] = None, + bare_metal_machine_name: str, + bare_metal_machine_update_parameters: Optional[ + Union[_models.BareMetalMachinePatchParameters, _types.BareMetalMachinePatchParameters, IO[bytes]] + ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -5583,22 +5052,22 @@ def _update_initial( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if access_bridge_update_parameters else None + content_type = content_type if bare_metal_machine_update_parameters else None cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" if access_bridge_update_parameters else None + content_type = content_type or "application/json" if bare_metal_machine_update_parameters else None _content = None - if isinstance(access_bridge_update_parameters, (IOBase, bytes)): - _content = access_bridge_update_parameters + if isinstance(bare_metal_machine_update_parameters, (IOBase, bytes)): + _content = bare_metal_machine_update_parameters else: - if access_bridge_update_parameters is not None: - _content = json.dumps(access_bridge_update_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + if bare_metal_machine_update_parameters is not None: + _content = json.dumps(bare_metal_machine_update_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore else: _content = None - _request = build_access_bridges_update_request( + _request = build_bare_metal_machines_update_request( resource_group_name=resource_group_name, - access_bridge_name=access_bridge_name, + bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, etag=etag, match_condition=match_condition, @@ -5651,26 +5120,25 @@ def _update_initial( def begin_update( self, resource_group_name: str, - access_bridge_name: Union[str, _models.AccessBridgeAllowedName], - access_bridge_update_parameters: Optional[_models.AccessBridgePatchParameters] = None, + bare_metal_machine_name: str, + bare_metal_machine_update_parameters: Optional[_models.BareMetalMachinePatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.AccessBridge]: - """Update properties of the provided access bridge, or update tags associated with the access - bridge. Properties and tag updates can be done independently. + ) -> LROPoller[_models.BareMetalMachine]: + """Patch properties of the provided bare metal machine, or update tags associated with the bare + metal machine. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", - "PrivateVault", and "StorageDashboard". Required. - :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName - :param access_bridge_update_parameters: The request body. Default value is None. - :type access_bridge_update_parameters: - ~azure.mgmt.networkcloud.models.AccessBridgePatchParameters + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_update_parameters: The request body. Default value is None. + :type bare_metal_machine_update_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachinePatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -5679,9 +5147,9 @@ def begin_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns AccessBridge. The AccessBridge is compatible - with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.AccessBridge] + :return: An instance of LROPoller that returns BareMetalMachine. The BareMetalMachine is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -5689,25 +5157,25 @@ def begin_update( def begin_update( self, resource_group_name: str, - access_bridge_name: Union[str, _models.AccessBridgeAllowedName], - access_bridge_update_parameters: Optional[JSON] = None, + bare_metal_machine_name: str, + bare_metal_machine_update_parameters: Optional[_types.BareMetalMachinePatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.AccessBridge]: - """Update properties of the provided access bridge, or update tags associated with the access - bridge. Properties and tag updates can be done independently. + ) -> LROPoller[_models.BareMetalMachine]: + """Patch properties of the provided bare metal machine, or update tags associated with the bare + metal machine. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", - "PrivateVault", and "StorageDashboard". Required. - :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName - :param access_bridge_update_parameters: The request body. Default value is None. - :type access_bridge_update_parameters: JSON + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_update_parameters: The request body. Default value is None. + :type bare_metal_machine_update_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachinePatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -5716,9 +5184,9 @@ def begin_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns AccessBridge. The AccessBridge is compatible - with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.AccessBridge] + :return: An instance of LROPoller that returns BareMetalMachine. The BareMetalMachine is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -5726,25 +5194,24 @@ def begin_update( def begin_update( self, resource_group_name: str, - access_bridge_name: Union[str, _models.AccessBridgeAllowedName], - access_bridge_update_parameters: Optional[IO[bytes]] = None, + bare_metal_machine_name: str, + bare_metal_machine_update_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.AccessBridge]: - """Update properties of the provided access bridge, or update tags associated with the access - bridge. Properties and tag updates can be done independently. + ) -> LROPoller[_models.BareMetalMachine]: + """Patch properties of the provided bare metal machine, or update tags associated with the bare + metal machine. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", - "PrivateVault", and "StorageDashboard". Required. - :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName - :param access_bridge_update_parameters: The request body. Default value is None. - :type access_bridge_update_parameters: IO[bytes] + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_update_parameters: The request body. Default value is None. + :type bare_metal_machine_update_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -5753,76 +5220,62 @@ def begin_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns AccessBridge. The AccessBridge is compatible - with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.AccessBridge] + :return: An instance of LROPoller that returns BareMetalMachine. The BareMetalMachine is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "access_bridge_name", - "content_type", - "accept", - "etag", - "match_condition", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) def begin_update( self, resource_group_name: str, - access_bridge_name: Union[str, _models.AccessBridgeAllowedName], - access_bridge_update_parameters: Optional[Union[_models.AccessBridgePatchParameters, JSON, IO[bytes]]] = None, + bare_metal_machine_name: str, + bare_metal_machine_update_parameters: Optional[ + Union[_models.BareMetalMachinePatchParameters, _types.BareMetalMachinePatchParameters, IO[bytes]] + ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.AccessBridge]: - """Update properties of the provided access bridge, or update tags associated with the access - bridge. Properties and tag updates can be done independently. + ) -> LROPoller[_models.BareMetalMachine]: + """Patch properties of the provided bare metal machine, or update tags associated with the bare + metal machine. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", - "PrivateVault", and "StorageDashboard". Required. - :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName - :param access_bridge_update_parameters: The request body. Is one of the following types: - AccessBridgePatchParameters, JSON, IO[bytes] Default value is None. - :type access_bridge_update_parameters: - ~azure.mgmt.networkcloud.models.AccessBridgePatchParameters or JSON or IO[bytes] + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_update_parameters: The request body. Is either a + BareMetalMachinePatchParameters type or a IO[bytes] type. Default value is None. + :type bare_metal_machine_update_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachinePatchParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachinePatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns AccessBridge. The AccessBridge is compatible - with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.AccessBridge] + :return: An instance of LROPoller that returns BareMetalMachine. The BareMetalMachine is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if access_bridge_update_parameters else None - cls: ClsType[_models.AccessBridge] = kwargs.pop("cls", None) + content_type = content_type if bare_metal_machine_update_parameters else None + cls: ClsType[_models.BareMetalMachine] = 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._update_initial( resource_group_name=resource_group_name, - access_bridge_name=access_bridge_name, - access_bridge_update_parameters=access_bridge_update_parameters, + bare_metal_machine_name=bare_metal_machine_name, + bare_metal_machine_update_parameters=bare_metal_machine_update_parameters, etag=etag, match_condition=match_condition, content_type=content_type, @@ -5836,7 +5289,7 @@ def begin_update( def get_long_running_output(pipeline_response): response = pipeline_response.http_response - deserialized = _deserialize(_models.AccessBridge, response.json()) + deserialized = _deserialize(_models.BareMetalMachine, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized @@ -5854,34 +5307,20 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return LROPoller[_models.AccessBridge].from_continuation_token( + return LROPoller[_models.BareMetalMachine].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return LROPoller[_models.AccessBridge]( + return LROPoller[_models.BareMetalMachine]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "access_bridge_name", - "etag", - "match_condition", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) def _delete_initial( self, resource_group_name: str, - access_bridge_name: Union[str, _models.AccessBridgeAllowedName], + bare_metal_machine_name: str, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -5906,9 +5345,9 @@ def _delete_initial( cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - _request = build_access_bridges_delete_request( + _request = build_bare_metal_machines_delete_request( resource_group_name=resource_group_name, - access_bridge_name=access_bridge_name, + bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, etag=etag, match_condition=match_condition, @@ -5953,37 +5392,23 @@ def _delete_initial( return deserialized # type: ignore @distributed_trace - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "access_bridge_name", - "etag", - "match_condition", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) def begin_delete( self, resource_group_name: str, - access_bridge_name: Union[str, _models.AccessBridgeAllowedName], + bare_metal_machine_name: str, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Delete the specified access bridge. + """Delete the provided bare metal machine. All customer initiated requests will be rejected as the + life cycle of this resource is managed by the system. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", - "PrivateVault", and "StorageDashboard". Required. - :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -6004,7 +5429,7 @@ def begin_delete( if cont_token is None: raw_result = self._delete_initial( resource_group_name=resource_group_name, - access_bridge_name=access_bridge_name, + bare_metal_machine_name=bare_metal_machine_name, etag=etag, match_condition=match_condition, cls=lambda x, y, z: x, @@ -6049,24 +5474,10 @@ def get_long_running_output(pipeline_response): ) @distributed_trace - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "top", - "skip_token", - "accept", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) def list_by_resource_group( self, resource_group_name: str, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> ItemPaged["_models.AccessBridge"]: - """Get a list of access bridges in the provided resource group. + ) -> ItemPaged["_models.BareMetalMachine"]: + """Get a list of bare metal machines in the provided resource group. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. @@ -6078,14 +5489,14 @@ def list_by_resource_group( listing resources from. This is used for paging through large result sets. Default value is None. :paramtype skip_token: str - :return: An iterator like instance of AccessBridge - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.AccessBridge] + :return: An iterator like instance of BareMetalMachine + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.AccessBridge]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.BareMetalMachine]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -6098,7 +5509,7 @@ def list_by_resource_group( def prepare_request(next_link=None): if not next_link: - _request = build_access_bridges_list_by_resource_group_request( + _request = build_bare_metal_machines_list_by_resource_group_request( resource_group_name=resource_group_name, subscription_id=self._config.subscription_id, top=top, @@ -6142,7 +5553,7 @@ def prepare_request(next_link=None): def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.AccessBridge], + List[_models.BareMetalMachine], deserialized.get("value", []), ) if cls: @@ -6171,15 +5582,10 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) @distributed_trace - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={"2026-01-01-preview": ["api_version", "subscription_id", "top", "skip_token", "accept"]}, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) def list_by_subscription( self, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> ItemPaged["_models.AccessBridge"]: - """Get a list of access bridges in the provided subscription. + ) -> ItemPaged["_models.BareMetalMachine"]: + """Get a list of bare metal machines in the provided subscription. :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. Default value is None. @@ -6188,14 +5594,14 @@ def list_by_subscription( listing resources from. This is used for paging through large result sets. Default value is None. :paramtype skip_token: str - :return: An iterator like instance of AccessBridge - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.AccessBridge] + :return: An iterator like instance of BareMetalMachine + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.AccessBridge]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.BareMetalMachine]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -6208,7 +5614,7 @@ def list_by_subscription( def prepare_request(next_link=None): if not next_link: - _request = build_access_bridges_list_by_subscription_request( + _request = build_bare_metal_machines_list_by_subscription_request( subscription_id=self._config.subscription_id, top=top, skip_token=skip_token, @@ -6251,7 +5657,7 @@ def prepare_request(next_link=None): def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.AccessBridge], + List[_models.BareMetalMachine], deserialized.get("value", []), ) if cls: @@ -6279,137 +5685,44 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) + def _cordon_initial( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_cordon_parameters: Optional[ + Union[_models.BareMetalMachineCordonParameters, _types.BareMetalMachineCordonParameters, IO[bytes]] + ] = None, + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) -class BareMetalMachinesOperations: # pylint: disable=too-many-public-methods - """ - .. warning:: - **DO NOT** instantiate this class directly. + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} - Instead, you should access the following operations through - :class:`~azure.mgmt.networkcloud.NetworkCloudMgmtClient`'s - :attr:`bare_metal_machines` attribute. - """ + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if bare_metal_machine_cordon_parameters else None + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: NetworkCloudMgmtClientConfiguration = 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 get(self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any) -> _models.BareMetalMachine: - """Get properties of the provided bare metal machine. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :return: BareMetalMachine. The BareMetalMachine is compatible with MutableMapping - :rtype: ~azure.mgmt.networkcloud.models.BareMetalMachine - :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 = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.BareMetalMachine] = kwargs.pop("cls", None) - - _request = build_bare_metal_machines_get_request( - resource_group_name=resource_group_name, - bare_metal_machine_name=bare_metal_machine_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("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]: - if _stream: - 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.BareMetalMachine, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - def _create_or_update_initial( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_parameters: Union[_models.BareMetalMachine, JSON, IO[bytes]], - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - 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" + content_type = content_type or "application/json" if bare_metal_machine_cordon_parameters else None _content = None - if isinstance(bare_metal_machine_parameters, (IOBase, bytes)): - _content = bare_metal_machine_parameters + if isinstance(bare_metal_machine_cordon_parameters, (IOBase, bytes)): + _content = bare_metal_machine_cordon_parameters else: - _content = json.dumps(bare_metal_machine_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + if bare_metal_machine_cordon_parameters is not None: + _content = json.dumps(bare_metal_machine_cordon_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None - _request = build_bare_metal_machines_create_or_update_request( + _request = build_bare_metal_machines_cordon_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, content_type=content_type, api_version=self._config.api_version, content=_content, @@ -6429,7 +5742,7 @@ def _create_or_update_initial( response = pipeline_response.http_response - if response.status_code not in [200, 201]: + if response.status_code not in [202]: try: response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -6442,10 +5755,8 @@ def _create_or_update_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - if response.status_code == 201: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -6455,165 +5766,132 @@ def _create_or_update_initial( return deserialized # type: ignore @overload - def begin_create_or_update( + def begin_cordon( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_parameters: _models.BareMetalMachine, + bare_metal_machine_cordon_parameters: Optional[_models.BareMetalMachineCordonParameters] = None, *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.BareMetalMachine]: - """Create a new bare metal machine or update the properties of the existing one. All customer - initiated requests will be rejected as the life cycle of this resource is managed by the - system. + ) -> LROPoller[_models.OperationStatusResult]: + """Cordon the provided bare metal machine's Kubernetes node. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_parameters: The request body. Required. - :type bare_metal_machine_parameters: ~azure.mgmt.networkcloud.models.BareMetalMachine + :param bare_metal_machine_cordon_parameters: The request body. Default value is None. + :type bare_metal_machine_cordon_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineCordonParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns BareMetalMachine. The BareMetalMachine is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] + :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_create_or_update( + def begin_cordon( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_parameters: JSON, + bare_metal_machine_cordon_parameters: Optional[_types.BareMetalMachineCordonParameters] = None, *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.BareMetalMachine]: - """Create a new bare metal machine or update the properties of the existing one. All customer - initiated requests will be rejected as the life cycle of this resource is managed by the - system. + ) -> LROPoller[_models.OperationStatusResult]: + """Cordon the provided bare metal machine's Kubernetes node. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_parameters: The request body. Required. - :type bare_metal_machine_parameters: JSON + :param bare_metal_machine_cordon_parameters: The request body. Default value is None. + :type bare_metal_machine_cordon_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachineCordonParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns BareMetalMachine. The BareMetalMachine is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] + :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_create_or_update( + def begin_cordon( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_parameters: IO[bytes], + bare_metal_machine_cordon_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.BareMetalMachine]: - """Create a new bare metal machine or update the properties of the existing one. All customer - initiated requests will be rejected as the life cycle of this resource is managed by the - system. + ) -> LROPoller[_models.OperationStatusResult]: + """Cordon the provided bare metal machine's Kubernetes node. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_parameters: The request body. Required. - :type bare_metal_machine_parameters: IO[bytes] + :param bare_metal_machine_cordon_parameters: The request body. Default value is None. + :type bare_metal_machine_cordon_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns BareMetalMachine. The BareMetalMachine is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] + :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace - def begin_create_or_update( + def begin_cordon( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_parameters: Union[_models.BareMetalMachine, JSON, IO[bytes]], - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, + bare_metal_machine_cordon_parameters: Optional[ + Union[_models.BareMetalMachineCordonParameters, _types.BareMetalMachineCordonParameters, IO[bytes]] + ] = None, **kwargs: Any - ) -> LROPoller[_models.BareMetalMachine]: - """Create a new bare metal machine or update the properties of the existing one. All customer - initiated requests will be rejected as the life cycle of this resource is managed by the - system. + ) -> LROPoller[_models.OperationStatusResult]: + """Cordon the provided bare metal machine's Kubernetes node. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_parameters: The request body. Is one of the following types: - BareMetalMachine, JSON, IO[bytes] Required. - :type bare_metal_machine_parameters: ~azure.mgmt.networkcloud.models.BareMetalMachine or JSON - or IO[bytes] - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns BareMetalMachine. The BareMetalMachine is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] + :param bare_metal_machine_cordon_parameters: The request body. Is either a + BareMetalMachineCordonParameters type or a IO[bytes] type. Default value is None. + :type bare_metal_machine_cordon_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineCordonParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachineCordonParameters or IO[bytes] + :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.BareMetalMachine] = kwargs.pop("cls", None) + content_type = content_type if bare_metal_machine_cordon_parameters else None + cls: ClsType[_models.OperationStatusResult] = 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( + raw_result = self._cordon_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_parameters=bare_metal_machine_parameters, - etag=etag, - match_condition=match_condition, + bare_metal_machine_cordon_parameters=bare_metal_machine_cordon_parameters, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -6624,10 +5902,14 @@ def begin_create_or_update( kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): + response_headers = {} response = pipeline_response.http_response - deserialized = _deserialize(_models.BareMetalMachine, response.json()) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.OperationStatusResult, response.json()) if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + return cls(pipeline_response, deserialized, response_headers) # type: ignore return deserialized path_format_arguments = { @@ -6643,26 +5925,23 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return LROPoller[_models.BareMetalMachine].from_continuation_token( + return LROPoller[_models.OperationStatusResult].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return LROPoller[_models.BareMetalMachine]( + return LROPoller[_models.OperationStatusResult]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - def _update_initial( + def _power_off_initial( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_update_parameters: Optional[ - Union[_models.BareMetalMachinePatchParameters, JSON, IO[bytes]] + bare_metal_machine_power_off_parameters: Optional[ + Union[_models.BareMetalMachinePowerOffParameters, _types.BareMetalMachinePowerOffParameters, IO[bytes]] ] = None, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -6671,37 +5950,29 @@ def _update_initial( 409: ResourceExistsError, 304: ResourceNotModifiedError, } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if bare_metal_machine_update_parameters else None + content_type = content_type if bare_metal_machine_power_off_parameters else None cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" if bare_metal_machine_update_parameters else None + content_type = content_type or "application/json" if bare_metal_machine_power_off_parameters else None _content = None - if isinstance(bare_metal_machine_update_parameters, (IOBase, bytes)): - _content = bare_metal_machine_update_parameters + if isinstance(bare_metal_machine_power_off_parameters, (IOBase, bytes)): + _content = bare_metal_machine_power_off_parameters else: - if bare_metal_machine_update_parameters is not None: - _content = json.dumps(bare_metal_machine_update_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + if bare_metal_machine_power_off_parameters is not None: + _content = json.dumps(bare_metal_machine_power_off_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore else: _content = None - _request = build_bare_metal_machines_update_request( + _request = build_bare_metal_machines_power_off_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, content_type=content_type, api_version=self._config.api_version, content=_content, @@ -6721,7 +5992,7 @@ def _update_initial( response = pipeline_response.http_response - if response.status_code not in [200, 202]: + if response.status_code not in [202]: try: response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -6734,11 +6005,8 @@ def _update_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - if response.status_code == 202: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -6748,165 +6016,132 @@ def _update_initial( return deserialized # type: ignore @overload - def begin_update( + def begin_power_off( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_update_parameters: Optional[_models.BareMetalMachinePatchParameters] = None, + bare_metal_machine_power_off_parameters: Optional[_models.BareMetalMachinePowerOffParameters] = None, *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.BareMetalMachine]: - """Patch properties of the provided bare metal machine, or update tags associated with the bare - metal machine. Properties and tag updates can be done independently. + ) -> LROPoller[_models.OperationStatusResult]: + """Power off the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_update_parameters: The request body. Default value is None. - :type bare_metal_machine_update_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachinePatchParameters + :param bare_metal_machine_power_off_parameters: The request body. Default value is None. + :type bare_metal_machine_power_off_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachinePowerOffParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns BareMetalMachine. The BareMetalMachine is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] + :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_update( + def begin_power_off( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_update_parameters: Optional[JSON] = None, + bare_metal_machine_power_off_parameters: Optional[_types.BareMetalMachinePowerOffParameters] = None, *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.BareMetalMachine]: - """Patch properties of the provided bare metal machine, or update tags associated with the bare - metal machine. Properties and tag updates can be done independently. + ) -> LROPoller[_models.OperationStatusResult]: + """Power off the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_update_parameters: The request body. Default value is None. - :type bare_metal_machine_update_parameters: JSON + :param bare_metal_machine_power_off_parameters: The request body. Default value is None. + :type bare_metal_machine_power_off_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachinePowerOffParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns BareMetalMachine. The BareMetalMachine is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] + :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_update( + def begin_power_off( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_update_parameters: Optional[IO[bytes]] = None, + bare_metal_machine_power_off_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.BareMetalMachine]: - """Patch properties of the provided bare metal machine, or update tags associated with the bare - metal machine. Properties and tag updates can be done independently. + ) -> LROPoller[_models.OperationStatusResult]: + """Power off the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_update_parameters: The request body. Default value is None. - :type bare_metal_machine_update_parameters: IO[bytes] + :param bare_metal_machine_power_off_parameters: The request body. Default value is None. + :type bare_metal_machine_power_off_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns BareMetalMachine. The BareMetalMachine is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] + :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace - def begin_update( + def begin_power_off( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_update_parameters: Optional[ - Union[_models.BareMetalMachinePatchParameters, JSON, IO[bytes]] + bare_metal_machine_power_off_parameters: Optional[ + Union[_models.BareMetalMachinePowerOffParameters, _types.BareMetalMachinePowerOffParameters, IO[bytes]] ] = None, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.BareMetalMachine]: - """Patch properties of the provided bare metal machine, or update tags associated with the bare - metal machine. Properties and tag updates can be done independently. + ) -> LROPoller[_models.OperationStatusResult]: + """Power off the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_update_parameters: The request body. Is one of the following types: - BareMetalMachinePatchParameters, JSON, IO[bytes] Default value is None. - :type bare_metal_machine_update_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachinePatchParameters or JSON or IO[bytes] - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns BareMetalMachine. The BareMetalMachine is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] + :param bare_metal_machine_power_off_parameters: The request body. Is either a + BareMetalMachinePowerOffParameters type or a IO[bytes] type. Default value is None. + :type bare_metal_machine_power_off_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachinePowerOffParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachinePowerOffParameters or IO[bytes] + :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if bare_metal_machine_update_parameters else None - cls: ClsType[_models.BareMetalMachine] = kwargs.pop("cls", None) + content_type = content_type if bare_metal_machine_power_off_parameters else None + cls: ClsType[_models.OperationStatusResult] = 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._update_initial( + raw_result = self._power_off_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_update_parameters=bare_metal_machine_update_parameters, - etag=etag, - match_condition=match_condition, + bare_metal_machine_power_off_parameters=bare_metal_machine_power_off_parameters, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -6917,10 +6152,14 @@ def begin_update( kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): + response_headers = {} response = pipeline_response.http_response - deserialized = _deserialize(_models.BareMetalMachine, response.json()) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.OperationStatusResult, response.json()) if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + return cls(pipeline_response, deserialized, response_headers) # type: ignore return deserialized path_format_arguments = { @@ -6936,24 +6175,18 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return LROPoller[_models.BareMetalMachine].from_continuation_token( + return LROPoller[_models.OperationStatusResult].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return LROPoller[_models.BareMetalMachine]( + return LROPoller[_models.OperationStatusResult]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - def _delete_initial( - self, - resource_group_name: str, - bare_metal_machine_name: str, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any + def _reimage_initial( + self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -6961,12 +6194,6 @@ def _delete_initial( 409: ResourceExistsError, 304: ResourceNotModifiedError, } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} @@ -6974,12 +6201,10 @@ def _delete_initial( cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - _request = build_bare_metal_machines_delete_request( + _request = build_bare_metal_machines_reimage_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, api_version=self._config.api_version, headers=_headers, params=_params, @@ -6997,7 +6222,7 @@ def _delete_initial( response = pipeline_response.http_response - if response.status_code not in [202, 204]: + if response.status_code not in [202]: try: response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -7010,8 +6235,8 @@ def _delete_initial( 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["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -7021,28 +6246,16 @@ def _delete_initial( return deserialized # type: ignore @distributed_trace - def begin_delete( - self, - resource_group_name: str, - bare_metal_machine_name: str, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any + def begin_reimage( + self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Delete the provided bare metal machine. All customer initiated requests will be rejected as the - life cycle of this resource is managed by the system. + """Reimage the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] @@ -7056,11 +6269,9 @@ def begin_delete( 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( + raw_result = self._reimage_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - etag=etag, - match_condition=match_condition, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -7073,6 +6284,7 @@ def get_long_running_output(pipeline_response): response_headers = {} response = pipeline_response.http_response response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) deserialized = _deserialize(_models.OperationStatusResult, response.json()) if cls: @@ -7102,31 +6314,15 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - @distributed_trace - def list_by_resource_group( - self, resource_group_name: str, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> ItemPaged["_models.BareMetalMachine"]: - """Get a list of bare metal machines in the provided resource group. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. - Default value is None. - :paramtype top: int - :keyword skip_token: The opaque token that the server returns to indicate where to continue - listing resources from. This is used for paging through large result sets. Default value is - None. - :paramtype skip_token: str - :return: An iterator like instance of BareMetalMachine - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.BareMetalMachine] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.BareMetalMachine]] = kwargs.pop("cls", None) - + def _replace_initial( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_replace_parameters: Optional[ + Union[_models.BareMetalMachineReplaceParameters, _types.BareMetalMachineReplaceParameters, IO[bytes]] + ] = None, + **kwargs: Any + ) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -7135,220 +6331,24 @@ def list_by_resource_group( } error_map.update(kwargs.pop("error_map", {}) or {}) - def prepare_request(next_link=None): - if not next_link: - - _request = build_bare_metal_machines_list_by_resource_group_request( - resource_group_name=resource_group_name, - subscription_id=self._config.subscription_id, - top=top, - skip_token=skip_token, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - 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), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.BareMetalMachine], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return ItemPaged(get_next, extract_data) - - @distributed_trace - def list_by_subscription( - self, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> ItemPaged["_models.BareMetalMachine"]: - """Get a list of bare metal machines in the provided subscription. - - :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. - Default value is None. - :paramtype top: int - :keyword skip_token: The opaque token that the server returns to indicate where to continue - listing resources from. This is used for paging through large result sets. Default value is - None. - :paramtype skip_token: str - :return: An iterator like instance of BareMetalMachine - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.BareMetalMachine] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.BareMetalMachine]] = 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_bare_metal_machines_list_by_subscription_request( - subscription_id=self._config.subscription_id, - top=top, - skip_token=skip_token, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - 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), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.BareMetalMachine], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return ItemPaged(get_next, extract_data) - - def _cordon_initial( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_cordon_parameters: Optional[ - Union[_models.BareMetalMachineCordonParameters, JSON, IO[bytes]] - ] = 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 = kwargs.pop("params", {}) or {} + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if bare_metal_machine_cordon_parameters else None + content_type = content_type if bare_metal_machine_replace_parameters else None cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" if bare_metal_machine_cordon_parameters else None + content_type = content_type or "application/json" if bare_metal_machine_replace_parameters else None _content = None - if isinstance(bare_metal_machine_cordon_parameters, (IOBase, bytes)): - _content = bare_metal_machine_cordon_parameters + if isinstance(bare_metal_machine_replace_parameters, (IOBase, bytes)): + _content = bare_metal_machine_replace_parameters else: - if bare_metal_machine_cordon_parameters is not None: - _content = json.dumps(bare_metal_machine_cordon_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + if bare_metal_machine_replace_parameters is not None: + _content = json.dumps(bare_metal_machine_replace_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore else: _content = None - _request = build_bare_metal_machines_cordon_request( + _request = build_bare_metal_machines_replace_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, @@ -7395,25 +6395,25 @@ def _cordon_initial( return deserialized # type: ignore @overload - def begin_cordon( + def begin_replace( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_cordon_parameters: Optional[_models.BareMetalMachineCordonParameters] = None, + bare_metal_machine_replace_parameters: Optional[_models.BareMetalMachineReplaceParameters] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Cordon the provided bare metal machine's Kubernetes node. + """Replace the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_cordon_parameters: The request body. Default value is None. - :type bare_metal_machine_cordon_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineCordonParameters + :param bare_metal_machine_replace_parameters: The request body. Default value is None. + :type bare_metal_machine_replace_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineReplaceParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -7424,24 +6424,25 @@ def begin_cordon( """ @overload - def begin_cordon( + def begin_replace( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_cordon_parameters: Optional[JSON] = None, + bare_metal_machine_replace_parameters: Optional[_types.BareMetalMachineReplaceParameters] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Cordon the provided bare metal machine's Kubernetes node. + """Replace the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_cordon_parameters: The request body. Default value is None. - :type bare_metal_machine_cordon_parameters: JSON + :param bare_metal_machine_replace_parameters: The request body. Default value is None. + :type bare_metal_machine_replace_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachineReplaceParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -7452,24 +6453,24 @@ def begin_cordon( """ @overload - def begin_cordon( + def begin_replace( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_cordon_parameters: Optional[IO[bytes]] = None, + bare_metal_machine_replace_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Cordon the provided bare metal machine's Kubernetes node. + """Replace the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_cordon_parameters: The request body. Default value is None. - :type bare_metal_machine_cordon_parameters: IO[bytes] + :param bare_metal_machine_replace_parameters: The request body. Default value is None. + :type bare_metal_machine_replace_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -7480,26 +6481,27 @@ def begin_cordon( """ @distributed_trace - def begin_cordon( + def begin_replace( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_cordon_parameters: Optional[ - Union[_models.BareMetalMachineCordonParameters, JSON, IO[bytes]] + bare_metal_machine_replace_parameters: Optional[ + Union[_models.BareMetalMachineReplaceParameters, _types.BareMetalMachineReplaceParameters, IO[bytes]] ] = None, **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Cordon the provided bare metal machine's Kubernetes node. + """Replace the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_cordon_parameters: The request body. Is one of the following types: - BareMetalMachineCordonParameters, JSON, IO[bytes] Default value is None. - :type bare_metal_machine_cordon_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineCordonParameters or JSON or IO[bytes] + :param bare_metal_machine_replace_parameters: The request body. Is either a + BareMetalMachineReplaceParameters type or a IO[bytes] type. Default value is None. + :type bare_metal_machine_replace_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineReplaceParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachineReplaceParameters or IO[bytes] :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] @@ -7509,16 +6511,16 @@ def begin_cordon( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if bare_metal_machine_cordon_parameters else None + content_type = content_type if bare_metal_machine_replace_parameters else None cls: ClsType[_models.OperationStatusResult] = 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._cordon_initial( + raw_result = self._replace_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_cordon_parameters=bare_metal_machine_cordon_parameters, + bare_metal_machine_replace_parameters=bare_metal_machine_replace_parameters, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -7562,14 +6564,8 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - def _power_off_initial( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_power_off_parameters: Optional[ - Union[_models.BareMetalMachinePowerOffParameters, JSON, IO[bytes]] - ] = None, - **kwargs: Any + def _restart_initial( + self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -7579,30 +6575,16 @@ def _power_off_initial( } error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if bare_metal_machine_power_off_parameters else None cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" if bare_metal_machine_power_off_parameters else None - _content = None - if isinstance(bare_metal_machine_power_off_parameters, (IOBase, bytes)): - _content = bare_metal_machine_power_off_parameters - else: - if bare_metal_machine_power_off_parameters is not None: - _content = json.dumps(bare_metal_machine_power_off_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - else: - _content = None - - _request = build_bare_metal_machines_power_off_request( + _request = build_bare_metal_machines_restart_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, - content_type=content_type, api_version=self._config.api_version, - content=_content, headers=_headers, params=_params, ) @@ -7642,132 +6624,33 @@ def _power_off_initial( return deserialized # type: ignore - @overload - def begin_power_off( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_power_off_parameters: Optional[_models.BareMetalMachinePowerOffParameters] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Power off the provided bare metal machine. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_power_off_parameters: The request body. Default value is None. - :type bare_metal_machine_power_off_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachinePowerOffParameters - :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_power_off( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_power_off_parameters: Optional[JSON] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Power off the provided bare metal machine. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_power_off_parameters: The request body. Default value is None. - :type bare_metal_machine_power_off_parameters: JSON - :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_power_off( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_power_off_parameters: Optional[IO[bytes]] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Power off the provided bare metal machine. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_power_off_parameters: The request body. Default value is None. - :type bare_metal_machine_power_off_parameters: IO[bytes] - :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - @distributed_trace - def begin_power_off( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_power_off_parameters: Optional[ - Union[_models.BareMetalMachinePowerOffParameters, JSON, IO[bytes]] - ] = None, - **kwargs: Any + def begin_restart( + self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Power off the provided bare metal machine. + """Restart the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_power_off_parameters: The request body. Is one of the following - types: BareMetalMachinePowerOffParameters, JSON, IO[bytes] Default value is None. - :type bare_metal_machine_power_off_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachinePowerOffParameters or JSON or IO[bytes] :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if bare_metal_machine_power_off_parameters else None cls: ClsType[_models.OperationStatusResult] = 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._power_off_initial( + raw_result = self._restart_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_power_off_parameters=bare_metal_machine_power_off_parameters, - content_type=content_type, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -7810,24 +6693,13 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - @api_version_validation( - method_added_on="2026-05-01-preview", - params_added_on={ - "2026-05-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "bare_metal_machine_name", - "content_type", - ] - }, - api_versions_list=["2026-05-01-preview"], - ) - def _reimage_initial( + def _run_command_initial( self, resource_group_name: str, bare_metal_machine_name: str, - body: Optional[Union[_models.BareMetalMachineReimageParameters, JSON, IO[bytes]]] = None, + bare_metal_machine_run_command_parameters: Union[ + _models.BareMetalMachineRunCommandParameters, _types.BareMetalMachineRunCommandParameters, IO[bytes] + ], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -7842,20 +6714,16 @@ def _reimage_initial( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if body else None cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" if body else None + content_type = content_type or "application/json" _content = None - if isinstance(body, (IOBase, bytes)): - _content = body + if isinstance(bare_metal_machine_run_command_parameters, (IOBase, bytes)): + _content = bare_metal_machine_run_command_parameters else: - if body is not None: - _content = json.dumps(body, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - else: - _content = None + _content = json.dumps(bare_metal_machine_run_command_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_bare_metal_machines_reimage_request( + _request = build_bare_metal_machines_run_command_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, @@ -7902,24 +6770,27 @@ def _reimage_initial( return deserialized # type: ignore @overload - def begin_reimage( + def begin_run_command( self, resource_group_name: str, bare_metal_machine_name: str, - body: Optional[_models.BareMetalMachineReimageParameters] = None, + bare_metal_machine_run_command_parameters: _models.BareMetalMachineRunCommandParameters, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Reimage the provided bare metal machine. + """Run the command or the script on the provided bare metal machine. The URL to storage account + with the command execution results and the command exit code can be retrieved from the + operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param body: The content of the action request. Default value is None. - :type body: ~azure.mgmt.networkcloud.models.BareMetalMachineReimageParameters + :param bare_metal_machine_run_command_parameters: The request body. Required. + :type bare_metal_machine_run_command_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineRunCommandParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -7930,24 +6801,27 @@ def begin_reimage( """ @overload - def begin_reimage( + def begin_run_command( self, resource_group_name: str, bare_metal_machine_name: str, - body: Optional[JSON] = None, + bare_metal_machine_run_command_parameters: _types.BareMetalMachineRunCommandParameters, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Reimage the provided bare metal machine. + """Run the command or the script on the provided bare metal machine. The URL to storage account + with the command execution results and the command exit code can be retrieved from the + operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param body: The content of the action request. Default value is None. - :type body: JSON + :param bare_metal_machine_run_command_parameters: The request body. Required. + :type bare_metal_machine_run_command_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachineRunCommandParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -7958,24 +6832,26 @@ def begin_reimage( """ @overload - def begin_reimage( + def begin_run_command( self, resource_group_name: str, bare_metal_machine_name: str, - body: Optional[IO[bytes]] = None, + bare_metal_machine_run_command_parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Reimage the provided bare metal machine. + """Run the command or the script on the provided bare metal machine. The URL to storage account + with the command execution results and the command exit code can be retrieved from the + operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param body: The content of the action request. Default value is None. - :type body: IO[bytes] + :param bare_metal_machine_run_command_parameters: The request body. Required. + :type bare_metal_machine_run_command_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -7986,37 +6862,29 @@ def begin_reimage( """ @distributed_trace - @api_version_validation( - method_added_on="2026-05-01-preview", - params_added_on={ - "2026-05-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "bare_metal_machine_name", - "content_type", - ] - }, - api_versions_list=["2026-05-01-preview"], - ) - def begin_reimage( + def begin_run_command( self, resource_group_name: str, bare_metal_machine_name: str, - body: Optional[Union[_models.BareMetalMachineReimageParameters, JSON, IO[bytes]]] = None, + bare_metal_machine_run_command_parameters: Union[ + _models.BareMetalMachineRunCommandParameters, _types.BareMetalMachineRunCommandParameters, IO[bytes] + ], **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Reimage the provided bare metal machine. + """Run the command or the script on the provided bare metal machine. The URL to storage account + with the command execution results and the command exit code can be retrieved from the + operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param body: The content of the action request. Is one of the following types: - BareMetalMachineReimageParameters, JSON, IO[bytes] Default value is None. - :type body: ~azure.mgmt.networkcloud.models.BareMetalMachineReimageParameters or JSON or - IO[bytes] + :param bare_metal_machine_run_command_parameters: The request body. Is either a + BareMetalMachineRunCommandParameters type or a IO[bytes] type. Required. + :type bare_metal_machine_run_command_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineRunCommandParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachineRunCommandParameters or IO[bytes] :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] @@ -8026,16 +6894,15 @@ def begin_reimage( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if body else None cls: ClsType[_models.OperationStatusResult] = 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._reimage_initial( + raw_result = self._run_command_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - body=body, + bare_metal_machine_run_command_parameters=bare_metal_machine_run_command_parameters, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -8079,13 +6946,15 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - def _replace_initial( + def _run_data_extracts_initial( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_replace_parameters: Optional[ - Union[_models.BareMetalMachineReplaceParameters, JSON, IO[bytes]] - ] = None, + bare_metal_machine_run_data_extracts_parameters: Union[ + _models.BareMetalMachineRunDataExtractsParameters, + _types.BareMetalMachineRunDataExtractsParameters, + IO[bytes], + ], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -8100,20 +6969,16 @@ def _replace_initial( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if bare_metal_machine_replace_parameters else None cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" if bare_metal_machine_replace_parameters else None + content_type = content_type or "application/json" _content = None - if isinstance(bare_metal_machine_replace_parameters, (IOBase, bytes)): - _content = bare_metal_machine_replace_parameters + if isinstance(bare_metal_machine_run_data_extracts_parameters, (IOBase, bytes)): + _content = bare_metal_machine_run_data_extracts_parameters else: - if bare_metal_machine_replace_parameters is not None: - _content = json.dumps(bare_metal_machine_replace_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - else: - _content = None + _content = json.dumps(bare_metal_machine_run_data_extracts_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_bare_metal_machines_replace_request( + _request = build_bare_metal_machines_run_data_extracts_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, @@ -8160,25 +7025,27 @@ def _replace_initial( return deserialized # type: ignore @overload - def begin_replace( + def begin_run_data_extracts( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_replace_parameters: Optional[_models.BareMetalMachineReplaceParameters] = None, + bare_metal_machine_run_data_extracts_parameters: _models.BareMetalMachineRunDataExtractsParameters, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Replace the provided bare metal machine. + """Run one or more data extractions on the provided bare metal machine. The URL to storage account + with the command execution results and the command exit code can be retrieved from the + operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_replace_parameters: The request body. Default value is None. - :type bare_metal_machine_replace_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineReplaceParameters + :param bare_metal_machine_run_data_extracts_parameters: The request body. Required. + :type bare_metal_machine_run_data_extracts_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -8189,24 +7056,27 @@ def begin_replace( """ @overload - def begin_replace( + def begin_run_data_extracts( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_replace_parameters: Optional[JSON] = None, + bare_metal_machine_run_data_extracts_parameters: _types.BareMetalMachineRunDataExtractsParameters, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Replace the provided bare metal machine. + """Run one or more data extractions on the provided bare metal machine. The URL to storage account + with the command execution results and the command exit code can be retrieved from the + operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_replace_parameters: The request body. Default value is None. - :type bare_metal_machine_replace_parameters: JSON + :param bare_metal_machine_run_data_extracts_parameters: The request body. Required. + :type bare_metal_machine_run_data_extracts_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachineRunDataExtractsParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -8217,24 +7087,26 @@ def begin_replace( """ @overload - def begin_replace( + def begin_run_data_extracts( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_replace_parameters: Optional[IO[bytes]] = None, + bare_metal_machine_run_data_extracts_parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Replace the provided bare metal machine. + """Run one or more data extractions on the provided bare metal machine. The URL to storage account + with the command execution results and the command exit code can be retrieved from the + operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_replace_parameters: The request body. Default value is None. - :type bare_metal_machine_replace_parameters: IO[bytes] + :param bare_metal_machine_run_data_extracts_parameters: The request body. Required. + :type bare_metal_machine_run_data_extracts_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -8245,26 +7117,31 @@ def begin_replace( """ @distributed_trace - def begin_replace( + def begin_run_data_extracts( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_replace_parameters: Optional[ - Union[_models.BareMetalMachineReplaceParameters, JSON, IO[bytes]] - ] = None, + bare_metal_machine_run_data_extracts_parameters: Union[ + _models.BareMetalMachineRunDataExtractsParameters, + _types.BareMetalMachineRunDataExtractsParameters, + IO[bytes], + ], **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Replace the provided bare metal machine. + """Run one or more data extractions on the provided bare metal machine. The URL to storage account + with the command execution results and the command exit code can be retrieved from the + operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_replace_parameters: The request body. Is one of the following types: - BareMetalMachineReplaceParameters, JSON, IO[bytes] Default value is None. - :type bare_metal_machine_replace_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineReplaceParameters or JSON or IO[bytes] + :param bare_metal_machine_run_data_extracts_parameters: The request body. Is either a + BareMetalMachineRunDataExtractsParameters type or a IO[bytes] type. Required. + :type bare_metal_machine_run_data_extracts_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachineRunDataExtractsParameters or IO[bytes] :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] @@ -8274,16 +7151,15 @@ def begin_replace( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if bare_metal_machine_replace_parameters else None cls: ClsType[_models.OperationStatusResult] = 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._replace_initial( + raw_result = self._run_data_extracts_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_replace_parameters=bare_metal_machine_replace_parameters, + bare_metal_machine_run_data_extracts_parameters=bare_metal_machine_run_data_extracts_parameters, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -8327,8 +7203,16 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - def _restart_initial( - self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any + def _run_data_extracts_restricted_initial( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_run_data_extracts_restricted_parameters: Union[ + _models.BareMetalMachineRunDataExtractsParameters, + _types.BareMetalMachineRunDataExtractsParameters, + IO[bytes], + ], + **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -8338,153 +7222,20 @@ def _restart_initial( } error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = kwargs.pop("headers", {}) or {} + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - _request = build_bare_metal_machines_restart_request( - resource_group_name=resource_group_name, - bare_metal_machine_name=bare_metal_machine_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _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]: - 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @distributed_trace - def begin_restart( - self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Restart the provided bare metal machine. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.OperationStatusResult] = 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._restart_initial( - resource_group_name=resource_group_name, - bare_metal_machine_name=bare_metal_machine_name, - 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): - response_headers = {} - response = pipeline_response.http_response - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = _deserialize(_models.OperationStatusResult, response.json()) - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - return deserialized - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.OperationStatusResult].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.OperationStatusResult]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - def _run_command_initial( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_run_command_parameters: Union[_models.BareMetalMachineRunCommandParameters, JSON, IO[bytes]], - **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 = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + 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" _content = None - if isinstance(bare_metal_machine_run_command_parameters, (IOBase, bytes)): - _content = bare_metal_machine_run_command_parameters + if isinstance(bare_metal_machine_run_data_extracts_restricted_parameters, (IOBase, bytes)): + _content = bare_metal_machine_run_data_extracts_restricted_parameters else: - _content = json.dumps(bare_metal_machine_run_command_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + _content = json.dumps(bare_metal_machine_run_data_extracts_restricted_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_bare_metal_machines_run_command_request( + _request = build_bare_metal_machines_run_data_extracts_restricted_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, @@ -8531,27 +7282,27 @@ def _run_command_initial( return deserialized # type: ignore @overload - def begin_run_command( + def begin_run_data_extracts_restricted( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_command_parameters: _models.BareMetalMachineRunCommandParameters, + bare_metal_machine_run_data_extracts_restricted_parameters: _models.BareMetalMachineRunDataExtractsParameters, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Run the command or the script on the provided bare metal machine. The URL to storage account - with the command execution results and the command exit code can be retrieved from the - operation status API once available. + """Run one or more restricted data extractions on the provided bare metal machine. The URL to + storage account with the command execution results and the command exit code can be retrieved + from the operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_command_parameters: The request body. Required. - :type bare_metal_machine_run_command_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineRunCommandParameters + :param bare_metal_machine_run_data_extracts_restricted_parameters: The request body. Required. + :type bare_metal_machine_run_data_extracts_restricted_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -8562,26 +7313,27 @@ def begin_run_command( """ @overload - def begin_run_command( + def begin_run_data_extracts_restricted( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_command_parameters: JSON, + bare_metal_machine_run_data_extracts_restricted_parameters: _types.BareMetalMachineRunDataExtractsParameters, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Run the command or the script on the provided bare metal machine. The URL to storage account - with the command execution results and the command exit code can be retrieved from the - operation status API once available. + """Run one or more restricted data extractions on the provided bare metal machine. The URL to + storage account with the command execution results and the command exit code can be retrieved + from the operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_command_parameters: The request body. Required. - :type bare_metal_machine_run_command_parameters: JSON + :param bare_metal_machine_run_data_extracts_restricted_parameters: The request body. Required. + :type bare_metal_machine_run_data_extracts_restricted_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachineRunDataExtractsParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -8592,26 +7344,26 @@ def begin_run_command( """ @overload - def begin_run_command( + def begin_run_data_extracts_restricted( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_command_parameters: IO[bytes], + bare_metal_machine_run_data_extracts_restricted_parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Run the command or the script on the provided bare metal machine. The URL to storage account - with the command execution results and the command exit code can be retrieved from the - operation status API once available. + """Run one or more restricted data extractions on the provided bare metal machine. The URL to + storage account with the command execution results and the command exit code can be retrieved + from the operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_command_parameters: The request body. Required. - :type bare_metal_machine_run_command_parameters: IO[bytes] + :param bare_metal_machine_run_data_extracts_restricted_parameters: The request body. Required. + :type bare_metal_machine_run_data_extracts_restricted_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -8622,26 +7374,31 @@ def begin_run_command( """ @distributed_trace - def begin_run_command( + def begin_run_data_extracts_restricted( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_command_parameters: Union[_models.BareMetalMachineRunCommandParameters, JSON, IO[bytes]], + bare_metal_machine_run_data_extracts_restricted_parameters: Union[ + _models.BareMetalMachineRunDataExtractsParameters, + _types.BareMetalMachineRunDataExtractsParameters, + IO[bytes], + ], **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Run the command or the script on the provided bare metal machine. The URL to storage account - with the command execution results and the command exit code can be retrieved from the - operation status API once available. + """Run one or more restricted data extractions on the provided bare metal machine. The URL to + storage account with the command execution results and the command exit code can be retrieved + from the operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_command_parameters: The request body. Is one of the following - types: BareMetalMachineRunCommandParameters, JSON, IO[bytes] Required. - :type bare_metal_machine_run_command_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineRunCommandParameters or JSON or IO[bytes] + :param bare_metal_machine_run_data_extracts_restricted_parameters: The request body. Is either + a BareMetalMachineRunDataExtractsParameters type or a IO[bytes] type. Required. + :type bare_metal_machine_run_data_extracts_restricted_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachineRunDataExtractsParameters or IO[bytes] :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] @@ -8656,10 +7413,10 @@ def begin_run_command( 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._run_command_initial( + raw_result = self._run_data_extracts_restricted_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_run_command_parameters=bare_metal_machine_run_command_parameters, + bare_metal_machine_run_data_extracts_restricted_parameters=bare_metal_machine_run_data_extracts_restricted_parameters, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -8703,12 +7460,14 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - def _run_data_extracts_initial( + def _run_read_commands_initial( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_parameters: Union[ - _models.BareMetalMachineRunDataExtractsParameters, JSON, IO[bytes] + bare_metal_machine_run_read_commands_parameters: Union[ + _models.BareMetalMachineRunReadCommandsParameters, + _types.BareMetalMachineRunReadCommandsParameters, + IO[bytes], ], **kwargs: Any ) -> Iterator[bytes]: @@ -8728,12 +7487,12 @@ def _run_data_extracts_initial( content_type = content_type or "application/json" _content = None - if isinstance(bare_metal_machine_run_data_extracts_parameters, (IOBase, bytes)): - _content = bare_metal_machine_run_data_extracts_parameters + if isinstance(bare_metal_machine_run_read_commands_parameters, (IOBase, bytes)): + _content = bare_metal_machine_run_read_commands_parameters else: - _content = json.dumps(bare_metal_machine_run_data_extracts_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + _content = json.dumps(bare_metal_machine_run_read_commands_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_bare_metal_machines_run_data_extracts_request( + _request = build_bare_metal_machines_run_read_commands_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, @@ -8780,17 +7539,17 @@ def _run_data_extracts_initial( return deserialized # type: ignore @overload - def begin_run_data_extracts( + def begin_run_read_commands( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_parameters: _models.BareMetalMachineRunDataExtractsParameters, + bare_metal_machine_run_read_commands_parameters: _models.BareMetalMachineRunReadCommandsParameters, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Run one or more data extractions on the provided bare metal machine. The URL to storage account - with the command execution results and the command exit code can be retrieved from the + """Run one or more read-only commands on the provided bare metal machine. The URL to storage + account with the command execution results and the command exit code can be retrieved from the operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -8798,9 +7557,9 @@ def begin_run_data_extracts( :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_data_extracts_parameters: The request body. Required. - :type bare_metal_machine_run_data_extracts_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters + :param bare_metal_machine_run_read_commands_parameters: The request body. Required. + :type bare_metal_machine_run_read_commands_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineRunReadCommandsParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -8811,17 +7570,17 @@ def begin_run_data_extracts( """ @overload - def begin_run_data_extracts( + def begin_run_read_commands( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_parameters: JSON, + bare_metal_machine_run_read_commands_parameters: _types.BareMetalMachineRunReadCommandsParameters, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Run one or more data extractions on the provided bare metal machine. The URL to storage account - with the command execution results and the command exit code can be retrieved from the + """Run one or more read-only commands on the provided bare metal machine. The URL to storage + account with the command execution results and the command exit code can be retrieved from the operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -8829,8 +7588,9 @@ def begin_run_data_extracts( :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_data_extracts_parameters: The request body. Required. - :type bare_metal_machine_run_data_extracts_parameters: JSON + :param bare_metal_machine_run_read_commands_parameters: The request body. Required. + :type bare_metal_machine_run_read_commands_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachineRunReadCommandsParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -8841,17 +7601,17 @@ def begin_run_data_extracts( """ @overload - def begin_run_data_extracts( + def begin_run_read_commands( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_parameters: IO[bytes], + bare_metal_machine_run_read_commands_parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Run one or more data extractions on the provided bare metal machine. The URL to storage account - with the command execution results and the command exit code can be retrieved from the + """Run one or more read-only commands on the provided bare metal machine. The URL to storage + account with the command execution results and the command exit code can be retrieved from the operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -8859,8 +7619,8 @@ def begin_run_data_extracts( :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_data_extracts_parameters: The request body. Required. - :type bare_metal_machine_run_data_extracts_parameters: IO[bytes] + :param bare_metal_machine_run_read_commands_parameters: The request body. Required. + :type bare_metal_machine_run_read_commands_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -8871,17 +7631,19 @@ def begin_run_data_extracts( """ @distributed_trace - def begin_run_data_extracts( + def begin_run_read_commands( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_parameters: Union[ - _models.BareMetalMachineRunDataExtractsParameters, JSON, IO[bytes] + bare_metal_machine_run_read_commands_parameters: Union[ + _models.BareMetalMachineRunReadCommandsParameters, + _types.BareMetalMachineRunReadCommandsParameters, + IO[bytes], ], **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Run one or more data extractions on the provided bare metal machine. The URL to storage account - with the command execution results and the command exit code can be retrieved from the + """Run one or more read-only commands on the provided bare metal machine. The URL to storage + account with the command execution results and the command exit code can be retrieved from the operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -8889,10 +7651,11 @@ def begin_run_data_extracts( :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_data_extracts_parameters: The request body. Is one of the - following types: BareMetalMachineRunDataExtractsParameters, JSON, IO[bytes] Required. - :type bare_metal_machine_run_data_extracts_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters or JSON or IO[bytes] + :param bare_metal_machine_run_read_commands_parameters: The request body. Is either a + BareMetalMachineRunReadCommandsParameters type or a IO[bytes] type. Required. + :type bare_metal_machine_run_read_commands_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineRunReadCommandsParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachineRunReadCommandsParameters or IO[bytes] :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] @@ -8907,10 +7670,10 @@ def begin_run_data_extracts( 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._run_data_extracts_initial( + raw_result = self._run_read_commands_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_run_data_extracts_parameters=bare_metal_machine_run_data_extracts_parameters, + bare_metal_machine_run_read_commands_parameters=bare_metal_machine_run_read_commands_parameters, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -8954,15 +7717,7 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - def _run_data_extracts_restricted_initial( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_restricted_parameters: Union[ - _models.BareMetalMachineRunDataExtractsParameters, JSON, IO[bytes] - ], - **kwargs: Any - ) -> Iterator[bytes]: + def _start_initial(self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -8971,26 +7726,16 @@ def _run_data_extracts_restricted_initial( } error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - 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" - _content = None - if isinstance(bare_metal_machine_run_data_extracts_restricted_parameters, (IOBase, bytes)): - _content = bare_metal_machine_run_data_extracts_restricted_parameters - else: - _content = json.dumps(bare_metal_machine_run_data_extracts_restricted_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_bare_metal_machines_run_data_extracts_restricted_request( + _request = build_bare_metal_machines_start_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, - content_type=content_type, api_version=self._config.api_version, - content=_content, headers=_headers, params=_params, ) @@ -9030,139 +7775,33 @@ def _run_data_extracts_restricted_initial( return deserialized # type: ignore - @overload - def begin_run_data_extracts_restricted( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_restricted_parameters: _models.BareMetalMachineRunDataExtractsParameters, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Run one or more restricted data extractions on the provided bare metal machine. The URL to - storage account with the command execution results and the command exit code can be retrieved - from the operation status API once available. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_run_data_extracts_restricted_parameters: The request body. Required. - :type bare_metal_machine_run_data_extracts_restricted_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters - :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_run_data_extracts_restricted( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_restricted_parameters: JSON, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Run one or more restricted data extractions on the provided bare metal machine. The URL to - storage account with the command execution results and the command exit code can be retrieved - from the operation status API once available. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_run_data_extracts_restricted_parameters: The request body. Required. - :type bare_metal_machine_run_data_extracts_restricted_parameters: JSON - :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_run_data_extracts_restricted( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_restricted_parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Run one or more restricted data extractions on the provided bare metal machine. The URL to - storage account with the command execution results and the command exit code can be retrieved - from the operation status API once available. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_run_data_extracts_restricted_parameters: The request body. Required. - :type bare_metal_machine_run_data_extracts_restricted_parameters: IO[bytes] - :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - @distributed_trace - def begin_run_data_extracts_restricted( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_restricted_parameters: Union[ - _models.BareMetalMachineRunDataExtractsParameters, JSON, IO[bytes] - ], - **kwargs: Any + def begin_start( + self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Run one or more restricted data extractions on the provided bare metal machine. The URL to - storage account with the command execution results and the command exit code can be retrieved - from the operation status API once available. + """Start the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_data_extracts_restricted_parameters: The request body. Is one of - the following types: BareMetalMachineRunDataExtractsParameters, JSON, IO[bytes] Required. - :type bare_metal_machine_run_data_extracts_restricted_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters or JSON or IO[bytes] :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.OperationStatusResult] = 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._run_data_extracts_restricted_initial( + raw_result = self._start_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_run_data_extracts_restricted_parameters=bare_metal_machine_run_data_extracts_restricted_parameters, - content_type=content_type, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -9205,14 +7844,8 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - def _run_read_commands_initial( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_run_read_commands_parameters: Union[ - _models.BareMetalMachineRunReadCommandsParameters, JSON, IO[bytes] - ], - **kwargs: Any + def _uncordon_initial( + self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -9222,26 +7855,16 @@ def _run_read_commands_initial( } error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - 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" - _content = None - if isinstance(bare_metal_machine_run_read_commands_parameters, (IOBase, bytes)): - _content = bare_metal_machine_run_read_commands_parameters - else: - _content = json.dumps(bare_metal_machine_run_read_commands_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_bare_metal_machines_run_read_commands_request( + _request = build_bare_metal_machines_uncordon_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, - content_type=content_type, api_version=self._config.api_version, - content=_content, headers=_headers, params=_params, ) @@ -9281,157 +7904,51 @@ def _run_read_commands_initial( return deserialized # type: ignore - @overload - def begin_run_read_commands( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_run_read_commands_parameters: _models.BareMetalMachineRunReadCommandsParameters, - *, - content_type: str = "application/json", - **kwargs: Any + @distributed_trace + def begin_uncordon( + self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Run one or more read-only commands on the provided bare metal machine. The URL to storage - account with the command execution results and the command exit code can be retrieved from the - operation status API once available. + """Uncordon the provided bare metal machine's Kubernetes node. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_read_commands_parameters: The request body. Required. - :type bare_metal_machine_run_read_commands_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineRunReadCommandsParameters - :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 OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} - @overload - def begin_run_read_commands( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_run_read_commands_parameters: JSON, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Run one or more read-only commands on the provided bare metal machine. The URL to storage - account with the command execution results and the command exit code can be retrieved from the - operation status API once available. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_run_read_commands_parameters: The request body. Required. - :type bare_metal_machine_run_read_commands_parameters: JSON - :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ + cls: ClsType[_models.OperationStatusResult] = 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._uncordon_initial( + resource_group_name=resource_group_name, + bare_metal_machine_name=bare_metal_machine_name, + cls=lambda x, y, z: x, + headers=_headers, + params=_params, + **kwargs + ) + raw_result.http_response.read() # type: ignore + kwargs.pop("error_map", None) - @overload - def begin_run_read_commands( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_run_read_commands_parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Run one or more read-only commands on the provided bare metal machine. The URL to storage - account with the command execution results and the command exit code can be retrieved from the - operation status API once available. + def get_long_running_output(pipeline_response): + response_headers = {} + response = pipeline_response.http_response + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_run_read_commands_parameters: The request body. Required. - :type bare_metal_machine_run_read_commands_parameters: IO[bytes] - :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_run_read_commands( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_run_read_commands_parameters: Union[ - _models.BareMetalMachineRunReadCommandsParameters, JSON, IO[bytes] - ], - **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Run one or more read-only commands on the provided bare metal machine. The URL to storage - account with the command execution results and the command exit code can be retrieved from the - operation status API once available. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_run_read_commands_parameters: The request body. Is one of the - following types: BareMetalMachineRunReadCommandsParameters, JSON, IO[bytes] Required. - :type bare_metal_machine_run_read_commands_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineRunReadCommandsParameters or JSON or IO[bytes] - :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.OperationStatusResult] = 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._run_read_commands_initial( - resource_group_name=resource_group_name, - bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_run_read_commands_parameters=bare_metal_machine_run_read_commands_parameters, - 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): - response_headers = {} - response = pipeline_response.http_response - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = _deserialize(_models.OperationStatusResult, response.json()) - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - return deserialized + deserialized = _deserialize(_models.OperationStatusResult, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized path_format_arguments = { "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), @@ -9456,7 +7973,39 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - def _start_initial(self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any) -> Iterator[bytes]: + +class CloudServicesNetworksOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.networkcloud.NetworkCloudMgmtClient`'s + :attr:`cloud_services_networks` attribute. + """ + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: NetworkCloudMgmtClientConfiguration = 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 get( + self, resource_group_name: str, cloud_services_network_name: str, **kwargs: Any + ) -> _models.CloudServicesNetwork: + """Get properties of the provided cloud services network. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cloud_services_network_name: The name of the cloud services network. Required. + :type cloud_services_network_name: str + :return: CloudServicesNetwork. The CloudServicesNetwork is compatible with MutableMapping + :rtype: ~azure.mgmt.networkcloud.models.CloudServicesNetwork + :raises ~azure.core.exceptions.HttpResponseError: + """ error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -9468,11 +8017,11 @@ def _start_initial(self, resource_group_name: str, bare_metal_machine_name: str, _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + cls: ClsType[_models.CloudServicesNetwork] = kwargs.pop("cls", None) - _request = build_bare_metal_machines_start_request( + _request = build_cloud_services_networks_get_request( resource_group_name=resource_group_name, - bare_metal_machine_name=bare_metal_machine_name, + cloud_services_network_name=cloud_services_network_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -9484,18 +8033,19 @@ def _start_initial(self, resource_group_name: str, bare_metal_machine_name: str, _request.url = self._client.format_url(_request.url, **path_format_arguments) _decompress = kwargs.pop("decompress", True) - _stream = True + _stream = kwargs.pop("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 [202]: - try: - response.read() # Load the body in memory and close the socket - except (StreamConsumedError, StreamClosedError): - pass + if response.status_code not in [200]: + if _stream: + 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 = _failsafe_deserialize( _models.ErrorResponse, @@ -9503,88 +8053,25 @@ def _start_initial(self, resource_group_name: str, bare_metal_machine_name: str, ) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - response_headers = {} - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.CloudServicesNetwork, response.json()) if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore + return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore - @distributed_trace - def begin_start( - self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Start the provided bare metal machine. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.OperationStatusResult] = 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._start_initial( - resource_group_name=resource_group_name, - bare_metal_machine_name=bare_metal_machine_name, - 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): - response_headers = {} - response = pipeline_response.http_response - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = _deserialize(_models.OperationStatusResult, response.json()) - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - return deserialized - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.OperationStatusResult].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.OperationStatusResult]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - def _uncordon_initial( - self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any + def _create_or_update_initial( + self, + resource_group_name: str, + cloud_services_network_name: str, + cloud_services_network_parameters: Union[_models.CloudServicesNetwork, _types.CloudServicesNetwork, IO[bytes]], + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -9592,18 +8079,36 @@ def _uncordon_initial( 409: ResourceExistsError, 304: ResourceNotModifiedError, } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = kwargs.pop("headers", {}) or {} + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - _request = build_bare_metal_machines_uncordon_request( + content_type = content_type or "application/json" + _content = None + if isinstance(cloud_services_network_parameters, (IOBase, bytes)): + _content = cloud_services_network_parameters + else: + _content = json.dumps(cloud_services_network_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_cloud_services_networks_create_or_update_request( resource_group_name=resource_group_name, - bare_metal_machine_name=bare_metal_machine_name, + cloud_services_network_name=cloud_services_network_name, subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, + content_type=content_type, api_version=self._config.api_version, + content=_content, headers=_headers, params=_params, ) @@ -9620,7 +8125,7 @@ def _uncordon_initial( response = pipeline_response.http_response - if response.status_code not in [202]: + if response.status_code not in [200, 201]: try: response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -9633,8 +8138,10 @@ def _uncordon_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + if response.status_code == 201: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -9643,266 +8150,20 @@ def _uncordon_initial( return deserialized # type: ignore - @distributed_trace - def begin_uncordon( - self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Uncordon the provided bare metal machine's Kubernetes node. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.OperationStatusResult] = 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._uncordon_initial( - resource_group_name=resource_group_name, - bare_metal_machine_name=bare_metal_machine_name, - 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): - response_headers = {} - response = pipeline_response.http_response - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = _deserialize(_models.OperationStatusResult, response.json()) - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - return deserialized - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.OperationStatusResult].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.OperationStatusResult]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - -class CloudServicesNetworksOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.networkcloud.NetworkCloudMgmtClient`'s - :attr:`cloud_services_networks` attribute. - """ - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: NetworkCloudMgmtClientConfiguration = 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 get( - self, resource_group_name: str, cloud_services_network_name: str, **kwargs: Any - ) -> _models.CloudServicesNetwork: - """Get properties of the provided cloud services network. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param cloud_services_network_name: The name of the cloud services network. Required. - :type cloud_services_network_name: str - :return: CloudServicesNetwork. The CloudServicesNetwork is compatible with MutableMapping - :rtype: ~azure.mgmt.networkcloud.models.CloudServicesNetwork - :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 = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.CloudServicesNetwork] = kwargs.pop("cls", None) - - _request = build_cloud_services_networks_get_request( - resource_group_name=resource_group_name, - cloud_services_network_name=cloud_services_network_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("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]: - if _stream: - 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.CloudServicesNetwork, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - def _create_or_update_initial( - self, - resource_group_name: str, - cloud_services_network_name: str, - cloud_services_network_parameters: Union[_models.CloudServicesNetwork, JSON, IO[bytes]], - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - 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" - _content = None - if isinstance(cloud_services_network_parameters, (IOBase, bytes)): - _content = cloud_services_network_parameters - else: - _content = json.dumps(cloud_services_network_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_cloud_services_networks_create_or_update_request( - resource_group_name=resource_group_name, - cloud_services_network_name=cloud_services_network_name, - subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 201: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - 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, - cloud_services_network_name: str, - cloud_services_network_parameters: _models.CloudServicesNetwork, - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> LROPoller[_models.CloudServicesNetwork]: - """Create a new cloud services network or update the properties of the existing cloud services - network. + @overload + def begin_create_or_update( + self, + resource_group_name: str, + cloud_services_network_name: str, + cloud_services_network_parameters: _models.CloudServicesNetwork, + *, + content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> LROPoller[_models.CloudServicesNetwork]: + """Create a new cloud services network or update the properties of the existing cloud services + network. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. @@ -9930,7 +8191,7 @@ def begin_create_or_update( self, resource_group_name: str, cloud_services_network_name: str, - cloud_services_network_parameters: JSON, + cloud_services_network_parameters: _types.CloudServicesNetwork, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -9946,7 +8207,7 @@ def begin_create_or_update( :param cloud_services_network_name: The name of the cloud services network. Required. :type cloud_services_network_name: str :param cloud_services_network_parameters: The request body. Required. - :type cloud_services_network_parameters: JSON + :type cloud_services_network_parameters: ~azure.mgmt.networkcloud.types.CloudServicesNetwork :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -10002,7 +8263,7 @@ def begin_create_or_update( self, resource_group_name: str, cloud_services_network_name: str, - cloud_services_network_parameters: Union[_models.CloudServicesNetwork, JSON, IO[bytes]], + cloud_services_network_parameters: Union[_models.CloudServicesNetwork, _types.CloudServicesNetwork, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -10016,10 +8277,10 @@ def begin_create_or_update( :type resource_group_name: str :param cloud_services_network_name: The name of the cloud services network. Required. :type cloud_services_network_name: str - :param cloud_services_network_parameters: The request body. Is one of the following types: - CloudServicesNetwork, JSON, IO[bytes] Required. + :param cloud_services_network_parameters: The request body. Is either a CloudServicesNetwork + type or a IO[bytes] type. Required. :type cloud_services_network_parameters: ~azure.mgmt.networkcloud.models.CloudServicesNetwork - or JSON or IO[bytes] + or ~azure.mgmt.networkcloud.types.CloudServicesNetwork or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -10089,7 +8350,7 @@ def _update_initial( resource_group_name: str, cloud_services_network_name: str, cloud_services_network_update_parameters: Optional[ - Union[_models.CloudServicesNetworkPatchParameters, JSON, IO[bytes]] + Union[_models.CloudServicesNetworkPatchParameters, _types.CloudServicesNetworkPatchParameters, IO[bytes]] ] = None, *, etag: Optional[str] = None, @@ -10220,7 +8481,7 @@ def begin_update( self, resource_group_name: str, cloud_services_network_name: str, - cloud_services_network_update_parameters: Optional[JSON] = None, + cloud_services_network_update_parameters: Optional[_types.CloudServicesNetworkPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -10236,7 +8497,8 @@ def begin_update( :param cloud_services_network_name: The name of the cloud services network. Required. :type cloud_services_network_name: str :param cloud_services_network_update_parameters: The request body. Default value is None. - :type cloud_services_network_update_parameters: JSON + :type cloud_services_network_update_parameters: + ~azure.mgmt.networkcloud.types.CloudServicesNetworkPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -10293,7 +8555,7 @@ def begin_update( resource_group_name: str, cloud_services_network_name: str, cloud_services_network_update_parameters: Optional[ - Union[_models.CloudServicesNetworkPatchParameters, JSON, IO[bytes]] + Union[_models.CloudServicesNetworkPatchParameters, _types.CloudServicesNetworkPatchParameters, IO[bytes]] ] = None, *, etag: Optional[str] = None, @@ -10308,10 +8570,11 @@ def begin_update( :type resource_group_name: str :param cloud_services_network_name: The name of the cloud services network. Required. :type cloud_services_network_name: str - :param cloud_services_network_update_parameters: The request body. Is one of the following - types: CloudServicesNetworkPatchParameters, JSON, IO[bytes] Default value is None. + :param cloud_services_network_update_parameters: The request body. Is either a + CloudServicesNetworkPatchParameters type or a IO[bytes] type. Default value is None. :type cloud_services_network_update_parameters: - ~azure.mgmt.networkcloud.models.CloudServicesNetworkPatchParameters or JSON or IO[bytes] + ~azure.mgmt.networkcloud.models.CloudServicesNetworkPatchParameters or + ~azure.mgmt.networkcloud.types.CloudServicesNetworkPatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -10836,7 +9099,7 @@ def _create_or_update_initial( self, resource_group_name: str, cluster_manager_name: str, - cluster_manager_parameters: Union[_models.ClusterManager, JSON, IO[bytes]], + cluster_manager_parameters: Union[_models.ClusterManager, _types.ClusterManager, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -10959,7 +9222,7 @@ def begin_create_or_update( self, resource_group_name: str, cluster_manager_name: str, - cluster_manager_parameters: JSON, + cluster_manager_parameters: _types.ClusterManager, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -10974,7 +9237,7 @@ def begin_create_or_update( :param cluster_manager_name: The name of the cluster manager. Required. :type cluster_manager_name: str :param cluster_manager_parameters: The request body. Required. - :type cluster_manager_parameters: JSON + :type cluster_manager_parameters: ~azure.mgmt.networkcloud.types.ClusterManager :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -11029,7 +9292,7 @@ def begin_create_or_update( self, resource_group_name: str, cluster_manager_name: str, - cluster_manager_parameters: Union[_models.ClusterManager, JSON, IO[bytes]], + cluster_manager_parameters: Union[_models.ClusterManager, _types.ClusterManager, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -11042,10 +9305,10 @@ def begin_create_or_update( :type resource_group_name: str :param cluster_manager_name: The name of the cluster manager. Required. :type cluster_manager_name: str - :param cluster_manager_parameters: The request body. Is one of the following types: - ClusterManager, JSON, IO[bytes] Required. - :type cluster_manager_parameters: ~azure.mgmt.networkcloud.models.ClusterManager or JSON or - IO[bytes] + :param cluster_manager_parameters: The request body. Is either a ClusterManager type or a + IO[bytes] type. Required. + :type cluster_manager_parameters: ~azure.mgmt.networkcloud.models.ClusterManager or + ~azure.mgmt.networkcloud.types.ClusterManager or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -11151,7 +9414,7 @@ def update( self, resource_group_name: str, cluster_manager_name: str, - cluster_manager_update_parameters: Optional[JSON] = None, + cluster_manager_update_parameters: Optional[_types.ClusterManagerPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -11167,7 +9430,8 @@ def update( :param cluster_manager_name: The name of the cluster manager. Required. :type cluster_manager_name: str :param cluster_manager_update_parameters: The request body. Default value is None. - :type cluster_manager_update_parameters: JSON + :type cluster_manager_update_parameters: + ~azure.mgmt.networkcloud.types.ClusterManagerPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -11222,7 +9486,7 @@ def update( resource_group_name: str, cluster_manager_name: str, cluster_manager_update_parameters: Optional[ - Union[_models.ClusterManagerPatchParameters, JSON, IO[bytes]] + Union[_models.ClusterManagerPatchParameters, _types.ClusterManagerPatchParameters, IO[bytes]] ] = None, *, etag: Optional[str] = None, @@ -11237,10 +9501,11 @@ def update( :type resource_group_name: str :param cluster_manager_name: The name of the cluster manager. Required. :type cluster_manager_name: str - :param cluster_manager_update_parameters: The request body. Is one of the following types: - ClusterManagerPatchParameters, JSON, IO[bytes] Default value is None. + :param cluster_manager_update_parameters: The request body. Is either a + ClusterManagerPatchParameters type or a IO[bytes] type. Default value is None. :type cluster_manager_update_parameters: - ~azure.mgmt.networkcloud.models.ClusterManagerPatchParameters or JSON or IO[bytes] + ~azure.mgmt.networkcloud.models.ClusterManagerPatchParameters or + ~azure.mgmt.networkcloud.types.ClusterManagerPatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -11696,301 +9961,8 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "cluster_manager_name", - "content_type", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) - def _update_relay_private_endpoint_connection_initial( # pylint: disable=name-too-long - self, - resource_group_name: str, - cluster_manager_name: str, - cluster_manager_update_relay_private_endpoint_connection_parameters: Optional[ - Union[_models.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters, JSON, IO[bytes]] - ] = 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 = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if cluster_manager_update_relay_private_endpoint_connection_parameters else None - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - content_type = ( - content_type or "application/json" - if cluster_manager_update_relay_private_endpoint_connection_parameters - else None - ) - _content = None - if isinstance(cluster_manager_update_relay_private_endpoint_connection_parameters, (IOBase, bytes)): - _content = cluster_manager_update_relay_private_endpoint_connection_parameters - else: - if cluster_manager_update_relay_private_endpoint_connection_parameters is not None: - _content = json.dumps(cluster_manager_update_relay_private_endpoint_connection_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - else: - _content = None - - _request = build_cluster_managers_update_relay_private_endpoint_connection_request( - resource_group_name=resource_group_name, - cluster_manager_name=cluster_manager_name, - subscription_id=self._config.subscription_id, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _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]: - 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_update_relay_private_endpoint_connection( # pylint: disable=name-too-long - self, - resource_group_name: str, - cluster_manager_name: str, - cluster_manager_update_relay_private_endpoint_connection_parameters: Optional[ - _models.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters - ] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Update the private endpoint connection for the Azure Relay namespace managed by the specified - cluster manager. Use this operation to approve or reject a pending private endpoint connection - request for the relay namespace managed by the cluster manager. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param cluster_manager_name: The name of the cluster manager. Required. - :type cluster_manager_name: str - :param cluster_manager_update_relay_private_endpoint_connection_parameters: The request body. - Default value is None. - :type cluster_manager_update_relay_private_endpoint_connection_parameters: - ~azure.mgmt.networkcloud.models.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters - :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_update_relay_private_endpoint_connection( # pylint: disable=name-too-long - self, - resource_group_name: str, - cluster_manager_name: str, - cluster_manager_update_relay_private_endpoint_connection_parameters: Optional[JSON] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Update the private endpoint connection for the Azure Relay namespace managed by the specified - cluster manager. Use this operation to approve or reject a pending private endpoint connection - request for the relay namespace managed by the cluster manager. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param cluster_manager_name: The name of the cluster manager. Required. - :type cluster_manager_name: str - :param cluster_manager_update_relay_private_endpoint_connection_parameters: The request body. - Default value is None. - :type cluster_manager_update_relay_private_endpoint_connection_parameters: JSON - :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_update_relay_private_endpoint_connection( # pylint: disable=name-too-long - self, - resource_group_name: str, - cluster_manager_name: str, - cluster_manager_update_relay_private_endpoint_connection_parameters: Optional[IO[bytes]] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Update the private endpoint connection for the Azure Relay namespace managed by the specified - cluster manager. Use this operation to approve or reject a pending private endpoint connection - request for the relay namespace managed by the cluster manager. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param cluster_manager_name: The name of the cluster manager. Required. - :type cluster_manager_name: str - :param cluster_manager_update_relay_private_endpoint_connection_parameters: The request body. - Default value is None. - :type cluster_manager_update_relay_private_endpoint_connection_parameters: IO[bytes] - :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "cluster_manager_name", - "content_type", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) - def begin_update_relay_private_endpoint_connection( # pylint: disable=name-too-long - self, - resource_group_name: str, - cluster_manager_name: str, - cluster_manager_update_relay_private_endpoint_connection_parameters: Optional[ - Union[_models.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters, JSON, IO[bytes]] - ] = None, - **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Update the private endpoint connection for the Azure Relay namespace managed by the specified - cluster manager. Use this operation to approve or reject a pending private endpoint connection - request for the relay namespace managed by the cluster manager. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param cluster_manager_name: The name of the cluster manager. Required. - :type cluster_manager_name: str - :param cluster_manager_update_relay_private_endpoint_connection_parameters: The request body. - Is one of the following types: ClusterManagerUpdateRelayPrivateEndpointConnectionParameters, - JSON, IO[bytes] Default value is None. - :type cluster_manager_update_relay_private_endpoint_connection_parameters: - ~azure.mgmt.networkcloud.models.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters or - JSON or IO[bytes] - :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if cluster_manager_update_relay_private_endpoint_connection_parameters else None - cls: ClsType[_models.OperationStatusResult] = 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._update_relay_private_endpoint_connection_initial( - resource_group_name=resource_group_name, - cluster_manager_name=cluster_manager_name, - cluster_manager_update_relay_private_endpoint_connection_parameters=cluster_manager_update_relay_private_endpoint_connection_parameters, - 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): - response_headers = {} - response = pipeline_response.http_response - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = _deserialize(_models.OperationStatusResult, response.json()) - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - return deserialized - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.OperationStatusResult].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.OperationStatusResult]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - -class ClustersOperations: # pylint: disable=too-many-public-methods +class ClustersOperations: """ .. warning:: **DO NOT** instantiate this class directly. @@ -12081,7 +10053,7 @@ def _create_or_update_initial( self, resource_group_name: str, cluster_name: str, - cluster_parameters: Union[_models.Cluster, JSON, IO[bytes]], + cluster_parameters: Union[_models.Cluster, _types.Cluster, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -12204,7 +10176,7 @@ def begin_create_or_update( self, resource_group_name: str, cluster_name: str, - cluster_parameters: JSON, + cluster_parameters: _types.Cluster, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -12219,7 +10191,7 @@ def begin_create_or_update( :param cluster_name: The name of the cluster. Required. :type cluster_name: str :param cluster_parameters: The request body. Required. - :type cluster_parameters: JSON + :type cluster_parameters: ~azure.mgmt.networkcloud.types.Cluster :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -12274,7 +10246,7 @@ def begin_create_or_update( self, resource_group_name: str, cluster_name: str, - cluster_parameters: Union[_models.Cluster, JSON, IO[bytes]], + cluster_parameters: Union[_models.Cluster, _types.Cluster, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -12287,9 +10259,10 @@ def begin_create_or_update( :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param cluster_parameters: The request body. Is one of the following types: Cluster, JSON, - IO[bytes] Required. - :type cluster_parameters: ~azure.mgmt.networkcloud.models.Cluster or JSON or IO[bytes] + :param cluster_parameters: The request body. Is either a Cluster type or a IO[bytes] type. + Required. + :type cluster_parameters: ~azure.mgmt.networkcloud.models.Cluster or + ~azure.mgmt.networkcloud.types.Cluster or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -12358,7 +10331,9 @@ def _update_initial( self, resource_group_name: str, cluster_name: str, - cluster_update_parameters: Optional[Union[_models.ClusterPatchParameters, JSON, IO[bytes]]] = None, + cluster_update_parameters: Optional[ + Union[_models.ClusterPatchParameters, _types.ClusterPatchParameters, IO[bytes]] + ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -12487,7 +10462,7 @@ def begin_update( self, resource_group_name: str, cluster_name: str, - cluster_update_parameters: Optional[JSON] = None, + cluster_update_parameters: Optional[_types.ClusterPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -12503,7 +10478,7 @@ def begin_update( :param cluster_name: The name of the cluster. Required. :type cluster_name: str :param cluster_update_parameters: The request body. Default value is None. - :type cluster_update_parameters: JSON + :type cluster_update_parameters: ~azure.mgmt.networkcloud.types.ClusterPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -12559,7 +10534,9 @@ def begin_update( self, resource_group_name: str, cluster_name: str, - cluster_update_parameters: Optional[Union[_models.ClusterPatchParameters, JSON, IO[bytes]]] = None, + cluster_update_parameters: Optional[ + Union[_models.ClusterPatchParameters, _types.ClusterPatchParameters, IO[bytes]] + ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -12573,10 +10550,10 @@ def begin_update( :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param cluster_update_parameters: The request body. Is one of the following types: - ClusterPatchParameters, JSON, IO[bytes] Default value is None. - :type cluster_update_parameters: ~azure.mgmt.networkcloud.models.ClusterPatchParameters or JSON - or IO[bytes] + :param cluster_update_parameters: The request body. Is either a ClusterPatchParameters type or + a IO[bytes] type. Default value is None. + :type cluster_update_parameters: ~azure.mgmt.networkcloud.models.ClusterPatchParameters or + ~azure.mgmt.networkcloud.types.ClusterPatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -13014,7 +10991,7 @@ def _continue_update_version_initial( resource_group_name: str, cluster_name: str, cluster_continue_update_version_parameters: Union[ - _models.ClusterContinueUpdateVersionParameters, JSON, IO[bytes] + _models.ClusterContinueUpdateVersionParameters, _types.ClusterContinueUpdateVersionParameters, IO[bytes] ], **kwargs: Any ) -> Iterator[bytes]: @@ -13120,7 +11097,7 @@ def begin_continue_update_version( self, resource_group_name: str, cluster_name: str, - cluster_continue_update_version_parameters: JSON, + cluster_continue_update_version_parameters: _types.ClusterContinueUpdateVersionParameters, *, content_type: str = "application/json", **kwargs: Any @@ -13134,7 +11111,8 @@ def begin_continue_update_version( :param cluster_name: The name of the cluster. Required. :type cluster_name: str :param cluster_continue_update_version_parameters: The request body. Required. - :type cluster_continue_update_version_parameters: JSON + :type cluster_continue_update_version_parameters: + ~azure.mgmt.networkcloud.types.ClusterContinueUpdateVersionParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -13179,7 +11157,7 @@ def begin_continue_update_version( resource_group_name: str, cluster_name: str, cluster_continue_update_version_parameters: Union[ - _models.ClusterContinueUpdateVersionParameters, JSON, IO[bytes] + _models.ClusterContinueUpdateVersionParameters, _types.ClusterContinueUpdateVersionParameters, IO[bytes] ], **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: @@ -13191,10 +11169,11 @@ def begin_continue_update_version( :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param cluster_continue_update_version_parameters: The request body. Is one of the following - types: ClusterContinueUpdateVersionParameters, JSON, IO[bytes] Required. + :param cluster_continue_update_version_parameters: The request body. Is either a + ClusterContinueUpdateVersionParameters type or a IO[bytes] type. Required. :type cluster_continue_update_version_parameters: - ~azure.mgmt.networkcloud.models.ClusterContinueUpdateVersionParameters or JSON or IO[bytes] + ~azure.mgmt.networkcloud.models.ClusterContinueUpdateVersionParameters or + ~azure.mgmt.networkcloud.types.ClusterContinueUpdateVersionParameters or IO[bytes] :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] @@ -13260,7 +11239,9 @@ def _deploy_initial( self, resource_group_name: str, cluster_name: str, - cluster_deploy_parameters: Optional[Union[_models.ClusterDeployParameters, JSON, IO[bytes]]] = None, + cluster_deploy_parameters: Optional[ + Union[_models.ClusterDeployParameters, _types.ClusterDeployParameters, IO[bytes]] + ] = None, **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -13367,7 +11348,7 @@ def begin_deploy( self, resource_group_name: str, cluster_name: str, - cluster_deploy_parameters: Optional[JSON] = None, + cluster_deploy_parameters: Optional[_types.ClusterDeployParameters] = None, *, content_type: str = "application/json", **kwargs: Any @@ -13380,7 +11361,7 @@ def begin_deploy( :param cluster_name: The name of the cluster. Required. :type cluster_name: str :param cluster_deploy_parameters: The request body. Default value is None. - :type cluster_deploy_parameters: JSON + :type cluster_deploy_parameters: ~azure.mgmt.networkcloud.types.ClusterDeployParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -13423,7 +11404,9 @@ def begin_deploy( self, resource_group_name: str, cluster_name: str, - cluster_deploy_parameters: Optional[Union[_models.ClusterDeployParameters, JSON, IO[bytes]]] = None, + cluster_deploy_parameters: Optional[ + Union[_models.ClusterDeployParameters, _types.ClusterDeployParameters, IO[bytes]] + ] = None, **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: """Deploy the cluster using the rack configuration provided during creation. @@ -13433,10 +11416,10 @@ def begin_deploy( :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param cluster_deploy_parameters: The request body. Is one of the following types: - ClusterDeployParameters, JSON, IO[bytes] Default value is None. + :param cluster_deploy_parameters: The request body. Is either a ClusterDeployParameters type or + a IO[bytes] type. Default value is None. :type cluster_deploy_parameters: ~azure.mgmt.networkcloud.models.ClusterDeployParameters or - JSON or IO[bytes] + ~azure.mgmt.networkcloud.types.ClusterDeployParameters or IO[bytes] :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] @@ -13499,24 +11482,13 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "cluster_name", - "content_type", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) - def _inspect_initial( + def _scan_runtime_initial( self, resource_group_name: str, cluster_name: str, - cluster_inspect_parameters: Optional[Union[_models.ClusterInspectParameters, JSON, IO[bytes]]] = None, + cluster_scan_runtime_parameters: Optional[ + Union[_models.ClusterScanRuntimeParameters, _types.ClusterScanRuntimeParameters, IO[bytes]] + ] = None, **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -13531,20 +11503,20 @@ def _inspect_initial( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if cluster_inspect_parameters else None + content_type = content_type if cluster_scan_runtime_parameters else None cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" if cluster_inspect_parameters else None + content_type = content_type or "application/json" if cluster_scan_runtime_parameters else None _content = None - if isinstance(cluster_inspect_parameters, (IOBase, bytes)): - _content = cluster_inspect_parameters + if isinstance(cluster_scan_runtime_parameters, (IOBase, bytes)): + _content = cluster_scan_runtime_parameters else: - if cluster_inspect_parameters is not None: - _content = json.dumps(cluster_inspect_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + if cluster_scan_runtime_parameters is not None: + _content = json.dumps(cluster_scan_runtime_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore else: _content = None - _request = build_clusters_inspect_request( + _request = build_clusters_scan_runtime_request( resource_group_name=resource_group_name, cluster_name=cluster_name, subscription_id=self._config.subscription_id, @@ -13591,25 +11563,26 @@ def _inspect_initial( return deserialized # type: ignore @overload - def begin_inspect( + def begin_scan_runtime( self, resource_group_name: str, cluster_name: str, - cluster_inspect_parameters: Optional[_models.ClusterInspectParameters] = None, + cluster_scan_runtime_parameters: Optional[_models.ClusterScanRuntimeParameters] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Trigger an inspection of the cluster to perform validation and optional corrective actions - based on the supplied additional actions and filters. + """Triggers the execution of a runtime protection scan to detect and remediate detected issues, in + accordance with the cluster configuration. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param cluster_inspect_parameters: The request body. Default value is None. - :type cluster_inspect_parameters: ~azure.mgmt.networkcloud.models.ClusterInspectParameters + :param cluster_scan_runtime_parameters: The request body. Default value is None. + :type cluster_scan_runtime_parameters: + ~azure.mgmt.networkcloud.models.ClusterScanRuntimeParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -13620,25 +11593,26 @@ def begin_inspect( """ @overload - def begin_inspect( + def begin_scan_runtime( self, resource_group_name: str, cluster_name: str, - cluster_inspect_parameters: Optional[JSON] = None, + cluster_scan_runtime_parameters: Optional[_types.ClusterScanRuntimeParameters] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Trigger an inspection of the cluster to perform validation and optional corrective actions - based on the supplied additional actions and filters. + """Triggers the execution of a runtime protection scan to detect and remediate detected issues, in + accordance with the cluster configuration. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param cluster_inspect_parameters: The request body. Default value is None. - :type cluster_inspect_parameters: JSON + :param cluster_scan_runtime_parameters: The request body. Default value is None. + :type cluster_scan_runtime_parameters: + ~azure.mgmt.networkcloud.types.ClusterScanRuntimeParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -13649,25 +11623,25 @@ def begin_inspect( """ @overload - def begin_inspect( + def begin_scan_runtime( self, resource_group_name: str, cluster_name: str, - cluster_inspect_parameters: Optional[IO[bytes]] = None, + cluster_scan_runtime_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Trigger an inspection of the cluster to perform validation and optional corrective actions - based on the supplied additional actions and filters. + """Triggers the execution of a runtime protection scan to detect and remediate detected issues, in + accordance with the cluster configuration. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param cluster_inspect_parameters: The request body. Default value is None. - :type cluster_inspect_parameters: IO[bytes] + :param cluster_scan_runtime_parameters: The request body. Default value is None. + :type cluster_scan_runtime_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -13678,38 +11652,28 @@ def begin_inspect( """ @distributed_trace - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "cluster_name", - "content_type", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) - def begin_inspect( + def begin_scan_runtime( self, resource_group_name: str, cluster_name: str, - cluster_inspect_parameters: Optional[Union[_models.ClusterInspectParameters, JSON, IO[bytes]]] = None, + cluster_scan_runtime_parameters: Optional[ + Union[_models.ClusterScanRuntimeParameters, _types.ClusterScanRuntimeParameters, IO[bytes]] + ] = None, **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Trigger an inspection of the cluster to perform validation and optional corrective actions - based on the supplied additional actions and filters. - + """Triggers the execution of a runtime protection scan to detect and remediate detected issues, in + accordance with the cluster configuration. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param cluster_inspect_parameters: The request body. Is one of the following types: - ClusterInspectParameters, JSON, IO[bytes] Default value is None. - :type cluster_inspect_parameters: ~azure.mgmt.networkcloud.models.ClusterInspectParameters or - JSON or IO[bytes] + :param cluster_scan_runtime_parameters: The request body. Is either a + ClusterScanRuntimeParameters type or a IO[bytes] type. Default value is None. + :type cluster_scan_runtime_parameters: + ~azure.mgmt.networkcloud.models.ClusterScanRuntimeParameters or + ~azure.mgmt.networkcloud.types.ClusterScanRuntimeParameters or IO[bytes] :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] @@ -13719,16 +11683,16 @@ def begin_inspect( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if cluster_inspect_parameters else None + content_type = content_type if cluster_scan_runtime_parameters else None cls: ClsType[_models.OperationStatusResult] = 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._inspect_initial( + raw_result = self._scan_runtime_initial( resource_group_name=resource_group_name, cluster_name=cluster_name, - cluster_inspect_parameters=cluster_inspect_parameters, + cluster_scan_runtime_parameters=cluster_scan_runtime_parameters, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -13772,24 +11736,13 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - @api_version_validation( - method_added_on="2026-05-01-preview", - params_added_on={ - "2026-05-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "cluster_name", - "content_type", - ] - }, - api_versions_list=["2026-05-01-preview"], - ) - def _rotate_credential_initial( + def _update_version_initial( self, resource_group_name: str, cluster_name: str, - body: Union[_models.ClusterRotateCredentialParameters, JSON, IO[bytes]], + cluster_update_version_parameters: Union[ + _models.ClusterUpdateVersionParameters, _types.ClusterUpdateVersionParameters, IO[bytes] + ], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -13808,12 +11761,12 @@ def _rotate_credential_initial( content_type = content_type or "application/json" _content = None - if isinstance(body, (IOBase, bytes)): - _content = body + if isinstance(cluster_update_version_parameters, (IOBase, bytes)): + _content = cluster_update_version_parameters else: - _content = json.dumps(body, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + _content = json.dumps(cluster_update_version_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_clusters_rotate_credential_request( + _request = build_clusters_update_version_request( resource_group_name=resource_group_name, cluster_name=cluster_name, subscription_id=self._config.subscription_id, @@ -13860,24 +11813,25 @@ def _rotate_credential_initial( return deserialized # type: ignore @overload - def begin_rotate_credential( + def begin_update_version( self, resource_group_name: str, cluster_name: str, - body: _models.ClusterRotateCredentialParameters, + cluster_update_version_parameters: _models.ClusterUpdateVersionParameters, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Rotate the specified cluster credential. + """Update the version of the provided cluster to one of the available supported versions. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param body: The content of the action request. Required. - :type body: ~azure.mgmt.networkcloud.models.ClusterRotateCredentialParameters + :param cluster_update_version_parameters: The request body. Required. + :type cluster_update_version_parameters: + ~azure.mgmt.networkcloud.models.ClusterUpdateVersionParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -13888,24 +11842,25 @@ def begin_rotate_credential( """ @overload - def begin_rotate_credential( + def begin_update_version( self, resource_group_name: str, cluster_name: str, - body: JSON, + cluster_update_version_parameters: _types.ClusterUpdateVersionParameters, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Rotate the specified cluster credential. + """Update the version of the provided cluster to one of the available supported versions. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param body: The content of the action request. Required. - :type body: JSON + :param cluster_update_version_parameters: The request body. Required. + :type cluster_update_version_parameters: + ~azure.mgmt.networkcloud.types.ClusterUpdateVersionParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -13916,24 +11871,24 @@ def begin_rotate_credential( """ @overload - def begin_rotate_credential( + def begin_update_version( self, resource_group_name: str, cluster_name: str, - body: IO[bytes], + cluster_update_version_parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Rotate the specified cluster credential. + """Update the version of the provided cluster to one of the available supported versions. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param body: The content of the action request. Required. - :type body: IO[bytes] + :param cluster_update_version_parameters: The request body. Required. + :type cluster_update_version_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -13944,37 +11899,27 @@ def begin_rotate_credential( """ @distributed_trace - @api_version_validation( - method_added_on="2026-05-01-preview", - params_added_on={ - "2026-05-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "cluster_name", - "content_type", - ] - }, - api_versions_list=["2026-05-01-preview"], - ) - def begin_rotate_credential( + def begin_update_version( self, resource_group_name: str, cluster_name: str, - body: Union[_models.ClusterRotateCredentialParameters, JSON, IO[bytes]], + cluster_update_version_parameters: Union[ + _models.ClusterUpdateVersionParameters, _types.ClusterUpdateVersionParameters, IO[bytes] + ], **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Rotate the specified cluster credential. + """Update the version of the provided cluster to one of the available supported versions. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param body: The content of the action request. Is one of the following types: - ClusterRotateCredentialParameters, JSON, IO[bytes] Required. - :type body: ~azure.mgmt.networkcloud.models.ClusterRotateCredentialParameters or JSON or - IO[bytes] + :param cluster_update_version_parameters: The request body. Is either a + ClusterUpdateVersionParameters type or a IO[bytes] type. Required. + :type cluster_update_version_parameters: + ~azure.mgmt.networkcloud.models.ClusterUpdateVersionParameters or + ~azure.mgmt.networkcloud.types.ClusterUpdateVersionParameters or IO[bytes] :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] @@ -13989,10 +11934,10 @@ def begin_rotate_credential( 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._rotate_credential_initial( + raw_result = self._update_version_initial( resource_group_name=resource_group_name, cluster_name=cluster_name, - body=body, + cluster_update_version_parameters=cluster_update_version_parameters, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -14036,11 +11981,102 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - def _scan_runtime_initial( + +class KubernetesClustersOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.networkcloud.NetworkCloudMgmtClient`'s + :attr:`kubernetes_clusters` attribute. + """ + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: NetworkCloudMgmtClientConfiguration = 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 get(self, resource_group_name: str, kubernetes_cluster_name: str, **kwargs: Any) -> _models.KubernetesCluster: + """Get properties of the provided the Kubernetes cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :return: KubernetesCluster. The KubernetesCluster is compatible with MutableMapping + :rtype: ~azure.mgmt.networkcloud.models.KubernetesCluster + :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 = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.KubernetesCluster] = kwargs.pop("cls", None) + + _request = build_kubernetes_clusters_get_request( + resource_group_name=resource_group_name, + kubernetes_cluster_name=kubernetes_cluster_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.KubernetesCluster, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + def _create_or_update_initial( self, resource_group_name: str, - cluster_name: str, - cluster_scan_runtime_parameters: Optional[Union[_models.ClusterScanRuntimeParameters, JSON, IO[bytes]]] = None, + kubernetes_cluster_name: str, + kubernetes_cluster_parameters: Union[_models.KubernetesCluster, _types.KubernetesCluster, IO[bytes]], + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -14049,29 +12085,33 @@ def _scan_runtime_initial( 409: ResourceExistsError, 304: ResourceNotModifiedError, } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if cluster_scan_runtime_parameters else None cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" if cluster_scan_runtime_parameters else None + content_type = content_type or "application/json" _content = None - if isinstance(cluster_scan_runtime_parameters, (IOBase, bytes)): - _content = cluster_scan_runtime_parameters + if isinstance(kubernetes_cluster_parameters, (IOBase, bytes)): + _content = kubernetes_cluster_parameters else: - if cluster_scan_runtime_parameters is not None: - _content = json.dumps(cluster_scan_runtime_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - else: - _content = None + _content = json.dumps(kubernetes_cluster_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_clusters_scan_runtime_request( + _request = build_kubernetes_clusters_create_or_update_request( resource_group_name=resource_group_name, - cluster_name=cluster_name, + kubernetes_cluster_name=kubernetes_cluster_name, subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, content_type=content_type, api_version=self._config.api_version, content=_content, @@ -14091,7 +12131,7 @@ def _scan_runtime_initial( response = pipeline_response.http_response - if response.status_code not in [202]: + if response.status_code not in [200, 201]: try: response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -14104,8 +12144,10 @@ def _scan_runtime_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + if response.status_code == 201: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -14115,132 +12157,157 @@ def _scan_runtime_initial( return deserialized # type: ignore @overload - def begin_scan_runtime( + def begin_create_or_update( self, resource_group_name: str, - cluster_name: str, - cluster_scan_runtime_parameters: Optional[_models.ClusterScanRuntimeParameters] = None, + kubernetes_cluster_name: str, + kubernetes_cluster_parameters: _models.KubernetesCluster, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Triggers the execution of a runtime protection scan to detect and remediate detected issues, in - accordance with the cluster configuration. + ) -> LROPoller[_models.KubernetesCluster]: + """Create a new Kubernetes cluster or update the properties of the existing one. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_scan_runtime_parameters: The request body. Default value is None. - :type cluster_scan_runtime_parameters: - ~azure.mgmt.networkcloud.models.ClusterScanRuntimeParameters + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_parameters: The request body. Required. + :type kubernetes_cluster_parameters: ~azure.mgmt.networkcloud.models.KubernetesCluster :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns KubernetesCluster. The KubernetesCluster is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_scan_runtime( + def begin_create_or_update( self, resource_group_name: str, - cluster_name: str, - cluster_scan_runtime_parameters: Optional[JSON] = None, + kubernetes_cluster_name: str, + kubernetes_cluster_parameters: _types.KubernetesCluster, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Triggers the execution of a runtime protection scan to detect and remediate detected issues, in - accordance with the cluster configuration. + ) -> LROPoller[_models.KubernetesCluster]: + """Create a new Kubernetes cluster or update the properties of the existing one. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_scan_runtime_parameters: The request body. Default value is None. - :type cluster_scan_runtime_parameters: JSON + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_parameters: The request body. Required. + :type kubernetes_cluster_parameters: ~azure.mgmt.networkcloud.types.KubernetesCluster :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns KubernetesCluster. The KubernetesCluster is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_scan_runtime( + def begin_create_or_update( self, resource_group_name: str, - cluster_name: str, - cluster_scan_runtime_parameters: Optional[IO[bytes]] = None, + kubernetes_cluster_name: str, + kubernetes_cluster_parameters: IO[bytes], *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Triggers the execution of a runtime protection scan to detect and remediate detected issues, in - accordance with the cluster configuration. + ) -> LROPoller[_models.KubernetesCluster]: + """Create a new Kubernetes cluster or update the properties of the existing one. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_scan_runtime_parameters: The request body. Default value is None. - :type cluster_scan_runtime_parameters: IO[bytes] + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_parameters: The request body. Required. + :type kubernetes_cluster_parameters: IO[bytes] :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_scan_runtime( + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns KubernetesCluster. The KubernetesCluster is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_create_or_update( self, resource_group_name: str, - cluster_name: str, - cluster_scan_runtime_parameters: Optional[Union[_models.ClusterScanRuntimeParameters, JSON, IO[bytes]]] = None, + kubernetes_cluster_name: str, + kubernetes_cluster_parameters: Union[_models.KubernetesCluster, _types.KubernetesCluster, IO[bytes]], + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Triggers the execution of a runtime protection scan to detect and remediate detected issues, in - accordance with the cluster configuration. + ) -> LROPoller[_models.KubernetesCluster]: + """Create a new Kubernetes cluster or update the properties of the existing one. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_scan_runtime_parameters: The request body. Is one of the following types: - ClusterScanRuntimeParameters, JSON, IO[bytes] Default value is None. - :type cluster_scan_runtime_parameters: - ~azure.mgmt.networkcloud.models.ClusterScanRuntimeParameters or JSON or IO[bytes] - :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_parameters: The request body. Is either a KubernetesCluster type or a + IO[bytes] type. Required. + :type kubernetes_cluster_parameters: ~azure.mgmt.networkcloud.models.KubernetesCluster or + ~azure.mgmt.networkcloud.types.KubernetesCluster or IO[bytes] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns KubernetesCluster. The KubernetesCluster is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if cluster_scan_runtime_parameters else None - cls: ClsType[_models.OperationStatusResult] = kwargs.pop("cls", None) + cls: ClsType[_models.KubernetesCluster] = 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._scan_runtime_initial( + raw_result = self._create_or_update_initial( resource_group_name=resource_group_name, - cluster_name=cluster_name, - cluster_scan_runtime_parameters=cluster_scan_runtime_parameters, + kubernetes_cluster_name=kubernetes_cluster_name, + kubernetes_cluster_parameters=kubernetes_cluster_parameters, + etag=etag, + match_condition=match_condition, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -14251,14 +12318,10 @@ def begin_scan_runtime( kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - response_headers = {} response = pipeline_response.http_response - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = _deserialize(_models.OperationStatusResult, response.json()) + deserialized = _deserialize(_models.KubernetesCluster, response.json()) if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore + return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized path_format_arguments = { @@ -14274,21 +12337,26 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return LROPoller[_models.OperationStatusResult].from_continuation_token( + return LROPoller[_models.KubernetesCluster].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return LROPoller[_models.OperationStatusResult]( + return LROPoller[_models.KubernetesCluster]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - def _update_version_initial( + def _update_initial( self, resource_group_name: str, - cluster_name: str, - cluster_update_version_parameters: Union[_models.ClusterUpdateVersionParameters, JSON, IO[bytes]], + kubernetes_cluster_name: str, + kubernetes_cluster_update_parameters: Optional[ + Union[_models.KubernetesClusterPatchParameters, _types.KubernetesClusterPatchParameters, IO[bytes]] + ] = None, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -14297,25 +12365,37 @@ def _update_version_initial( 409: ResourceExistsError, 304: ResourceNotModifiedError, } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if kubernetes_cluster_update_parameters else None cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" + content_type = content_type or "application/json" if kubernetes_cluster_update_parameters else None _content = None - if isinstance(cluster_update_version_parameters, (IOBase, bytes)): - _content = cluster_update_version_parameters + if isinstance(kubernetes_cluster_update_parameters, (IOBase, bytes)): + _content = kubernetes_cluster_update_parameters else: - _content = json.dumps(cluster_update_version_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + if kubernetes_cluster_update_parameters is not None: + _content = json.dumps(kubernetes_cluster_update_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None - _request = build_clusters_update_version_request( + _request = build_kubernetes_clusters_update_request( resource_group_name=resource_group_name, - cluster_name=cluster_name, + kubernetes_cluster_name=kubernetes_cluster_name, subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, content_type=content_type, api_version=self._config.api_version, content=_content, @@ -14335,7 +12415,7 @@ def _update_version_initial( response = pipeline_response.http_response - if response.status_code not in [202]: + if response.status_code not in [200, 202]: try: response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -14348,8 +12428,11 @@ def _update_version_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -14359,127 +12442,167 @@ def _update_version_initial( return deserialized # type: ignore @overload - def begin_update_version( + def begin_update( self, resource_group_name: str, - cluster_name: str, - cluster_update_version_parameters: _models.ClusterUpdateVersionParameters, + kubernetes_cluster_name: str, + kubernetes_cluster_update_parameters: Optional[_models.KubernetesClusterPatchParameters] = None, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Update the version of the provided cluster to one of the available supported versions. + ) -> LROPoller[_models.KubernetesCluster]: + """Patch the properties of the provided Kubernetes cluster, or update the tags associated with the + Kubernetes cluster. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_update_version_parameters: The request body. Required. - :type cluster_update_version_parameters: - ~azure.mgmt.networkcloud.models.ClusterUpdateVersionParameters + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_update_parameters: The request body. Default value is None. + :type kubernetes_cluster_update_parameters: + ~azure.mgmt.networkcloud.models.KubernetesClusterPatchParameters :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns KubernetesCluster. The KubernetesCluster is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_update_version( + def begin_update( self, resource_group_name: str, - cluster_name: str, - cluster_update_version_parameters: JSON, + kubernetes_cluster_name: str, + kubernetes_cluster_update_parameters: Optional[_types.KubernetesClusterPatchParameters] = None, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Update the version of the provided cluster to one of the available supported versions. + ) -> LROPoller[_models.KubernetesCluster]: + """Patch the properties of the provided Kubernetes cluster, or update the tags associated with the + Kubernetes cluster. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_update_version_parameters: The request body. Required. - :type cluster_update_version_parameters: JSON + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_update_parameters: The request body. Default value is None. + :type kubernetes_cluster_update_parameters: + ~azure.mgmt.networkcloud.types.KubernetesClusterPatchParameters :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns KubernetesCluster. The KubernetesCluster is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_update_version( + def begin_update( self, resource_group_name: str, - cluster_name: str, - cluster_update_version_parameters: IO[bytes], + kubernetes_cluster_name: str, + kubernetes_cluster_update_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Update the version of the provided cluster to one of the available supported versions. + ) -> LROPoller[_models.KubernetesCluster]: + """Patch the properties of the provided Kubernetes cluster, or update the tags associated with the + Kubernetes cluster. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_update_version_parameters: The request body. Required. - :type cluster_update_version_parameters: IO[bytes] + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_update_parameters: The request body. Default value is None. + :type kubernetes_cluster_update_parameters: IO[bytes] :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns KubernetesCluster. The KubernetesCluster is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace - def begin_update_version( + def begin_update( self, resource_group_name: str, - cluster_name: str, - cluster_update_version_parameters: Union[_models.ClusterUpdateVersionParameters, JSON, IO[bytes]], + kubernetes_cluster_name: str, + kubernetes_cluster_update_parameters: Optional[ + Union[_models.KubernetesClusterPatchParameters, _types.KubernetesClusterPatchParameters, IO[bytes]] + ] = None, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Update the version of the provided cluster to one of the available supported versions. + ) -> LROPoller[_models.KubernetesCluster]: + """Patch the properties of the provided Kubernetes cluster, or update the tags associated with the + Kubernetes cluster. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_update_version_parameters: The request body. Is one of the following types: - ClusterUpdateVersionParameters, JSON, IO[bytes] Required. - :type cluster_update_version_parameters: - ~azure.mgmt.networkcloud.models.ClusterUpdateVersionParameters or JSON or IO[bytes] - :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_update_parameters: The request body. Is either a + KubernetesClusterPatchParameters type or a IO[bytes] type. Default value is None. + :type kubernetes_cluster_update_parameters: + ~azure.mgmt.networkcloud.models.KubernetesClusterPatchParameters or + ~azure.mgmt.networkcloud.types.KubernetesClusterPatchParameters or IO[bytes] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns KubernetesCluster. The KubernetesCluster is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.OperationStatusResult] = kwargs.pop("cls", None) + content_type = content_type if kubernetes_cluster_update_parameters else None + cls: ClsType[_models.KubernetesCluster] = 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._update_version_initial( + raw_result = self._update_initial( resource_group_name=resource_group_name, - cluster_name=cluster_name, - cluster_update_version_parameters=cluster_update_version_parameters, + kubernetes_cluster_name=kubernetes_cluster_name, + kubernetes_cluster_update_parameters=kubernetes_cluster_update_parameters, + etag=etag, + match_condition=match_condition, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -14490,14 +12613,10 @@ def begin_update_version( kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - response_headers = {} response = pipeline_response.http_response - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = _deserialize(_models.OperationStatusResult, response.json()) + deserialized = _deserialize(_models.KubernetesCluster, response.json()) if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore + return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized path_format_arguments = { @@ -14513,109 +12632,20 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return LROPoller[_models.OperationStatusResult].from_continuation_token( + return LROPoller[_models.KubernetesCluster].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return LROPoller[_models.OperationStatusResult]( + return LROPoller[_models.KubernetesCluster]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - -class KubernetesClustersOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.networkcloud.NetworkCloudMgmtClient`'s - :attr:`kubernetes_clusters` attribute. - """ - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: NetworkCloudMgmtClientConfiguration = 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 get(self, resource_group_name: str, kubernetes_cluster_name: str, **kwargs: Any) -> _models.KubernetesCluster: - """Get properties of the provided the Kubernetes cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :return: KubernetesCluster. The KubernetesCluster is compatible with MutableMapping - :rtype: ~azure.mgmt.networkcloud.models.KubernetesCluster - :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 = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.KubernetesCluster] = kwargs.pop("cls", None) - - _request = build_kubernetes_clusters_get_request( - resource_group_name=resource_group_name, - kubernetes_cluster_name=kubernetes_cluster_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("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]: - if _stream: - 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.KubernetesCluster, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - def _create_or_update_initial( + def _delete_initial( self, resource_group_name: str, kubernetes_cluster_name: str, - kubernetes_cluster_parameters: Union[_models.KubernetesCluster, JSON, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -14635,28 +12665,18 @@ def _create_or_update_initial( error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - 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" - _content = None - if isinstance(kubernetes_cluster_parameters, (IOBase, bytes)): - _content = kubernetes_cluster_parameters - else: - _content = json.dumps(kubernetes_cluster_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_kubernetes_clusters_create_or_update_request( + _request = build_kubernetes_clusters_delete_request( resource_group_name=resource_group_name, kubernetes_cluster_name=kubernetes_cluster_name, subscription_id=self._config.subscription_id, etag=etag, match_condition=match_condition, - content_type=content_type, api_version=self._config.api_version, - content=_content, headers=_headers, params=_params, ) @@ -14673,7 +12693,7 @@ def _create_or_update_initial( response = pipeline_response.http_response - if response.status_code not in [200, 201]: + if response.status_code not in [202, 204]: try: response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -14686,10 +12706,8 @@ def _create_or_update_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - if response.status_code == 201: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -14698,159 +12716,46 @@ def _create_or_update_initial( return deserialized # type: ignore - @overload - def begin_create_or_update( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_parameters: _models.KubernetesCluster, - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> LROPoller[_models.KubernetesCluster]: - """Create a new Kubernetes cluster or update the properties of the existing one. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_parameters: The request body. Required. - :type kubernetes_cluster_parameters: ~azure.mgmt.networkcloud.models.KubernetesCluster - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns KubernetesCluster. The KubernetesCluster is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_create_or_update( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_parameters: JSON, - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> LROPoller[_models.KubernetesCluster]: - """Create a new Kubernetes cluster or update the properties of the existing one. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_parameters: The request body. Required. - :type kubernetes_cluster_parameters: JSON - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns KubernetesCluster. The KubernetesCluster is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_create_or_update( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_parameters: IO[bytes], - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> LROPoller[_models.KubernetesCluster]: - """Create a new Kubernetes cluster or update the properties of the existing one. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_parameters: The request body. Required. - :type kubernetes_cluster_parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns KubernetesCluster. The KubernetesCluster is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] - :raises ~azure.core.exceptions.HttpResponseError: - """ - @distributed_trace - def begin_create_or_update( + def begin_delete( self, resource_group_name: str, kubernetes_cluster_name: str, - kubernetes_cluster_parameters: Union[_models.KubernetesCluster, JSON, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.KubernetesCluster]: - """Create a new Kubernetes cluster or update the properties of the existing one. + ) -> LROPoller[_models.OperationStatusResult]: + """Delete the provided Kubernetes cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. :type kubernetes_cluster_name: str - :param kubernetes_cluster_parameters: The request body. Is one of the following types: - KubernetesCluster, JSON, IO[bytes] Required. - :type kubernetes_cluster_parameters: ~azure.mgmt.networkcloud.models.KubernetesCluster or JSON - or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns KubernetesCluster. The KubernetesCluster is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.KubernetesCluster] = kwargs.pop("cls", None) + cls: ClsType[_models.OperationStatusResult] = 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( + raw_result = self._delete_initial( resource_group_name=resource_group_name, kubernetes_cluster_name=kubernetes_cluster_name, - kubernetes_cluster_parameters=kubernetes_cluster_parameters, etag=etag, match_condition=match_condition, - content_type=content_type, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -14860,10 +12765,13 @@ def begin_create_or_update( kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): + response_headers = {} response = pipeline_response.http_response - deserialized = _deserialize(_models.KubernetesCluster, response.json()) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + + deserialized = _deserialize(_models.OperationStatusResult, response.json()) if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + return cls(pipeline_response, deserialized, response_headers) # type: ignore return deserialized path_format_arguments = { @@ -14879,1400 +12787,262 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return LROPoller[_models.KubernetesCluster].from_continuation_token( + return LROPoller[_models.OperationStatusResult].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return LROPoller[_models.KubernetesCluster]( + return LROPoller[_models.OperationStatusResult]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - def _update_initial( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_update_parameters: Optional[ - Union[_models.KubernetesClusterPatchParameters, JSON, IO[bytes]] - ] = None, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if kubernetes_cluster_update_parameters else None - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" if kubernetes_cluster_update_parameters else None - _content = None - if isinstance(kubernetes_cluster_update_parameters, (IOBase, bytes)): - _content = kubernetes_cluster_update_parameters - else: - if kubernetes_cluster_update_parameters is not None: - _content = json.dumps(kubernetes_cluster_update_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - else: - _content = None - - _request = build_kubernetes_clusters_update_request( - resource_group_name=resource_group_name, - kubernetes_cluster_name=kubernetes_cluster_name, - subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 202: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_update( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_update_parameters: Optional[_models.KubernetesClusterPatchParameters] = None, - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> LROPoller[_models.KubernetesCluster]: - """Patch the properties of the provided Kubernetes cluster, or update the tags associated with the - Kubernetes cluster. Properties and tag updates can be done independently. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_update_parameters: The request body. Default value is None. - :type kubernetes_cluster_update_parameters: - ~azure.mgmt.networkcloud.models.KubernetesClusterPatchParameters - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns KubernetesCluster. The KubernetesCluster is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_update( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_update_parameters: Optional[JSON] = None, - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> LROPoller[_models.KubernetesCluster]: - """Patch the properties of the provided Kubernetes cluster, or update the tags associated with the - Kubernetes cluster. Properties and tag updates can be done independently. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_update_parameters: The request body. Default value is None. - :type kubernetes_cluster_update_parameters: JSON - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns KubernetesCluster. The KubernetesCluster is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_update( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_update_parameters: Optional[IO[bytes]] = None, - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> LROPoller[_models.KubernetesCluster]: - """Patch the properties of the provided Kubernetes cluster, or update the tags associated with the - Kubernetes cluster. Properties and tag updates can be done independently. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_update_parameters: The request body. Default value is None. - :type kubernetes_cluster_update_parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns KubernetesCluster. The KubernetesCluster is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_update( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_update_parameters: Optional[ - Union[_models.KubernetesClusterPatchParameters, JSON, IO[bytes]] - ] = None, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> LROPoller[_models.KubernetesCluster]: - """Patch the properties of the provided Kubernetes cluster, or update the tags associated with the - Kubernetes cluster. Properties and tag updates can be done independently. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_update_parameters: The request body. Is one of the following types: - KubernetesClusterPatchParameters, JSON, IO[bytes] Default value is None. - :type kubernetes_cluster_update_parameters: - ~azure.mgmt.networkcloud.models.KubernetesClusterPatchParameters or JSON or IO[bytes] - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns KubernetesCluster. The KubernetesCluster is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if kubernetes_cluster_update_parameters else None - cls: ClsType[_models.KubernetesCluster] = 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._update_initial( - resource_group_name=resource_group_name, - kubernetes_cluster_name=kubernetes_cluster_name, - kubernetes_cluster_update_parameters=kubernetes_cluster_update_parameters, - etag=etag, - match_condition=match_condition, - 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): - response = pipeline_response.http_response - deserialized = _deserialize(_models.KubernetesCluster, response.json()) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.KubernetesCluster].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.KubernetesCluster]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - def _delete_initial( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - _request = build_kubernetes_clusters_delete_request( - resource_group_name=resource_group_name, - kubernetes_cluster_name=kubernetes_cluster_name, - subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _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 = _failsafe_deserialize( - _models.ErrorResponse, - 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")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - 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, - kubernetes_cluster_name: str, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Delete the provided Kubernetes cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.OperationStatusResult] = 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, - kubernetes_cluster_name=kubernetes_cluster_name, - etag=etag, - match_condition=match_condition, - 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): - response_headers = {} - response = pipeline_response.http_response - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - - deserialized = _deserialize(_models.OperationStatusResult, response.json()) - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - return deserialized - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.OperationStatusResult].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.OperationStatusResult]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - @distributed_trace - def list_by_resource_group( - self, resource_group_name: str, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> ItemPaged["_models.KubernetesCluster"]: - """Get a list of Kubernetes clusters in the provided resource group. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. - Default value is None. - :paramtype top: int - :keyword skip_token: The opaque token that the server returns to indicate where to continue - listing resources from. This is used for paging through large result sets. Default value is - None. - :paramtype skip_token: str - :return: An iterator like instance of KubernetesCluster - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.KubernetesCluster] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.KubernetesCluster]] = 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_kubernetes_clusters_list_by_resource_group_request( - resource_group_name=resource_group_name, - subscription_id=self._config.subscription_id, - top=top, - skip_token=skip_token, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - 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), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.KubernetesCluster], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return ItemPaged(get_next, extract_data) - - @distributed_trace - def list_by_subscription( - self, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> ItemPaged["_models.KubernetesCluster"]: - """Get a list of Kubernetes clusters in the provided subscription. - - :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. - Default value is None. - :paramtype top: int - :keyword skip_token: The opaque token that the server returns to indicate where to continue - listing resources from. This is used for paging through large result sets. Default value is - None. - :paramtype skip_token: str - :return: An iterator like instance of KubernetesCluster - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.KubernetesCluster] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.KubernetesCluster]] = 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_kubernetes_clusters_list_by_subscription_request( - subscription_id=self._config.subscription_id, - top=top, - skip_token=skip_token, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - 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), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.KubernetesCluster], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return ItemPaged(get_next, extract_data) - - def _restart_node_initial( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_restart_node_parameters: Union[ - _models.KubernetesClusterRestartNodeParameters, JSON, IO[bytes] - ], - **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 = kwargs.pop("params", {}) or {} - - 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" - _content = None - if isinstance(kubernetes_cluster_restart_node_parameters, (IOBase, bytes)): - _content = kubernetes_cluster_restart_node_parameters - else: - _content = json.dumps(kubernetes_cluster_restart_node_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_kubernetes_clusters_restart_node_request( - resource_group_name=resource_group_name, - kubernetes_cluster_name=kubernetes_cluster_name, - subscription_id=self._config.subscription_id, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _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]: - 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_restart_node( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_restart_node_parameters: _models.KubernetesClusterRestartNodeParameters, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Restart a targeted node of a Kubernetes cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_restart_node_parameters: The request body. Required. - :type kubernetes_cluster_restart_node_parameters: - ~azure.mgmt.networkcloud.models.KubernetesClusterRestartNodeParameters - :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_restart_node( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_restart_node_parameters: JSON, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Restart a targeted node of a Kubernetes cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_restart_node_parameters: The request body. Required. - :type kubernetes_cluster_restart_node_parameters: JSON - :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_restart_node( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_restart_node_parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Restart a targeted node of a Kubernetes cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_restart_node_parameters: The request body. Required. - :type kubernetes_cluster_restart_node_parameters: IO[bytes] - :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_restart_node( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_restart_node_parameters: Union[ - _models.KubernetesClusterRestartNodeParameters, JSON, IO[bytes] - ], - **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Restart a targeted node of a Kubernetes cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_restart_node_parameters: The request body. Is one of the following - types: KubernetesClusterRestartNodeParameters, JSON, IO[bytes] Required. - :type kubernetes_cluster_restart_node_parameters: - ~azure.mgmt.networkcloud.models.KubernetesClusterRestartNodeParameters or JSON or IO[bytes] - :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.OperationStatusResult] = 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._restart_node_initial( - resource_group_name=resource_group_name, - kubernetes_cluster_name=kubernetes_cluster_name, - kubernetes_cluster_restart_node_parameters=kubernetes_cluster_restart_node_parameters, - 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): - response_headers = {} - response = pipeline_response.http_response - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = _deserialize(_models.OperationStatusResult, response.json()) - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - return deserialized - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.OperationStatusResult].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.OperationStatusResult]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - -class KubernetesVersionsOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.networkcloud.NetworkCloudMgmtClient`'s - :attr:`kubernetes_versions` attribute. - """ - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: NetworkCloudMgmtClientConfiguration = 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 - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "kubernetes_version_name", - "accept", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) - def get(self, resource_group_name: str, kubernetes_version_name: str, **kwargs: Any) -> _models.KubernetesVersion: - """Retrieve the Kubernetes version resource that describes the available Kubernetes versions for - deployment. + def list_by_resource_group( + self, resource_group_name: str, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any + ) -> ItemPaged["_models.KubernetesCluster"]: + """Get a list of Kubernetes clusters in the provided resource group. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param kubernetes_version_name: The name of the Kubernetes version resource. Required. - :type kubernetes_version_name: str - :return: KubernetesVersion. The KubernetesVersion is compatible with MutableMapping - :rtype: ~azure.mgmt.networkcloud.models.KubernetesVersion + :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. + Default value is None. + :paramtype top: int + :keyword skip_token: The opaque token that the server returns to indicate where to continue + listing resources from. This is used for paging through large result sets. Default value is + None. + :paramtype skip_token: str + :return: An iterator like instance of KubernetesCluster + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.KubernetesCluster] :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 = kwargs.pop("params", {}) or {} - cls: ClsType[_models.KubernetesVersion] = kwargs.pop("cls", None) - - _request = build_kubernetes_versions_get_request( - resource_group_name=resource_group_name, - kubernetes_version_name=kubernetes_version_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("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]: - if _stream: - 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.KubernetesVersion, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore + cls: ClsType[List[_models.KubernetesCluster]] = kwargs.pop("cls", None) - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "kubernetes_version_name", - "content_type", - "accept", - "etag", - "match_condition", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) - def _create_or_update_initial( - self, - resource_group_name: str, - kubernetes_version_name: str, - kubernetes_version_parameters: Union[_models.KubernetesVersion, JSON, IO[bytes]], - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, 304: ResourceNotModifiedError, } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - 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" - _content = None - if isinstance(kubernetes_version_parameters, (IOBase, bytes)): - _content = kubernetes_version_parameters - else: - _content = json.dumps(kubernetes_version_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + def prepare_request(next_link=None): + if not next_link: - _request = build_kubernetes_versions_create_or_update_request( - resource_group_name=resource_group_name, - kubernetes_version_name=kubernetes_version_name, - subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) + _request = build_kubernetes_clusters_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + top=top, + skip_token=skip_token, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) - _decompress = kwargs.pop("decompress", True) - _stream = True - pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access - _request, stream=_stream, **kwargs - ) + 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), + headers=_headers, + params=_next_request_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) - response = pipeline_response.http_response + return _request - 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, + def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.KubernetesCluster], + deserialized.get("value", []), ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") or None, iter(list_of_elem) - response_headers = {} - if response.status_code == 201: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") + 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 - deserialized = response.iter_bytes() if _decompress else response.iter_raw() + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore + return pipeline_response - return deserialized # type: ignore + return ItemPaged(get_next, extract_data) - @overload - def begin_create_or_update( - self, - resource_group_name: str, - kubernetes_version_name: str, - kubernetes_version_parameters: _models.KubernetesVersion, - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> LROPoller[_models.KubernetesVersion]: - """Create the Kubernetes version resource or update its tags. This resource is system managed and - should only be created with the name "default". + @distributed_trace + def list_by_subscription( + self, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any + ) -> ItemPaged["_models.KubernetesCluster"]: + """Get a list of Kubernetes clusters in the provided subscription. - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_version_name: The name of the Kubernetes version resource. Required. - :type kubernetes_version_name: str - :param kubernetes_version_parameters: The request body. Required. - :type kubernetes_version_parameters: ~azure.mgmt.networkcloud.models.KubernetesVersion - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. + Default value is None. + :paramtype top: int + :keyword skip_token: The opaque token that the server returns to indicate where to continue + listing resources from. This is used for paging through large result sets. Default value is None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns KubernetesVersion. The KubernetesVersion is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesVersion] + :paramtype skip_token: str + :return: An iterator like instance of KubernetesCluster + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.KubernetesCluster] :raises ~azure.core.exceptions.HttpResponseError: """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} - @overload - def begin_create_or_update( - self, - resource_group_name: str, - kubernetes_version_name: str, - kubernetes_version_parameters: JSON, - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> LROPoller[_models.KubernetesVersion]: - """Create the Kubernetes version resource or update its tags. This resource is system managed and - should only be created with the name "default". + cls: ClsType[List[_models.KubernetesCluster]] = kwargs.pop("cls", None) - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_version_name: The name of the Kubernetes version resource. Required. - :type kubernetes_version_name: str - :param kubernetes_version_parameters: The request body. Required. - :type kubernetes_version_parameters: JSON - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns KubernetesVersion. The KubernetesVersion is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesVersion] - :raises ~azure.core.exceptions.HttpResponseError: - """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) - @overload - def begin_create_or_update( - self, - resource_group_name: str, - kubernetes_version_name: str, - kubernetes_version_parameters: IO[bytes], - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> LROPoller[_models.KubernetesVersion]: - """Create the Kubernetes version resource or update its tags. This resource is system managed and - should only be created with the name "default". + def prepare_request(next_link=None): + if not next_link: - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_version_name: The name of the Kubernetes version resource. Required. - :type kubernetes_version_name: str - :param kubernetes_version_parameters: The request body. Required. - :type kubernetes_version_parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns KubernetesVersion. The KubernetesVersion is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesVersion] - :raises ~azure.core.exceptions.HttpResponseError: - """ + _request = build_kubernetes_clusters_list_by_subscription_request( + subscription_id=self._config.subscription_id, + top=top, + skip_token=skip_token, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) - @distributed_trace - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "kubernetes_version_name", - "content_type", - "accept", - "etag", - "match_condition", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) - def begin_create_or_update( - self, - resource_group_name: str, - kubernetes_version_name: str, - kubernetes_version_parameters: Union[_models.KubernetesVersion, JSON, IO[bytes]], - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> LROPoller[_models.KubernetesVersion]: - """Create the Kubernetes version resource or update its tags. This resource is system managed and - should only be created with the name "default". + 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), + headers=_headers, + params=_next_request_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_version_name: The name of the Kubernetes version resource. Required. - :type kubernetes_version_name: str - :param kubernetes_version_parameters: The request body. Is one of the following types: - KubernetesVersion, JSON, IO[bytes] Required. - :type kubernetes_version_parameters: ~azure.mgmt.networkcloud.models.KubernetesVersion or JSON - or IO[bytes] - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns KubernetesVersion. The KubernetesVersion is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesVersion] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} + return _request - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.KubernetesVersion] = 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, - kubernetes_version_name=kubernetes_version_name, - kubernetes_version_parameters=kubernetes_version_parameters, - etag=etag, - match_condition=match_condition, - content_type=content_type, - cls=lambda x, y, z: x, - headers=_headers, - params=_params, - **kwargs + def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.KubernetesCluster], + deserialized.get("value", []), ) - raw_result.http_response.read() # type: ignore - kwargs.pop("error_map", None) - - def get_long_running_output(pipeline_response): - response = pipeline_response.http_response - deserialized = _deserialize(_models.KubernetesVersion, response.json()) if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") or None, iter(list_of_elem) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } + def get_next(next_link=None): + _request = prepare_request(next_link) - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.KubernetesVersion].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, + _stream = False + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs ) - return LROPoller[_models.KubernetesVersion]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) + response = pipeline_response.http_response - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "kubernetes_version_name", - "content_type", - "accept", - "etag", - "match_condition", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) - def _update_initial( + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + def _restart_node_initial( self, resource_group_name: str, - kubernetes_version_name: str, - kubernetes_version_patch_parameters: Optional[ - Union[_models.KubernetesVersionPatchParameters, JSON, IO[bytes]] - ] = None, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, + kubernetes_cluster_name: str, + kubernetes_cluster_restart_node_parameters: Union[ + _models.KubernetesClusterRestartNodeParameters, _types.KubernetesClusterRestartNodeParameters, IO[bytes] + ], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if kubernetes_version_patch_parameters else None cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" if kubernetes_version_patch_parameters else None + content_type = content_type or "application/json" _content = None - if isinstance(kubernetes_version_patch_parameters, (IOBase, bytes)): - _content = kubernetes_version_patch_parameters + if isinstance(kubernetes_cluster_restart_node_parameters, (IOBase, bytes)): + _content = kubernetes_cluster_restart_node_parameters else: - if kubernetes_version_patch_parameters is not None: - _content = json.dumps(kubernetes_version_patch_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - else: - _content = None + _content = json.dumps(kubernetes_cluster_restart_node_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_kubernetes_versions_update_request( + _request = build_kubernetes_clusters_restart_node_request( resource_group_name=resource_group_name, - kubernetes_version_name=kubernetes_version_name, + kubernetes_cluster_name=kubernetes_cluster_name, subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, content_type=content_type, api_version=self._config.api_version, content=_content, @@ -16292,7 +13062,7 @@ def _update_initial( response = pipeline_response.http_response - if response.status_code not in [200, 202]: + if response.status_code not in [202]: try: response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -16305,11 +13075,8 @@ def _update_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - if response.status_code == 202: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -16319,362 +13086,132 @@ def _update_initial( return deserialized # type: ignore @overload - def begin_update( + def begin_restart_node( self, resource_group_name: str, - kubernetes_version_name: str, - kubernetes_version_patch_parameters: Optional[_models.KubernetesVersionPatchParameters] = None, + kubernetes_cluster_name: str, + kubernetes_cluster_restart_node_parameters: _models.KubernetesClusterRestartNodeParameters, *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.KubernetesVersion]: - """Update tags associated with the Kubernetes version resource. No other properties are supported - for update. + ) -> LROPoller[_models.OperationStatusResult]: + """Restart a targeted node of a Kubernetes cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param kubernetes_version_name: The name of the Kubernetes version resource. Required. - :type kubernetes_version_name: str - :param kubernetes_version_patch_parameters: The request body. Default value is None. - :type kubernetes_version_patch_parameters: - ~azure.mgmt.networkcloud.models.KubernetesVersionPatchParameters + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_restart_node_parameters: The request body. Required. + :type kubernetes_cluster_restart_node_parameters: + ~azure.mgmt.networkcloud.models.KubernetesClusterRestartNodeParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns KubernetesVersion. The KubernetesVersion is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesVersion] + :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_update( + def begin_restart_node( self, resource_group_name: str, - kubernetes_version_name: str, - kubernetes_version_patch_parameters: Optional[JSON] = None, + kubernetes_cluster_name: str, + kubernetes_cluster_restart_node_parameters: _types.KubernetesClusterRestartNodeParameters, *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.KubernetesVersion]: - """Update tags associated with the Kubernetes version resource. No other properties are supported - for update. + ) -> LROPoller[_models.OperationStatusResult]: + """Restart a targeted node of a Kubernetes cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param kubernetes_version_name: The name of the Kubernetes version resource. Required. - :type kubernetes_version_name: str - :param kubernetes_version_patch_parameters: The request body. Default value is None. - :type kubernetes_version_patch_parameters: JSON + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_restart_node_parameters: The request body. Required. + :type kubernetes_cluster_restart_node_parameters: + ~azure.mgmt.networkcloud.types.KubernetesClusterRestartNodeParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns KubernetesVersion. The KubernetesVersion is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesVersion] + :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_update( + def begin_restart_node( self, resource_group_name: str, - kubernetes_version_name: str, - kubernetes_version_patch_parameters: Optional[IO[bytes]] = None, + kubernetes_cluster_name: str, + kubernetes_cluster_restart_node_parameters: IO[bytes], *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.KubernetesVersion]: - """Update tags associated with the Kubernetes version resource. No other properties are supported - for update. + ) -> LROPoller[_models.OperationStatusResult]: + """Restart a targeted node of a Kubernetes cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param kubernetes_version_name: The name of the Kubernetes version resource. Required. - :type kubernetes_version_name: str - :param kubernetes_version_patch_parameters: The request body. Default value is None. - :type kubernetes_version_patch_parameters: IO[bytes] + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_restart_node_parameters: The request body. Required. + :type kubernetes_cluster_restart_node_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns KubernetesVersion. The KubernetesVersion is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesVersion] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "kubernetes_version_name", - "content_type", - "accept", - "etag", - "match_condition", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) - def begin_update( - self, - resource_group_name: str, - kubernetes_version_name: str, - kubernetes_version_patch_parameters: Optional[ - Union[_models.KubernetesVersionPatchParameters, JSON, IO[bytes]] - ] = None, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> LROPoller[_models.KubernetesVersion]: - """Update tags associated with the Kubernetes version resource. No other properties are supported - for update. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_version_name: The name of the Kubernetes version resource. Required. - :type kubernetes_version_name: str - :param kubernetes_version_patch_parameters: The request body. Is one of the following types: - KubernetesVersionPatchParameters, JSON, IO[bytes] Default value is None. - :type kubernetes_version_patch_parameters: - ~azure.mgmt.networkcloud.models.KubernetesVersionPatchParameters or JSON or IO[bytes] - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns KubernetesVersion. The KubernetesVersion is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesVersion] + :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if kubernetes_version_patch_parameters else None - cls: ClsType[_models.KubernetesVersion] = 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._update_initial( - resource_group_name=resource_group_name, - kubernetes_version_name=kubernetes_version_name, - kubernetes_version_patch_parameters=kubernetes_version_patch_parameters, - etag=etag, - match_condition=match_condition, - 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): - response = pipeline_response.http_response - deserialized = _deserialize(_models.KubernetesVersion, response.json()) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.KubernetesVersion].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.KubernetesVersion]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "kubernetes_version_name", - "etag", - "match_condition", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) - def _delete_initial( - self, - resource_group_name: str, - kubernetes_version_name: str, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - _request = build_kubernetes_versions_delete_request( - resource_group_name=resource_group_name, - kubernetes_version_name=kubernetes_version_name, - subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _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 = _failsafe_deserialize( - _models.ErrorResponse, - 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")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore @distributed_trace - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "kubernetes_version_name", - "etag", - "match_condition", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) - def begin_delete( + def begin_restart_node( self, resource_group_name: str, - kubernetes_version_name: str, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, + kubernetes_cluster_name: str, + kubernetes_cluster_restart_node_parameters: Union[ + _models.KubernetesClusterRestartNodeParameters, _types.KubernetesClusterRestartNodeParameters, IO[bytes] + ], **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Delete the specified Kubernetes version resource. + """Restart a targeted node of a Kubernetes cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param kubernetes_version_name: The name of the Kubernetes version resource. Required. - :type kubernetes_version_name: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_restart_node_parameters: The request body. Is either a + KubernetesClusterRestartNodeParameters type or a IO[bytes] type. Required. + :type kubernetes_cluster_restart_node_parameters: + ~azure.mgmt.networkcloud.models.KubernetesClusterRestartNodeParameters or + ~azure.mgmt.networkcloud.types.KubernetesClusterRestartNodeParameters or IO[bytes] :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ - _headers = kwargs.pop("headers", {}) or {} + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.OperationStatusResult] = 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( + raw_result = self._restart_node_initial( resource_group_name=resource_group_name, - kubernetes_version_name=kubernetes_version_name, - etag=etag, - match_condition=match_condition, + kubernetes_cluster_name=kubernetes_cluster_name, + kubernetes_cluster_restart_node_parameters=kubernetes_cluster_restart_node_parameters, + content_type=content_type, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -16687,6 +13224,7 @@ def get_long_running_output(pipeline_response): response_headers = {} response = pipeline_response.http_response response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) deserialized = _deserialize(_models.OperationStatusResult, response.json()) if cls: @@ -16716,237 +13254,6 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - @distributed_trace - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={ - "2026-01-01-preview": [ - "api_version", - "subscription_id", - "resource_group_name", - "top", - "skip_token", - "accept", - ] - }, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) - def list_by_resource_group( - self, resource_group_name: str, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> ItemPaged["_models.KubernetesVersion"]: - """Get a list of Kubernetes version resources in the provided resource group. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. - Default value is None. - :paramtype top: int - :keyword skip_token: The opaque token that the server returns to indicate where to continue - listing resources from. This is used for paging through large result sets. Default value is - None. - :paramtype skip_token: str - :return: An iterator like instance of KubernetesVersion - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.KubernetesVersion] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.KubernetesVersion]] = 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_kubernetes_versions_list_by_resource_group_request( - resource_group_name=resource_group_name, - subscription_id=self._config.subscription_id, - top=top, - skip_token=skip_token, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - 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), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.KubernetesVersion], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return ItemPaged(get_next, extract_data) - - @distributed_trace - @api_version_validation( - method_added_on="2026-01-01-preview", - params_added_on={"2026-01-01-preview": ["api_version", "subscription_id", "top", "skip_token", "accept"]}, - api_versions_list=["2026-01-01-preview", "2026-05-01-preview"], - ) - def list_by_subscription( - self, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> ItemPaged["_models.KubernetesVersion"]: - """Get a list of Kubernetes version resources in the provided subscription. - - :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. - Default value is None. - :paramtype top: int - :keyword skip_token: The opaque token that the server returns to indicate where to continue - listing resources from. This is used for paging through large result sets. Default value is - None. - :paramtype skip_token: str - :return: An iterator like instance of KubernetesVersion - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.KubernetesVersion] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.KubernetesVersion]] = 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_kubernetes_versions_list_by_subscription_request( - subscription_id=self._config.subscription_id, - top=top, - skip_token=skip_token, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - 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), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.KubernetesVersion], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return ItemPaged(get_next, extract_data) - class L2NetworksOperations: """ @@ -17039,7 +13346,7 @@ def _create_or_update_initial( self, resource_group_name: str, l2_network_name: str, - l2_network_parameters: Union[_models.L2Network, JSON, IO[bytes]], + l2_network_parameters: Union[_models.L2Network, _types.L2Network, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -17162,7 +13469,7 @@ def begin_create_or_update( self, resource_group_name: str, l2_network_name: str, - l2_network_parameters: JSON, + l2_network_parameters: _types.L2Network, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -17177,7 +13484,7 @@ def begin_create_or_update( :param l2_network_name: The name of the L2 network. Required. :type l2_network_name: str :param l2_network_parameters: The request body. Required. - :type l2_network_parameters: JSON + :type l2_network_parameters: ~azure.mgmt.networkcloud.types.L2Network :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -17232,7 +13539,7 @@ def begin_create_or_update( self, resource_group_name: str, l2_network_name: str, - l2_network_parameters: Union[_models.L2Network, JSON, IO[bytes]], + l2_network_parameters: Union[_models.L2Network, _types.L2Network, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -17245,9 +13552,10 @@ def begin_create_or_update( :type resource_group_name: str :param l2_network_name: The name of the L2 network. Required. :type l2_network_name: str - :param l2_network_parameters: The request body. Is one of the following types: L2Network, JSON, - IO[bytes] Required. - :type l2_network_parameters: ~azure.mgmt.networkcloud.models.L2Network or JSON or IO[bytes] + :param l2_network_parameters: The request body. Is either a L2Network type or a IO[bytes] type. + Required. + :type l2_network_parameters: ~azure.mgmt.networkcloud.models.L2Network or + ~azure.mgmt.networkcloud.types.L2Network or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -17351,7 +13659,7 @@ def update( self, resource_group_name: str, l2_network_name: str, - l2_network_update_parameters: Optional[JSON] = None, + l2_network_update_parameters: Optional[_types.L2NetworkPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -17366,7 +13674,7 @@ def update( :param l2_network_name: The name of the L2 network. Required. :type l2_network_name: str :param l2_network_update_parameters: The request body. Default value is None. - :type l2_network_update_parameters: JSON + :type l2_network_update_parameters: ~azure.mgmt.networkcloud.types.L2NetworkPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -17419,7 +13727,9 @@ def update( self, resource_group_name: str, l2_network_name: str, - l2_network_update_parameters: Optional[Union[_models.L2NetworkPatchParameters, JSON, IO[bytes]]] = None, + l2_network_update_parameters: Optional[ + Union[_models.L2NetworkPatchParameters, _types.L2NetworkPatchParameters, IO[bytes]] + ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -17432,10 +13742,10 @@ def update( :type resource_group_name: str :param l2_network_name: The name of the L2 network. Required. :type l2_network_name: str - :param l2_network_update_parameters: The request body. Is one of the following types: - L2NetworkPatchParameters, JSON, IO[bytes] Default value is None. + :param l2_network_update_parameters: The request body. Is either a L2NetworkPatchParameters + type or a IO[bytes] type. Default value is None. :type l2_network_update_parameters: ~azure.mgmt.networkcloud.models.L2NetworkPatchParameters or - JSON or IO[bytes] + ~azure.mgmt.networkcloud.types.L2NetworkPatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -17983,7 +14293,7 @@ def _create_or_update_initial( self, resource_group_name: str, l3_network_name: str, - l3_network_parameters: Union[_models.L3Network, JSON, IO[bytes]], + l3_network_parameters: Union[_models.L3Network, _types.L3Network, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -18106,7 +14416,7 @@ def begin_create_or_update( self, resource_group_name: str, l3_network_name: str, - l3_network_parameters: JSON, + l3_network_parameters: _types.L3Network, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -18121,7 +14431,7 @@ def begin_create_or_update( :param l3_network_name: The name of the L3 network. Required. :type l3_network_name: str :param l3_network_parameters: The request body. Required. - :type l3_network_parameters: JSON + :type l3_network_parameters: ~azure.mgmt.networkcloud.types.L3Network :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -18176,7 +14486,7 @@ def begin_create_or_update( self, resource_group_name: str, l3_network_name: str, - l3_network_parameters: Union[_models.L3Network, JSON, IO[bytes]], + l3_network_parameters: Union[_models.L3Network, _types.L3Network, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -18189,9 +14499,10 @@ def begin_create_or_update( :type resource_group_name: str :param l3_network_name: The name of the L3 network. Required. :type l3_network_name: str - :param l3_network_parameters: The request body. Is one of the following types: L3Network, JSON, - IO[bytes] Required. - :type l3_network_parameters: ~azure.mgmt.networkcloud.models.L3Network or JSON or IO[bytes] + :param l3_network_parameters: The request body. Is either a L3Network type or a IO[bytes] type. + Required. + :type l3_network_parameters: ~azure.mgmt.networkcloud.models.L3Network or + ~azure.mgmt.networkcloud.types.L3Network or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -18295,7 +14606,7 @@ def update( self, resource_group_name: str, l3_network_name: str, - l3_network_update_parameters: Optional[JSON] = None, + l3_network_update_parameters: Optional[_types.L3NetworkPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -18310,7 +14621,7 @@ def update( :param l3_network_name: The name of the L3 network. Required. :type l3_network_name: str :param l3_network_update_parameters: The request body. Default value is None. - :type l3_network_update_parameters: JSON + :type l3_network_update_parameters: ~azure.mgmt.networkcloud.types.L3NetworkPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -18363,7 +14674,9 @@ def update( self, resource_group_name: str, l3_network_name: str, - l3_network_update_parameters: Optional[Union[_models.L3NetworkPatchParameters, JSON, IO[bytes]]] = None, + l3_network_update_parameters: Optional[ + Union[_models.L3NetworkPatchParameters, _types.L3NetworkPatchParameters, IO[bytes]] + ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -18376,10 +14689,10 @@ def update( :type resource_group_name: str :param l3_network_name: The name of the L3 network. Required. :type l3_network_name: str - :param l3_network_update_parameters: The request body. Is one of the following types: - L3NetworkPatchParameters, JSON, IO[bytes] Default value is None. + :param l3_network_update_parameters: The request body. Is either a L3NetworkPatchParameters + type or a IO[bytes] type. Default value is None. :type l3_network_update_parameters: ~azure.mgmt.networkcloud.models.L3NetworkPatchParameters or - JSON or IO[bytes] + ~azure.mgmt.networkcloud.types.L3NetworkPatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -19104,7 +15417,7 @@ def _create_or_update_initial( self, resource_group_name: str, rack_name: str, - rack_parameters: Union[_models.Rack, JSON, IO[bytes]], + rack_parameters: Union[_models.Rack, _types.Rack, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -19227,7 +15540,7 @@ def begin_create_or_update( self, resource_group_name: str, rack_name: str, - rack_parameters: JSON, + rack_parameters: _types.Rack, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -19243,7 +15556,7 @@ def begin_create_or_update( :param rack_name: The name of the rack. Required. :type rack_name: str :param rack_parameters: The request body. Required. - :type rack_parameters: JSON + :type rack_parameters: ~azure.mgmt.networkcloud.types.Rack :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -19297,7 +15610,7 @@ def begin_create_or_update( self, resource_group_name: str, rack_name: str, - rack_parameters: Union[_models.Rack, JSON, IO[bytes]], + rack_parameters: Union[_models.Rack, _types.Rack, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -19311,9 +15624,9 @@ def begin_create_or_update( :type resource_group_name: str :param rack_name: The name of the rack. Required. :type rack_name: str - :param rack_parameters: The request body. Is one of the following types: Rack, JSON, IO[bytes] - Required. - :type rack_parameters: ~azure.mgmt.networkcloud.models.Rack or JSON or IO[bytes] + :param rack_parameters: The request body. Is either a Rack type or a IO[bytes] type. Required. + :type rack_parameters: ~azure.mgmt.networkcloud.models.Rack or + ~azure.mgmt.networkcloud.types.Rack or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -19381,7 +15694,9 @@ def _update_initial( self, resource_group_name: str, rack_name: str, - rack_update_parameters: Optional[Union[_models.RackPatchParameters, JSON, IO[bytes]]] = None, + rack_update_parameters: Optional[ + Union[_models.RackPatchParameters, _types.RackPatchParameters, IO[bytes]] + ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -19509,7 +15824,7 @@ def begin_update( self, resource_group_name: str, rack_name: str, - rack_update_parameters: Optional[JSON] = None, + rack_update_parameters: Optional[_types.RackPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -19525,7 +15840,7 @@ def begin_update( :param rack_name: The name of the rack. Required. :type rack_name: str :param rack_update_parameters: The request body. Default value is None. - :type rack_update_parameters: JSON + :type rack_update_parameters: ~azure.mgmt.networkcloud.types.RackPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -19579,7 +15894,9 @@ def begin_update( self, resource_group_name: str, rack_name: str, - rack_update_parameters: Optional[Union[_models.RackPatchParameters, JSON, IO[bytes]]] = None, + rack_update_parameters: Optional[ + Union[_models.RackPatchParameters, _types.RackPatchParameters, IO[bytes]] + ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -19593,10 +15910,10 @@ def begin_update( :type resource_group_name: str :param rack_name: The name of the rack. Required. :type rack_name: str - :param rack_update_parameters: The request body. Is one of the following types: - RackPatchParameters, JSON, IO[bytes] Default value is None. - :type rack_update_parameters: ~azure.mgmt.networkcloud.models.RackPatchParameters or JSON or - IO[bytes] + :param rack_update_parameters: The request body. Is either a RackPatchParameters type or a + IO[bytes] type. Default value is None. + :type rack_update_parameters: ~azure.mgmt.networkcloud.models.RackPatchParameters or + ~azure.mgmt.networkcloud.types.RackPatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -20121,7 +16438,7 @@ def _create_or_update_initial( self, resource_group_name: str, storage_appliance_name: str, - storage_appliance_parameters: Union[_models.StorageAppliance, JSON, IO[bytes]], + storage_appliance_parameters: Union[_models.StorageAppliance, _types.StorageAppliance, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -20246,7 +16563,7 @@ def begin_create_or_update( self, resource_group_name: str, storage_appliance_name: str, - storage_appliance_parameters: JSON, + storage_appliance_parameters: _types.StorageAppliance, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -20263,7 +16580,7 @@ def begin_create_or_update( :param storage_appliance_name: The name of the storage appliance. Required. :type storage_appliance_name: str :param storage_appliance_parameters: The request body. Required. - :type storage_appliance_parameters: JSON + :type storage_appliance_parameters: ~azure.mgmt.networkcloud.types.StorageAppliance :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -20320,7 +16637,7 @@ def begin_create_or_update( self, resource_group_name: str, storage_appliance_name: str, - storage_appliance_parameters: Union[_models.StorageAppliance, JSON, IO[bytes]], + storage_appliance_parameters: Union[_models.StorageAppliance, _types.StorageAppliance, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -20335,10 +16652,10 @@ def begin_create_or_update( :type resource_group_name: str :param storage_appliance_name: The name of the storage appliance. Required. :type storage_appliance_name: str - :param storage_appliance_parameters: The request body. Is one of the following types: - StorageAppliance, JSON, IO[bytes] Required. - :type storage_appliance_parameters: ~azure.mgmt.networkcloud.models.StorageAppliance or JSON or - IO[bytes] + :param storage_appliance_parameters: The request body. Is either a StorageAppliance type or a + IO[bytes] type. Required. + :type storage_appliance_parameters: ~azure.mgmt.networkcloud.models.StorageAppliance or + ~azure.mgmt.networkcloud.types.StorageAppliance or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -20408,7 +16725,7 @@ def _update_initial( resource_group_name: str, storage_appliance_name: str, storage_appliance_update_parameters: Optional[ - Union[_models.StorageAppliancePatchParameters, JSON, IO[bytes]] + Union[_models.StorageAppliancePatchParameters, _types.StorageAppliancePatchParameters, IO[bytes]] ] = None, *, etag: Optional[str] = None, @@ -20539,7 +16856,7 @@ def begin_update( self, resource_group_name: str, storage_appliance_name: str, - storage_appliance_update_parameters: Optional[JSON] = None, + storage_appliance_update_parameters: Optional[_types.StorageAppliancePatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -20555,7 +16872,8 @@ def begin_update( :param storage_appliance_name: The name of the storage appliance. Required. :type storage_appliance_name: str :param storage_appliance_update_parameters: The request body. Default value is None. - :type storage_appliance_update_parameters: JSON + :type storage_appliance_update_parameters: + ~azure.mgmt.networkcloud.types.StorageAppliancePatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -20612,7 +16930,7 @@ def begin_update( resource_group_name: str, storage_appliance_name: str, storage_appliance_update_parameters: Optional[ - Union[_models.StorageAppliancePatchParameters, JSON, IO[bytes]] + Union[_models.StorageAppliancePatchParameters, _types.StorageAppliancePatchParameters, IO[bytes]] ] = None, *, etag: Optional[str] = None, @@ -20627,10 +16945,11 @@ def begin_update( :type resource_group_name: str :param storage_appliance_name: The name of the storage appliance. Required. :type storage_appliance_name: str - :param storage_appliance_update_parameters: The request body. Is one of the following types: - StorageAppliancePatchParameters, JSON, IO[bytes] Default value is None. + :param storage_appliance_update_parameters: The request body. Is either a + StorageAppliancePatchParameters type or a IO[bytes] type. Default value is None. :type storage_appliance_update_parameters: - ~azure.mgmt.networkcloud.models.StorageAppliancePatchParameters or JSON or IO[bytes] + ~azure.mgmt.networkcloud.models.StorageAppliancePatchParameters or + ~azure.mgmt.networkcloud.types.StorageAppliancePatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -21198,7 +17517,11 @@ def _enable_remote_vendor_management_initial( resource_group_name: str, storage_appliance_name: str, storage_appliance_enable_remote_vendor_management_parameters: Optional[ - Union[_models.StorageApplianceEnableRemoteVendorManagementParameters, JSON, IO[bytes]] + Union[ + _models.StorageApplianceEnableRemoteVendorManagementParameters, + _types.StorageApplianceEnableRemoteVendorManagementParameters, + IO[bytes], + ] ] = None, **kwargs: Any ) -> Iterator[bytes]: @@ -21312,7 +17635,9 @@ def begin_enable_remote_vendor_management( self, resource_group_name: str, storage_appliance_name: str, - storage_appliance_enable_remote_vendor_management_parameters: Optional[JSON] = None, + storage_appliance_enable_remote_vendor_management_parameters: Optional[ + _types.StorageApplianceEnableRemoteVendorManagementParameters + ] = None, *, content_type: str = "application/json", **kwargs: Any @@ -21326,7 +17651,8 @@ def begin_enable_remote_vendor_management( :type storage_appliance_name: str :param storage_appliance_enable_remote_vendor_management_parameters: The request body. Default value is None. - :type storage_appliance_enable_remote_vendor_management_parameters: JSON + :type storage_appliance_enable_remote_vendor_management_parameters: + ~azure.mgmt.networkcloud.types.StorageApplianceEnableRemoteVendorManagementParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -21371,7 +17697,11 @@ def begin_enable_remote_vendor_management( resource_group_name: str, storage_appliance_name: str, storage_appliance_enable_remote_vendor_management_parameters: Optional[ - Union[_models.StorageApplianceEnableRemoteVendorManagementParameters, JSON, IO[bytes]] + Union[ + _models.StorageApplianceEnableRemoteVendorManagementParameters, + _types.StorageApplianceEnableRemoteVendorManagementParameters, + IO[bytes], + ] ] = None, **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: @@ -21382,12 +17712,13 @@ def begin_enable_remote_vendor_management( :type resource_group_name: str :param storage_appliance_name: The name of the storage appliance. Required. :type storage_appliance_name: str - :param storage_appliance_enable_remote_vendor_management_parameters: The request body. Is one - of the following types: StorageApplianceEnableRemoteVendorManagementParameters, JSON, IO[bytes] + :param storage_appliance_enable_remote_vendor_management_parameters: The request body. Is + either a StorageApplianceEnableRemoteVendorManagementParameters type or a IO[bytes] type. Default value is None. :type storage_appliance_enable_remote_vendor_management_parameters: - ~azure.mgmt.networkcloud.models.StorageApplianceEnableRemoteVendorManagementParameters or JSON - or IO[bytes] + ~azure.mgmt.networkcloud.models.StorageApplianceEnableRemoteVendorManagementParameters or + ~azure.mgmt.networkcloud.types.StorageApplianceEnableRemoteVendorManagementParameters or + IO[bytes] :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] @@ -21455,7 +17786,9 @@ def _run_read_commands_initial( resource_group_name: str, storage_appliance_name: str, storage_appliance_run_read_commands_parameters: Union[ - _models.StorageApplianceRunReadCommandsParameters, JSON, IO[bytes] + _models.StorageApplianceRunReadCommandsParameters, + _types.StorageApplianceRunReadCommandsParameters, + IO[bytes], ], **kwargs: Any ) -> Iterator[bytes]: @@ -21560,7 +17893,7 @@ def begin_run_read_commands( self, resource_group_name: str, storage_appliance_name: str, - storage_appliance_run_read_commands_parameters: JSON, + storage_appliance_run_read_commands_parameters: _types.StorageApplianceRunReadCommandsParameters, *, content_type: str = "application/json", **kwargs: Any @@ -21573,7 +17906,8 @@ def begin_run_read_commands( :param storage_appliance_name: The name of the storage appliance. Required. :type storage_appliance_name: str :param storage_appliance_run_read_commands_parameters: The request body. Required. - :type storage_appliance_run_read_commands_parameters: JSON + :type storage_appliance_run_read_commands_parameters: + ~azure.mgmt.networkcloud.types.StorageApplianceRunReadCommandsParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -21617,7 +17951,9 @@ def begin_run_read_commands( resource_group_name: str, storage_appliance_name: str, storage_appliance_run_read_commands_parameters: Union[ - _models.StorageApplianceRunReadCommandsParameters, JSON, IO[bytes] + _models.StorageApplianceRunReadCommandsParameters, + _types.StorageApplianceRunReadCommandsParameters, + IO[bytes], ], **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: @@ -21628,10 +17964,11 @@ def begin_run_read_commands( :type resource_group_name: str :param storage_appliance_name: The name of the storage appliance. Required. :type storage_appliance_name: str - :param storage_appliance_run_read_commands_parameters: The request body. Is one of the - following types: StorageApplianceRunReadCommandsParameters, JSON, IO[bytes] Required. + :param storage_appliance_run_read_commands_parameters: The request body. Is either a + StorageApplianceRunReadCommandsParameters type or a IO[bytes] type. Required. :type storage_appliance_run_read_commands_parameters: - ~azure.mgmt.networkcloud.models.StorageApplianceRunReadCommandsParameters or JSON or IO[bytes] + ~azure.mgmt.networkcloud.models.StorageApplianceRunReadCommandsParameters or + ~azure.mgmt.networkcloud.types.StorageApplianceRunReadCommandsParameters or IO[bytes] :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] @@ -21785,7 +18122,7 @@ def _create_or_update_initial( self, resource_group_name: str, trunked_network_name: str, - trunked_network_parameters: Union[_models.TrunkedNetwork, JSON, IO[bytes]], + trunked_network_parameters: Union[_models.TrunkedNetwork, _types.TrunkedNetwork, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -21908,7 +18245,7 @@ def begin_create_or_update( self, resource_group_name: str, trunked_network_name: str, - trunked_network_parameters: JSON, + trunked_network_parameters: _types.TrunkedNetwork, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -21923,7 +18260,7 @@ def begin_create_or_update( :param trunked_network_name: The name of the trunked network. Required. :type trunked_network_name: str :param trunked_network_parameters: The request body. Required. - :type trunked_network_parameters: JSON + :type trunked_network_parameters: ~azure.mgmt.networkcloud.types.TrunkedNetwork :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -21978,7 +18315,7 @@ def begin_create_or_update( self, resource_group_name: str, trunked_network_name: str, - trunked_network_parameters: Union[_models.TrunkedNetwork, JSON, IO[bytes]], + trunked_network_parameters: Union[_models.TrunkedNetwork, _types.TrunkedNetwork, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -21991,10 +18328,10 @@ def begin_create_or_update( :type resource_group_name: str :param trunked_network_name: The name of the trunked network. Required. :type trunked_network_name: str - :param trunked_network_parameters: The request body. Is one of the following types: - TrunkedNetwork, JSON, IO[bytes] Required. - :type trunked_network_parameters: ~azure.mgmt.networkcloud.models.TrunkedNetwork or JSON or - IO[bytes] + :param trunked_network_parameters: The request body. Is either a TrunkedNetwork type or a + IO[bytes] type. Required. + :type trunked_network_parameters: ~azure.mgmt.networkcloud.models.TrunkedNetwork or + ~azure.mgmt.networkcloud.types.TrunkedNetwork or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -22099,7 +18436,7 @@ def update( self, resource_group_name: str, trunked_network_name: str, - trunked_network_update_parameters: Optional[JSON] = None, + trunked_network_update_parameters: Optional[_types.TrunkedNetworkPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -22114,7 +18451,8 @@ def update( :param trunked_network_name: The name of the trunked network. Required. :type trunked_network_name: str :param trunked_network_update_parameters: The request body. Default value is None. - :type trunked_network_update_parameters: JSON + :type trunked_network_update_parameters: + ~azure.mgmt.networkcloud.types.TrunkedNetworkPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -22168,7 +18506,7 @@ def update( resource_group_name: str, trunked_network_name: str, trunked_network_update_parameters: Optional[ - Union[_models.TrunkedNetworkPatchParameters, JSON, IO[bytes]] + Union[_models.TrunkedNetworkPatchParameters, _types.TrunkedNetworkPatchParameters, IO[bytes]] ] = None, *, etag: Optional[str] = None, @@ -22182,10 +18520,11 @@ def update( :type resource_group_name: str :param trunked_network_name: The name of the trunked network. Required. :type trunked_network_name: str - :param trunked_network_update_parameters: The request body. Is one of the following types: - TrunkedNetworkPatchParameters, JSON, IO[bytes] Default value is None. + :param trunked_network_update_parameters: The request body. Is either a + TrunkedNetworkPatchParameters type or a IO[bytes] type. Default value is None. :type trunked_network_update_parameters: - ~azure.mgmt.networkcloud.models.TrunkedNetworkPatchParameters or JSON or IO[bytes] + ~azure.mgmt.networkcloud.models.TrunkedNetworkPatchParameters or + ~azure.mgmt.networkcloud.types.TrunkedNetworkPatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -22733,7 +19072,7 @@ def _create_or_update_initial( self, resource_group_name: str, virtual_machine_name: str, - virtual_machine_parameters: Union[_models.VirtualMachine, JSON, IO[bytes]], + virtual_machine_parameters: Union[_models.VirtualMachine, _types.VirtualMachine, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -22856,7 +19195,7 @@ def begin_create_or_update( self, resource_group_name: str, virtual_machine_name: str, - virtual_machine_parameters: JSON, + virtual_machine_parameters: _types.VirtualMachine, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -22871,7 +19210,7 @@ def begin_create_or_update( :param virtual_machine_name: The name of the virtual machine. Required. :type virtual_machine_name: str :param virtual_machine_parameters: The request body. Required. - :type virtual_machine_parameters: JSON + :type virtual_machine_parameters: ~azure.mgmt.networkcloud.types.VirtualMachine :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -22926,7 +19265,7 @@ def begin_create_or_update( self, resource_group_name: str, virtual_machine_name: str, - virtual_machine_parameters: Union[_models.VirtualMachine, JSON, IO[bytes]], + virtual_machine_parameters: Union[_models.VirtualMachine, _types.VirtualMachine, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -22939,10 +19278,10 @@ def begin_create_or_update( :type resource_group_name: str :param virtual_machine_name: The name of the virtual machine. Required. :type virtual_machine_name: str - :param virtual_machine_parameters: The request body. Is one of the following types: - VirtualMachine, JSON, IO[bytes] Required. - :type virtual_machine_parameters: ~azure.mgmt.networkcloud.models.VirtualMachine or JSON or - IO[bytes] + :param virtual_machine_parameters: The request body. Is either a VirtualMachine type or a + IO[bytes] type. Required. + :type virtual_machine_parameters: ~azure.mgmt.networkcloud.models.VirtualMachine or + ~azure.mgmt.networkcloud.types.VirtualMachine or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -23012,7 +19351,7 @@ def _update_initial( resource_group_name: str, virtual_machine_name: str, virtual_machine_update_parameters: Optional[ - Union[_models.VirtualMachinePatchParameters, JSON, IO[bytes]] + Union[_models.VirtualMachinePatchParameters, _types.VirtualMachinePatchParameters, IO[bytes]] ] = None, *, etag: Optional[str] = None, @@ -23143,7 +19482,7 @@ def begin_update( self, resource_group_name: str, virtual_machine_name: str, - virtual_machine_update_parameters: Optional[JSON] = None, + virtual_machine_update_parameters: Optional[_types.VirtualMachinePatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -23159,7 +19498,8 @@ def begin_update( :param virtual_machine_name: The name of the virtual machine. Required. :type virtual_machine_name: str :param virtual_machine_update_parameters: The request body. Default value is None. - :type virtual_machine_update_parameters: JSON + :type virtual_machine_update_parameters: + ~azure.mgmt.networkcloud.types.VirtualMachinePatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -23216,7 +19556,7 @@ def begin_update( resource_group_name: str, virtual_machine_name: str, virtual_machine_update_parameters: Optional[ - Union[_models.VirtualMachinePatchParameters, JSON, IO[bytes]] + Union[_models.VirtualMachinePatchParameters, _types.VirtualMachinePatchParameters, IO[bytes]] ] = None, *, etag: Optional[str] = None, @@ -23231,10 +19571,11 @@ def begin_update( :type resource_group_name: str :param virtual_machine_name: The name of the virtual machine. Required. :type virtual_machine_name: str - :param virtual_machine_update_parameters: The request body. Is one of the following types: - VirtualMachinePatchParameters, JSON, IO[bytes] Default value is None. + :param virtual_machine_update_parameters: The request body. Is either a + VirtualMachinePatchParameters type or a IO[bytes] type. Default value is None. :type virtual_machine_update_parameters: - ~azure.mgmt.networkcloud.models.VirtualMachinePatchParameters or JSON or IO[bytes] + ~azure.mgmt.networkcloud.models.VirtualMachinePatchParameters or + ~azure.mgmt.networkcloud.types.VirtualMachinePatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -23672,7 +20013,7 @@ def _assign_relay_initial( resource_group_name: str, virtual_machine_name: str, virtual_machine_assign_relay_parameters: Optional[ - Union[_models.VirtualMachineAssignRelayParameters, JSON, IO[bytes]] + Union[_models.VirtualMachineAssignRelayParameters, _types.VirtualMachineAssignRelayParameters, IO[bytes]] ] = None, **kwargs: Any ) -> Iterator[bytes]: @@ -23782,7 +20123,7 @@ def begin_assign_relay( self, resource_group_name: str, virtual_machine_name: str, - virtual_machine_assign_relay_parameters: Optional[JSON] = None, + virtual_machine_assign_relay_parameters: Optional[_types.VirtualMachineAssignRelayParameters] = None, *, content_type: str = "application/json", **kwargs: Any @@ -23796,7 +20137,8 @@ def begin_assign_relay( :param virtual_machine_name: The name of the virtual machine. Required. :type virtual_machine_name: str :param virtual_machine_assign_relay_parameters: The request body. Default value is None. - :type virtual_machine_assign_relay_parameters: JSON + :type virtual_machine_assign_relay_parameters: + ~azure.mgmt.networkcloud.types.VirtualMachineAssignRelayParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -23841,7 +20183,7 @@ def begin_assign_relay( resource_group_name: str, virtual_machine_name: str, virtual_machine_assign_relay_parameters: Optional[ - Union[_models.VirtualMachineAssignRelayParameters, JSON, IO[bytes]] + Union[_models.VirtualMachineAssignRelayParameters, _types.VirtualMachineAssignRelayParameters, IO[bytes]] ] = None, **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: @@ -23853,10 +20195,11 @@ def begin_assign_relay( :type resource_group_name: str :param virtual_machine_name: The name of the virtual machine. Required. :type virtual_machine_name: str - :param virtual_machine_assign_relay_parameters: The request body. Is one of the following - types: VirtualMachineAssignRelayParameters, JSON, IO[bytes] Default value is None. + :param virtual_machine_assign_relay_parameters: The request body. Is either a + VirtualMachineAssignRelayParameters type or a IO[bytes] type. Default value is None. :type virtual_machine_assign_relay_parameters: - ~azure.mgmt.networkcloud.models.VirtualMachineAssignRelayParameters or JSON or IO[bytes] + ~azure.mgmt.networkcloud.models.VirtualMachineAssignRelayParameters or + ~azure.mgmt.networkcloud.types.VirtualMachineAssignRelayParameters or IO[bytes] :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] @@ -23924,7 +20267,7 @@ def _power_off_initial( resource_group_name: str, virtual_machine_name: str, virtual_machine_power_off_parameters: Optional[ - Union[_models.VirtualMachinePowerOffParameters, JSON, IO[bytes]] + Union[_models.VirtualMachinePowerOffParameters, _types.VirtualMachinePowerOffParameters, IO[bytes]] ] = None, **kwargs: Any ) -> Iterator[bytes]: @@ -24033,7 +20376,7 @@ def begin_power_off( self, resource_group_name: str, virtual_machine_name: str, - virtual_machine_power_off_parameters: Optional[JSON] = None, + virtual_machine_power_off_parameters: Optional[_types.VirtualMachinePowerOffParameters] = None, *, content_type: str = "application/json", **kwargs: Any @@ -24046,7 +20389,8 @@ def begin_power_off( :param virtual_machine_name: The name of the virtual machine. Required. :type virtual_machine_name: str :param virtual_machine_power_off_parameters: The request body. Default value is None. - :type virtual_machine_power_off_parameters: JSON + :type virtual_machine_power_off_parameters: + ~azure.mgmt.networkcloud.types.VirtualMachinePowerOffParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -24090,7 +20434,7 @@ def begin_power_off( resource_group_name: str, virtual_machine_name: str, virtual_machine_power_off_parameters: Optional[ - Union[_models.VirtualMachinePowerOffParameters, JSON, IO[bytes]] + Union[_models.VirtualMachinePowerOffParameters, _types.VirtualMachinePowerOffParameters, IO[bytes]] ] = None, **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: @@ -24101,10 +20445,11 @@ def begin_power_off( :type resource_group_name: str :param virtual_machine_name: The name of the virtual machine. Required. :type virtual_machine_name: str - :param virtual_machine_power_off_parameters: The request body. Is one of the following types: - VirtualMachinePowerOffParameters, JSON, IO[bytes] Default value is None. + :param virtual_machine_power_off_parameters: The request body. Is either a + VirtualMachinePowerOffParameters type or a IO[bytes] type. Default value is None. :type virtual_machine_power_off_parameters: - ~azure.mgmt.networkcloud.models.VirtualMachinePowerOffParameters or JSON or IO[bytes] + ~azure.mgmt.networkcloud.models.VirtualMachinePowerOffParameters or + ~azure.mgmt.networkcloud.types.VirtualMachinePowerOffParameters or IO[bytes] :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] @@ -24640,7 +20985,7 @@ def _create_or_update_initial( self, resource_group_name: str, volume_name: str, - volume_parameters: Union[_models.Volume, JSON, IO[bytes]], + volume_parameters: Union[_models.Volume, _types.Volume, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -24763,7 +21108,7 @@ def begin_create_or_update( self, resource_group_name: str, volume_name: str, - volume_parameters: JSON, + volume_parameters: _types.Volume, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -24778,7 +21123,7 @@ def begin_create_or_update( :param volume_name: The name of the volume. Required. :type volume_name: str :param volume_parameters: The request body. Required. - :type volume_parameters: JSON + :type volume_parameters: ~azure.mgmt.networkcloud.types.Volume :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -24833,7 +21178,7 @@ def begin_create_or_update( self, resource_group_name: str, volume_name: str, - volume_parameters: Union[_models.Volume, JSON, IO[bytes]], + volume_parameters: Union[_models.Volume, _types.Volume, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -24846,9 +21191,10 @@ def begin_create_or_update( :type resource_group_name: str :param volume_name: The name of the volume. Required. :type volume_name: str - :param volume_parameters: The request body. Is one of the following types: Volume, JSON, - IO[bytes] Required. - :type volume_parameters: ~azure.mgmt.networkcloud.models.Volume or JSON or IO[bytes] + :param volume_parameters: The request body. Is either a Volume type or a IO[bytes] type. + Required. + :type volume_parameters: ~azure.mgmt.networkcloud.models.Volume or + ~azure.mgmt.networkcloud.types.Volume or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -24952,7 +21298,7 @@ def update( self, resource_group_name: str, volume_name: str, - volume_update_parameters: Optional[JSON] = None, + volume_update_parameters: Optional[_types.VolumePatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -24967,7 +21313,7 @@ def update( :param volume_name: The name of the volume. Required. :type volume_name: str :param volume_update_parameters: The request body. Default value is None. - :type volume_update_parameters: JSON + :type volume_update_parameters: ~azure.mgmt.networkcloud.types.VolumePatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -25020,7 +21366,9 @@ def update( self, resource_group_name: str, volume_name: str, - volume_update_parameters: Optional[Union[_models.VolumePatchParameters, JSON, IO[bytes]]] = None, + volume_update_parameters: Optional[ + Union[_models.VolumePatchParameters, _types.VolumePatchParameters, IO[bytes]] + ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -25033,10 +21381,10 @@ def update( :type resource_group_name: str :param volume_name: The name of the volume. Required. :type volume_name: str - :param volume_update_parameters: The request body. Is one of the following types: - VolumePatchParameters, JSON, IO[bytes] Default value is None. - :type volume_update_parameters: ~azure.mgmt.networkcloud.models.VolumePatchParameters or JSON - or IO[bytes] + :param volume_update_parameters: The request body. Is either a VolumePatchParameters type or a + IO[bytes] type. Default value is None. + :type volume_update_parameters: ~azure.mgmt.networkcloud.models.VolumePatchParameters or + ~azure.mgmt.networkcloud.types.VolumePatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -25590,7 +21938,9 @@ def _create_or_update_initial( resource_group_name: str, cluster_name: str, bare_metal_machine_key_set_name: str, - bare_metal_machine_key_set_parameters: Union[_models.BareMetalMachineKeySet, JSON, IO[bytes]], + bare_metal_machine_key_set_parameters: Union[ + _models.BareMetalMachineKeySet, _types.BareMetalMachineKeySet, IO[bytes] + ], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -25719,7 +22069,7 @@ def begin_create_or_update( resource_group_name: str, cluster_name: str, bare_metal_machine_key_set_name: str, - bare_metal_machine_key_set_parameters: JSON, + bare_metal_machine_key_set_parameters: _types.BareMetalMachineKeySet, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -25736,7 +22086,8 @@ def begin_create_or_update( :param bare_metal_machine_key_set_name: The name of the bare metal machine key set. Required. :type bare_metal_machine_key_set_name: str :param bare_metal_machine_key_set_parameters: The request body. Required. - :type bare_metal_machine_key_set_parameters: JSON + :type bare_metal_machine_key_set_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachineKeySet :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -25795,7 +22146,9 @@ def begin_create_or_update( resource_group_name: str, cluster_name: str, bare_metal_machine_key_set_name: str, - bare_metal_machine_key_set_parameters: Union[_models.BareMetalMachineKeySet, JSON, IO[bytes]], + bare_metal_machine_key_set_parameters: Union[ + _models.BareMetalMachineKeySet, _types.BareMetalMachineKeySet, IO[bytes] + ], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -25810,10 +22163,11 @@ def begin_create_or_update( :type cluster_name: str :param bare_metal_machine_key_set_name: The name of the bare metal machine key set. Required. :type bare_metal_machine_key_set_name: str - :param bare_metal_machine_key_set_parameters: The request body. Is one of the following types: - BareMetalMachineKeySet, JSON, IO[bytes] Required. + :param bare_metal_machine_key_set_parameters: The request body. Is either a + BareMetalMachineKeySet type or a IO[bytes] type. Required. :type bare_metal_machine_key_set_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineKeySet or JSON or IO[bytes] + ~azure.mgmt.networkcloud.models.BareMetalMachineKeySet or + ~azure.mgmt.networkcloud.types.BareMetalMachineKeySet or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -25885,7 +22239,9 @@ def _update_initial( cluster_name: str, bare_metal_machine_key_set_name: str, bare_metal_machine_key_set_update_parameters: Optional[ - Union[_models.BareMetalMachineKeySetPatchParameters, JSON, IO[bytes]] + Union[ + _models.BareMetalMachineKeySetPatchParameters, _types.BareMetalMachineKeySetPatchParameters, IO[bytes] + ] ] = None, *, etag: Optional[str] = None, @@ -26021,7 +22377,7 @@ def begin_update( resource_group_name: str, cluster_name: str, bare_metal_machine_key_set_name: str, - bare_metal_machine_key_set_update_parameters: Optional[JSON] = None, + bare_metal_machine_key_set_update_parameters: Optional[_types.BareMetalMachineKeySetPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -26039,7 +22395,8 @@ def begin_update( :param bare_metal_machine_key_set_name: The name of the bare metal machine key set. Required. :type bare_metal_machine_key_set_name: str :param bare_metal_machine_key_set_update_parameters: The request body. Default value is None. - :type bare_metal_machine_key_set_update_parameters: JSON + :type bare_metal_machine_key_set_update_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachineKeySetPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -26100,7 +22457,9 @@ def begin_update( cluster_name: str, bare_metal_machine_key_set_name: str, bare_metal_machine_key_set_update_parameters: Optional[ - Union[_models.BareMetalMachineKeySetPatchParameters, JSON, IO[bytes]] + Union[ + _models.BareMetalMachineKeySetPatchParameters, _types.BareMetalMachineKeySetPatchParameters, IO[bytes] + ] ] = None, *, etag: Optional[str] = None, @@ -26117,10 +22476,11 @@ def begin_update( :type cluster_name: str :param bare_metal_machine_key_set_name: The name of the bare metal machine key set. Required. :type bare_metal_machine_key_set_name: str - :param bare_metal_machine_key_set_update_parameters: The request body. Is one of the following - types: BareMetalMachineKeySetPatchParameters, JSON, IO[bytes] Default value is None. + :param bare_metal_machine_key_set_update_parameters: The request body. Is either a + BareMetalMachineKeySetPatchParameters type or a IO[bytes] type. Default value is None. :type bare_metal_machine_key_set_update_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineKeySetPatchParameters or JSON or IO[bytes] + ~azure.mgmt.networkcloud.models.BareMetalMachineKeySetPatchParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachineKeySetPatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -26563,7 +22923,7 @@ def _create_or_update_initial( resource_group_name: str, cluster_name: str, bmc_key_set_name: str, - bmc_key_set_parameters: Union[_models.BmcKeySet, JSON, IO[bytes]], + bmc_key_set_parameters: Union[_models.BmcKeySet, _types.BmcKeySet, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -26692,7 +23052,7 @@ def begin_create_or_update( resource_group_name: str, cluster_name: str, bmc_key_set_name: str, - bmc_key_set_parameters: JSON, + bmc_key_set_parameters: _types.BmcKeySet, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -26710,7 +23070,7 @@ def begin_create_or_update( :param bmc_key_set_name: The name of the baseboard management controller key set. Required. :type bmc_key_set_name: str :param bmc_key_set_parameters: The request body. Required. - :type bmc_key_set_parameters: JSON + :type bmc_key_set_parameters: ~azure.mgmt.networkcloud.types.BmcKeySet :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -26770,7 +23130,7 @@ def begin_create_or_update( resource_group_name: str, cluster_name: str, bmc_key_set_name: str, - bmc_key_set_parameters: Union[_models.BmcKeySet, JSON, IO[bytes]], + bmc_key_set_parameters: Union[_models.BmcKeySet, _types.BmcKeySet, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -26786,9 +23146,10 @@ def begin_create_or_update( :type cluster_name: str :param bmc_key_set_name: The name of the baseboard management controller key set. Required. :type bmc_key_set_name: str - :param bmc_key_set_parameters: The request body. Is one of the following types: BmcKeySet, - JSON, IO[bytes] Required. - :type bmc_key_set_parameters: ~azure.mgmt.networkcloud.models.BmcKeySet or JSON or IO[bytes] + :param bmc_key_set_parameters: The request body. Is either a BmcKeySet type or a IO[bytes] + type. Required. + :type bmc_key_set_parameters: ~azure.mgmt.networkcloud.models.BmcKeySet or + ~azure.mgmt.networkcloud.types.BmcKeySet or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -26859,7 +23220,9 @@ def _update_initial( resource_group_name: str, cluster_name: str, bmc_key_set_name: str, - bmc_key_set_update_parameters: Optional[Union[_models.BmcKeySetPatchParameters, JSON, IO[bytes]]] = None, + bmc_key_set_update_parameters: Optional[ + Union[_models.BmcKeySetPatchParameters, _types.BmcKeySetPatchParameters, IO[bytes]] + ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -26993,7 +23356,7 @@ def begin_update( resource_group_name: str, cluster_name: str, bmc_key_set_name: str, - bmc_key_set_update_parameters: Optional[JSON] = None, + bmc_key_set_update_parameters: Optional[_types.BmcKeySetPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -27011,7 +23374,7 @@ def begin_update( :param bmc_key_set_name: The name of the baseboard management controller key set. Required. :type bmc_key_set_name: str :param bmc_key_set_update_parameters: The request body. Default value is None. - :type bmc_key_set_update_parameters: JSON + :type bmc_key_set_update_parameters: ~azure.mgmt.networkcloud.types.BmcKeySetPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -27071,7 +23434,9 @@ def begin_update( resource_group_name: str, cluster_name: str, bmc_key_set_name: str, - bmc_key_set_update_parameters: Optional[Union[_models.BmcKeySetPatchParameters, JSON, IO[bytes]]] = None, + bmc_key_set_update_parameters: Optional[ + Union[_models.BmcKeySetPatchParameters, _types.BmcKeySetPatchParameters, IO[bytes]] + ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -27087,10 +23452,10 @@ def begin_update( :type cluster_name: str :param bmc_key_set_name: The name of the baseboard management controller key set. Required. :type bmc_key_set_name: str - :param bmc_key_set_update_parameters: The request body. Is one of the following types: - BmcKeySetPatchParameters, JSON, IO[bytes] Default value is None. + :param bmc_key_set_update_parameters: The request body. Is either a BmcKeySetPatchParameters + type or a IO[bytes] type. Default value is None. :type bmc_key_set_update_parameters: ~azure.mgmt.networkcloud.models.BmcKeySetPatchParameters - or JSON or IO[bytes] + or ~azure.mgmt.networkcloud.types.BmcKeySetPatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -27533,7 +23898,7 @@ def _create_or_update_initial( resource_group_name: str, kubernetes_cluster_name: str, agent_pool_name: str, - agent_pool_parameters: Union[_models.AgentPool, JSON, IO[bytes]], + agent_pool_parameters: Union[_models.AgentPool, _types.AgentPool, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -27661,7 +24026,7 @@ def begin_create_or_update( resource_group_name: str, kubernetes_cluster_name: str, agent_pool_name: str, - agent_pool_parameters: JSON, + agent_pool_parameters: _types.AgentPool, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -27678,7 +24043,7 @@ def begin_create_or_update( :param agent_pool_name: The name of the Kubernetes cluster agent pool. Required. :type agent_pool_name: str :param agent_pool_parameters: The request body. Required. - :type agent_pool_parameters: JSON + :type agent_pool_parameters: ~azure.mgmt.networkcloud.types.AgentPool :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -27737,7 +24102,7 @@ def begin_create_or_update( resource_group_name: str, kubernetes_cluster_name: str, agent_pool_name: str, - agent_pool_parameters: Union[_models.AgentPool, JSON, IO[bytes]], + agent_pool_parameters: Union[_models.AgentPool, _types.AgentPool, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -27752,9 +24117,10 @@ def begin_create_or_update( :type kubernetes_cluster_name: str :param agent_pool_name: The name of the Kubernetes cluster agent pool. Required. :type agent_pool_name: str - :param agent_pool_parameters: The request body. Is one of the following types: AgentPool, JSON, - IO[bytes] Required. - :type agent_pool_parameters: ~azure.mgmt.networkcloud.models.AgentPool or JSON or IO[bytes] + :param agent_pool_parameters: The request body. Is either a AgentPool type or a IO[bytes] type. + Required. + :type agent_pool_parameters: ~azure.mgmt.networkcloud.models.AgentPool or + ~azure.mgmt.networkcloud.types.AgentPool or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -27825,7 +24191,9 @@ def _update_initial( resource_group_name: str, kubernetes_cluster_name: str, agent_pool_name: str, - agent_pool_update_parameters: Optional[Union[_models.AgentPoolPatchParameters, JSON, IO[bytes]]] = None, + agent_pool_update_parameters: Optional[ + Union[_models.AgentPoolPatchParameters, _types.AgentPoolPatchParameters, IO[bytes]] + ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -27960,7 +24328,7 @@ def begin_update( resource_group_name: str, kubernetes_cluster_name: str, agent_pool_name: str, - agent_pool_update_parameters: Optional[JSON] = None, + agent_pool_update_parameters: Optional[_types.AgentPoolPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -27979,7 +24347,7 @@ def begin_update( :param agent_pool_name: The name of the Kubernetes cluster agent pool. Required. :type agent_pool_name: str :param agent_pool_update_parameters: The request body. Default value is None. - :type agent_pool_update_parameters: JSON + :type agent_pool_update_parameters: ~azure.mgmt.networkcloud.types.AgentPoolPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -28040,7 +24408,9 @@ def begin_update( resource_group_name: str, kubernetes_cluster_name: str, agent_pool_name: str, - agent_pool_update_parameters: Optional[Union[_models.AgentPoolPatchParameters, JSON, IO[bytes]]] = None, + agent_pool_update_parameters: Optional[ + Union[_models.AgentPoolPatchParameters, _types.AgentPoolPatchParameters, IO[bytes]] + ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -28057,10 +24427,10 @@ def begin_update( :type kubernetes_cluster_name: str :param agent_pool_name: The name of the Kubernetes cluster agent pool. Required. :type agent_pool_name: str - :param agent_pool_update_parameters: The request body. Is one of the following types: - AgentPoolPatchParameters, JSON, IO[bytes] Default value is None. + :param agent_pool_update_parameters: The request body. Is either a AgentPoolPatchParameters + type or a IO[bytes] type. Default value is None. :type agent_pool_update_parameters: ~azure.mgmt.networkcloud.models.AgentPoolPatchParameters or - JSON or IO[bytes] + ~azure.mgmt.networkcloud.types.AgentPoolPatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -28504,7 +24874,9 @@ def _create_or_update_initial( resource_group_name: str, kubernetes_cluster_name: str, feature_name: str, - kubernetes_cluster_feature_parameters: Union[_models.KubernetesClusterFeature, JSON, IO[bytes]], + kubernetes_cluster_feature_parameters: Union[ + _models.KubernetesClusterFeature, _types.KubernetesClusterFeature, IO[bytes] + ], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -28634,7 +25006,7 @@ def begin_create_or_update( resource_group_name: str, kubernetes_cluster_name: str, feature_name: str, - kubernetes_cluster_feature_parameters: JSON, + kubernetes_cluster_feature_parameters: _types.KubernetesClusterFeature, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -28652,7 +25024,8 @@ def begin_create_or_update( :param feature_name: The name of the feature. Required. :type feature_name: str :param kubernetes_cluster_feature_parameters: The request body. Required. - :type kubernetes_cluster_feature_parameters: JSON + :type kubernetes_cluster_feature_parameters: + ~azure.mgmt.networkcloud.types.KubernetesClusterFeature :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -28712,7 +25085,9 @@ def begin_create_or_update( resource_group_name: str, kubernetes_cluster_name: str, feature_name: str, - kubernetes_cluster_feature_parameters: Union[_models.KubernetesClusterFeature, JSON, IO[bytes]], + kubernetes_cluster_feature_parameters: Union[ + _models.KubernetesClusterFeature, _types.KubernetesClusterFeature, IO[bytes] + ], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -28728,10 +25103,11 @@ def begin_create_or_update( :type kubernetes_cluster_name: str :param feature_name: The name of the feature. Required. :type feature_name: str - :param kubernetes_cluster_feature_parameters: The request body. Is one of the following types: - KubernetesClusterFeature, JSON, IO[bytes] Required. + :param kubernetes_cluster_feature_parameters: The request body. Is either a + KubernetesClusterFeature type or a IO[bytes] type. Required. :type kubernetes_cluster_feature_parameters: - ~azure.mgmt.networkcloud.models.KubernetesClusterFeature or JSON or IO[bytes] + ~azure.mgmt.networkcloud.models.KubernetesClusterFeature or + ~azure.mgmt.networkcloud.types.KubernetesClusterFeature or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -28803,7 +25179,11 @@ def _update_initial( kubernetes_cluster_name: str, feature_name: str, kubernetes_cluster_feature_update_parameters: Optional[ - Union[_models.KubernetesClusterFeaturePatchParameters, JSON, IO[bytes]] + Union[ + _models.KubernetesClusterFeaturePatchParameters, + _types.KubernetesClusterFeaturePatchParameters, + IO[bytes], + ] ] = None, *, etag: Optional[str] = None, @@ -28938,7 +25318,7 @@ def begin_update( resource_group_name: str, kubernetes_cluster_name: str, feature_name: str, - kubernetes_cluster_feature_update_parameters: Optional[JSON] = None, + kubernetes_cluster_feature_update_parameters: Optional[_types.KubernetesClusterFeaturePatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -28955,7 +25335,8 @@ def begin_update( :param feature_name: The name of the feature. Required. :type feature_name: str :param kubernetes_cluster_feature_update_parameters: The request body. Default value is None. - :type kubernetes_cluster_feature_update_parameters: JSON + :type kubernetes_cluster_feature_update_parameters: + ~azure.mgmt.networkcloud.types.KubernetesClusterFeaturePatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -29015,7 +25396,11 @@ def begin_update( kubernetes_cluster_name: str, feature_name: str, kubernetes_cluster_feature_update_parameters: Optional[ - Union[_models.KubernetesClusterFeaturePatchParameters, JSON, IO[bytes]] + Union[ + _models.KubernetesClusterFeaturePatchParameters, + _types.KubernetesClusterFeaturePatchParameters, + IO[bytes], + ] ] = None, *, etag: Optional[str] = None, @@ -29031,10 +25416,11 @@ def begin_update( :type kubernetes_cluster_name: str :param feature_name: The name of the feature. Required. :type feature_name: str - :param kubernetes_cluster_feature_update_parameters: The request body. Is one of the following - types: KubernetesClusterFeaturePatchParameters, JSON, IO[bytes] Default value is None. + :param kubernetes_cluster_feature_update_parameters: The request body. Is either a + KubernetesClusterFeaturePatchParameters type or a IO[bytes] type. Default value is None. :type kubernetes_cluster_feature_update_parameters: - ~azure.mgmt.networkcloud.models.KubernetesClusterFeaturePatchParameters or JSON or IO[bytes] + ~azure.mgmt.networkcloud.models.KubernetesClusterFeaturePatchParameters or + ~azure.mgmt.networkcloud.types.KubernetesClusterFeaturePatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -29477,7 +25863,7 @@ def _create_or_update_initial( resource_group_name: str, virtual_machine_name: str, console_name: str, - console_parameters: Union[_models.Console, JSON, IO[bytes]], + console_parameters: Union[_models.Console, _types.Console, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -29606,7 +25992,7 @@ def begin_create_or_update( resource_group_name: str, virtual_machine_name: str, console_name: str, - console_parameters: JSON, + console_parameters: _types.Console, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -29624,7 +26010,7 @@ def begin_create_or_update( :param console_name: The name of the virtual machine console. Required. :type console_name: str :param console_parameters: The request body. Required. - :type console_parameters: JSON + :type console_parameters: ~azure.mgmt.networkcloud.types.Console :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -29684,7 +26070,7 @@ def begin_create_or_update( resource_group_name: str, virtual_machine_name: str, console_name: str, - console_parameters: Union[_models.Console, JSON, IO[bytes]], + console_parameters: Union[_models.Console, _types.Console, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -29700,9 +26086,10 @@ def begin_create_or_update( :type virtual_machine_name: str :param console_name: The name of the virtual machine console. Required. :type console_name: str - :param console_parameters: The request body. Is one of the following types: Console, JSON, - IO[bytes] Required. - :type console_parameters: ~azure.mgmt.networkcloud.models.Console or JSON or IO[bytes] + :param console_parameters: The request body. Is either a Console type or a IO[bytes] type. + Required. + :type console_parameters: ~azure.mgmt.networkcloud.models.Console or + ~azure.mgmt.networkcloud.types.Console or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -29773,7 +26160,9 @@ def _update_initial( resource_group_name: str, virtual_machine_name: str, console_name: str, - console_update_parameters: Optional[Union[_models.ConsolePatchParameters, JSON, IO[bytes]]] = None, + console_update_parameters: Optional[ + Union[_models.ConsolePatchParameters, _types.ConsolePatchParameters, IO[bytes]] + ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -29907,7 +26296,7 @@ def begin_update( resource_group_name: str, virtual_machine_name: str, console_name: str, - console_update_parameters: Optional[JSON] = None, + console_update_parameters: Optional[_types.ConsolePatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -29925,7 +26314,7 @@ def begin_update( :param console_name: The name of the virtual machine console. Required. :type console_name: str :param console_update_parameters: The request body. Default value is None. - :type console_update_parameters: JSON + :type console_update_parameters: ~azure.mgmt.networkcloud.types.ConsolePatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -29985,7 +26374,9 @@ def begin_update( resource_group_name: str, virtual_machine_name: str, console_name: str, - console_update_parameters: Optional[Union[_models.ConsolePatchParameters, JSON, IO[bytes]]] = None, + console_update_parameters: Optional[ + Union[_models.ConsolePatchParameters, _types.ConsolePatchParameters, IO[bytes]] + ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -30001,10 +26392,10 @@ def begin_update( :type virtual_machine_name: str :param console_name: The name of the virtual machine console. Required. :type console_name: str - :param console_update_parameters: The request body. Is one of the following types: - ConsolePatchParameters, JSON, IO[bytes] Default value is None. - :type console_update_parameters: ~azure.mgmt.networkcloud.models.ConsolePatchParameters or JSON - or IO[bytes] + :param console_update_parameters: The request body. Is either a ConsolePatchParameters type or + a IO[bytes] type. Default value is None. + :type console_update_parameters: ~azure.mgmt.networkcloud.models.ConsolePatchParameters or + ~azure.mgmt.networkcloud.types.ConsolePatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -30449,7 +26840,9 @@ def _create_or_update_initial( resource_group_name: str, cluster_name: str, metrics_configuration_name: str, - metrics_configuration_parameters: Union[_models.ClusterMetricsConfiguration, JSON, IO[bytes]], + metrics_configuration_parameters: Union[ + _models.ClusterMetricsConfiguration, _types.ClusterMetricsConfiguration, IO[bytes] + ], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -30580,7 +26973,7 @@ def begin_create_or_update( resource_group_name: str, cluster_name: str, metrics_configuration_name: str, - metrics_configuration_parameters: JSON, + metrics_configuration_parameters: _types.ClusterMetricsConfiguration, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -30598,7 +26991,8 @@ def begin_create_or_update( Required. :type metrics_configuration_name: str :param metrics_configuration_parameters: The request body. Required. - :type metrics_configuration_parameters: JSON + :type metrics_configuration_parameters: + ~azure.mgmt.networkcloud.types.ClusterMetricsConfiguration :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -30660,7 +27054,9 @@ def begin_create_or_update( resource_group_name: str, cluster_name: str, metrics_configuration_name: str, - metrics_configuration_parameters: Union[_models.ClusterMetricsConfiguration, JSON, IO[bytes]], + metrics_configuration_parameters: Union[ + _models.ClusterMetricsConfiguration, _types.ClusterMetricsConfiguration, IO[bytes] + ], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -30676,10 +27072,11 @@ def begin_create_or_update( :param metrics_configuration_name: The name of the metrics configuration for the cluster. Required. :type metrics_configuration_name: str - :param metrics_configuration_parameters: The request body. Is one of the following types: - ClusterMetricsConfiguration, JSON, IO[bytes] Required. + :param metrics_configuration_parameters: The request body. Is either a + ClusterMetricsConfiguration type or a IO[bytes] type. Required. :type metrics_configuration_parameters: - ~azure.mgmt.networkcloud.models.ClusterMetricsConfiguration or JSON or IO[bytes] + ~azure.mgmt.networkcloud.models.ClusterMetricsConfiguration or + ~azure.mgmt.networkcloud.types.ClusterMetricsConfiguration or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -30752,7 +27149,11 @@ def _update_initial( cluster_name: str, metrics_configuration_name: str, metrics_configuration_update_parameters: Optional[ - Union[_models.ClusterMetricsConfigurationPatchParameters, JSON, IO[bytes]] + Union[ + _models.ClusterMetricsConfigurationPatchParameters, + _types.ClusterMetricsConfigurationPatchParameters, + IO[bytes], + ] ] = None, *, etag: Optional[str] = None, @@ -30890,7 +27291,7 @@ def begin_update( resource_group_name: str, cluster_name: str, metrics_configuration_name: str, - metrics_configuration_update_parameters: Optional[JSON] = None, + metrics_configuration_update_parameters: Optional[_types.ClusterMetricsConfigurationPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, @@ -30909,7 +27310,8 @@ def begin_update( Required. :type metrics_configuration_name: str :param metrics_configuration_update_parameters: The request body. Default value is None. - :type metrics_configuration_update_parameters: JSON + :type metrics_configuration_update_parameters: + ~azure.mgmt.networkcloud.types.ClusterMetricsConfigurationPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -30973,7 +27375,11 @@ def begin_update( cluster_name: str, metrics_configuration_name: str, metrics_configuration_update_parameters: Optional[ - Union[_models.ClusterMetricsConfigurationPatchParameters, JSON, IO[bytes]] + Union[ + _models.ClusterMetricsConfigurationPatchParameters, + _types.ClusterMetricsConfigurationPatchParameters, + IO[bytes], + ] ] = None, *, etag: Optional[str] = None, @@ -30991,10 +27397,11 @@ def begin_update( :param metrics_configuration_name: The name of the metrics configuration for the cluster. Required. :type metrics_configuration_name: str - :param metrics_configuration_update_parameters: The request body. Is one of the following - types: ClusterMetricsConfigurationPatchParameters, JSON, IO[bytes] Default value is None. + :param metrics_configuration_update_parameters: The request body. Is either a + ClusterMetricsConfigurationPatchParameters type or a IO[bytes] type. Default value is None. :type metrics_configuration_update_parameters: - ~azure.mgmt.networkcloud.models.ClusterMetricsConfigurationPatchParameters or JSON or IO[bytes] + ~azure.mgmt.networkcloud.models.ClusterMetricsConfigurationPatchParameters or + ~azure.mgmt.networkcloud.types.ClusterMetricsConfigurationPatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/types.py b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/types.py new file mode 100644 index 000000000000..dc05cf1d38bd --- /dev/null +++ b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/types.py @@ -0,0 +1,5284 @@ +# 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) Python Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, TYPE_CHECKING, Union +from typing_extensions import Required, TypedDict + +if TYPE_CHECKING: + from .models import ( + ActionStateStatus, + AdvertiseToFabric, + AgentPoolDetailedStatus, + AgentPoolMode, + AgentPoolProvisioningState, + AvailabilityLifecycle, + BareMetalMachineCordonStatus, + BareMetalMachineDetailedStatus, + BareMetalMachineEvacuate, + BareMetalMachineHardwareValidationResult, + BareMetalMachineKeySetDetailedStatus, + BareMetalMachineKeySetPrivilegeLevel, + BareMetalMachineKeySetProvisioningState, + BareMetalMachineKeySetUserSetupStatus, + BareMetalMachinePowerState, + BareMetalMachineProvisioningState, + BareMetalMachineReadyState, + BareMetalMachineReplaceSafeguardMode, + BareMetalMachineReplaceStoragePolicy, + BareMetalMachineSkipShutdown, + BfdEnabled, + BgpMultiHop, + BmcKeySetDetailedStatus, + BmcKeySetPrivilegeLevel, + BmcKeySetProvisioningState, + CloudServicesNetworkDetailedStatus, + CloudServicesNetworkEnableDefaultEgressEndpoints, + CloudServicesNetworkProvisioningState, + CloudServicesNetworkStorageMode, + CloudServicesNetworkStorageStatusStatus, + ClusterConnectionStatus, + ClusterContinueUpdateVersionMachineGroupTargetingMode, + ClusterDetailedStatus, + ClusterManagerConnectionStatus, + ClusterManagerDetailedStatus, + ClusterManagerProvisioningState, + ClusterMetricsConfigurationDetailedStatus, + ClusterMetricsConfigurationProvisioningState, + ClusterProvisioningState, + ClusterScanRuntimeParametersScanActivity, + ClusterSecretArchiveEnabled, + ClusterType, + ClusterUpdateStrategyType, + CommandOutputType, + ConsoleDetailedStatus, + ConsoleEnabled, + ConsoleProvisioningState, + ControlImpact, + CreatedByType, + DefaultGateway, + ExtendedLocationType, + FabricPeeringEnabled, + FeatureDetailedStatus, + HugepagesSize, + HybridAksIpamEnabled, + HybridAksPluginType, + IpAllocationType, + KubernetesClusterDetailedStatus, + KubernetesClusterFeatureAvailabilityLifecycle, + KubernetesClusterFeatureDetailedStatus, + KubernetesClusterFeatureProvisioningState, + KubernetesClusterFeatureRequired, + KubernetesClusterNodeDetailedStatus, + KubernetesClusterProvisioningState, + KubernetesNodePowerState, + KubernetesNodeRole, + KubernetesPluginType, + L2NetworkDetailedStatus, + L2NetworkProvisioningState, + L3NetworkConfigurationIpamEnabled, + L3NetworkDetailedStatus, + L3NetworkProvisioningState, + ManagedServiceIdentitySelectorType, + ManagedServiceIdentityType, + OsDiskCreateOption, + OsDiskDeleteOption, + RackDetailedStatus, + RackProvisioningState, + RelayType, + RemoteVendorManagementFeature, + RemoteVendorManagementStatus, + RuntimeProtectionEnforcementLevel, + SkipShutdown, + StepStateStatus, + StorageApplianceDetailedStatus, + StorageApplianceProvisioningState, + TrunkedNetworkDetailedStatus, + TrunkedNetworkProvisioningState, + ValidationThresholdGrouping, + ValidationThresholdType, + VirtualMachineBootMethod, + VirtualMachineDetailedStatus, + VirtualMachineDeviceModelType, + VirtualMachineIPAllocationMethod, + VirtualMachineIsolateEmulatorThread, + VirtualMachinePlacementHintPodAffinityScope, + VirtualMachinePlacementHintType, + VirtualMachinePowerState, + VirtualMachineProvisioningState, + VirtualMachineSchedulingExecution, + VirtualMachineVirtioInterfaceType, + VolumeDetailedStatus, + VolumeProvisioningState, + VulnerabilityScanningSettingsContainerScan, + WorkloadImpact, + ) + + +class AadConfiguration(TypedDict, total=False): + """AadConfiguration represents the Azure Active Directory Integration properties. + + :ivar admin_group_object_ids: The list of Azure Active Directory group object IDs that will + have an administrative role on the Kubernetes cluster. Required. + :vartype admin_group_object_ids: list[str] + """ + + adminGroupObjectIds: Required[list[str]] + """The list of Azure Active Directory group object IDs that will have an administrative role on + the Kubernetes cluster. Required.""" + + +class ActionState(TypedDict, total=False): + """ActionState represents the state of an action taken against a resource. This can be used to + represent both explicitly and implicitly defined action types. + + :ivar action_type: The representation of the action for which this is a status. Matches ARM + resource action format when the action is an ARM-based action. + :vartype action_type: str + :ivar correlation_id: The correlation ID for the original action request. Omitted if there is + no related correlation ID. + :vartype correlation_id: str + :ivar end_time: The timestamp of when the action reached its final, terminal state. Uses ISO + 8601 format. + :vartype end_time: str + :ivar message: The description providing additional context for the status value. May be empty + or contain guidance in the case of a failure. + :vartype message: str + :ivar start_time: The timestamp of when the action began, in ISO 8601 format. + :vartype start_time: str + :ivar status: The status of the action. Known values are: "Completed", "InProgress", and + "Failed". + :vartype status: Union[str, "ActionStateStatus"] + :ivar step_states: The ordered list of the individual steps which make up the action. + :vartype step_states: list["StepState"] + """ + + actionType: str + """The representation of the action for which this is a status. Matches ARM resource action format + when the action is an ARM-based action.""" + correlationId: str + """The correlation ID for the original action request. Omitted if there is no related correlation + ID.""" + endTime: str + """The timestamp of when the action reached its final, terminal state. Uses ISO 8601 format.""" + message: str + """The description providing additional context for the status value. May be empty or contain + guidance in the case of a failure.""" + startTime: str + """The timestamp of when the action began, in ISO 8601 format.""" + status: Union[str, "ActionStateStatus"] + """The status of the action. Known values are: \"Completed\", \"InProgress\", and \"Failed\".""" + stepStates: list["StepState"] + """The ordered list of the individual steps which make up the action.""" + + +class AdministrativeCredentials(TypedDict, total=False): + """AdministrativeCredentials represents the admin credentials for the device requiring + password-based authentication. + + :ivar password: The password of the administrator of the device used during initialization. + Required. + :vartype password: str + :ivar username: The username of the administrator of the device used during initialization. + Required. + :vartype username: str + """ + + password: Required[str] + """The password of the administrator of the device used during initialization. Required.""" + username: Required[str] + """The username of the administrator of the device used during initialization. Required.""" + + +class AdministratorConfiguration(TypedDict, total=False): + """AdministratorConfiguration represents the administrative credentials that will be applied to + the control plane and agent pool nodes in Kubernetes clusters. + + :ivar admin_username: The user name for the administrator that will be applied to the operating + systems that run Kubernetes nodes. If not supplied, a user name will be chosen by the service. + :vartype admin_username: str + :ivar ssh_public_keys: The SSH configuration for the operating systems that run the nodes in + the Kubernetes cluster. In some cases, specification of public keys may be required to produce + a working environment. + :vartype ssh_public_keys: list["SshPublicKey"] + """ + + adminUsername: str + """The user name for the administrator that will be applied to the operating systems that run + Kubernetes nodes. If not supplied, a user name will be chosen by the service.""" + sshPublicKeys: list["SshPublicKey"] + """The SSH configuration for the operating systems that run the nodes in the Kubernetes cluster. + In some cases, specification of public keys may be required to produce a working environment.""" + + +class AdministratorConfigurationPatch(TypedDict, total=False): + """AdministratorConfigurationPatch represents the patching capabilities for the administrator + configuration. + + :ivar ssh_public_keys: SshPublicKey represents the public key used to authenticate with a + resource through SSH. + :vartype ssh_public_keys: list["SshPublicKey"] + """ + + sshPublicKeys: list["SshPublicKey"] + """SshPublicKey represents the public key used to authenticate with a resource through SSH.""" + + +class AgentOptions(TypedDict, total=False): + """AgentOptions are configurations that will be applied to each agent in an agent pool. + + :ivar hugepages_count: The number of hugepages to allocate. Required. + :vartype hugepages_count: int + :ivar hugepages_size: The size of the hugepages to allocate. Known values are: "2M" and "1G". + :vartype hugepages_size: Union[str, "HugepagesSize"] + """ + + hugepagesCount: Required[int] + """The number of hugepages to allocate. Required.""" + hugepagesSize: Union[str, "HugepagesSize"] + """The size of the hugepages to allocate. Known values are: \"2M\" and \"1G\".""" + + +class Resource(TypedDict, total=False): + """Resource. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /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: "SystemData" + """ + + id: str + """Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.""" + name: str + """The name of the resource.""" + type: str + """The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or + \"Microsoft.Storage/storageAccounts\".""" + systemData: "SystemData" + """Azure Resource Manager metadata containing createdBy and modifiedBy information.""" + + +class TrackedResource(Resource): + """Tracked Resource. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /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: "SystemData" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + """ + + tags: dict[str, str] + """Resource tags.""" + location: Required[str] + """The geo-location where the resource lives. Required.""" + + +class AgentPool(TrackedResource): + """AgentPool represents the agent pool of Kubernetes cluster. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /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: "SystemData" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: The list of the resource properties. Required. + :vartype properties: "AgentPoolProperties" + :ivar etag: "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 etag: str + :ivar extended_location: + :vartype extended_location: "ExtendedLocation" + """ + + properties: Required["AgentPoolProperties"] + """The list of the resource properties. Required.""" + etag: str + """\"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.\").""" + extendedLocation: "ExtendedLocation" + + +class AgentPoolPatchParameters(TypedDict, total=False): + """AgentPoolPatchParameters represents the body of the request to patch the Kubernetes cluster + agent pool. + + :ivar properties: The list of the resource properties. + :vartype properties: "AgentPoolPatchProperties" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + """ + + properties: "AgentPoolPatchProperties" + """The list of the resource properties.""" + tags: dict[str, str] + """Resource tags.""" + + +class AgentPoolPatchProperties(TypedDict, total=False): + """AgentPoolPatchProperties represents the properties of an agent pool that can be modified. + + :ivar administrator_configuration: The configuration of administrator credentials for the + control plane nodes. + :vartype administrator_configuration: "NodePoolAdministratorConfigurationPatch" + :ivar count: The number of virtual machines that use this configuration. + :vartype count: int + :ivar upgrade_settings: The configuration of the agent pool. + :vartype upgrade_settings: "AgentPoolUpgradeSettings" + """ + + administratorConfiguration: "NodePoolAdministratorConfigurationPatch" + """The configuration of administrator credentials for the control plane nodes.""" + count: int + """The number of virtual machines that use this configuration.""" + upgradeSettings: "AgentPoolUpgradeSettings" + """The configuration of the agent pool.""" + + +class AgentPoolProperties(TypedDict, total=False): + """AgentPoolProperties represents the properties of the Kubernetes cluster agent pool. + + :ivar administrator_configuration: The administrator credentials to be used for the nodes in + this agent pool. + :vartype administrator_configuration: "AdministratorConfiguration" + :ivar agent_options: The configurations that will be applied to each agent in this agent pool. + :vartype agent_options: "AgentOptions" + :ivar attached_network_configuration: The configuration of networks being attached to the agent + pool for use by the workloads that run on this Kubernetes cluster. + :vartype attached_network_configuration: "AttachedNetworkConfiguration" + :ivar availability_zones: The list of availability zones of the Network Cloud cluster used for + the provisioning of nodes in this agent pool. If not specified, all availability zones will be + used. + :vartype availability_zones: list[str] + :ivar count: The number of virtual machines that use this configuration. Required. + :vartype count: int + :ivar labels: The labels applied to the nodes in this agent pool. + :vartype labels: list["KubernetesLabel"] + :ivar mode: The selection of how this agent pool is utilized, either as a system pool or a user + pool. System pools run the features and critical services for the Kubernetes Cluster, while + user pools are dedicated to user workloads. Every Kubernetes cluster must contain at least one + system node pool with at least one node. Required. Known values are: "System", "User", and + "NotApplicable". + :vartype mode: Union[str, "AgentPoolMode"] + :ivar taints: The taints applied to the nodes in this agent pool. + :vartype taints: list["KubernetesLabel"] + :ivar upgrade_settings: The configuration of the agent pool. + :vartype upgrade_settings: "AgentPoolUpgradeSettings" + :ivar vm_sku_name: The name of the VM SKU that determines the size of resources allocated for + node VMs. Required. + :vartype vm_sku_name: str + :ivar detailed_status: The current status of the agent pool. Known values are: "Available", + "Error", and "Provisioning". + :vartype detailed_status: Union[str, "AgentPoolDetailedStatus"] + :ivar detailed_status_message: The descriptive message about the current detailed status. + :vartype detailed_status_message: str + :ivar kubernetes_version: The Kubernetes version running in this agent pool. + :vartype kubernetes_version: str + :ivar provisioning_state: The provisioning state of the agent pool. Known values are: + "Accepted", "Canceled", "Deleting", "Failed", "InProgress", "Succeeded", and "Updating". + :vartype provisioning_state: Union[str, "AgentPoolProvisioningState"] + """ + + administratorConfiguration: "AdministratorConfiguration" + """The administrator credentials to be used for the nodes in this agent pool.""" + agentOptions: "AgentOptions" + """The configurations that will be applied to each agent in this agent pool.""" + attachedNetworkConfiguration: "AttachedNetworkConfiguration" + """The configuration of networks being attached to the agent pool for use by the workloads that + run on this Kubernetes cluster.""" + availabilityZones: list[str] + """The list of availability zones of the Network Cloud cluster used for the provisioning of nodes + in this agent pool. If not specified, all availability zones will be used.""" + count: Required[int] + """The number of virtual machines that use this configuration. Required.""" + labels: list["KubernetesLabel"] + """The labels applied to the nodes in this agent pool.""" + mode: Required[Union[str, "AgentPoolMode"]] + """The selection of how this agent pool is utilized, either as a system pool or a user pool. + System pools run the features and critical services for the Kubernetes Cluster, while user + pools are dedicated to user workloads. Every Kubernetes cluster must contain at least one + system node pool with at least one node. Required. Known values are: \"System\", \"User\", and + \"NotApplicable\".""" + taints: list["KubernetesLabel"] + """The taints applied to the nodes in this agent pool.""" + upgradeSettings: "AgentPoolUpgradeSettings" + """The configuration of the agent pool.""" + vmSkuName: Required[str] + """The name of the VM SKU that determines the size of resources allocated for node VMs. Required.""" + detailedStatus: Union[str, "AgentPoolDetailedStatus"] + """The current status of the agent pool. Known values are: \"Available\", \"Error\", and + \"Provisioning\".""" + detailedStatusMessage: str + """The descriptive message about the current detailed status.""" + kubernetesVersion: str + """The Kubernetes version running in this agent pool.""" + provisioningState: Union[str, "AgentPoolProvisioningState"] + """The provisioning state of the agent pool. Known values are: \"Accepted\", \"Canceled\", + \"Deleting\", \"Failed\", \"InProgress\", \"Succeeded\", and \"Updating\".""" + + +class AgentPoolUpgradeSettings(TypedDict, total=False): + """AgentPoolUpgradeSettings specifies the upgrade settings for an agent pool. + + :ivar drain_timeout: The maximum time in seconds that is allowed for a node drain to complete + before proceeding with the upgrade of the agent pool. If not specified during creation, a value + of 1800 seconds is used. + :vartype drain_timeout: int + :ivar max_surge: The maximum number or percentage of nodes that are surged during upgrade. This + can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is + specified, it is the percentage of the total agent pool size at the time of the upgrade. For + percentages, fractional nodes are rounded up. If not specified during creation, a value of 1 is + used. One of MaxSurge and MaxUnavailable must be greater than 0. + :vartype max_surge: str + :ivar max_unavailable: The maximum number or percentage of nodes that can be unavailable during + upgrade. This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a + percentage is specified, it is the percentage of the total agent pool size at the time of the + upgrade. For percentages, fractional nodes are rounded up. If not specified during creation, a + value of 0 is used. One of MaxSurge and MaxUnavailable must be greater than 0. + :vartype max_unavailable: str + """ + + drainTimeout: int + """The maximum time in seconds that is allowed for a node drain to complete before proceeding with + the upgrade of the agent pool. If not specified during creation, a value of 1800 seconds is + used.""" + maxSurge: str + """The maximum number or percentage of nodes that are surged during upgrade. This can either be + set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is + the percentage of the total agent pool size at the time of the upgrade. For percentages, + fractional nodes are rounded up. If not specified during creation, a value of 1 is used. One of + MaxSurge and MaxUnavailable must be greater than 0.""" + maxUnavailable: str + """The maximum number or percentage of nodes that can be unavailable during upgrade. This can + either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is + specified, it is the percentage of the total agent pool size at the time of the upgrade. For + percentages, fractional nodes are rounded up. If not specified during creation, a value of 0 is + used. One of MaxSurge and MaxUnavailable must be greater than 0.""" + + +class AnalyticsOutputSettings(TypedDict, total=False): + """AnalyticsOutputSettings represents the settings for the log analytics workspace used for output + of logs from this cluster. + + :ivar analytics_workspace_id: The resource ID of the analytics workspace that is to be used by + the specified identity. + :vartype analytics_workspace_id: str + :ivar associated_identity: The selection of the managed identity to use with this analytics + workspace. The identity type must be either system assigned or user assigned. + :vartype associated_identity: "IdentitySelector" + """ + + analyticsWorkspaceId: str + """The resource ID of the analytics workspace that is to be used by the specified identity.""" + associatedIdentity: "IdentitySelector" + """The selection of the managed identity to use with this analytics workspace. The identity type + must be either system assigned or user assigned.""" + + +class AttachedNetworkConfiguration(TypedDict, total=False): + """AttachedNetworkConfiguration represents the set of workload networks to attach to a resource. + + :ivar l2_networks: The list of Layer 2 Networks and related configuration for attachment. + :vartype l2_networks: list["L2NetworkAttachmentConfiguration"] + :ivar l3_networks: The list of Layer 3 Networks and related configuration for attachment. + :vartype l3_networks: list["L3NetworkAttachmentConfiguration"] + :ivar trunked_networks: The list of Trunked Networks and related configuration for attachment. + :vartype trunked_networks: list["TrunkedNetworkAttachmentConfiguration"] + """ + + l2Networks: list["L2NetworkAttachmentConfiguration"] + """The list of Layer 2 Networks and related configuration for attachment.""" + l3Networks: list["L3NetworkAttachmentConfiguration"] + """The list of Layer 3 Networks and related configuration for attachment.""" + trunkedNetworks: list["TrunkedNetworkAttachmentConfiguration"] + """The list of Trunked Networks and related configuration for attachment.""" + + +class AvailableUpgrade(TypedDict, total=False): + """AvailableUpgrade represents an upgrade available for a Kubernetes cluster. + + :ivar availability_lifecycle: The version lifecycle indicator. Known values are: "Preview" and + "GenerallyAvailable". + :vartype availability_lifecycle: Union[str, "AvailabilityLifecycle"] + :ivar version: The version available for upgrading. + :vartype version: str + """ + + availabilityLifecycle: Union[str, "AvailabilityLifecycle"] + """The version lifecycle indicator. Known values are: \"Preview\" and \"GenerallyAvailable\".""" + version: str + """The version available for upgrading.""" + + +class BareMetalMachine(TrackedResource): + """BareMetalMachine represents the physical machine in the rack. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /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: "SystemData" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: The list of the resource properties. Required. + :vartype properties: "BareMetalMachineProperties" + :ivar etag: "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 etag: str + :ivar extended_location: The extended location of the resource. This property is required when + creating the resource. Required. + :vartype extended_location: "ExtendedLocation" + """ + + properties: Required["BareMetalMachineProperties"] + """The list of the resource properties. Required.""" + etag: str + """\"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.\").""" + extendedLocation: Required["ExtendedLocation"] + """The extended location of the resource. This property is required when creating the resource. + Required.""" + + +class BareMetalMachineCommandSpecification(TypedDict, total=False): + """BareMetalMachineCommandSpecification represents the command and optional arguments to exercise + against the bare metal machine. + + :ivar arguments: The list of string arguments that will be passed to the script in order as + separate arguments. + :vartype arguments: list[str] + :ivar command: The command to execute against the bare metal machine. Required. + :vartype command: str + """ + + arguments: list[str] + """The list of string arguments that will be passed to the script in order as separate arguments.""" + command: Required[str] + """The command to execute against the bare metal machine. Required.""" + + +class BareMetalMachineConfigurationData(TypedDict, total=False): + """BareMetalMachineConfigurationData represents configuration for the bare metal machine. + + :ivar bmc_connection_string: The connection string for the baseboard management controller + including IP address and protocol. + :vartype bmc_connection_string: str + :ivar bmc_credentials: The credentials of the baseboard management controller on this bare + metal machine. The password field is expected to be an Azure Key Vault key URL. Until the + cluster is converted to utilize managed identity by setting the secret archive settings, the + actual password value should be provided instead. Required. + :vartype bmc_credentials: "AdministrativeCredentials" + :ivar bmc_mac_address: The MAC address of the BMC for this machine. Required. + :vartype bmc_mac_address: str + :ivar boot_mac_address: The MAC address associated with the PXE NIC card. Required. + :vartype boot_mac_address: str + :ivar machine_details: The free-form additional information about the machine, e.g. an asset + tag. + :vartype machine_details: str + :ivar machine_name: The user-provided name for the bare metal machine created from this + specification. If not provided, the machine name will be generated programmatically. + :vartype machine_name: str + :ivar rack_slot: The slot the physical machine is in the rack based on the BOM configuration. + Required. + :vartype rack_slot: int + :ivar serial_number: The serial number of the machine. Hardware suppliers may use an alternate + value. For example, service tag. Required. + :vartype serial_number: str + """ + + bmcConnectionString: str + """The connection string for the baseboard management controller including IP address and + protocol.""" + bmcCredentials: Required["AdministrativeCredentials"] + """The credentials of the baseboard management controller on this bare metal machine. The password + field is expected to be an Azure Key Vault key URL. Until the cluster is converted to utilize + managed identity by setting the secret archive settings, the actual password value should be + provided instead. Required.""" + bmcMacAddress: Required[str] + """The MAC address of the BMC for this machine. Required.""" + bootMacAddress: Required[str] + """The MAC address associated with the PXE NIC card. Required.""" + machineDetails: str + """The free-form additional information about the machine, e.g. an asset tag.""" + machineName: str + """The user-provided name for the bare metal machine created from this specification. If not + provided, the machine name will be generated programmatically.""" + rackSlot: Required[int] + """The slot the physical machine is in the rack based on the BOM configuration. Required.""" + serialNumber: Required[str] + """The serial number of the machine. Hardware suppliers may use an alternate value. For example, + service tag. Required.""" + + +class BareMetalMachineCordonParameters(TypedDict, total=False): + """BareMetalMachineCordonParameters represents the body of the request to evacuate workloads from + node on a bare metal machine. + + :ivar evacuate: The indicator of whether to evacuate the node workload when the bare metal + machine is cordoned. Known values are: "True" and "False". + :vartype evacuate: Union[str, "BareMetalMachineEvacuate"] + """ + + evacuate: Union[str, "BareMetalMachineEvacuate"] + """The indicator of whether to evacuate the node workload when the bare metal machine is cordoned. + Known values are: \"True\" and \"False\".""" + + +class BareMetalMachineKeySet(TrackedResource): + """BareMetalMachineKeySet represents the bare metal machine key set. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /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: "SystemData" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: The list of the resource properties. Required. + :vartype properties: "BareMetalMachineKeySetProperties" + :ivar etag: "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 etag: str + :ivar extended_location: The extended location of the resource. This property is required when + creating the resource. Required. + :vartype extended_location: "ExtendedLocation" + """ + + properties: Required["BareMetalMachineKeySetProperties"] + """The list of the resource properties. Required.""" + etag: str + """\"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.\").""" + extendedLocation: Required["ExtendedLocation"] + """The extended location of the resource. This property is required when creating the resource. + Required.""" + + +class BareMetalMachineKeySetPatchParameters(TypedDict, total=False): + """BareMetalMachineKeySetPatchParameters represents the body of the request to patch the bare + metal machine key set. + + :ivar properties: The list of the resource properties. + :vartype properties: "BareMetalMachineKeySetPatchProperties" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + """ + + properties: "BareMetalMachineKeySetPatchProperties" + """The list of the resource properties.""" + tags: dict[str, str] + """Resource tags.""" + + +class BareMetalMachineKeySetPatchProperties(TypedDict, total=False): + """BareMetalMachineKeySetPatchProperties represents the properties of bare metal machine key set + that can be patched. + + :ivar expiration: The date and time after which the users in this key set will be removed from + the bare metal machines. + :vartype expiration: str + :ivar jump_hosts_allowed: The list of IP addresses of jump hosts with management network access + from which a login will be allowed for the users. + :vartype jump_hosts_allowed: list[str] + :ivar user_list: The unique list of permitted users. + :vartype user_list: list["KeySetUser"] + """ + + expiration: str + """The date and time after which the users in this key set will be removed from the bare metal + machines.""" + jumpHostsAllowed: list[str] + """The list of IP addresses of jump hosts with management network access from which a login will + be allowed for the users.""" + userList: list["KeySetUser"] + """The unique list of permitted users.""" + + +class BareMetalMachineKeySetProperties(TypedDict, total=False): + """BareMetalMachineKeySetProperties represents the properties of bare metal machine key set. + + :ivar azure_group_id: The object ID of Azure Active Directory group that all users in the list + must be in for access to be granted. Users that are not in the group will not have access. + Required. + :vartype azure_group_id: str + :ivar expiration: The date and time after which the users in this key set will be removed from + the bare metal machines. Required. + :vartype expiration: str + :ivar jump_hosts_allowed: The list of IP addresses of jump hosts with management network access + from which a login will be allowed for the users. Required. + :vartype jump_hosts_allowed: list[str] + :ivar os_group_name: The name of the group that users will be assigned to on the operating + system of the machines. + :vartype os_group_name: str + :ivar privilege_level: The access level allowed for the users in this key set. Required. Known + values are: "Standard", "Superuser", and "Other". + :vartype privilege_level: Union[str, "BareMetalMachineKeySetPrivilegeLevel"] + :ivar privilege_level_name: The name of the access level to apply when the privilege level is + set to Other. + :vartype privilege_level_name: str + :ivar user_list: The unique list of permitted users. Required. + :vartype user_list: list["KeySetUser"] + :ivar detailed_status: The more detailed status of the key set. Known values are: "AllActive", + "SomeInvalid", "AllInvalid", and "Validating". + :vartype detailed_status: Union[str, "BareMetalMachineKeySetDetailedStatus"] + :ivar detailed_status_message: The descriptive message about the current detailed status. + :vartype detailed_status_message: str + :ivar last_validation: The last time this key set was validated. + :vartype last_validation: str + :ivar user_list_status: The status evaluation of each user. + :vartype user_list_status: list["KeySetUserStatus"] + :ivar provisioning_state: The provisioning state of the bare metal machine key set. Known + values are: "Succeeded", "Failed", "Canceled", "Accepted", and "Provisioning". + :vartype provisioning_state: Union[str, "BareMetalMachineKeySetProvisioningState"] + """ + + azureGroupId: Required[str] + """The object ID of Azure Active Directory group that all users in the list must be in for access + to be granted. Users that are not in the group will not have access. Required.""" + expiration: Required[str] + """The date and time after which the users in this key set will be removed from the bare metal + machines. Required.""" + jumpHostsAllowed: Required[list[str]] + """The list of IP addresses of jump hosts with management network access from which a login will + be allowed for the users. Required.""" + osGroupName: str + """The name of the group that users will be assigned to on the operating system of the machines.""" + privilegeLevel: Required[Union[str, "BareMetalMachineKeySetPrivilegeLevel"]] + """The access level allowed for the users in this key set. Required. Known values are: + \"Standard\", \"Superuser\", and \"Other\".""" + privilegeLevelName: str + """The name of the access level to apply when the privilege level is set to Other.""" + userList: Required[list["KeySetUser"]] + """The unique list of permitted users. Required.""" + detailedStatus: Union[str, "BareMetalMachineKeySetDetailedStatus"] + """The more detailed status of the key set. Known values are: \"AllActive\", \"SomeInvalid\", + \"AllInvalid\", and \"Validating\".""" + detailedStatusMessage: str + """The descriptive message about the current detailed status.""" + lastValidation: str + """The last time this key set was validated.""" + userListStatus: list["KeySetUserStatus"] + """The status evaluation of each user.""" + provisioningState: Union[str, "BareMetalMachineKeySetProvisioningState"] + """The provisioning state of the bare metal machine key set. Known values are: \"Succeeded\", + \"Failed\", \"Canceled\", \"Accepted\", and \"Provisioning\".""" + + +class BareMetalMachinePatchParameters(TypedDict, total=False): + """BareMetalMachinePatchParameters represents the body of the request to patch bare metal machine + properties. + + :ivar properties: The list of the resource properties. + :vartype properties: "BareMetalMachinePatchProperties" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + """ + + properties: "BareMetalMachinePatchProperties" + """The list of the resource properties.""" + tags: dict[str, str] + """Resource tags.""" + + +class BareMetalMachinePatchProperties(TypedDict, total=False): + """BareMetalMachinePatchProperties represents the properties of the bare metal machine that can be + patched. + + :ivar machine_details: The details provided by the customer during the creation of rack + manifests that allows for custom data to be associated with this machine. + :vartype machine_details: str + """ + + machineDetails: str + """The details provided by the customer during the creation of rack manifests that allows for + custom data to be associated with this machine.""" + + +class BareMetalMachinePowerOffParameters(TypedDict, total=False): + """BareMetalMachinePowerOffParameters represents the body of the request to power off bare metal + machine. + + :ivar skip_shutdown: The indicator of whether to skip the graceful OS shutdown and power off + the bare metal machine immediately. Known values are: "True" and "False". + :vartype skip_shutdown: Union[str, "BareMetalMachineSkipShutdown"] + """ + + skipShutdown: Union[str, "BareMetalMachineSkipShutdown"] + """The indicator of whether to skip the graceful OS shutdown and power off the bare metal machine + immediately. Known values are: \"True\" and \"False\".""" + + +class BareMetalMachineProperties(TypedDict, total=False): + """BareMetalMachineProperties represents the properties of a bare metal machine. + + :ivar bmc_connection_string: The connection string for the baseboard management controller + including IP address and protocol. Required. + :vartype bmc_connection_string: str + :ivar bmc_credentials: The credentials of the baseboard management controller on this bare + metal machine. Required. + :vartype bmc_credentials: "AdministrativeCredentials" + :ivar bmc_mac_address: The MAC address of the BMC device. Required. + :vartype bmc_mac_address: str + :ivar boot_mac_address: The MAC address of a NIC connected to the PXE network. Required. + :vartype boot_mac_address: str + :ivar machine_details: The custom details provided by the customer. Required. + :vartype machine_details: str + :ivar machine_name: The OS-level hostname assigned to this machine. Required. + :vartype machine_name: str + :ivar machine_sku_id: The unique internal identifier of the bare metal machine SKU. Required. + :vartype machine_sku_id: str + :ivar rack_id: The resource ID of the rack where this bare metal machine resides. Required. + :vartype rack_id: str + :ivar rack_slot: The rack slot in which this bare metal machine is located, ordered from the + bottom up i.e. the lowest slot is 1. Required. + :vartype rack_slot: int + :ivar serial_number: The serial number of the bare metal machine. Required. + :vartype serial_number: str + :ivar action_states: The current state of any in progress or completed actions. The most recent + known instance of each action type is shown. + :vartype action_states: list["ActionState"] + :ivar associated_resource_ids: The list of resource IDs for the other Microsoft.NetworkCloud + resources that have attached this network. + :vartype associated_resource_ids: list[str] + :ivar ca_certificate: The CA certificate information issued by the platform for connecting to + TLS interfaces for the bare metal machine. Callers add this certificate to the trusted CA store + on the Kubernetes control plane nodes to allow secure communication with the bare metal + machine. + :vartype ca_certificate: "CertificateInfo" + :ivar cluster_id: The resource ID of the cluster this bare metal machine is associated with. + :vartype cluster_id: str + :ivar cordon_status: The cordon status of the bare metal machine. Known values are: "Cordoned" + and "Uncordoned". + :vartype cordon_status: Union[str, "BareMetalMachineCordonStatus"] + :ivar detailed_status: The more detailed status of the bare metal machine. Known values are: + "Preparing", "Error", "Available", "Provisioning", "Provisioned", and "Deprovisioning". + :vartype detailed_status: Union[str, "BareMetalMachineDetailedStatus"] + :ivar detailed_status_message: The descriptive message about the current detailed status. + :vartype detailed_status_message: str + :ivar hardware_inventory: The hardware inventory, including information acquired from the + model/sku information and from the ironic inspector. + :vartype hardware_inventory: "HardwareInventory" + :ivar hardware_validation_status: The details of the latest hardware validation performed for + this bare metal machine. + :vartype hardware_validation_status: "HardwareValidationStatus" + :ivar hybrid_aks_clusters_associated_ids: Field Deprecated. These fields will be empty/omitted. + The list of the resource IDs for the HybridAksClusters that have nodes hosted on this bare + metal machine. + :vartype hybrid_aks_clusters_associated_ids: list[str] + :ivar kubernetes_node_name: The name of this machine represented by the host object in the + Cluster's Kubernetes control plane. + :vartype kubernetes_node_name: str + :ivar kubernetes_version: The version of Kubernetes running on this machine. + :vartype kubernetes_version: str + :ivar machine_cluster_version: The cluster version that has been applied to this machine during + deployment or a version update. + :vartype machine_cluster_version: str + :ivar machine_roles: The list of roles that are assigned to the cluster node running on this + machine. + :vartype machine_roles: list[str] + :ivar oam_ipv4_address: The IPv4 address that is assigned to the bare metal machine during the + cluster deployment. + :vartype oam_ipv4_address: str + :ivar oam_ipv6_address: The IPv6 address that is assigned to the bare metal machine during the + cluster deployment. + :vartype oam_ipv6_address: str + :ivar os_image: The image that is currently provisioned to the OS disk. + :vartype os_image: str + :ivar power_state: The power state derived from the baseboard management controller. Known + values are: "On" and "Off". + :vartype power_state: Union[str, "BareMetalMachinePowerState"] + :ivar ready_state: The indicator of whether the bare metal machine is ready to receive + workloads. Known values are: "True" and "False". + :vartype ready_state: Union[str, "BareMetalMachineReadyState"] + :ivar runtime_protection_status: The runtime protection status of the bare metal machine. + :vartype runtime_protection_status: "RuntimeProtectionStatus" + :ivar secret_rotation_status: The list of statuses that represent secret rotation activity. + :vartype secret_rotation_status: list["SecretRotationStatus"] + :ivar service_tag: The discovered value of the machine's service tag. + :vartype service_tag: str + :ivar virtual_machines_associated_ids: Field Deprecated. These fields will be empty/omitted. + The list of the resource IDs for the VirtualMachines that are hosted on this bare metal + machine. + :vartype virtual_machines_associated_ids: list[str] + :ivar provisioning_state: The provisioning state of the bare metal machine. Known values are: + "Succeeded", "Failed", "Canceled", "Provisioning", and "Accepted". + :vartype provisioning_state: Union[str, "BareMetalMachineProvisioningState"] + """ + + bmcConnectionString: Required[str] + """The connection string for the baseboard management controller including IP address and + protocol. Required.""" + bmcCredentials: Required["AdministrativeCredentials"] + """The credentials of the baseboard management controller on this bare metal machine. Required.""" + bmcMacAddress: Required[str] + """The MAC address of the BMC device. Required.""" + bootMacAddress: Required[str] + """The MAC address of a NIC connected to the PXE network. Required.""" + machineDetails: Required[str] + """The custom details provided by the customer. Required.""" + machineName: Required[str] + """The OS-level hostname assigned to this machine. Required.""" + machineSkuId: Required[str] + """The unique internal identifier of the bare metal machine SKU. Required.""" + rackId: Required[str] + """The resource ID of the rack where this bare metal machine resides. Required.""" + rackSlot: Required[int] + """The rack slot in which this bare metal machine is located, ordered from the bottom up i.e. the + lowest slot is 1. Required.""" + serialNumber: Required[str] + """The serial number of the bare metal machine. Required.""" + actionStates: list["ActionState"] + """The current state of any in progress or completed actions. The most recent known instance of + each action type is shown.""" + associatedResourceIds: list[str] + """The list of resource IDs for the other Microsoft.NetworkCloud resources that have attached this + network.""" + caCertificate: "CertificateInfo" + """The CA certificate information issued by the platform for connecting to TLS interfaces for the + bare metal machine. Callers add this certificate to the trusted CA store on the Kubernetes + control plane nodes to allow secure communication with the bare metal machine.""" + clusterId: str + """The resource ID of the cluster this bare metal machine is associated with.""" + cordonStatus: Union[str, "BareMetalMachineCordonStatus"] + """The cordon status of the bare metal machine. Known values are: \"Cordoned\" and \"Uncordoned\".""" + detailedStatus: Union[str, "BareMetalMachineDetailedStatus"] + """The more detailed status of the bare metal machine. Known values are: \"Preparing\", \"Error\", + \"Available\", \"Provisioning\", \"Provisioned\", and \"Deprovisioning\".""" + detailedStatusMessage: str + """The descriptive message about the current detailed status.""" + hardwareInventory: "HardwareInventory" + """The hardware inventory, including information acquired from the model/sku information and from + the ironic inspector.""" + hardwareValidationStatus: "HardwareValidationStatus" + """The details of the latest hardware validation performed for this bare metal machine.""" + hybridAksClustersAssociatedIds: list[str] + """Field Deprecated. These fields will be empty/omitted. The list of the resource IDs for the + HybridAksClusters that have nodes hosted on this bare metal machine.""" + kubernetesNodeName: str + """The name of this machine represented by the host object in the Cluster's Kubernetes control + plane.""" + kubernetesVersion: str + """The version of Kubernetes running on this machine.""" + machineClusterVersion: str + """The cluster version that has been applied to this machine during deployment or a version + update.""" + machineRoles: list[str] + """The list of roles that are assigned to the cluster node running on this machine.""" + oamIpv4Address: str + """The IPv4 address that is assigned to the bare metal machine during the cluster deployment.""" + oamIpv6Address: str + """The IPv6 address that is assigned to the bare metal machine during the cluster deployment.""" + osImage: str + """The image that is currently provisioned to the OS disk.""" + powerState: Union[str, "BareMetalMachinePowerState"] + """The power state derived from the baseboard management controller. Known values are: \"On\" and + \"Off\".""" + readyState: Union[str, "BareMetalMachineReadyState"] + """The indicator of whether the bare metal machine is ready to receive workloads. Known values + are: \"True\" and \"False\".""" + runtimeProtectionStatus: "RuntimeProtectionStatus" + """The runtime protection status of the bare metal machine.""" + secretRotationStatus: list["SecretRotationStatus"] + """The list of statuses that represent secret rotation activity.""" + serviceTag: str + """The discovered value of the machine's service tag.""" + virtualMachinesAssociatedIds: list[str] + """Field Deprecated. These fields will be empty/omitted. The list of the resource IDs for the + VirtualMachines that are hosted on this bare metal machine.""" + provisioningState: Union[str, "BareMetalMachineProvisioningState"] + """The provisioning state of the bare metal machine. Known values are: \"Succeeded\", \"Failed\", + \"Canceled\", \"Provisioning\", and \"Accepted\".""" + + +class BareMetalMachineReplaceParameters(TypedDict, total=False): + """BareMetalMachineReplaceParameters represents the body of the request to physically swap a bare + metal machine for another. + + :ivar bmc_credentials: The credentials of the baseboard management controller on this bare + metal machine. The password field is expected to be an Azure Key Vault key URL. Until the + cluster is converted to utilize managed identity by setting the secret archive settings, the + actual password value should be provided instead. + :vartype bmc_credentials: "AdministrativeCredentials" + :ivar bmc_mac_address: The MAC address of the BMC device. + :vartype bmc_mac_address: str + :ivar boot_mac_address: The MAC address of a NIC connected to the PXE network. + :vartype boot_mac_address: str + :ivar machine_name: The OS-level hostname assigned to this machine. + :vartype machine_name: str + :ivar safeguard_mode: The safeguard mode to use for the replace action, where None indicates to + bypass safeguards and All indicates to utilize all safeguards. Known values are: "All" and + "None". + :vartype safeguard_mode: Union[str, "BareMetalMachineReplaceSafeguardMode"] + :ivar serial_number: The serial number of the bare metal machine. + :vartype serial_number: str + :ivar storage_policy: The indicator of whether to bypass clearing storage while replacing a + bare metal machine. Known values are: "Preserve" and "DiscardAll". + :vartype storage_policy: Union[str, "BareMetalMachineReplaceStoragePolicy"] + """ + + bmcCredentials: "AdministrativeCredentials" + """The credentials of the baseboard management controller on this bare metal machine. The password + field is expected to be an Azure Key Vault key URL. Until the cluster is converted to utilize + managed identity by setting the secret archive settings, the actual password value should be + provided instead.""" + bmcMacAddress: str + """The MAC address of the BMC device.""" + bootMacAddress: str + """The MAC address of a NIC connected to the PXE network.""" + machineName: str + """The OS-level hostname assigned to this machine.""" + safeguardMode: Union[str, "BareMetalMachineReplaceSafeguardMode"] + """The safeguard mode to use for the replace action, where None indicates to bypass safeguards and + All indicates to utilize all safeguards. Known values are: \"All\" and \"None\".""" + serialNumber: str + """The serial number of the bare metal machine.""" + storagePolicy: Union[str, "BareMetalMachineReplaceStoragePolicy"] + """The indicator of whether to bypass clearing storage while replacing a bare metal machine. Known + values are: \"Preserve\" and \"DiscardAll\".""" + + +class BareMetalMachineRunCommandParameters(TypedDict, total=False): + """BareMetalMachineRunCommandParameters represents the body of the request to execute a script on + the bare metal machine. + + :ivar arguments: The list of string arguments that will be passed to the script in order as + separate arguments. + :vartype arguments: list[str] + :ivar limit_time_seconds: The maximum time the script is allowed to run. If the execution time + exceeds the maximum, the script will be stopped, any output produced until then will be + captured, and the exit code matching a timeout will be returned (252). Required. + :vartype limit_time_seconds: int + :ivar script: The base64 encoded script to execute on the bare metal machine. Required. + :vartype script: str + """ + + arguments: list[str] + """The list of string arguments that will be passed to the script in order as separate arguments.""" + limitTimeSeconds: Required[int] + """The maximum time the script is allowed to run. If the execution time exceeds the maximum, the + script will be stopped, any output produced until then will be captured, and the exit code + matching a timeout will be returned (252). Required.""" + script: Required[str] + """The base64 encoded script to execute on the bare metal machine. Required.""" + + +class BareMetalMachineRunDataExtractsParameters(TypedDict, total=False): # pylint: disable=name-too-long + """BareMetalMachineRunDataExtractsParameters represents the body of request containing list of + curated data extraction commands to run on the bare metal machine. + + :ivar commands: The list of curated data extraction commands to be executed directly against + the target machine. Required. + :vartype commands: list["BareMetalMachineCommandSpecification"] + :ivar limit_time_seconds: The maximum time the commands are allowed to run. If the execution + time exceeds the maximum, the script will be stopped, any output produced until then will be + captured, and the exit code matching a timeout will be returned (252). Required. + :vartype limit_time_seconds: int + """ + + commands: Required[list["BareMetalMachineCommandSpecification"]] + """The list of curated data extraction commands to be executed directly against the target + machine. Required.""" + limitTimeSeconds: Required[int] + """The maximum time the commands are allowed to run. If the execution time exceeds the maximum, + the script will be stopped, any output produced until then will be captured, and the exit code + matching a timeout will be returned (252). Required.""" + + +class BareMetalMachineRunReadCommandsParameters(TypedDict, total=False): # pylint: disable=name-too-long + """BareMetalMachineRunReadCommandsParameters represents the body of request containing list of + read-only commands to run on the bare metal machine. + + :ivar commands: The list of read-only commands to be executed directly against the target + machine. Required. + :vartype commands: list["BareMetalMachineCommandSpecification"] + :ivar limit_time_seconds: The maximum time the commands are allowed to run. If the execution + time exceeds the maximum, the script will be stopped, any output produced until then will be + captured, and the exit code matching a timeout will be returned (252). Required. + :vartype limit_time_seconds: int + """ + + commands: Required[list["BareMetalMachineCommandSpecification"]] + """The list of read-only commands to be executed directly against the target machine. Required.""" + limitTimeSeconds: Required[int] + """The maximum time the commands are allowed to run. If the execution time exceeds the maximum, + the script will be stopped, any output produced until then will be captured, and the exit code + matching a timeout will be returned (252). Required.""" + + +class BgpAdvertisement(TypedDict, total=False): + """BgpAdvertisement represents the association of IP address pools to the communities and peers. + + :ivar advertise_to_fabric: The indicator of if this advertisement is also made to the network + fabric associated with the Network Cloud Cluster. This field is ignored if fabricPeeringEnabled + is set to False. Known values are: "True" and "False". + :vartype advertise_to_fabric: Union[str, "AdvertiseToFabric"] + :ivar communities: The names of the BGP communities to be associated with the announcement, + utilizing a BGP community string in 1234:1234 format. + :vartype communities: list[str] + :ivar ip_address_pools: The names of the IP address pools associated with this announcement. + Required. + :vartype ip_address_pools: list[str] + :ivar peers: The names of the BGP peers to limit this advertisement to. If no values are + specified, all BGP peers will receive this advertisement. + :vartype peers: list[str] + """ + + advertiseToFabric: Union[str, "AdvertiseToFabric"] + """The indicator of if this advertisement is also made to the network fabric associated with the + Network Cloud Cluster. This field is ignored if fabricPeeringEnabled is set to False. Known + values are: \"True\" and \"False\".""" + communities: list[str] + """The names of the BGP communities to be associated with the announcement, utilizing a BGP + community string in 1234:1234 format.""" + ipAddressPools: Required[list[str]] + """The names of the IP address pools associated with this announcement. Required.""" + peers: list[str] + """The names of the BGP peers to limit this advertisement to. If no values are specified, all BGP + peers will receive this advertisement.""" + + +class BgpServiceLoadBalancerConfiguration(TypedDict, total=False): + """BgpServiceLoadBalancerConfiguration represents the configuration of a BGP service load + balancer. + + :ivar bgp_advertisements: The association of IP address pools to the communities and peers, + allowing for announcement of IPs. + :vartype bgp_advertisements: list["BgpAdvertisement"] + :ivar bgp_peers: The list of additional BgpPeer entities that the Kubernetes cluster will peer + with. All peering must be explicitly defined. + :vartype bgp_peers: list["ServiceLoadBalancerBgpPeer"] + :ivar fabric_peering_enabled: The indicator to specify if the load balancer peers with the + network fabric. Known values are: "True" and "False". + :vartype fabric_peering_enabled: Union[str, "FabricPeeringEnabled"] + :ivar ip_address_pools: The list of pools of IP addresses that can be allocated to load + balancer services. + :vartype ip_address_pools: list["IpAddressPool"] + """ + + bgpAdvertisements: list["BgpAdvertisement"] + """The association of IP address pools to the communities and peers, allowing for announcement of + IPs.""" + bgpPeers: list["ServiceLoadBalancerBgpPeer"] + """The list of additional BgpPeer entities that the Kubernetes cluster will peer with. All peering + must be explicitly defined.""" + fabricPeeringEnabled: Union[str, "FabricPeeringEnabled"] + """The indicator to specify if the load balancer peers with the network fabric. Known values are: + \"True\" and \"False\".""" + ipAddressPools: list["IpAddressPool"] + """The list of pools of IP addresses that can be allocated to load balancer services.""" + + +class BmcKeySet(TrackedResource): + """BmcKeySet represents the baseboard management controller key set. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /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: "SystemData" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: The list of the resource properties. Required. + :vartype properties: "BmcKeySetProperties" + :ivar etag: "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 etag: str + :ivar extended_location: The extended location of the resource. This property is required when + creating the resource. Required. + :vartype extended_location: "ExtendedLocation" + """ + + properties: Required["BmcKeySetProperties"] + """The list of the resource properties. Required.""" + etag: str + """\"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.\").""" + extendedLocation: Required["ExtendedLocation"] + """The extended location of the resource. This property is required when creating the resource. + Required.""" + + +class BmcKeySetPatchParameters(TypedDict, total=False): + """BmcKeySetPatchParameters represents the body of the request to patch the baseboard management + controller key set. + + :ivar properties: The list of the resource properties. + :vartype properties: "BmcKeySetPatchProperties" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + """ + + properties: "BmcKeySetPatchProperties" + """The list of the resource properties.""" + tags: dict[str, str] + """Resource tags.""" + + +class BmcKeySetPatchProperties(TypedDict, total=False): + """BmcKeySetPatchProperties represents the properties of baseboard management controller key set + that are patchable. + + :ivar expiration: The date and time after which the users in this key set will be removed from + the baseboard management controllers. + :vartype expiration: str + :ivar user_list: The unique list of permitted users. + :vartype user_list: list["KeySetUser"] + """ + + expiration: str + """The date and time after which the users in this key set will be removed from the baseboard + management controllers.""" + userList: list["KeySetUser"] + """The unique list of permitted users.""" + + +class BmcKeySetProperties(TypedDict, total=False): + """BmcKeySetProperties represents the properties of baseboard management controller key set. + + :ivar azure_group_id: The object ID of Azure Active Directory group that all users in the list + must be in for access to be granted. Users that are not in the group will not have access. + Required. + :vartype azure_group_id: str + :ivar expiration: The date and time after which the users in this key set will be removed from + the baseboard management controllers. Required. + :vartype expiration: str + :ivar privilege_level: The access level allowed for the users in this key set. Required. Known + values are: "ReadOnly" and "Administrator". + :vartype privilege_level: Union[str, "BmcKeySetPrivilegeLevel"] + :ivar user_list: The unique list of permitted users. Required. + :vartype user_list: list["KeySetUser"] + :ivar detailed_status: The more detailed status of the key set. Known values are: "AllActive", + "SomeInvalid", "AllInvalid", and "Validating". + :vartype detailed_status: Union[str, "BmcKeySetDetailedStatus"] + :ivar detailed_status_message: The descriptive message about the current detailed status. + :vartype detailed_status_message: str + :ivar last_validation: The last time this key set was validated. + :vartype last_validation: str + :ivar user_list_status: The status evaluation of each user. + :vartype user_list_status: list["KeySetUserStatus"] + :ivar provisioning_state: The provisioning state of the baseboard management controller key + set. Known values are: "Succeeded", "Failed", "Canceled", "Accepted", and "Provisioning". + :vartype provisioning_state: Union[str, "BmcKeySetProvisioningState"] + """ + + azureGroupId: Required[str] + """The object ID of Azure Active Directory group that all users in the list must be in for access + to be granted. Users that are not in the group will not have access. Required.""" + expiration: Required[str] + """The date and time after which the users in this key set will be removed from the baseboard + management controllers. Required.""" + privilegeLevel: Required[Union[str, "BmcKeySetPrivilegeLevel"]] + """The access level allowed for the users in this key set. Required. Known values are: + \"ReadOnly\" and \"Administrator\".""" + userList: Required[list["KeySetUser"]] + """The unique list of permitted users. Required.""" + detailedStatus: Union[str, "BmcKeySetDetailedStatus"] + """The more detailed status of the key set. Known values are: \"AllActive\", \"SomeInvalid\", + \"AllInvalid\", and \"Validating\".""" + detailedStatusMessage: str + """The descriptive message about the current detailed status.""" + lastValidation: str + """The last time this key set was validated.""" + userListStatus: list["KeySetUserStatus"] + """The status evaluation of each user.""" + provisioningState: Union[str, "BmcKeySetProvisioningState"] + """The provisioning state of the baseboard management controller key set. Known values are: + \"Succeeded\", \"Failed\", \"Canceled\", \"Accepted\", and \"Provisioning\".""" + + +class CertificateInfo(TypedDict, total=False): + """CertificateInfo represents the non-private information of an X.509 Certificate. + + :ivar hash: The hash value of the X.509 Certificate. + :vartype hash: str + :ivar value: The textual value of the X.509 Certificate. + :vartype value: str + """ + + hash: str + """The hash value of the X.509 Certificate.""" + value: str + """The textual value of the X.509 Certificate.""" + + +class CloudServicesNetwork(TrackedResource): + """Upon creation, the additional services that are provided by the platform will be allocated and + represented in the status of this resource. All resources associated with this cloud services + network will be part of the same layer 2 (L2) isolation domain. At least one service network + must be created but may be reused across many virtual machines and/or Hybrid AKS clusters. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /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: "SystemData" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: The list of the resource properties. + :vartype properties: "CloudServicesNetworkProperties" + :ivar etag: "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 etag: str + :ivar extended_location: The extended location of the resource. This property is required when + creating the resource. Required. + :vartype extended_location: "ExtendedLocation" + """ + + properties: "CloudServicesNetworkProperties" + """The list of the resource properties.""" + etag: str + """\"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.\").""" + extendedLocation: Required["ExtendedLocation"] + """The extended location of the resource. This property is required when creating the resource. + Required.""" + + +class CloudServicesNetworkPatchParameters(TypedDict, total=False): + """CloudServicesNetworkPatchParameters represents the body of the request to patch the cloud + services network. + + :ivar properties: The list of the resource properties. + :vartype properties: "CloudServicesNetworkPatchProperties" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + """ + + properties: "CloudServicesNetworkPatchProperties" + """The list of the resource properties.""" + tags: dict[str, str] + """Resource tags.""" + + +class CloudServicesNetworkPatchProperties(TypedDict, total=False): + """CloudServicesNetworkPatchProperties represents the properties of the cloud services network + that can be updated using a patch request. + + :ivar additional_egress_endpoints: The list of egress endpoints. This allows for connection + from a Hybrid AKS cluster to the specified endpoint. + :vartype additional_egress_endpoints: list["EgressEndpoint"] + :ivar enable_default_egress_endpoints: The indicator of whether the platform default endpoints + are allowed for the egress traffic. Known values are: "True" and "False". + :vartype enable_default_egress_endpoints: Union[str, + "CloudServicesNetworkEnableDefaultEgressEndpoints"] + :ivar storage_options: The storage options for the cloud services network. + :vartype storage_options: "CloudServicesNetworkStorageOptionsPatch" + """ + + additionalEgressEndpoints: list["EgressEndpoint"] + """The list of egress endpoints. This allows for connection from a Hybrid AKS cluster to the + specified endpoint.""" + enableDefaultEgressEndpoints: Union[str, "CloudServicesNetworkEnableDefaultEgressEndpoints"] + """The indicator of whether the platform default endpoints are allowed for the egress traffic. + Known values are: \"True\" and \"False\".""" + storageOptions: "CloudServicesNetworkStorageOptionsPatch" + """The storage options for the cloud services network.""" + + +class CloudServicesNetworkProperties(TypedDict, total=False): + """CloudServicesNetworkProperties represents properties of the cloud services network. + + :ivar additional_egress_endpoints: The list of egress endpoints. This allows for connection + from a Hybrid AKS cluster to the specified endpoint. + :vartype additional_egress_endpoints: list["EgressEndpoint"] + :ivar enable_default_egress_endpoints: The indicator of whether the platform default endpoints + are allowed for the egress traffic. Known values are: "True" and "False". + :vartype enable_default_egress_endpoints: Union[str, + "CloudServicesNetworkEnableDefaultEgressEndpoints"] + :ivar storage_options: The storage options for the cloud services network. + :vartype storage_options: "CloudServicesNetworkStorageOptions" + :ivar associated_resource_ids: The list of resource IDs for the other Microsoft.NetworkCloud + resources that have attached this network. + :vartype associated_resource_ids: list[str] + :ivar cluster_id: The resource ID of the Network Cloud cluster this cloud services network is + associated with. + :vartype cluster_id: str + :ivar detailed_status: The more detailed status of the cloud services network. Known values + are: "Error", "Available", and "Provisioning". + :vartype detailed_status: Union[str, "CloudServicesNetworkDetailedStatus"] + :ivar detailed_status_message: The descriptive message about the current detailed status. + :vartype detailed_status_message: str + :ivar enabled_egress_endpoints: The full list of additional and default egress endpoints that + are currently enabled. + :vartype enabled_egress_endpoints: list["EgressEndpoint"] + :ivar hybrid_aks_clusters_associated_ids: Field Deprecated. These fields will be empty/omitted. + The list of Hybrid AKS cluster resource IDs that are associated with this cloud services + network. + :vartype hybrid_aks_clusters_associated_ids: list[str] + :ivar interface_name: The name of the interface that will be present in the virtual machine to + represent this network. + :vartype interface_name: str + :ivar storage_status: The storage status for the cloud services network. + :vartype storage_status: "CloudServicesNetworkStorageStatus" + :ivar virtual_machines_associated_ids: Field Deprecated. These fields will be empty/omitted. + The list of virtual machine resource IDs, excluding any Hybrid AKS virtual machines, that are + currently using this cloud services network. + :vartype virtual_machines_associated_ids: list[str] + :ivar provisioning_state: The provisioning state of the cloud services network. Known values + are: "Succeeded", "Failed", "Canceled", "Provisioning", and "Accepted". + :vartype provisioning_state: Union[str, "CloudServicesNetworkProvisioningState"] + """ + + additionalEgressEndpoints: list["EgressEndpoint"] + """The list of egress endpoints. This allows for connection from a Hybrid AKS cluster to the + specified endpoint.""" + enableDefaultEgressEndpoints: Union[str, "CloudServicesNetworkEnableDefaultEgressEndpoints"] + """The indicator of whether the platform default endpoints are allowed for the egress traffic. + Known values are: \"True\" and \"False\".""" + storageOptions: "CloudServicesNetworkStorageOptions" + """The storage options for the cloud services network.""" + associatedResourceIds: list[str] + """The list of resource IDs for the other Microsoft.NetworkCloud resources that have attached this + network.""" + clusterId: str + """The resource ID of the Network Cloud cluster this cloud services network is associated with.""" + detailedStatus: Union[str, "CloudServicesNetworkDetailedStatus"] + """The more detailed status of the cloud services network. Known values are: \"Error\", + \"Available\", and \"Provisioning\".""" + detailedStatusMessage: str + """The descriptive message about the current detailed status.""" + enabledEgressEndpoints: list["EgressEndpoint"] + """The full list of additional and default egress endpoints that are currently enabled.""" + hybridAksClustersAssociatedIds: list[str] + """Field Deprecated. These fields will be empty/omitted. The list of Hybrid AKS cluster resource + IDs that are associated with this cloud services network.""" + interfaceName: str + """The name of the interface that will be present in the virtual machine to represent this + network.""" + storageStatus: "CloudServicesNetworkStorageStatus" + """The storage status for the cloud services network.""" + virtualMachinesAssociatedIds: list[str] + """Field Deprecated. These fields will be empty/omitted. The list of virtual machine resource IDs, + excluding any Hybrid AKS virtual machines, that are currently using this cloud services + network.""" + provisioningState: Union[str, "CloudServicesNetworkProvisioningState"] + """The provisioning state of the cloud services network. Known values are: \"Succeeded\", + \"Failed\", \"Canceled\", \"Provisioning\", and \"Accepted\".""" + + +class CloudServicesNetworkStorageOptions(TypedDict, total=False): + """CloudServicesNetworkStorageOptions represents the storage options for the cloud services + network. + + :ivar mode: The indicator to enable shared storage on the cloud services network. If not + specified, the allocation will align with the standard storage enablement. Known values are: + "None" and "Standard". + :vartype mode: Union[str, "CloudServicesNetworkStorageMode"] + :ivar size_mi_b: The requested storage allocation for the volume in Mebibytes. + :vartype size_mi_b: int + :ivar storage_appliance_id: The resource ID of the storage appliance that hosts the storage. + :vartype storage_appliance_id: str + """ + + mode: Union[str, "CloudServicesNetworkStorageMode"] + """The indicator to enable shared storage on the cloud services network. If not specified, the + allocation will align with the standard storage enablement. Known values are: \"None\" and + \"Standard\".""" + sizeMiB: int + """The requested storage allocation for the volume in Mebibytes.""" + storageApplianceId: str + """The resource ID of the storage appliance that hosts the storage.""" + + +class CloudServicesNetworkStorageOptionsPatch(TypedDict, total=False): + """CloudServicesNetworkStorageOptionsPatch represents the patchable storage options for the cloud + services network. + + :ivar mode: The indicator to enable shared storage on the cloud services network. Known values + are: "None" and "Standard". + :vartype mode: Union[str, "CloudServicesNetworkStorageMode"] + :ivar size_mi_b: The requested storage allocation for the volume in Mebibytes. + :vartype size_mi_b: int + :ivar storage_appliance_id: The resource ID of the storage appliance that hosts the storage. + :vartype storage_appliance_id: str + """ + + mode: Union[str, "CloudServicesNetworkStorageMode"] + """The indicator to enable shared storage on the cloud services network. Known values are: + \"None\" and \"Standard\".""" + sizeMiB: int + """The requested storage allocation for the volume in Mebibytes.""" + storageApplianceId: str + """The resource ID of the storage appliance that hosts the storage.""" + + +class CloudServicesNetworkStorageStatus(TypedDict, total=False): + """CloudServicesNetworkStorageStatus represents the storage status of the cloud services network. + + :ivar mode: The indicator of if shared storage is enabled on the cloud services network. Known + values are: "None" and "Standard". + :vartype mode: Union[str, "CloudServicesNetworkStorageMode"] + :ivar size_mi_b: The size in Mebibytes of the storage allocation. + :vartype size_mi_b: int + :ivar status: The status of the storage allocation for the cloud services network. Known values + are: "Available", "ExpandingVolume", and "ExpansionFailed". + :vartype status: Union[str, "CloudServicesNetworkStorageStatusStatus"] + :ivar status_message: The description for the status of the shared storage. + :vartype status_message: str + :ivar volume_id: The resource ID of the volume created to host the shared storage. + :vartype volume_id: str + """ + + mode: Union[str, "CloudServicesNetworkStorageMode"] + """The indicator of if shared storage is enabled on the cloud services network. Known values are: + \"None\" and \"Standard\".""" + sizeMiB: int + """The size in Mebibytes of the storage allocation.""" + status: Union[str, "CloudServicesNetworkStorageStatusStatus"] + """The status of the storage allocation for the cloud services network. Known values are: + \"Available\", \"ExpandingVolume\", and \"ExpansionFailed\".""" + statusMessage: str + """The description for the status of the shared storage.""" + volumeId: str + """The resource ID of the volume created to host the shared storage.""" + + +class Cluster(TrackedResource): + """Cluster represents the on-premises Network Cloud cluster. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /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: "SystemData" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: The list of the resource properties. Required. + :vartype properties: "ClusterProperties" + :ivar etag: "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 etag: str + :ivar extended_location: The extended location of the resource. This property is required when + creating the resource. Required. + :vartype extended_location: "ExtendedLocation" + :ivar identity: The managed service identities assigned to this resource. + :vartype identity: "ManagedServiceIdentity" + """ + + properties: Required["ClusterProperties"] + """The list of the resource properties. Required.""" + etag: str + """\"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.\").""" + extendedLocation: Required["ExtendedLocation"] + """The extended location of the resource. This property is required when creating the resource. + Required.""" + identity: "ManagedServiceIdentity" + """The managed service identities assigned to this resource.""" + + +class ClusterAvailableUpgradeVersion(TypedDict, total=False): + """ClusterAvailableUpgradeVersion represents the various cluster upgrade parameters. + + :ivar control_impact: The indicator of whether the control plane will be impacted during the + upgrade. Known values are: "True" and "False". + :vartype control_impact: Union[str, "ControlImpact"] + :ivar expected_duration: The expected duration needed for this upgrade. + :vartype expected_duration: str + :ivar impact_description: The impact description including the specific details and release + notes. + :vartype impact_description: str + :ivar support_expiry_date: The last date the version of the platform is supported. + :vartype support_expiry_date: str + :ivar target_cluster_version: The target version this cluster will be upgraded to. + :vartype target_cluster_version: str + :ivar workload_impact: The indicator of whether the workload will be impacted during the + upgrade. Known values are: "True" and "False". + :vartype workload_impact: Union[str, "WorkloadImpact"] + """ + + controlImpact: Union[str, "ControlImpact"] + """The indicator of whether the control plane will be impacted during the upgrade. Known values + are: \"True\" and \"False\".""" + expectedDuration: str + """The expected duration needed for this upgrade.""" + impactDescription: str + """The impact description including the specific details and release notes.""" + supportExpiryDate: str + """The last date the version of the platform is supported.""" + targetClusterVersion: str + """The target version this cluster will be upgraded to.""" + workloadImpact: Union[str, "WorkloadImpact"] + """The indicator of whether the workload will be impacted during the upgrade. Known values are: + \"True\" and \"False\".""" + + +class ClusterAvailableVersion(TypedDict, total=False): + """ClusterAvailableVersion represents the cluster version that the cluster manager can be asked to + create and manage. + + :ivar support_expiry_date: The last date the version of the platform is supported. + :vartype support_expiry_date: str + :ivar target_cluster_version: The version of the cluster to be deployed. + :vartype target_cluster_version: str + """ + + supportExpiryDate: str + """The last date the version of the platform is supported.""" + targetClusterVersion: str + """The version of the cluster to be deployed.""" + + +class ClusterCapacity(TypedDict, total=False): + """ClusterCapacity represents various details regarding compute capacity. + + :ivar available_appliance_storage_gb: The remaining appliance-based storage in GB available for + workload use. Measured in gibibytes. + :vartype available_appliance_storage_gb: int + :ivar available_core_count: The remaining number of cores that are available in this cluster + for workload use. + :vartype available_core_count: int + :ivar available_host_storage_gb: The remaining machine or host-based storage in GB available + for workload use. Measured in gibibytes. + :vartype available_host_storage_gb: int + :ivar available_memory_gb: The remaining memory in GB that are available in this cluster for + workload use. Measured in gibibytes. + :vartype available_memory_gb: int + :ivar total_appliance_storage_gb: The total appliance-based storage in GB supported by this + cluster for workload use. Measured in gibibytes. + :vartype total_appliance_storage_gb: int + :ivar total_core_count: The total number of cores that are supported by this cluster for + workload use. + :vartype total_core_count: int + :ivar total_host_storage_gb: The total machine or host-based storage in GB supported by this + cluster for workload use. Measured in gibibytes. + :vartype total_host_storage_gb: int + :ivar total_memory_gb: The total memory supported by this cluster for workload use. Measured in + gibibytes. + :vartype total_memory_gb: int + """ + + availableApplianceStorageGB: int + """The remaining appliance-based storage in GB available for workload use. Measured in gibibytes.""" + availableCoreCount: int + """The remaining number of cores that are available in this cluster for workload use.""" + availableHostStorageGB: int + """The remaining machine or host-based storage in GB available for workload use. Measured in + gibibytes.""" + availableMemoryGB: int + """The remaining memory in GB that are available in this cluster for workload use. Measured in + gibibytes.""" + totalApplianceStorageGB: int + """The total appliance-based storage in GB supported by this cluster for workload use. Measured in + gibibytes.""" + totalCoreCount: int + """The total number of cores that are supported by this cluster for workload use.""" + totalHostStorageGB: int + """The total machine or host-based storage in GB supported by this cluster for workload use. + Measured in gibibytes.""" + totalMemoryGB: int + """The total memory supported by this cluster for workload use. Measured in gibibytes.""" + + +class ClusterContinueUpdateVersionParameters(TypedDict, total=False): + """ClusterContinueUpdateVersionParameters represents the body of the request to continue the + update of a cluster version. + + :ivar machine_group_targeting_mode: The mode by which the cluster will target the next grouping + of servers to continue the update. "AlphaByRack" + :vartype machine_group_targeting_mode: Union[str, + "ClusterContinueUpdateVersionMachineGroupTargetingMode"] + """ + + machineGroupTargetingMode: Union[str, "ClusterContinueUpdateVersionMachineGroupTargetingMode"] + """The mode by which the cluster will target the next grouping of servers to continue the update. + \"AlphaByRack\"""" + + +class ClusterDeployParameters(TypedDict, total=False): + """ClusterDeployParameters represents the body of the request to deploy cluster. + + :ivar skip_validations_for_machines: The names of bare metal machines in the cluster that + should be skipped during environment validation. + :vartype skip_validations_for_machines: list[str] + """ + + skipValidationsForMachines: list[str] + """The names of bare metal machines in the cluster that should be skipped during environment + validation.""" + + +class ClusterManager(TrackedResource): + """ClusterManager represents a control-plane to manage one or more on-premises clusters. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /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: "SystemData" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: The list of the resource properties. Required. + :vartype properties: "ClusterManagerProperties" + :ivar etag: "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 etag: str + :ivar identity: The managed service identities assigned to this resource. + :vartype identity: "ManagedServiceIdentity" + """ + + properties: Required["ClusterManagerProperties"] + """The list of the resource properties. Required.""" + etag: str + """\"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.\").""" + identity: "ManagedServiceIdentity" + """The managed service identities assigned to this resource.""" + + +class ClusterManagerPatchParameters(TypedDict, total=False): + """ClusterManagerPatchParameters represents the body of the request to patch the cluster + properties. + + :ivar identity: The identity for the resource. + :vartype identity: "ManagedServiceIdentity" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + """ + + identity: "ManagedServiceIdentity" + """The identity for the resource.""" + tags: dict[str, str] + """Resource tags.""" + + +class ClusterManagerProperties(TypedDict, total=False): + """ClusterManagerProperties represents the properties of a cluster manager. + + :ivar analytics_workspace_id: The resource ID of the Log Analytics workspace that is used for + the logs collection. + :vartype analytics_workspace_id: str + :ivar availability_zones: The Azure availability zones within the region that will be used to + support the cluster manager resource. + :vartype availability_zones: list[str] + :ivar cluster_versions: The list of the cluster versions the manager supports. It is used as + input in clusterVersion property of a cluster resource. + :vartype cluster_versions: list["ClusterAvailableVersion"] + :ivar detailed_status: The detailed status that provides additional information about the + cluster manager. Known values are: "Error", "Available", "Provisioning", "ProvisioningFailed", + "Updating", and "UpdateFailed". + :vartype detailed_status: Union[str, "ClusterManagerDetailedStatus"] + :ivar detailed_status_message: The descriptive message about the current detailed status. + :vartype detailed_status_message: str + :ivar fabric_controller_id: The resource ID of the fabric controller that has one to one + mapping with the cluster manager. Required. + :vartype fabric_controller_id: str + :ivar managed_resource_group_configuration: The configuration of the managed resource group + associated with the resource. + :vartype managed_resource_group_configuration: "ManagedResourceGroupConfiguration" + :ivar manager_extended_location: The extended location (custom location) that represents the + cluster manager's control plane location. This extended location is used when creating cluster + and rack manifest resources. + :vartype manager_extended_location: "ExtendedLocation" + :ivar provisioning_state: The provisioning state of the cluster manager. Known values are: + "Succeeded", "Failed", "Canceled", "Provisioning", "Accepted", and "Updating". + :vartype provisioning_state: Union[str, "ClusterManagerProvisioningState"] + :ivar vm_size: The size of the Azure virtual machines to use for hosting the cluster manager + resource. + :vartype vm_size: str + """ + + analyticsWorkspaceId: str + """The resource ID of the Log Analytics workspace that is used for the logs collection.""" + availabilityZones: list[str] + """The Azure availability zones within the region that will be used to support the cluster manager + resource.""" + clusterVersions: list["ClusterAvailableVersion"] + """The list of the cluster versions the manager supports. It is used as input in clusterVersion + property of a cluster resource.""" + detailedStatus: Union[str, "ClusterManagerDetailedStatus"] + """The detailed status that provides additional information about the cluster manager. Known + values are: \"Error\", \"Available\", \"Provisioning\", \"ProvisioningFailed\", \"Updating\", + and \"UpdateFailed\".""" + detailedStatusMessage: str + """The descriptive message about the current detailed status.""" + fabricControllerId: Required[str] + """The resource ID of the fabric controller that has one to one mapping with the cluster manager. + Required.""" + managedResourceGroupConfiguration: "ManagedResourceGroupConfiguration" + """The configuration of the managed resource group associated with the resource.""" + managerExtendedLocation: "ExtendedLocation" + """The extended location (custom location) that represents the cluster manager's control plane + location. This extended location is used when creating cluster and rack manifest resources.""" + provisioningState: Union[str, "ClusterManagerProvisioningState"] + """The provisioning state of the cluster manager. Known values are: \"Succeeded\", \"Failed\", + \"Canceled\", \"Provisioning\", \"Accepted\", and \"Updating\".""" + vmSize: str + """The size of the Azure virtual machines to use for hosting the cluster manager resource.""" + + +class ClusterMetricsConfiguration(TrackedResource): + """ClusterMetricsConfiguration represents the metrics configuration of an on-premises Network + Cloud cluster. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /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: "SystemData" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: The list of the resource properties. Required. + :vartype properties: "ClusterMetricsConfigurationProperties" + :ivar etag: "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 etag: str + :ivar extended_location: The extended location of the resource. This property is required when + creating the resource. Required. + :vartype extended_location: "ExtendedLocation" + """ + + properties: Required["ClusterMetricsConfigurationProperties"] + """The list of the resource properties. Required.""" + etag: str + """\"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.\").""" + extendedLocation: Required["ExtendedLocation"] + """The extended location of the resource. This property is required when creating the resource. + Required.""" + + +class ClusterMetricsConfigurationPatchParameters(TypedDict, total=False): # pylint: disable=name-too-long + """ClusterMetricsConfigurationPatchParameters represents the body of the request to patch the + metrics configuration of cluster. + + :ivar properties: The list of the resource properties. + :vartype properties: "ClusterMetricsConfigurationPatchProperties" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + """ + + properties: "ClusterMetricsConfigurationPatchProperties" + """The list of the resource properties.""" + tags: dict[str, str] + """Resource tags.""" + + +class ClusterMetricsConfigurationPatchProperties(TypedDict, total=False): # pylint: disable=name-too-long + """ClusterMetricsConfigurationPatchProperties represents the properties of metrics configuration + for the cluster for patching. + + :ivar collection_interval: The interval in minutes by which metrics will be collected. + :vartype collection_interval: int + :ivar enabled_metrics: The list of metric names that have been chosen to be enabled in addition + to the core set of enabled metrics. + :vartype enabled_metrics: list[str] + """ + + collectionInterval: int + """The interval in minutes by which metrics will be collected.""" + enabledMetrics: list[str] + """The list of metric names that have been chosen to be enabled in addition to the core set of + enabled metrics.""" + + +class ClusterMetricsConfigurationProperties(TypedDict, total=False): + """ClusterMetricsConfigurationProperties represents the properties of metrics configuration for + the cluster. + + :ivar enabled_metrics: The list of metric names that have been chosen to be enabled in addition + to the core set of enabled metrics. + :vartype enabled_metrics: list[str] + :ivar collection_interval: The interval in minutes by which metrics will be collected. + Required. + :vartype collection_interval: int + :ivar detailed_status: The more detailed status of the metrics configuration. Known values are: + "Processing", "Applied", and "Error". + :vartype detailed_status: Union[str, "ClusterMetricsConfigurationDetailedStatus"] + :ivar detailed_status_message: The descriptive message about the current detailed status. + :vartype detailed_status_message: str + :ivar disabled_metrics: The list of metrics that are available for the cluster but disabled at + the moment. + :vartype disabled_metrics: list[str] + :ivar provisioning_state: The provisioning state of the metrics configuration. Known values + are: "Succeeded", "Failed", "Canceled", "Accepted", and "Provisioning". + :vartype provisioning_state: Union[str, "ClusterMetricsConfigurationProvisioningState"] + """ + + enabledMetrics: list[str] + """The list of metric names that have been chosen to be enabled in addition to the core set of + enabled metrics.""" + collectionInterval: Required[int] + """The interval in minutes by which metrics will be collected. Required.""" + detailedStatus: Union[str, "ClusterMetricsConfigurationDetailedStatus"] + """The more detailed status of the metrics configuration. Known values are: \"Processing\", + \"Applied\", and \"Error\".""" + detailedStatusMessage: str + """The descriptive message about the current detailed status.""" + disabledMetrics: list[str] + """The list of metrics that are available for the cluster but disabled at the moment.""" + provisioningState: Union[str, "ClusterMetricsConfigurationProvisioningState"] + """The provisioning state of the metrics configuration. Known values are: \"Succeeded\", + \"Failed\", \"Canceled\", \"Accepted\", and \"Provisioning\".""" + + +class ClusterPatchParameters(TypedDict, total=False): + """ClusterPatchParameters represents the body of the request to patch the cluster properties. + + :ivar identity: The identity for the resource. + :vartype identity: "ManagedServiceIdentity" + :ivar properties: The list of the resource properties. + :vartype properties: "ClusterPatchProperties" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + """ + + identity: "ManagedServiceIdentity" + """The identity for the resource.""" + properties: "ClusterPatchProperties" + """The list of the resource properties.""" + tags: dict[str, str] + """Resource tags.""" + + +class ClusterPatchProperties(TypedDict, total=False): + """ClusterPatchProperties represents the properties of the cluster for patching. + + :ivar aggregator_or_single_rack_definition: The rack definition that is intended to reflect + only a single rack in a single rack cluster, or an aggregator rack in a multi-rack cluster. + :vartype aggregator_or_single_rack_definition: "RackDefinition" + :ivar analytics_output_settings: The settings for the log analytics workspace used for output + of logs from this cluster. + :vartype analytics_output_settings: "AnalyticsOutputSettings" + :ivar cluster_location: The customer-provided location information to identify where the + cluster resides. + :vartype cluster_location: str + :ivar cluster_service_principal: Field Deprecated: Use managed identity to provide cluster + privileges. The service principal to be used by the cluster during Arc Appliance installation. + :vartype cluster_service_principal: "ServicePrincipalInformation" + :ivar command_output_settings: The settings for commands run in this cluster, such as bare + metal machine run read only commands and data extracts. + :vartype command_output_settings: "CommandOutputSettings" + :ivar compute_deployment_threshold: The validation threshold indicating the allowable failures + of compute machines during environment validation and deployment. + :vartype compute_deployment_threshold: "ValidationThreshold" + :ivar compute_rack_definitions: The list of rack definitions for the compute racks in a + multi-rack cluster, or an empty list in a single-rack cluster. + :vartype compute_rack_definitions: list["RackDefinition"] + :ivar runtime_protection_configuration: The settings for cluster runtime protection. + :vartype runtime_protection_configuration: "RuntimeProtectionConfiguration" + :ivar secret_archive: The configuration for use of a key vault to store secrets for later + retrieval by the operator. + :vartype secret_archive: "ClusterSecretArchive" + :ivar secret_archive_settings: The settings for the secret archive used to hold credentials for + the cluster. + :vartype secret_archive_settings: "SecretArchiveSettings" + :ivar update_strategy: The strategy for updating the cluster. + :vartype update_strategy: "ClusterUpdateStrategy" + :ivar vulnerability_scanning_settings: The settings for how security vulnerability scanning is + applied to the cluster. + :vartype vulnerability_scanning_settings: "VulnerabilityScanningSettingsPatch" + """ + + aggregatorOrSingleRackDefinition: "RackDefinition" + """The rack definition that is intended to reflect only a single rack in a single rack cluster, or + an aggregator rack in a multi-rack cluster.""" + analyticsOutputSettings: "AnalyticsOutputSettings" + """The settings for the log analytics workspace used for output of logs from this cluster.""" + clusterLocation: str + """The customer-provided location information to identify where the cluster resides.""" + clusterServicePrincipal: "ServicePrincipalInformation" + """Field Deprecated: Use managed identity to provide cluster privileges. The service principal to + be used by the cluster during Arc Appliance installation.""" + commandOutputSettings: "CommandOutputSettings" + """The settings for commands run in this cluster, such as bare metal machine run read only + commands and data extracts.""" + computeDeploymentThreshold: "ValidationThreshold" + """The validation threshold indicating the allowable failures of compute machines during + environment validation and deployment.""" + computeRackDefinitions: list["RackDefinition"] + """The list of rack definitions for the compute racks in a multi-rack cluster, or an empty list in + a single-rack cluster.""" + runtimeProtectionConfiguration: "RuntimeProtectionConfiguration" + """The settings for cluster runtime protection.""" + secretArchive: "ClusterSecretArchive" + """The configuration for use of a key vault to store secrets for later retrieval by the operator.""" + secretArchiveSettings: "SecretArchiveSettings" + """The settings for the secret archive used to hold credentials for the cluster.""" + updateStrategy: "ClusterUpdateStrategy" + """The strategy for updating the cluster.""" + vulnerabilityScanningSettings: "VulnerabilityScanningSettingsPatch" + """The settings for how security vulnerability scanning is applied to the cluster.""" + + +class ClusterProperties(TypedDict, total=False): + """ClusterProperties represents the properties of a cluster. + + :ivar aggregator_or_single_rack_definition: The rack definition that is intended to reflect + only a single rack in a single rack cluster, or an aggregator rack in a multi-rack cluster. + Required. + :vartype aggregator_or_single_rack_definition: "RackDefinition" + :ivar analytics_output_settings: The settings for the log analytics workspace used for output + of logs from this cluster. + :vartype analytics_output_settings: "AnalyticsOutputSettings" + :ivar analytics_workspace_id: Field Deprecated. The resource ID of the Log Analytics Workspace + that will be used for storing relevant logs. + :vartype analytics_workspace_id: str + :ivar cluster_location: The customer-provided location information to identify where the + cluster resides. + :vartype cluster_location: str + :ivar cluster_service_principal: Field Deprecated: Use managed identity to provide cluster + privileges. The service principal to be used by the cluster during Arc Appliance installation. + :vartype cluster_service_principal: "ServicePrincipalInformation" + :ivar cluster_type: The type of rack configuration for the cluster. Required. Known values are: + "SingleRack" and "MultiRack". + :vartype cluster_type: Union[str, "ClusterType"] + :ivar cluster_version: The current runtime version of the cluster. Required. + :vartype cluster_version: str + :ivar command_output_settings: The settings for commands run in this cluster, such as bare + metal machine run read only commands and data extracts. + :vartype command_output_settings: "CommandOutputSettings" + :ivar compute_deployment_threshold: The validation threshold indicating the allowable failures + of compute machines during environment validation and deployment. + :vartype compute_deployment_threshold: "ValidationThreshold" + :ivar compute_rack_definitions: The list of rack definitions for the compute racks in a + multi-rack cluster, or an empty list in a single-rack cluster. + :vartype compute_rack_definitions: list["RackDefinition"] + :ivar managed_resource_group_configuration: The configuration of the managed resource group + associated with the resource. + :vartype managed_resource_group_configuration: "ManagedResourceGroupConfiguration" + :ivar network_fabric_id: The resource ID of the Network Fabric associated with the cluster. + Required. + :vartype network_fabric_id: str + :ivar runtime_protection_configuration: The settings for cluster runtime protection. + :vartype runtime_protection_configuration: "RuntimeProtectionConfiguration" + :ivar secret_archive: The configuration for use of a key vault to store secrets for later + retrieval by the operator. + :vartype secret_archive: "ClusterSecretArchive" + :ivar secret_archive_settings: The settings for the secret archive used to hold credentials for + the cluster. + :vartype secret_archive_settings: "SecretArchiveSettings" + :ivar update_strategy: The strategy for updating the cluster. + :vartype update_strategy: "ClusterUpdateStrategy" + :ivar vulnerability_scanning_settings: The settings for how security vulnerability scanning is + applied to the cluster. + :vartype vulnerability_scanning_settings: "VulnerabilityScanningSettings" + :ivar action_states: The current state of any in progress or completed actions. The most recent + known instance of each action type is shown. + :vartype action_states: list["ActionState"] + :ivar available_upgrade_versions: The list of cluster runtime version upgrades available for + this cluster. + :vartype available_upgrade_versions: list["ClusterAvailableUpgradeVersion"] + :ivar cluster_capacity: The capacity supported by this cluster. + :vartype cluster_capacity: "ClusterCapacity" + :ivar cluster_connection_status: The latest heartbeat status between the cluster manager and + the cluster. Known values are: "Connected", "Disconnected", "Timeout", and "Undefined". + :vartype cluster_connection_status: Union[str, "ClusterConnectionStatus"] + :ivar cluster_extended_location: The extended location (custom location) that represents the + cluster's control plane location. This extended location is used to route the requests of child + objects of the cluster that are handled by the platform operator. + :vartype cluster_extended_location: "ExtendedLocation" + :ivar cluster_manager_connection_status: The latest connectivity status between cluster manager + and the cluster. Known values are: "Connected" and "Unreachable". + :vartype cluster_manager_connection_status: Union[str, "ClusterManagerConnectionStatus"] + :ivar cluster_manager_id: The resource ID of the cluster manager that manages this cluster. + This is set by the Cluster Manager when the cluster is created. + :vartype cluster_manager_id: str + :ivar detailed_status: The current detailed status of the cluster. Known values are: + "PendingDeployment", "Deploying", "Running", "Updating", "UpdatePaused", "Degraded", + "Deleting", "Disconnected", and "Failed". + :vartype detailed_status: Union[str, "ClusterDetailedStatus"] + :ivar detailed_status_message: The descriptive message about the detailed status. + :vartype detailed_status_message: str + :ivar hybrid_aks_extended_location: Field Deprecated. This field will not be populated in an + upcoming version. The extended location (custom location) that represents the Hybrid AKS + control plane location. This extended location is used when creating provisioned clusters + (Hybrid AKS clusters). + :vartype hybrid_aks_extended_location: "ExtendedLocation" + :ivar manual_action_count: The count of Manual Action Taken (MAT) events that have not been + validated. + :vartype manual_action_count: int + :ivar support_expiry_date: The support end date of the runtime version of the cluster. + :vartype support_expiry_date: str + :ivar workload_resource_ids: The list of workload resource IDs that are hosted within this + cluster. + :vartype workload_resource_ids: list[str] + :ivar provisioning_state: The provisioning state of the cluster. Known values are: "Succeeded", + "Failed", "Canceled", "Accepted", "Validating", and "Updating". + :vartype provisioning_state: Union[str, "ClusterProvisioningState"] + """ + + aggregatorOrSingleRackDefinition: Required["RackDefinition"] + """The rack definition that is intended to reflect only a single rack in a single rack cluster, or + an aggregator rack in a multi-rack cluster. Required.""" + analyticsOutputSettings: "AnalyticsOutputSettings" + """The settings for the log analytics workspace used for output of logs from this cluster.""" + analyticsWorkspaceId: str + """Field Deprecated. The resource ID of the Log Analytics Workspace that will be used for storing + relevant logs.""" + clusterLocation: str + """The customer-provided location information to identify where the cluster resides.""" + clusterServicePrincipal: "ServicePrincipalInformation" + """Field Deprecated: Use managed identity to provide cluster privileges. The service principal to + be used by the cluster during Arc Appliance installation.""" + clusterType: Required[Union[str, "ClusterType"]] + """The type of rack configuration for the cluster. Required. Known values are: \"SingleRack\" and + \"MultiRack\".""" + clusterVersion: Required[str] + """The current runtime version of the cluster. Required.""" + commandOutputSettings: "CommandOutputSettings" + """The settings for commands run in this cluster, such as bare metal machine run read only + commands and data extracts.""" + computeDeploymentThreshold: "ValidationThreshold" + """The validation threshold indicating the allowable failures of compute machines during + environment validation and deployment.""" + computeRackDefinitions: list["RackDefinition"] + """The list of rack definitions for the compute racks in a multi-rack cluster, or an empty list in + a single-rack cluster.""" + managedResourceGroupConfiguration: "ManagedResourceGroupConfiguration" + """The configuration of the managed resource group associated with the resource.""" + networkFabricId: Required[str] + """The resource ID of the Network Fabric associated with the cluster. Required.""" + runtimeProtectionConfiguration: "RuntimeProtectionConfiguration" + """The settings for cluster runtime protection.""" + secretArchive: "ClusterSecretArchive" + """The configuration for use of a key vault to store secrets for later retrieval by the operator.""" + secretArchiveSettings: "SecretArchiveSettings" + """The settings for the secret archive used to hold credentials for the cluster.""" + updateStrategy: "ClusterUpdateStrategy" + """The strategy for updating the cluster.""" + vulnerabilityScanningSettings: "VulnerabilityScanningSettings" + """The settings for how security vulnerability scanning is applied to the cluster.""" + actionStates: list["ActionState"] + """The current state of any in progress or completed actions. The most recent known instance of + each action type is shown.""" + availableUpgradeVersions: list["ClusterAvailableUpgradeVersion"] + """The list of cluster runtime version upgrades available for this cluster.""" + clusterCapacity: "ClusterCapacity" + """The capacity supported by this cluster.""" + clusterConnectionStatus: Union[str, "ClusterConnectionStatus"] + """The latest heartbeat status between the cluster manager and the cluster. Known values are: + \"Connected\", \"Disconnected\", \"Timeout\", and \"Undefined\".""" + clusterExtendedLocation: "ExtendedLocation" + """The extended location (custom location) that represents the cluster's control plane location. + This extended location is used to route the requests of child objects of the cluster that are + handled by the platform operator.""" + clusterManagerConnectionStatus: Union[str, "ClusterManagerConnectionStatus"] + """The latest connectivity status between cluster manager and the cluster. Known values are: + \"Connected\" and \"Unreachable\".""" + clusterManagerId: str + """The resource ID of the cluster manager that manages this cluster. This is set by the Cluster + Manager when the cluster is created.""" + detailedStatus: Union[str, "ClusterDetailedStatus"] + """The current detailed status of the cluster. Known values are: \"PendingDeployment\", + \"Deploying\", \"Running\", \"Updating\", \"UpdatePaused\", \"Degraded\", \"Deleting\", + \"Disconnected\", and \"Failed\".""" + detailedStatusMessage: str + """The descriptive message about the detailed status.""" + hybridAksExtendedLocation: "ExtendedLocation" + """Field Deprecated. This field will not be populated in an upcoming version. The extended + location (custom location) that represents the Hybrid AKS control plane location. This extended + location is used when creating provisioned clusters (Hybrid AKS clusters).""" + manualActionCount: int + """The count of Manual Action Taken (MAT) events that have not been validated.""" + supportExpiryDate: str + """The support end date of the runtime version of the cluster.""" + workloadResourceIds: list[str] + """The list of workload resource IDs that are hosted within this cluster.""" + provisioningState: Union[str, "ClusterProvisioningState"] + """The provisioning state of the cluster. Known values are: \"Succeeded\", \"Failed\", + \"Canceled\", \"Accepted\", \"Validating\", and \"Updating\".""" + + +class ClusterScanRuntimeParameters(TypedDict, total=False): + """ClusterScanRuntimeParameters defines the parameters for the cluster scan runtime operation. + + :ivar scan_activity: The choice of if the scan operation should run the scan. Known values are: + "Scan" and "Skip". + :vartype scan_activity: Union[str, "ClusterScanRuntimeParametersScanActivity"] + """ + + scanActivity: Union[str, "ClusterScanRuntimeParametersScanActivity"] + """The choice of if the scan operation should run the scan. Known values are: \"Scan\" and + \"Skip\".""" + + +class ClusterSecretArchive(TypedDict, total=False): + """ClusterSecretArchive configures the key vault to archive the secrets of the cluster for later + retrieval. + + :ivar key_vault_id: The resource ID of the key vault to archive the secrets of the cluster. + Required. + :vartype key_vault_id: str + :ivar use_key_vault: The indicator if the specified key vault should be used to archive the + secrets of the cluster. Known values are: "True" and "False". + :vartype use_key_vault: Union[str, "ClusterSecretArchiveEnabled"] + """ + + keyVaultId: Required[str] + """The resource ID of the key vault to archive the secrets of the cluster. Required.""" + useKeyVault: Union[str, "ClusterSecretArchiveEnabled"] + """The indicator if the specified key vault should be used to archive the secrets of the cluster. + Known values are: \"True\" and \"False\".""" + + +class ClusterUpdateStrategy(TypedDict, total=False): + """ClusterUpdateStrategy represents the strategy for updating the cluster. + + :ivar max_unavailable: The maximum number of worker nodes that can be offline within the + increment of update, e.g., rack-by-rack. Limited by the maximum number of machines in the + increment. Defaults to the whole increment size. + :vartype max_unavailable: int + :ivar strategy_type: The mode of operation for runtime protection. Required. Known values are: + "Rack" and "PauseAfterRack". + :vartype strategy_type: Union[str, "ClusterUpdateStrategyType"] + :ivar threshold_type: Selection of how the threshold should be evaluated. Required. Known + values are: "CountSuccess" and "PercentSuccess". + :vartype threshold_type: Union[str, "ValidationThresholdType"] + :ivar threshold_value: The numeric threshold value. Required. + :vartype threshold_value: int + :ivar wait_time_minutes: The time to wait between the increments of update defined by the + strategy. + :vartype wait_time_minutes: int + """ + + maxUnavailable: int + """The maximum number of worker nodes that can be offline within the increment of update, e.g., + rack-by-rack. Limited by the maximum number of machines in the increment. Defaults to the whole + increment size.""" + strategyType: Required[Union[str, "ClusterUpdateStrategyType"]] + """The mode of operation for runtime protection. Required. Known values are: \"Rack\" and + \"PauseAfterRack\".""" + thresholdType: Required[Union[str, "ValidationThresholdType"]] + """Selection of how the threshold should be evaluated. Required. Known values are: + \"CountSuccess\" and \"PercentSuccess\".""" + thresholdValue: Required[int] + """The numeric threshold value. Required.""" + waitTimeMinutes: int + """The time to wait between the increments of update defined by the strategy.""" + + +class ClusterUpdateVersionParameters(TypedDict, total=False): + """ClusterUpdateVersionParameters represents the body of the request to update cluster version. + + :ivar target_cluster_version: The version to be applied to the cluster during update. Required. + :vartype target_cluster_version: str + """ + + targetClusterVersion: Required[str] + """The version to be applied to the cluster during update. Required.""" + + +class CommandOutputOverride(TypedDict, total=False): + """CommandOutputOverride represents an overridden value for the command output settings. + + :ivar associated_identity: The selection of the managed identity to use with this storage + account container. The identity type must be either system assigned or user assigned. + :vartype associated_identity: "IdentitySelector" + :ivar command_output_type: The type of command output for the override. Known values are: + "BareMetalMachineRunCommand", "BareMetalMachineRunDataExtracts", + "BareMetalMachineRunReadCommands", "StorageRunReadCommands", and + "BareMetalMachineRunDataExtractsRestricted". + :vartype command_output_type: Union[str, "CommandOutputType"] + :ivar container_url: The URL of the storage account container that is to be used by the + specified identities. + :vartype container_url: str + """ + + associatedIdentity: "IdentitySelector" + """The selection of the managed identity to use with this storage account container. The identity + type must be either system assigned or user assigned.""" + commandOutputType: Union[str, "CommandOutputType"] + """The type of command output for the override. Known values are: \"BareMetalMachineRunCommand\", + \"BareMetalMachineRunDataExtracts\", \"BareMetalMachineRunReadCommands\", + \"StorageRunReadCommands\", and \"BareMetalMachineRunDataExtractsRestricted\".""" + containerUrl: str + """The URL of the storage account container that is to be used by the specified identities.""" + + +class CommandOutputSettings(TypedDict, total=False): + """CommandOutputSettings represents the settings for commands run within the cluster such as bare + metal machine run read-only commands. + + :ivar associated_identity: The selection of the managed identity to use with this storage + account container. The identity type must be either system assigned or user assigned. + :vartype associated_identity: "IdentitySelector" + :ivar container_url: The URL of the storage account container that is to be used by the + specified identities. + :vartype container_url: str + :ivar overrides: The list of optional overrides allowing for association of storage containers + and identities to specific types of command output. If a type is not overridden, the default + identity and storage container will be utilized. + :vartype overrides: list["CommandOutputOverride"] + """ + + associatedIdentity: "IdentitySelector" + """The selection of the managed identity to use with this storage account container. The identity + type must be either system assigned or user assigned.""" + containerUrl: str + """The URL of the storage account container that is to be used by the specified identities.""" + overrides: list["CommandOutputOverride"] + """The list of optional overrides allowing for association of storage containers and identities to + specific types of command output. If a type is not overridden, the default identity and storage + container will be utilized.""" + + +class Console(TrackedResource): + """Console represents the console of an on-premises Network Cloud virtual machine. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /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: "SystemData" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: The list of the resource properties. Required. + :vartype properties: "ConsoleProperties" + :ivar etag: "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 etag: str + :ivar extended_location: The extended location of the resource. This property is required when + creating the resource. Required. + :vartype extended_location: "ExtendedLocation" + """ + + properties: Required["ConsoleProperties"] + """The list of the resource properties. Required.""" + etag: str + """\"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.\").""" + extendedLocation: Required["ExtendedLocation"] + """The extended location of the resource. This property is required when creating the resource. + Required.""" + + +class ConsolePatchParameters(TypedDict, total=False): + """ConsolePatchParameters represents the body of the request to patch the virtual machine console. + + :ivar properties: The list of the resource properties. + :vartype properties: "ConsolePatchProperties" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + """ + + properties: "ConsolePatchProperties" + """The list of the resource properties.""" + tags: dict[str, str] + """Resource tags.""" + + +class ConsolePatchProperties(TypedDict, total=False): + """ConsolePatchProperties represents the properties of the virtual machine console that can be + patched. + + :ivar enabled: The indicator of whether the console access is enabled. Known values are: "True" + and "False". + :vartype enabled: Union[str, "ConsoleEnabled"] + :ivar expiration: The date and time after which the key will be disallowed access. + :vartype expiration: str + :ivar ssh_public_key: The SSH public key that will be provisioned for user access. The user is + expected to have the corresponding SSH private key for logging in. + :vartype ssh_public_key: "SshPublicKey" + """ + + enabled: Union[str, "ConsoleEnabled"] + """The indicator of whether the console access is enabled. Known values are: \"True\" and + \"False\".""" + expiration: str + """The date and time after which the key will be disallowed access.""" + sshPublicKey: "SshPublicKey" + """The SSH public key that will be provisioned for user access. The user is expected to have the + corresponding SSH private key for logging in.""" + + +class ConsoleProperties(TypedDict, total=False): + """ConsoleProperties represents the properties of the virtual machine console. + + :ivar enabled: The indicator of whether the console access is enabled. Required. Known values + are: "True" and "False". + :vartype enabled: Union[str, "ConsoleEnabled"] + :ivar expiration: The date and time after which the key will be disallowed access. + :vartype expiration: str + :ivar ssh_public_key: The SSH public key that will be provisioned for user access. The user is + expected to have the corresponding SSH private key for logging in. Required. + :vartype ssh_public_key: "SshPublicKey" + :ivar detailed_status: The more detailed status of the console. Known values are: "Ready" and + "Error". + :vartype detailed_status: Union[str, "ConsoleDetailedStatus"] + :ivar detailed_status_message: The descriptive message about the current detailed status. + :vartype detailed_status_message: str + :ivar private_link_service_id: The resource ID of the private link service that is used to + provide virtual machine console access. + :vartype private_link_service_id: str + :ivar virtual_machine_access_id: The unique identifier for the virtual machine that is used to + access the console. + :vartype virtual_machine_access_id: str + :ivar provisioning_state: The provisioning state of the virtual machine console. Known values + are: "Succeeded", "Failed", "Canceled", "Accepted", and "Provisioning". + :vartype provisioning_state: Union[str, "ConsoleProvisioningState"] + """ + + enabled: Required[Union[str, "ConsoleEnabled"]] + """The indicator of whether the console access is enabled. Required. Known values are: \"True\" + and \"False\".""" + expiration: str + """The date and time after which the key will be disallowed access.""" + sshPublicKey: Required["SshPublicKey"] + """The SSH public key that will be provisioned for user access. The user is expected to have the + corresponding SSH private key for logging in. Required.""" + detailedStatus: Union[str, "ConsoleDetailedStatus"] + """The more detailed status of the console. Known values are: \"Ready\" and \"Error\".""" + detailedStatusMessage: str + """The descriptive message about the current detailed status.""" + privateLinkServiceId: str + """The resource ID of the private link service that is used to provide virtual machine console + access.""" + virtualMachineAccessId: str + """The unique identifier for the virtual machine that is used to access the console.""" + provisioningState: Union[str, "ConsoleProvisioningState"] + """The provisioning state of the virtual machine console. Known values are: \"Succeeded\", + \"Failed\", \"Canceled\", \"Accepted\", and \"Provisioning\".""" + + +class ControlPlaneNodeConfiguration(TypedDict, total=False): + """ControlPlaneNodeConfiguration represents the selection of virtual machines and size of the + control plane for a Kubernetes cluster. + + :ivar administrator_configuration: The administrator credentials to be used for the nodes in + the control plane. + :vartype administrator_configuration: "AdministratorConfiguration" + :ivar availability_zones: The list of availability zones of the Network Cloud cluster to be + used for the provisioning of nodes in the control plane. If not specified, all availability + zones will be used. + :vartype availability_zones: list[str] + :ivar count: The number of virtual machines that use this configuration. Required. + :vartype count: int + :ivar vm_sku_name: The name of the VM SKU supplied during creation. Required. + :vartype vm_sku_name: str + """ + + administratorConfiguration: "AdministratorConfiguration" + """The administrator credentials to be used for the nodes in the control plane.""" + availabilityZones: list[str] + """The list of availability zones of the Network Cloud cluster to be used for the provisioning of + nodes in the control plane. If not specified, all availability zones will be used.""" + count: Required[int] + """The number of virtual machines that use this configuration. Required.""" + vmSkuName: Required[str] + """The name of the VM SKU supplied during creation. Required.""" + + +class ControlPlaneNodePatchConfiguration(TypedDict, total=False): + """ControlPlaneNodePatchConfiguration represents the properties of the control plane that can be + patched for this Kubernetes cluster. + + :ivar administrator_configuration: The configuration of administrator credentials for the + control plane nodes. + :vartype administrator_configuration: "AdministratorConfigurationPatch" + :ivar count: The number of virtual machines that use this configuration. + :vartype count: int + """ + + administratorConfiguration: "AdministratorConfigurationPatch" + """The configuration of administrator credentials for the control plane nodes.""" + count: int + """The number of virtual machines that use this configuration.""" + + +class EgressEndpoint(TypedDict, total=False): + """EgressEndpoint represents the connection from a cloud services network to the specified + endpoint for a common purpose. + + :ivar category: The descriptive category name of endpoints accessible by the AKS agent node. + For example, azure-resource-management, API server, etc. The platform egress endpoints provided + by default will use the category 'default'. Required. + :vartype category: str + :ivar endpoints: The list of endpoint dependencies. Required. + :vartype endpoints: list["EndpointDependency"] + """ + + category: Required[str] + """The descriptive category name of endpoints accessible by the AKS agent node. For example, + azure-resource-management, API server, etc. The platform egress endpoints provided by default + will use the category 'default'. Required.""" + endpoints: Required[list["EndpointDependency"]] + """The list of endpoint dependencies. Required.""" + + +class EndpointDependency(TypedDict, total=False): + """EndpointDependency represents the definition of an endpoint, including the domain and details. + + :ivar domain_name: The domain name of the dependency. Required. + :vartype domain_name: str + :ivar port: The port of this endpoint. + :vartype port: int + """ + + domainName: Required[str] + """The domain name of the dependency. Required.""" + port: int + """The port of this endpoint.""" + + +class ExtendedLocation(TypedDict, total=False): + """The complex type of the extended location. + + :ivar name: The name of the extended location. Required. + :vartype name: str + :ivar type: The type of the extended location. Required. Known values are: "EdgeZone" and + "CustomLocation". + :vartype type: Union[str, "ExtendedLocationType"] + """ + + name: Required[str] + """The name of the extended location. Required.""" + type: Required[Union[str, "ExtendedLocationType"]] + """The type of the extended location. Required. Known values are: \"EdgeZone\" and + \"CustomLocation\".""" + + +class FeatureStatus(TypedDict, total=False): + """FeatureStatus contains information regarding a Kubernetes cluster feature. + + :ivar detailed_status: The status representing the state of this feature. Known values are: + "Running", "Failed", and "Unknown". + :vartype detailed_status: Union[str, "FeatureDetailedStatus"] + :ivar detailed_status_message: The descriptive message about the current detailed status. + :vartype detailed_status_message: str + :ivar name: The name of the feature. + :vartype name: str + :ivar version: The version of the feature. + :vartype version: str + """ + + detailedStatus: Union[str, "FeatureDetailedStatus"] + """The status representing the state of this feature. Known values are: \"Running\", \"Failed\", + and \"Unknown\".""" + detailedStatusMessage: str + """The descriptive message about the current detailed status.""" + name: str + """The name of the feature.""" + version: str + """The version of the feature.""" + + +class HardwareInventory(TypedDict, total=False): + """HardwareInventory represents the hardware configuration of this machine as exposed to the + customer, including information acquired from the model/sku information and from the ironic + inspector. + + :ivar additional_host_information: Freeform data extracted from the environment about this + machine. This information varies depending on the specific hardware and configuration. + :vartype additional_host_information: str + :ivar interfaces: The list of network interfaces and associated details for the bare metal + machine. + :vartype interfaces: list["HardwareInventoryNetworkInterface"] + :ivar nics: Field Deprecated. Will be removed in an upcoming version. The list of network + interface cards and associated details for the bare metal machine. + :vartype nics: list["Nic"] + """ + + additionalHostInformation: str + """Freeform data extracted from the environment about this machine. This information varies + depending on the specific hardware and configuration.""" + interfaces: list["HardwareInventoryNetworkInterface"] + """The list of network interfaces and associated details for the bare metal machine.""" + nics: list["Nic"] + """Field Deprecated. Will be removed in an upcoming version. The list of network interface cards + and associated details for the bare metal machine.""" + + +class HardwareInventoryNetworkInterface(TypedDict, total=False): + """HardwareInventoryNetworkInterface represents the network interface details as part of a + hardware inventory. + + :ivar link_status: The current status of the link. + :vartype link_status: str + :ivar mac_address: The MAC address associated with this interface. + :vartype mac_address: str + :ivar name: The name of the interface. + :vartype name: str + :ivar network_interface_id: The resource ID of the network interface for the port on the switch + that this machine's interface is connected to. + :vartype network_interface_id: str + """ + + linkStatus: str + """The current status of the link.""" + macAddress: str + """The MAC address associated with this interface.""" + name: str + """The name of the interface.""" + networkInterfaceId: str + """The resource ID of the network interface for the port on the switch that this machine's + interface is connected to.""" + + +class HardwareValidationStatus(TypedDict, total=False): + """HardwareValidationStatus represents the latest hardware validation details performed for this + bare metal machine. + + :ivar last_validation_time: The timestamp of the hardware validation execution. + :vartype last_validation_time: str + :ivar result: The outcome of the hardware validation. Known values are: "Pass" and "Fail". + :vartype result: Union[str, "BareMetalMachineHardwareValidationResult"] + """ + + lastValidationTime: str + """The timestamp of the hardware validation execution.""" + result: Union[str, "BareMetalMachineHardwareValidationResult"] + """The outcome of the hardware validation. Known values are: \"Pass\" and \"Fail\".""" + + +class IdentitySelector(TypedDict, total=False): + """IdentitySelector represents the selection of a managed identity for use. + + :ivar identity_type: The type of managed identity that is being selected. Known values are: + "SystemAssignedIdentity" and "UserAssignedIdentity". + :vartype identity_type: Union[str, "ManagedServiceIdentitySelectorType"] + :ivar user_assigned_identity_resource_id: The user assigned managed identity resource ID to + use. Mutually exclusive with a system assigned identity type. + :vartype user_assigned_identity_resource_id: str + """ + + identityType: Union[str, "ManagedServiceIdentitySelectorType"] + """The type of managed identity that is being selected. Known values are: + \"SystemAssignedIdentity\" and \"UserAssignedIdentity\".""" + userAssignedIdentityResourceId: str + """The user assigned managed identity resource ID to use. Mutually exclusive with a system + assigned identity type.""" + + +class ImageRepositoryCredentials(TypedDict, total=False): + """ImageRepositoryCredentials represents the credentials used to login to the image repository. + + :ivar password: The password or token used to access an image in the target repository. + Required. + :vartype password: str + :ivar registry_url: The URL of the authentication server used to validate the repository + credentials. Required. + :vartype registry_url: str + :ivar username: The username used to access an image in the target repository. Required. + :vartype username: str + """ + + password: Required[str] + """The password or token used to access an image in the target repository. Required.""" + registryUrl: Required[str] + """The URL of the authentication server used to validate the repository credentials. Required.""" + username: Required[str] + """The username used to access an image in the target repository. Required.""" + + +class InitialAgentPoolConfiguration(TypedDict, total=False): + """InitialAgentPoolConfiguration specifies the configuration of a pool of virtual machines that + are initially defined with a Kubernetes cluster. + + :ivar administrator_configuration: The administrator credentials to be used for the nodes in + this agent pool. + :vartype administrator_configuration: "AdministratorConfiguration" + :ivar agent_options: The configurations that will be applied to each agent in this agent pool. + :vartype agent_options: "AgentOptions" + :ivar attached_network_configuration: The configuration of networks being attached to the agent + pool for use by the workloads that run on this Kubernetes cluster. + :vartype attached_network_configuration: "AttachedNetworkConfiguration" + :ivar availability_zones: The list of availability zones of the Network Cloud cluster used for + the provisioning of nodes in this agent pool. If not specified, all availability zones will be + used. + :vartype availability_zones: list[str] + :ivar count: The number of virtual machines that use this configuration. Required. + :vartype count: int + :ivar labels: The labels applied to the nodes in this agent pool. + :vartype labels: list["KubernetesLabel"] + :ivar mode: The selection of how this agent pool is utilized, either as a system pool or a user + pool. System pools run the features and critical services for the Kubernetes Cluster, while + user pools are dedicated to user workloads. Every Kubernetes cluster must contain at least one + system node pool with at least one node. Required. Known values are: "System", "User", and + "NotApplicable". + :vartype mode: Union[str, "AgentPoolMode"] + :ivar taints: The taints applied to the nodes in this agent pool. + :vartype taints: list["KubernetesLabel"] + :ivar upgrade_settings: The configuration of the agent pool. + :vartype upgrade_settings: "AgentPoolUpgradeSettings" + :ivar vm_sku_name: The name of the VM SKU that determines the size of resources allocated for + node VMs. Required. + :vartype vm_sku_name: str + :ivar name: The name that will be used for the agent pool resource representing this agent + pool. Required. + :vartype name: str + """ + + administratorConfiguration: "AdministratorConfiguration" + """The administrator credentials to be used for the nodes in this agent pool.""" + agentOptions: "AgentOptions" + """The configurations that will be applied to each agent in this agent pool.""" + attachedNetworkConfiguration: "AttachedNetworkConfiguration" + """The configuration of networks being attached to the agent pool for use by the workloads that + run on this Kubernetes cluster.""" + availabilityZones: list[str] + """The list of availability zones of the Network Cloud cluster used for the provisioning of nodes + in this agent pool. If not specified, all availability zones will be used.""" + count: Required[int] + """The number of virtual machines that use this configuration. Required.""" + labels: list["KubernetesLabel"] + """The labels applied to the nodes in this agent pool.""" + mode: Required[Union[str, "AgentPoolMode"]] + """The selection of how this agent pool is utilized, either as a system pool or a user pool. + System pools run the features and critical services for the Kubernetes Cluster, while user + pools are dedicated to user workloads. Every Kubernetes cluster must contain at least one + system node pool with at least one node. Required. Known values are: \"System\", \"User\", and + \"NotApplicable\".""" + taints: list["KubernetesLabel"] + """The taints applied to the nodes in this agent pool.""" + upgradeSettings: "AgentPoolUpgradeSettings" + """The configuration of the agent pool.""" + vmSkuName: Required[str] + """The name of the VM SKU that determines the size of resources allocated for node VMs. Required.""" + name: Required[str] + """The name that will be used for the agent pool resource representing this agent pool. Required.""" + + +class IpAddressPool(TypedDict, total=False): + """IpAddressPool represents a pool of IP addresses that can be allocated to a service. + + :ivar addresses: The list of IP address ranges. Each range can be a either a subnet in CIDR + format or an explicit start-end range of IP addresses. For a BGP service load balancer + configuration, only CIDR format is supported and excludes /32 (IPv4) and /128 (IPv6) prefixes. + Required. + :vartype addresses: list[str] + :ivar auto_assign: The indicator to determine if automatic allocation from the pool should + occur. Known values are: "True" and "False". + :vartype auto_assign: Union[str, "BfdEnabled"] + :ivar name: The name used to identify this IP address pool for association with a BGP + advertisement. Required. + :vartype name: str + :ivar only_use_host_ips: The indicator to prevent the use of IP addresses ending with .0 and + .255 for this pool. Enabling this option will only use IP addresses between .1 and .254 + inclusive. Known values are: "True" and "False". + :vartype only_use_host_ips: Union[str, "BfdEnabled"] + """ + + addresses: Required[list[str]] + """The list of IP address ranges. Each range can be a either a subnet in CIDR format or an + explicit start-end range of IP addresses. For a BGP service load balancer configuration, only + CIDR format is supported and excludes /32 (IPv4) and /128 (IPv6) prefixes. Required.""" + autoAssign: Union[str, "BfdEnabled"] + """The indicator to determine if automatic allocation from the pool should occur. Known values + are: \"True\" and \"False\".""" + name: Required[str] + """The name used to identify this IP address pool for association with a BGP advertisement. + Required.""" + onlyUseHostIps: Union[str, "BfdEnabled"] + """The indicator to prevent the use of IP addresses ending with .0 and .255 for this pool. + Enabling this option will only use IP addresses between .1 and .254 inclusive. Known values + are: \"True\" and \"False\".""" + + +class KeySetUser(TypedDict, total=False): + """KeySetUser represents the properties of the user in the key set. + + :ivar azure_user_name: The user name that will be used for access. Required. + :vartype azure_user_name: str + :ivar description: The free-form description for this user. + :vartype description: str + :ivar ssh_public_key: The SSH public key that will be provisioned for user access. The user is + expected to have the corresponding SSH private key for logging in. Required. + :vartype ssh_public_key: "SshPublicKey" + :ivar user_principal_name: The user principal name (email format) used to validate this user's + group membership. + :vartype user_principal_name: str + """ + + azureUserName: Required[str] + """The user name that will be used for access. Required.""" + description: str + """The free-form description for this user.""" + sshPublicKey: Required["SshPublicKey"] + """The SSH public key that will be provisioned for user access. The user is expected to have the + corresponding SSH private key for logging in. Required.""" + userPrincipalName: str + """The user principal name (email format) used to validate this user's group membership.""" + + +class KeySetUserStatus(TypedDict, total=False): + """KeySetUserStatus represents the status of the key set user. + + :ivar azure_user_name: The user name that will be used for access. + :vartype azure_user_name: str + :ivar status: The indicator of whether the user is currently deployed for access. Known values + are: "Active" and "Invalid". + :vartype status: Union[str, "BareMetalMachineKeySetUserSetupStatus"] + :ivar status_message: The additional information describing the current status of this user, if + any available. + :vartype status_message: str + """ + + azureUserName: str + """The user name that will be used for access.""" + status: Union[str, "BareMetalMachineKeySetUserSetupStatus"] + """The indicator of whether the user is currently deployed for access. Known values are: + \"Active\" and \"Invalid\".""" + statusMessage: str + """The additional information describing the current status of this user, if any available.""" + + +class KubernetesCluster(TrackedResource): + """KubernetesCluster represents the Kubernetes cluster hosted on Network Cloud. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /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: "SystemData" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: The list of the resource properties. Required. + :vartype properties: "KubernetesClusterProperties" + :ivar etag: "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 etag: str + :ivar extended_location: The extended location of the resource. This property is required when + creating the resource. Required. + :vartype extended_location: "ExtendedLocation" + """ + + properties: Required["KubernetesClusterProperties"] + """The list of the resource properties. Required.""" + etag: str + """\"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.\").""" + extendedLocation: Required["ExtendedLocation"] + """The extended location of the resource. This property is required when creating the resource. + Required.""" + + +class KubernetesClusterFeature(TrackedResource): + """KubernetesClusterFeature represents the feature of a Kubernetes cluster. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /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: "SystemData" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: The list of the resource properties. + :vartype properties: "KubernetesClusterFeatureProperties" + :ivar etag: "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 etag: str + """ + + properties: "KubernetesClusterFeatureProperties" + """The list of the resource properties.""" + etag: str + """\"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.\").""" + + +class KubernetesClusterFeaturePatchParameters(TypedDict, total=False): + """KubernetesClusterFeaturePatchParameters represents the body of the request to patch the + Kubernetes cluster feature. + + :ivar properties: The list of the resource properties. + :vartype properties: "KubernetesClusterFeaturePatchProperties" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + """ + + properties: "KubernetesClusterFeaturePatchProperties" + """The list of the resource properties.""" + tags: dict[str, str] + """Resource tags.""" + + +class KubernetesClusterFeaturePatchProperties(TypedDict, total=False): + """KubernetesClusterFeaturePatchProperties represents the Kubernetes cluster feature properties + for patching. + + :ivar options: The configured options for the feature. + :vartype options: list["StringKeyValuePair"] + """ + + options: list["StringKeyValuePair"] + """The configured options for the feature.""" + + +class KubernetesClusterFeatureProperties(TypedDict, total=False): + """KubernetesClusterFeatureProperties represents the properties of a Kubernetes cluster feature. + + :ivar options: The configured options for the feature. + :vartype options: list["StringKeyValuePair"] + :ivar availability_lifecycle: The lifecycle indicator of the feature. Known values are: + "Preview" and "GenerallyAvailable". + :vartype availability_lifecycle: Union[str, "KubernetesClusterFeatureAvailabilityLifecycle"] + :ivar detailed_status: The detailed status of the feature. Known values are: "Error", + "Provisioning", and "Installed". + :vartype detailed_status: Union[str, "KubernetesClusterFeatureDetailedStatus"] + :ivar detailed_status_message: The descriptive message for the detailed status of the feature. + :vartype detailed_status_message: str + :ivar required: The indicator of if the feature is required or optional. Optional features may + be deleted by the user, while required features are managed with the kubernetes cluster + lifecycle. Known values are: "True" and "False". + :vartype required: Union[str, "KubernetesClusterFeatureRequired"] + :ivar version: The version of the feature. + :vartype version: str + :ivar provisioning_state: The provisioning state of the Kubernetes cluster feature. Known + values are: "Accepted", "Canceled", "Deleting", "Failed", "Succeeded", and "Updating". + :vartype provisioning_state: Union[str, "KubernetesClusterFeatureProvisioningState"] + """ + + options: list["StringKeyValuePair"] + """The configured options for the feature.""" + availabilityLifecycle: Union[str, "KubernetesClusterFeatureAvailabilityLifecycle"] + """The lifecycle indicator of the feature. Known values are: \"Preview\" and + \"GenerallyAvailable\".""" + detailedStatus: Union[str, "KubernetesClusterFeatureDetailedStatus"] + """The detailed status of the feature. Known values are: \"Error\", \"Provisioning\", and + \"Installed\".""" + detailedStatusMessage: str + """The descriptive message for the detailed status of the feature.""" + required: Union[str, "KubernetesClusterFeatureRequired"] + """The indicator of if the feature is required or optional. Optional features may be deleted by + the user, while required features are managed with the kubernetes cluster lifecycle. Known + values are: \"True\" and \"False\".""" + version: str + """The version of the feature.""" + provisioningState: Union[str, "KubernetesClusterFeatureProvisioningState"] + """The provisioning state of the Kubernetes cluster feature. Known values are: \"Accepted\", + \"Canceled\", \"Deleting\", \"Failed\", \"Succeeded\", and \"Updating\".""" + + +class KubernetesClusterNode(TypedDict, total=False): + """KubernetesClusterNode represents the details of a node in a Kubernetes cluster. + + :ivar agent_pool_id: The resource ID of the agent pool that this node belongs to. This value is + not represented on control plane nodes. + :vartype agent_pool_id: str + :ivar availability_zone: The availability zone this node is running within. + :vartype availability_zone: str + :ivar bare_metal_machine_id: The resource ID of the bare metal machine that hosts this node. + :vartype bare_metal_machine_id: str + :ivar cpu_cores: The number of CPU cores configured for this node, derived from the VM SKU + specified. + :vartype cpu_cores: int + :ivar detailed_status: The detailed state of this node. Known values are: "Available", "Error", + "Provisioning", "Running", "Scheduling", "Stopped", "Terminating", and "Unknown". + :vartype detailed_status: Union[str, "KubernetesClusterNodeDetailedStatus"] + :ivar detailed_status_message: The descriptive message about the current detailed status. + :vartype detailed_status_message: str + :ivar disk_size_gb: The size of the disk configured for this node. Allocations are measured in + gibibytes. + :vartype disk_size_gb: int + :ivar image: The machine image used to deploy this node. + :vartype image: str + :ivar kubernetes_version: The currently running version of Kubernetes and bundled features + running on this node. + :vartype kubernetes_version: str + :ivar labels: The list of labels on this node that have been assigned to the agent pool + containing this node. + :vartype labels: list["KubernetesLabel"] + :ivar memory_size_gb: The amount of memory configured for this node, derived from the vm SKU + specified. Allocations are measured in gibibytes. + :vartype memory_size_gb: int + :ivar mode: The mode of the agent pool containing this node. Not applicable for control plane + nodes. Known values are: "System", "User", and "NotApplicable". + :vartype mode: Union[str, "AgentPoolMode"] + :ivar name: The name of this node, as realized in the Kubernetes cluster. + :vartype name: str + :ivar network_attachments: The NetworkAttachments made to this node. + :vartype network_attachments: list["NetworkAttachment"] + :ivar power_state: The power state of this node. Known values are: "On", "Off", and "Unknown". + :vartype power_state: Union[str, "KubernetesNodePowerState"] + :ivar role: The role of this node in the cluster. Known values are: "ControlPlane" and + "Worker". + :vartype role: Union[str, "KubernetesNodeRole"] + :ivar taints: The list of taints that have been assigned to the agent pool containing this + node. + :vartype taints: list["KubernetesLabel"] + :ivar vm_sku_name: The VM SKU name that was used to create this cluster node. + :vartype vm_sku_name: str + """ + + agentPoolId: str + """The resource ID of the agent pool that this node belongs to. This value is not represented on + control plane nodes.""" + availabilityZone: str + """The availability zone this node is running within.""" + bareMetalMachineId: str + """The resource ID of the bare metal machine that hosts this node.""" + cpuCores: int + """The number of CPU cores configured for this node, derived from the VM SKU specified.""" + detailedStatus: Union[str, "KubernetesClusterNodeDetailedStatus"] + """The detailed state of this node. Known values are: \"Available\", \"Error\", \"Provisioning\", + \"Running\", \"Scheduling\", \"Stopped\", \"Terminating\", and \"Unknown\".""" + detailedStatusMessage: str + """The descriptive message about the current detailed status.""" + diskSizeGB: int + """The size of the disk configured for this node. Allocations are measured in gibibytes.""" + image: str + """The machine image used to deploy this node.""" + kubernetesVersion: str + """The currently running version of Kubernetes and bundled features running on this node.""" + labels: list["KubernetesLabel"] + """The list of labels on this node that have been assigned to the agent pool containing this node.""" + memorySizeGB: int + """The amount of memory configured for this node, derived from the vm SKU specified. Allocations + are measured in gibibytes.""" + mode: Union[str, "AgentPoolMode"] + """The mode of the agent pool containing this node. Not applicable for control plane nodes. Known + values are: \"System\", \"User\", and \"NotApplicable\".""" + name: str + """The name of this node, as realized in the Kubernetes cluster.""" + networkAttachments: list["NetworkAttachment"] + """The NetworkAttachments made to this node.""" + powerState: Union[str, "KubernetesNodePowerState"] + """The power state of this node. Known values are: \"On\", \"Off\", and \"Unknown\".""" + role: Union[str, "KubernetesNodeRole"] + """The role of this node in the cluster. Known values are: \"ControlPlane\" and \"Worker\".""" + taints: list["KubernetesLabel"] + """The list of taints that have been assigned to the agent pool containing this node.""" + vmSkuName: str + """The VM SKU name that was used to create this cluster node.""" + + +class KubernetesClusterPatchParameters(TypedDict, total=False): + """KubernetesClusterPatchParameters represents the body of the request to patch the Hybrid AKS + cluster. + + :ivar properties: The list of the resource properties. + :vartype properties: "KubernetesClusterPatchProperties" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + """ + + properties: "KubernetesClusterPatchProperties" + """The list of the resource properties.""" + tags: dict[str, str] + """Resource tags.""" + + +class KubernetesClusterPatchProperties(TypedDict, total=False): + """KubernetesClusterPatchProperties represents the properties of the Kubernetes cluster that can + be patched. + + :ivar administrator_configuration: The configuration of the default administrator credentials. + :vartype administrator_configuration: "AdministratorConfigurationPatch" + :ivar control_plane_node_configuration: The defining characteristics of the control plane that + can be patched for this Kubernetes cluster. + :vartype control_plane_node_configuration: "ControlPlaneNodePatchConfiguration" + :ivar kubernetes_version: The Kubernetes version for this cluster. + :vartype kubernetes_version: str + """ + + administratorConfiguration: "AdministratorConfigurationPatch" + """The configuration of the default administrator credentials.""" + controlPlaneNodeConfiguration: "ControlPlaneNodePatchConfiguration" + """The defining characteristics of the control plane that can be patched for this Kubernetes + cluster.""" + kubernetesVersion: str + """The Kubernetes version for this cluster.""" + + +class KubernetesClusterProperties(TypedDict, total=False): + """KubernetesClusterProperties represents the properties of Kubernetes cluster resource. + + :ivar aad_configuration: The Azure Active Directory Integration properties. + :vartype aad_configuration: "AadConfiguration" + :ivar administrator_configuration: The administrative credentials that will be applied to the + control plane and agent pool nodes that do not specify their own values. + :vartype administrator_configuration: "AdministratorConfiguration" + :ivar control_plane_node_configuration: The defining characteristics of the control plane for + this Kubernetes Cluster. Required. + :vartype control_plane_node_configuration: "ControlPlaneNodeConfiguration" + :ivar initial_agent_pool_configurations: The agent pools that are created with this Kubernetes + cluster for running critical system services and workloads. This data in this field is only + used during creation, and the field will be empty following the creation of the Kubernetes + Cluster. After creation, the management of agent pools is done using the agentPools + sub-resource. Required. + :vartype initial_agent_pool_configurations: list["InitialAgentPoolConfiguration"] + :ivar kubernetes_version: The Kubernetes version for this cluster. Required. + :vartype kubernetes_version: str + :ivar managed_resource_group_configuration: The configuration of the managed resource group + associated with the resource. + :vartype managed_resource_group_configuration: "ManagedResourceGroupConfiguration" + :ivar network_configuration: The configuration of the Kubernetes cluster networking, including + the attachment of networks that span the cluster. Required. + :vartype network_configuration: "NetworkConfiguration" + :ivar attached_network_ids: The full list of network resource IDs that are attached to this + cluster, including those attached only to specific agent pools. + :vartype attached_network_ids: list[str] + :ivar available_upgrades: The list of versions that this Kubernetes cluster can be upgraded to. + :vartype available_upgrades: list["AvailableUpgrade"] + :ivar cluster_id: The resource ID of the Network Cloud cluster. + :vartype cluster_id: str + :ivar connected_cluster_id: The resource ID of the connected cluster set up when this + Kubernetes cluster is created. + :vartype connected_cluster_id: str + :ivar control_plane_kubernetes_version: The current running version of Kubernetes on the + control plane. + :vartype control_plane_kubernetes_version: str + :ivar detailed_status: The current status of the Kubernetes cluster. Known values are: + "Available", "Error", and "Provisioning". + :vartype detailed_status: Union[str, "KubernetesClusterDetailedStatus"] + :ivar detailed_status_message: The descriptive message about the current detailed status. + :vartype detailed_status_message: str + :ivar feature_statuses: The current feature settings. + :vartype feature_statuses: list["FeatureStatus"] + :ivar nodes: The details of the nodes in this cluster. + :vartype nodes: list["KubernetesClusterNode"] + :ivar provisioning_state: The provisioning state of the Kubernetes cluster resource. Known + values are: "Succeeded", "Failed", "Canceled", "Accepted", "InProgress", "Created", "Updating", + and "Deleting". + :vartype provisioning_state: Union[str, "KubernetesClusterProvisioningState"] + """ + + aadConfiguration: "AadConfiguration" + """The Azure Active Directory Integration properties.""" + administratorConfiguration: "AdministratorConfiguration" + """The administrative credentials that will be applied to the control plane and agent pool nodes + that do not specify their own values.""" + controlPlaneNodeConfiguration: Required["ControlPlaneNodeConfiguration"] + """The defining characteristics of the control plane for this Kubernetes Cluster. Required.""" + initialAgentPoolConfigurations: Required[list["InitialAgentPoolConfiguration"]] + """The agent pools that are created with this Kubernetes cluster for running critical system + services and workloads. This data in this field is only used during creation, and the field + will be empty following the creation of the Kubernetes Cluster. After creation, the management + of agent pools is done using the agentPools sub-resource. Required.""" + kubernetesVersion: Required[str] + """The Kubernetes version for this cluster. Required.""" + managedResourceGroupConfiguration: "ManagedResourceGroupConfiguration" + """The configuration of the managed resource group associated with the resource.""" + networkConfiguration: Required["NetworkConfiguration"] + """The configuration of the Kubernetes cluster networking, including the attachment of networks + that span the cluster. Required.""" + attachedNetworkIds: list[str] + """The full list of network resource IDs that are attached to this cluster, including those + attached only to specific agent pools.""" + availableUpgrades: list["AvailableUpgrade"] + """The list of versions that this Kubernetes cluster can be upgraded to.""" + clusterId: str + """The resource ID of the Network Cloud cluster.""" + connectedClusterId: str + """The resource ID of the connected cluster set up when this Kubernetes cluster is created.""" + controlPlaneKubernetesVersion: str + """The current running version of Kubernetes on the control plane.""" + detailedStatus: Union[str, "KubernetesClusterDetailedStatus"] + """The current status of the Kubernetes cluster. Known values are: \"Available\", \"Error\", and + \"Provisioning\".""" + detailedStatusMessage: str + """The descriptive message about the current detailed status.""" + featureStatuses: list["FeatureStatus"] + """The current feature settings.""" + nodes: list["KubernetesClusterNode"] + """The details of the nodes in this cluster.""" + provisioningState: Union[str, "KubernetesClusterProvisioningState"] + """The provisioning state of the Kubernetes cluster resource. Known values are: \"Succeeded\", + \"Failed\", \"Canceled\", \"Accepted\", \"InProgress\", \"Created\", \"Updating\", and + \"Deleting\".""" + + +class KubernetesClusterRestartNodeParameters(TypedDict, total=False): + """KubernetesClusterRestartNodeParameters represents the body of the request to restart the node + of a Kubernetes cluster. + + :ivar node_name: The name of the node to restart. Required. + :vartype node_name: str + """ + + nodeName: Required[str] + """The name of the node to restart. Required.""" + + +class KubernetesLabel(TypedDict, total=False): + """KubernetesLabel represents a single entry for a Kubernetes label or taint such as those used on + a node or pod. + + :ivar key: The name of the label or taint. Required. + :vartype key: str + :ivar value: The value of the label or taint. Required. + :vartype value: str + """ + + key: Required[str] + """The name of the label or taint. Required.""" + value: Required[str] + """The value of the label or taint. Required.""" + + +class L2Network(TrackedResource): + """L2Network represents a network that utilizes a single isolation domain set up for layer-2 + resources. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /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: "SystemData" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: The list of the resource properties. Required. + :vartype properties: "L2NetworkProperties" + :ivar etag: "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 etag: str + :ivar extended_location: The extended location of the resource. This property is required when + creating the resource. Required. + :vartype extended_location: "ExtendedLocation" + """ + + properties: Required["L2NetworkProperties"] + """The list of the resource properties. Required.""" + etag: str + """\"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.\").""" + extendedLocation: Required["ExtendedLocation"] + """The extended location of the resource. This property is required when creating the resource. + Required.""" + + +class L2NetworkAttachmentConfiguration(TypedDict, total=False): + """L2NetworkAttachmentConfiguration represents the configuration of the attachment of a Layer 2 + network. + + :ivar network_id: The resource ID of the network that is being configured for attachment. + Required. + :vartype network_id: str + :ivar plugin_type: The indicator of how this network will be utilized by the Kubernetes + cluster. Known values are: "DPDK", "SRIOV", "OSDevice", "MACVLAN", and "IPVLAN". + :vartype plugin_type: Union[str, "KubernetesPluginType"] + """ + + networkId: Required[str] + """The resource ID of the network that is being configured for attachment. Required.""" + pluginType: Union[str, "KubernetesPluginType"] + """The indicator of how this network will be utilized by the Kubernetes cluster. Known values are: + \"DPDK\", \"SRIOV\", \"OSDevice\", \"MACVLAN\", and \"IPVLAN\".""" + + +class L2NetworkPatchParameters(TypedDict, total=False): + """L2NetworkPatchParameters represents the body of the request to patch the L2 network. + + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + """ + + tags: dict[str, str] + """Resource tags.""" + + +class L2NetworkProperties(TypedDict, total=False): + """L2NetworkProperties represents properties of the L2 network. + + :ivar hybrid_aks_plugin_type: Field Deprecated. The field was previously optional, now it will + have no defined behavior and will be ignored. The network plugin type for Hybrid AKS. Known + values are: "DPDK", "SRIOV", and "OSDevice". + :vartype hybrid_aks_plugin_type: Union[str, "HybridAksPluginType"] + :ivar interface_name: The default interface name for this L2 network in the virtual machine. + This name can be overridden by the name supplied in the network attachment configuration of + that virtual machine. + :vartype interface_name: str + :ivar l2_isolation_domain_id: The resource ID of the Network Fabric l2IsolationDomain. + Required. + :vartype l2_isolation_domain_id: str + :ivar associated_resource_ids: The list of resource IDs for the other Microsoft.NetworkCloud + resources that have attached this network. + :vartype associated_resource_ids: list[str] + :ivar cluster_id: The resource ID of the Network Cloud cluster this L2 network is associated + with. + :vartype cluster_id: str + :ivar detailed_status: The more detailed status of the L2 network. Known values are: "Error", + "Available", and "Provisioning". + :vartype detailed_status: Union[str, "L2NetworkDetailedStatus"] + :ivar detailed_status_message: The descriptive message about the current detailed status. + :vartype detailed_status_message: str + :ivar hybrid_aks_clusters_associated_ids: Field Deprecated. These fields will be empty/omitted. + The list of Hybrid AKS cluster resource ID(s) that are associated with this L2 network. + :vartype hybrid_aks_clusters_associated_ids: list[str] + :ivar virtual_machines_associated_ids: Field Deprecated. These fields will be empty/omitted. + The list of virtual machine resource ID(s), excluding any Hybrid AKS virtual machines, that are + currently using this L2 network. + :vartype virtual_machines_associated_ids: list[str] + :ivar provisioning_state: The provisioning state of the L2 network. Known values are: + "Succeeded", "Failed", "Canceled", "Provisioning", and "Accepted". + :vartype provisioning_state: Union[str, "L2NetworkProvisioningState"] + """ + + hybridAksPluginType: Union[str, "HybridAksPluginType"] + """Field Deprecated. The field was previously optional, now it will have no defined behavior and + will be ignored. The network plugin type for Hybrid AKS. Known values are: \"DPDK\", \"SRIOV\", + and \"OSDevice\".""" + interfaceName: str + """The default interface name for this L2 network in the virtual machine. This name can be + overridden by the name supplied in the network attachment configuration of that virtual + machine.""" + l2IsolationDomainId: Required[str] + """The resource ID of the Network Fabric l2IsolationDomain. Required.""" + associatedResourceIds: list[str] + """The list of resource IDs for the other Microsoft.NetworkCloud resources that have attached this + network.""" + clusterId: str + """The resource ID of the Network Cloud cluster this L2 network is associated with.""" + detailedStatus: Union[str, "L2NetworkDetailedStatus"] + """The more detailed status of the L2 network. Known values are: \"Error\", \"Available\", and + \"Provisioning\".""" + detailedStatusMessage: str + """The descriptive message about the current detailed status.""" + hybridAksClustersAssociatedIds: list[str] + """Field Deprecated. These fields will be empty/omitted. The list of Hybrid AKS cluster resource + ID(s) that are associated with this L2 network.""" + virtualMachinesAssociatedIds: list[str] + """Field Deprecated. These fields will be empty/omitted. The list of virtual machine resource + ID(s), excluding any Hybrid AKS virtual machines, that are currently using this L2 network.""" + provisioningState: Union[str, "L2NetworkProvisioningState"] + """The provisioning state of the L2 network. Known values are: \"Succeeded\", \"Failed\", + \"Canceled\", \"Provisioning\", and \"Accepted\".""" + + +class L2ServiceLoadBalancerConfiguration(TypedDict, total=False): + """L2ServiceLoadBalancerConfiguration represents the configuration of a layer 2 service load + balancer. + + :ivar ip_address_pools: The list of pools of IP addresses that can be allocated to load + balancer services. + :vartype ip_address_pools: list["IpAddressPool"] + """ + + ipAddressPools: list["IpAddressPool"] + """The list of pools of IP addresses that can be allocated to load balancer services.""" + + +class L3Network(TrackedResource): + """L3Network represents a network that utilizes a single isolation domain set up for layer-3 + resources. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /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: "SystemData" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: The list of the resource properties. Required. + :vartype properties: "L3NetworkProperties" + :ivar etag: "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 etag: str + :ivar extended_location: The extended location of the resource. This property is required when + creating the resource. Required. + :vartype extended_location: "ExtendedLocation" + """ + + properties: Required["L3NetworkProperties"] + """The list of the resource properties. Required.""" + etag: str + """\"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.\").""" + extendedLocation: Required["ExtendedLocation"] + """The extended location of the resource. This property is required when creating the resource. + Required.""" + + +class L3NetworkAttachmentConfiguration(TypedDict, total=False): + """L3NetworkAttachmentConfiguration represents the configuration of the attachment of a Layer 3 + network. + + :ivar ipam_enabled: The indication of whether this network will or will not perform IP address + management and allocate IP addresses when attached. Known values are: "True" and "False". + :vartype ipam_enabled: Union[str, "L3NetworkConfigurationIpamEnabled"] + :ivar network_id: The resource ID of the network that is being configured for attachment. + Required. + :vartype network_id: str + :ivar plugin_type: The indicator of how this network will be utilized by the Kubernetes + cluster. Known values are: "DPDK", "SRIOV", "OSDevice", "MACVLAN", and "IPVLAN". + :vartype plugin_type: Union[str, "KubernetesPluginType"] + """ + + ipamEnabled: Union[str, "L3NetworkConfigurationIpamEnabled"] + """The indication of whether this network will or will not perform IP address management and + allocate IP addresses when attached. Known values are: \"True\" and \"False\".""" + networkId: Required[str] + """The resource ID of the network that is being configured for attachment. Required.""" + pluginType: Union[str, "KubernetesPluginType"] + """The indicator of how this network will be utilized by the Kubernetes cluster. Known values are: + \"DPDK\", \"SRIOV\", \"OSDevice\", \"MACVLAN\", and \"IPVLAN\".""" + + +class L3NetworkPatchParameters(TypedDict, total=False): + """L3NetworkPatchParameters represents the body of the request to patch the cloud services + network. + + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + """ + + tags: dict[str, str] + """Resource tags.""" + + +class L3NetworkProperties(TypedDict, total=False): + """L3NetworkProperties represents properties of the L3 network. + + :ivar hybrid_aks_ipam_enabled: Field Deprecated. The field was previously optional, now it will + have no defined behavior and will be ignored. The indicator of whether or not to disable IPAM + allocation on the network attachment definition injected into the Hybrid AKS Cluster. Known + values are: "True" and "False". + :vartype hybrid_aks_ipam_enabled: Union[str, "HybridAksIpamEnabled"] + :ivar hybrid_aks_plugin_type: Field Deprecated. The field was previously optional, now it will + have no defined behavior and will be ignored. The network plugin type for Hybrid AKS. Known + values are: "DPDK", "SRIOV", and "OSDevice". + :vartype hybrid_aks_plugin_type: Union[str, "HybridAksPluginType"] + :ivar interface_name: The default interface name for this L3 network in the virtual machine. + This name can be overridden by the name supplied in the network attachment configuration of + that virtual machine. + :vartype interface_name: str + :ivar ip_allocation_type: The type of the IP address allocation, defaulted to "DualStack". + Known values are: "IPV4", "IPV6", and "DualStack". + :vartype ip_allocation_type: Union[str, "IpAllocationType"] + :ivar ipv4_connected_prefix: The IPV4 prefix (CIDR) assigned to this L3 network. Required when + the IP allocation type is IPV4 or DualStack. + :vartype ipv4_connected_prefix: str + :ivar ipv6_connected_prefix: The IPV6 prefix (CIDR) assigned to this L3 network. Required when + the IP allocation type is IPV6 or DualStack. + :vartype ipv6_connected_prefix: str + :ivar l3_isolation_domain_id: The resource ID of the Network Fabric l3IsolationDomain. + Required. + :vartype l3_isolation_domain_id: str + :ivar vlan: The VLAN from the l3IsolationDomain that is used for this network. Required. + :vartype vlan: int + :ivar associated_resource_ids: The list of resource IDs for the other Microsoft.NetworkCloud + resources that have attached this network. + :vartype associated_resource_ids: list[str] + :ivar cluster_id: The resource ID of the Network Cloud cluster this L3 network is associated + with. + :vartype cluster_id: str + :ivar detailed_status: The more detailed status of the L3 network. Known values are: "Error", + "Available", and "Provisioning". + :vartype detailed_status: Union[str, "L3NetworkDetailedStatus"] + :ivar detailed_status_message: The descriptive message about the current detailed status. + :vartype detailed_status_message: str + :ivar hybrid_aks_clusters_associated_ids: Field Deprecated. These fields will be empty/omitted. + The list of Hybrid AKS cluster resource IDs that are associated with this L3 network. + :vartype hybrid_aks_clusters_associated_ids: list[str] + :ivar virtual_machines_associated_ids: Field Deprecated. These fields will be empty/omitted. + The list of virtual machine resource IDs, excluding any Hybrid AKS virtual machines, that are + currently using this L3 network. + :vartype virtual_machines_associated_ids: list[str] + :ivar provisioning_state: The provisioning state of the L3 network. Known values are: + "Succeeded", "Failed", "Canceled", "Provisioning", and "Accepted". + :vartype provisioning_state: Union[str, "L3NetworkProvisioningState"] + """ + + hybridAksIpamEnabled: Union[str, "HybridAksIpamEnabled"] + """Field Deprecated. The field was previously optional, now it will have no defined behavior and + will be ignored. The indicator of whether or not to disable IPAM allocation on the network + attachment definition injected into the Hybrid AKS Cluster. Known values are: \"True\" and + \"False\".""" + hybridAksPluginType: Union[str, "HybridAksPluginType"] + """Field Deprecated. The field was previously optional, now it will have no defined behavior and + will be ignored. The network plugin type for Hybrid AKS. Known values are: \"DPDK\", \"SRIOV\", + and \"OSDevice\".""" + interfaceName: str + """The default interface name for this L3 network in the virtual machine. This name can be + overridden by the name supplied in the network attachment configuration of that virtual + machine.""" + ipAllocationType: Union[str, "IpAllocationType"] + """The type of the IP address allocation, defaulted to \"DualStack\". Known values are: \"IPV4\", + \"IPV6\", and \"DualStack\".""" + ipv4ConnectedPrefix: str + """The IPV4 prefix (CIDR) assigned to this L3 network. Required when the IP allocation type is + IPV4 or DualStack.""" + ipv6ConnectedPrefix: str + """The IPV6 prefix (CIDR) assigned to this L3 network. Required when the IP allocation type is + IPV6 or DualStack.""" + l3IsolationDomainId: Required[str] + """The resource ID of the Network Fabric l3IsolationDomain. Required.""" + vlan: Required[int] + """The VLAN from the l3IsolationDomain that is used for this network. Required.""" + associatedResourceIds: list[str] + """The list of resource IDs for the other Microsoft.NetworkCloud resources that have attached this + network.""" + clusterId: str + """The resource ID of the Network Cloud cluster this L3 network is associated with.""" + detailedStatus: Union[str, "L3NetworkDetailedStatus"] + """The more detailed status of the L3 network. Known values are: \"Error\", \"Available\", and + \"Provisioning\".""" + detailedStatusMessage: str + """The descriptive message about the current detailed status.""" + hybridAksClustersAssociatedIds: list[str] + """Field Deprecated. These fields will be empty/omitted. The list of Hybrid AKS cluster resource + IDs that are associated with this L3 network.""" + virtualMachinesAssociatedIds: list[str] + """Field Deprecated. These fields will be empty/omitted. The list of virtual machine resource IDs, + excluding any Hybrid AKS virtual machines, that are currently using this L3 network.""" + provisioningState: Union[str, "L3NetworkProvisioningState"] + """The provisioning state of the L3 network. Known values are: \"Succeeded\", \"Failed\", + \"Canceled\", \"Provisioning\", and \"Accepted\".""" + + +class LldpNeighbor(TypedDict, total=False): + """Type Deprecated. Will be removed in an upcoming version. LldpNeighbor represents the details + about the device connected to the NIC. + + :ivar port_description: The descriptive information about the port on the connected device. + :vartype port_description: str + :ivar port_name: The system-assigned name of the port on the connected device. + :vartype port_name: str + :ivar system_description: The descriptive information about the connected device. + :vartype system_description: str + :ivar system_name: The system-assigned name of the connected device. + :vartype system_name: str + """ + + portDescription: str + """The descriptive information about the port on the connected device.""" + portName: str + """The system-assigned name of the port on the connected device.""" + systemDescription: str + """The descriptive information about the connected device.""" + systemName: str + """The system-assigned name of the connected device.""" + + +class ManagedResourceGroupConfiguration(TypedDict, total=False): + """ManagedResourceGroupConfiguration represents the configuration of the resource group managed by + Azure. + + :ivar location: The location of the managed resource group. If not specified, the location of + the parent resource is chosen. + :vartype location: str + :ivar name: The name for the managed resource group. If not specified, the unique name is + automatically generated. + :vartype name: str + """ + + location: str + """The location of the managed resource group. If not specified, the location of the parent + resource is chosen.""" + name: str + """The name for the managed resource group. If not specified, the unique name is automatically + generated.""" + + +class ManagedServiceIdentity(TypedDict, total=False): + """Managed service identity (system assigned and/or user assigned identities). + + :ivar principal_id: The service principal ID of the system assigned identity. This property + will only be provided for a system assigned identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of the system assigned identity. This property will only be + provided for a system assigned identity. + :vartype tenant_id: str + :ivar type: The type of managed identity assigned to this resource. Required. Known values are: + "None", "SystemAssigned", "UserAssigned", and "SystemAssigned,UserAssigned". + :vartype type: Union[str, "ManagedServiceIdentityType"] + :ivar user_assigned_identities: The identities assigned to this resource by the user. + :vartype user_assigned_identities: dict[str, "UserAssignedIdentity"] + """ + + principalId: str + """The service principal ID of the system assigned identity. This property will only be provided + for a system assigned identity.""" + tenantId: str + """The tenant ID of the system assigned identity. This property will only be provided for a system + assigned identity.""" + type: Required[Union[str, "ManagedServiceIdentityType"]] + """The type of managed identity assigned to this resource. Required. Known values are: \"None\", + \"SystemAssigned\", \"UserAssigned\", and \"SystemAssigned,UserAssigned\".""" + userAssignedIdentities: dict[str, "UserAssignedIdentity"] + """The identities assigned to this resource by the user.""" + + +class NetworkAttachment(TypedDict, total=False): + """NetworkAttachment represents the single network attachment. + + :ivar attached_network_id: The resource ID of the associated network attached to the virtual + machine. It can be one of cloudServicesNetwork, l3Network, l2Network or trunkedNetwork + resources. Required. + :vartype attached_network_id: str + :ivar default_gateway: The indicator of whether this is the default gateway. Only one of the + attached networks (including the CloudServicesNetwork attachment) for a single machine may be + specified as True. Known values are: "True" and "False". + :vartype default_gateway: Union[str, "DefaultGateway"] + :ivar ip_allocation_method: The IP allocation mechanism for the virtual machine. Dynamic and + Static are only valid for l3Network which may also specify Disabled. Otherwise, Disabled is the + only permitted value. Required. Known values are: "Dynamic", "Static", and "Disabled". + :vartype ip_allocation_method: Union[str, "VirtualMachineIPAllocationMethod"] + :ivar ipv4_address: The IPv4 address of the virtual machine. This field is used only if the + attached network has IPAllocationType of IPV4 or DualStack. If IPAllocationMethod is: Static - + this field must contain a user specified IPv4 address from within the subnet specified in the + attached network. Dynamic - this field is read-only, but will be populated with an address from + within the subnet specified in the attached network. Disabled - this field will be empty. + :vartype ipv4_address: str + :ivar ipv6_address: The IPv6 address of the virtual machine. This field is used only if the + attached network has IPAllocationType of IPV6 or DualStack. If IPAllocationMethod is: Static - + this field must contain an IPv6 address range from within the range specified in the attached + network. Dynamic - this field is read-only, but will be populated with an range from within the + subnet specified in the attached network. Disabled - this field will be empty. + :vartype ipv6_address: str + :ivar mac_address: The MAC address of the interface for the virtual machine that corresponds to + this network attachment. + :vartype mac_address: str + :ivar network_attachment_name: The associated network's interface name. If specified, the + network attachment name has a maximum length of 15 characters and must be unique to this + virtual machine. If the user doesn’t specify this value, the default interface name of the + network resource will be used. For a CloudServicesNetwork resource, this name will be ignored. + :vartype network_attachment_name: str + """ + + attachedNetworkId: Required[str] + """The resource ID of the associated network attached to the virtual machine. It can be one of + cloudServicesNetwork, l3Network, l2Network or trunkedNetwork resources. Required.""" + defaultGateway: Union[str, "DefaultGateway"] + """The indicator of whether this is the default gateway. Only one of the attached networks + (including the CloudServicesNetwork attachment) for a single machine may be specified as True. + Known values are: \"True\" and \"False\".""" + ipAllocationMethod: Required[Union[str, "VirtualMachineIPAllocationMethod"]] + """The IP allocation mechanism for the virtual machine. Dynamic and Static are only valid for + l3Network which may also specify Disabled. Otherwise, Disabled is the only permitted value. + Required. Known values are: \"Dynamic\", \"Static\", and \"Disabled\".""" + ipv4Address: str + """The IPv4 address of the virtual machine. This field is used only if the attached network has + IPAllocationType of IPV4 or DualStack. If IPAllocationMethod is: Static - this field must + contain a user specified IPv4 address from within the subnet specified in the attached network. + Dynamic - this field is read-only, but will be populated with an address from within the subnet + specified in the attached network. Disabled - this field will be empty.""" + ipv6Address: str + """The IPv6 address of the virtual machine. This field is used only if the attached network has + IPAllocationType of IPV6 or DualStack. If IPAllocationMethod is: Static - this field must + contain an IPv6 address range from within the range specified in the attached network. Dynamic + - this field is read-only, but will be populated with an range from within the subnet specified + in the attached network. Disabled - this field will be empty.""" + macAddress: str + """The MAC address of the interface for the virtual machine that corresponds to this network + attachment.""" + networkAttachmentName: str + """The associated network's interface name. If specified, the network attachment name has a + maximum length of 15 characters and must be unique to this virtual machine. If the user doesn’t + specify this value, the default interface name of the network resource will be used. For a + CloudServicesNetwork resource, this name will be ignored.""" + + +class NetworkConfiguration(TypedDict, total=False): + """NetworkConfiguration specifies the Kubernetes cluster network related configuration. + + :ivar attached_network_configuration: The configuration of networks being attached to the + cluster for use by the workloads that run on this Kubernetes cluster. + :vartype attached_network_configuration: "AttachedNetworkConfiguration" + :ivar bgp_service_load_balancer_configuration: The configuration of the BGP service load + balancer for this Kubernetes cluster. A maximum of one service load balancer may be specified, + either Layer 2 or BGP. + :vartype bgp_service_load_balancer_configuration: "BgpServiceLoadBalancerConfiguration" + :ivar cloud_services_network_id: The resource ID of the associated Cloud Services network. + Required. + :vartype cloud_services_network_id: str + :ivar cni_network_id: The resource ID of the Layer 3 network that is used for creation of the + Container Networking Interface network. Required. + :vartype cni_network_id: str + :ivar dns_service_ip: The IP address assigned to the Kubernetes DNS service. It must be within + the Kubernetes service address range specified in service CIDR. + :vartype dns_service_ip: str + :ivar l2_service_load_balancer_configuration: The configuration of the Layer 2 service load + balancer for this Kubernetes cluster. A maximum of one service load balancer may be specified, + either Layer 2 or BGP. + :vartype l2_service_load_balancer_configuration: "L2ServiceLoadBalancerConfiguration" + :ivar pod_cidrs: The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is + expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + expected for dual-stack networking. + :vartype pod_cidrs: list[str] + :ivar service_cidrs: The CIDR notation IP ranges from which to assign service IPs. One IPv4 + CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + expected for dual-stack networking. + :vartype service_cidrs: list[str] + """ + + attachedNetworkConfiguration: "AttachedNetworkConfiguration" + """The configuration of networks being attached to the cluster for use by the workloads that run + on this Kubernetes cluster.""" + bgpServiceLoadBalancerConfiguration: "BgpServiceLoadBalancerConfiguration" + """The configuration of the BGP service load balancer for this Kubernetes cluster. A maximum of + one service load balancer may be specified, either Layer 2 or BGP.""" + cloudServicesNetworkId: Required[str] + """The resource ID of the associated Cloud Services network. Required.""" + cniNetworkId: Required[str] + """The resource ID of the Layer 3 network that is used for creation of the Container Networking + Interface network. Required.""" + dnsServiceIp: str + """The IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service + address range specified in service CIDR.""" + l2ServiceLoadBalancerConfiguration: "L2ServiceLoadBalancerConfiguration" + """The configuration of the Layer 2 service load balancer for this Kubernetes cluster. A maximum + of one service load balancer may be specified, either Layer 2 or BGP.""" + podCidrs: list[str] + """The CIDR notation IP ranges from which to assign pod IPs. One IPv4 CIDR is expected for + single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for + dual-stack networking.""" + serviceCidrs: list[str] + """The CIDR notation IP ranges from which to assign service IPs. One IPv4 CIDR is expected for + single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for + dual-stack networking.""" + + +class Nic(TypedDict, total=False): + """Type Deprecated. Will be removed in an upcoming version. Nic represents the network interface + card details. + + :ivar lldp_neighbor: The information about the device connected to this NIC. + :vartype lldp_neighbor: "LldpNeighbor" + :ivar mac_address: The MAC address associated with this NIC. + :vartype mac_address: str + :ivar name: The name of the NIC/interface. + :vartype name: str + """ + + lldpNeighbor: "LldpNeighbor" + """The information about the device connected to this NIC.""" + macAddress: str + """The MAC address associated with this NIC.""" + name: str + """The name of the NIC/interface.""" + + +class NodePoolAdministratorConfigurationPatch(TypedDict, total=False): + """NodePoolAdministratorConfigurationPatch represents the patching capabilities for the + administrator configuration. + + :ivar ssh_public_keys: SshPublicKey represents the public key used to authenticate with a + resource through SSH. + :vartype ssh_public_keys: list["SshPublicKey"] + """ + + sshPublicKeys: list["SshPublicKey"] + """SshPublicKey represents the public key used to authenticate with a resource through SSH.""" + + +class OsDisk(TypedDict, total=False): + """OsDisk represents configuration of the boot disk. + + :ivar create_option: The strategy for creating the OS disk. Known values are: "Ephemeral" and + "Persistent". + :vartype create_option: Union[str, "OsDiskCreateOption"] + :ivar delete_option: The strategy for deleting the OS disk. "Delete" + :vartype delete_option: Union[str, "OsDiskDeleteOption"] + :ivar disk_size_gb: The size of the disk. Required if the createOption is Ephemeral. + Allocations are measured in gibibytes. Required. + :vartype disk_size_gb: int + """ + + createOption: Union[str, "OsDiskCreateOption"] + """The strategy for creating the OS disk. Known values are: \"Ephemeral\" and \"Persistent\".""" + deleteOption: Union[str, "OsDiskDeleteOption"] + """The strategy for deleting the OS disk. \"Delete\"""" + diskSizeGB: Required[int] + """The size of the disk. Required if the createOption is Ephemeral. Allocations are measured in + gibibytes. Required.""" + + +class Rack(TrackedResource): + """Rack represents the hardware of the rack and is dependent upon the cluster for lifecycle. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /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: "SystemData" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: The list of the resource properties. Required. + :vartype properties: "RackProperties" + :ivar etag: "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 etag: str + :ivar extended_location: The extended location of the resource. This property is required when + creating the resource. Required. + :vartype extended_location: "ExtendedLocation" + """ + + properties: Required["RackProperties"] + """The list of the resource properties. Required.""" + etag: str + """\"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.\").""" + extendedLocation: Required["ExtendedLocation"] + """The extended location of the resource. This property is required when creating the resource. + Required.""" + + +class RackDefinition(TypedDict, total=False): + """RackDefinition represents details regarding the rack. + + :ivar availability_zone: The zone name used for this rack when created. Availability zones are + used for workload placement. + :vartype availability_zone: str + :ivar bare_metal_machine_configuration_data: The unordered list of bare metal machine + configuration. + :vartype bare_metal_machine_configuration_data: list["BareMetalMachineConfigurationData"] + :ivar network_rack_id: The resource ID of the network rack that matches this rack definition. + Required. + :vartype network_rack_id: str + :ivar rack_location: The free-form description of the rack's location. + :vartype rack_location: str + :ivar rack_serial_number: The unique identifier for the rack within Network Cloud cluster. An + alternate unique alphanumeric value other than a serial number may be provided if desired. + Required. + :vartype rack_serial_number: str + :ivar rack_sku_id: The resource ID of the sku for the rack being added. Required. + :vartype rack_sku_id: str + :ivar storage_appliance_configuration_data: The list of storage appliance configuration data + for this rack. + :vartype storage_appliance_configuration_data: list["StorageApplianceConfigurationData"] + """ + + availabilityZone: str + """The zone name used for this rack when created. Availability zones are used for workload + placement.""" + bareMetalMachineConfigurationData: list["BareMetalMachineConfigurationData"] + """The unordered list of bare metal machine configuration.""" + networkRackId: Required[str] + """The resource ID of the network rack that matches this rack definition. Required.""" + rackLocation: str + """The free-form description of the rack's location.""" + rackSerialNumber: Required[str] + """The unique identifier for the rack within Network Cloud cluster. An alternate unique + alphanumeric value other than a serial number may be provided if desired. Required.""" + rackSkuId: Required[str] + """The resource ID of the sku for the rack being added. Required.""" + storageApplianceConfigurationData: list["StorageApplianceConfigurationData"] + """The list of storage appliance configuration data for this rack.""" + + +class RackPatchParameters(TypedDict, total=False): + """RackPatchParameters represents the body of the request to patch the rack properties. + + :ivar properties: The list of the resource properties. + :vartype properties: "RacksPatchProperties" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + """ + + properties: "RacksPatchProperties" + """The list of the resource properties.""" + tags: dict[str, str] + """Resource tags.""" + + +class RackProperties(TypedDict, total=False): + """RackProperties represents the properties of the rack. + + :ivar availability_zone: The value that will be used for machines in this rack to represent the + availability zones that can be referenced by Hybrid AKS Clusters for node arrangement. + Required. + :vartype availability_zone: str + :ivar rack_location: The free-form description of the rack location. (e.g. "DTN Datacenter, + Floor 3, Isle 9, Rack 2B"). Required. + :vartype rack_location: str + :ivar rack_serial_number: The unique identifier for the rack within Network Cloud cluster. An + alternate unique alphanumeric value other than a serial number may be provided if desired. + Required. + :vartype rack_serial_number: str + :ivar rack_sku_id: The SKU for the rack. Required. + :vartype rack_sku_id: str + :ivar cluster_id: The resource ID of the cluster the rack is created for. This value is set + when the rack is created by the cluster. + :vartype cluster_id: str + :ivar detailed_status: The more detailed status of the rack. Known values are: "Error", + "Available", and "Provisioning". + :vartype detailed_status: Union[str, "RackDetailedStatus"] + :ivar detailed_status_message: The descriptive message about the current detailed status. + :vartype detailed_status_message: str + :ivar provisioning_state: The provisioning state of the rack resource. Known values are: + "Succeeded", "Failed", "Canceled", "Provisioning", and "Accepted". + :vartype provisioning_state: Union[str, "RackProvisioningState"] + """ + + availabilityZone: Required[str] + """The value that will be used for machines in this rack to represent the availability zones that + can be referenced by Hybrid AKS Clusters for node arrangement. Required.""" + rackLocation: Required[str] + """The free-form description of the rack location. (e.g. \"DTN Datacenter, Floor 3, Isle 9, Rack + 2B\"). Required.""" + rackSerialNumber: Required[str] + """The unique identifier for the rack within Network Cloud cluster. An alternate unique + alphanumeric value other than a serial number may be provided if desired. Required.""" + rackSkuId: Required[str] + """The SKU for the rack. Required.""" + clusterId: str + """The resource ID of the cluster the rack is created for. This value is set when the rack is + created by the cluster.""" + detailedStatus: Union[str, "RackDetailedStatus"] + """The more detailed status of the rack. Known values are: \"Error\", \"Available\", and + \"Provisioning\".""" + detailedStatusMessage: str + """The descriptive message about the current detailed status.""" + provisioningState: Union[str, "RackProvisioningState"] + """The provisioning state of the rack resource. Known values are: \"Succeeded\", \"Failed\", + \"Canceled\", \"Provisioning\", and \"Accepted\".""" + + +class RacksPatchProperties(TypedDict, total=False): + """RacksPatchProperties represents the properties of the rack during patching. + + :ivar rack_location: The free-form description of the rack location. (e.g. "DTN Datacenter, + Floor 3, Isle 9, Rack 2B"). + :vartype rack_location: str + :ivar rack_serial_number: The globally unique identifier for the rack. + :vartype rack_serial_number: str + """ + + rackLocation: str + """The free-form description of the rack location. (e.g. \"DTN Datacenter, Floor 3, Isle 9, Rack + 2B\").""" + rackSerialNumber: str + """The globally unique identifier for the rack.""" + + +class RuntimeProtectionConfiguration(TypedDict, total=False): + """RuntimeProtectionConfiguration represents the runtime protection configuration for the cluster. + + :ivar enforcement_level: The mode of operation for runtime protection. Known values are: + "Audit", "Disabled", "OnDemand", "Passive", and "RealTime". + :vartype enforcement_level: Union[str, "RuntimeProtectionEnforcementLevel"] + """ + + enforcementLevel: Union[str, "RuntimeProtectionEnforcementLevel"] + """The mode of operation for runtime protection. Known values are: \"Audit\", \"Disabled\", + \"OnDemand\", \"Passive\", and \"RealTime\".""" + + +class RuntimeProtectionStatus(TypedDict, total=False): + """RuntimeProtectionStatus represents the runtime protection status of the bare metal machine. + + :ivar definitions_last_updated: The timestamp when the malware definitions were last updated. + :vartype definitions_last_updated: str + :ivar definitions_version: The version of the malware definitions. + :vartype definitions_version: str + :ivar scan_completed_time: The timestamp of the most recently completed scan, or empty if there + has never been a scan. + :vartype scan_completed_time: str + :ivar scan_scheduled_time: The timestamp of the most recently scheduled scan, or empty if no + scan has been scheduled. + :vartype scan_scheduled_time: str + :ivar scan_started_time: The timestamp of the most recently started scan, or empty if there has + never been a scan. + :vartype scan_started_time: str + """ + + definitionsLastUpdated: str + """The timestamp when the malware definitions were last updated.""" + definitionsVersion: str + """The version of the malware definitions.""" + scanCompletedTime: str + """The timestamp of the most recently completed scan, or empty if there has never been a scan.""" + scanScheduledTime: str + """The timestamp of the most recently scheduled scan, or empty if no scan has been scheduled.""" + scanStartedTime: str + """The timestamp of the most recently started scan, or empty if there has never been a scan.""" + + +class SecretArchiveReference(TypedDict, total=False): + """SecretArchiveReference represents the reference to a secret in a key vault. + + :ivar key_vault_id: The resource ID of the key vault containing the secret. + :vartype key_vault_id: str + :ivar key_vault_uri: The URI of the key containing the secret. + :vartype key_vault_uri: str + :ivar secret_name: The name of the secret in the key vault. + :vartype secret_name: str + :ivar secret_version: The version of the secret in the key vault. + :vartype secret_version: str + """ + + keyVaultId: str + """The resource ID of the key vault containing the secret.""" + keyVaultUri: str + """The URI of the key containing the secret.""" + secretName: str + """The name of the secret in the key vault.""" + secretVersion: str + """The version of the secret in the key vault.""" + + +class SecretArchiveSettings(TypedDict, total=False): + """SecretArchiveSettings represents the settings for the secret archive used to hold credentials + for the cluster. + + :ivar associated_identity: The selection of the managed identity to use with this vault URI. + The identity type must be either system assigned or user assigned. + :vartype associated_identity: "IdentitySelector" + :ivar vault_uri: The URI for the key vault used as the secret archive. + :vartype vault_uri: str + """ + + associatedIdentity: "IdentitySelector" + """The selection of the managed identity to use with this vault URI. The identity type must be + either system assigned or user assigned.""" + vaultUri: str + """The URI for the key vault used as the secret archive.""" + + +class SecretRotationStatus(TypedDict, total=False): + """SecretRotationStatus represents the status of a secret rotation. + + :ivar expire_period_days: The maximum number of days the secret may be used before it must be + changed. + :vartype expire_period_days: int + :ivar last_rotation_time: The date and time when the secret was last changed. + :vartype last_rotation_time: str + :ivar rotation_period_days: The number of days a secret exists before rotations will be + attempted. + :vartype rotation_period_days: int + :ivar secret_archive_reference: The reference to the secret in a key vault. + :vartype secret_archive_reference: "SecretArchiveReference" + :ivar secret_type: The type name used to identify the purpose of the secret. + :vartype secret_type: str + """ + + expirePeriodDays: int + """The maximum number of days the secret may be used before it must be changed.""" + lastRotationTime: str + """The date and time when the secret was last changed.""" + rotationPeriodDays: int + """The number of days a secret exists before rotations will be attempted.""" + secretArchiveReference: "SecretArchiveReference" + """The reference to the secret in a key vault.""" + secretType: str + """The type name used to identify the purpose of the secret.""" + + +class ServiceLoadBalancerBgpPeer(TypedDict, total=False): + """ServiceLoadBalancerBgpPeer represents the configuration of the BGP service load balancer for + the Kubernetes cluster. + + :ivar bfd_enabled: The indicator of BFD enablement for this BgpPeer. Known values are: "True" + and "False". + :vartype bfd_enabled: Union[str, "BfdEnabled"] + :ivar bgp_multi_hop: The indicator to enable multi-hop peering support. Known values are: + "True" and "False". + :vartype bgp_multi_hop: Union[str, "BgpMultiHop"] + :ivar hold_time: Field Deprecated. The field was previously optional, now it will have no + defined behavior and will be ignored. The requested BGP hold time value. This field uses ISO + 8601 duration format, for example P1H. + :vartype hold_time: str + :ivar keep_alive_time: Field Deprecated. The field was previously optional, now it will have no + defined behavior and will be ignored. The requested BGP keepalive time value. This field uses + ISO 8601 duration format, for example P1H. + :vartype keep_alive_time: str + :ivar my_asn: The autonomous system number used for the local end of the BGP session. + :vartype my_asn: int + :ivar name: The name used to identify this BGP peer for association with a BGP advertisement. + Required. + :vartype name: str + :ivar password: The authentication password for routers enforcing TCP MD5 authenticated + sessions. + :vartype password: str + :ivar peer_address: The IPv4 or IPv6 address used to connect this BGP session. Required. + :vartype peer_address: str + :ivar peer_asn: The autonomous system number expected from the remote end of the BGP session. + Required. + :vartype peer_asn: int + :ivar peer_port: The port used to connect this BGP session. + :vartype peer_port: int + """ + + bfdEnabled: Union[str, "BfdEnabled"] + """The indicator of BFD enablement for this BgpPeer. Known values are: \"True\" and \"False\".""" + bgpMultiHop: Union[str, "BgpMultiHop"] + """The indicator to enable multi-hop peering support. Known values are: \"True\" and \"False\".""" + holdTime: str + """Field Deprecated. The field was previously optional, now it will have no defined behavior and + will be ignored. The requested BGP hold time value. This field uses ISO 8601 duration format, + for example P1H.""" + keepAliveTime: str + """Field Deprecated. The field was previously optional, now it will have no defined behavior and + will be ignored. The requested BGP keepalive time value. This field uses ISO 8601 duration + format, for example P1H.""" + myAsn: int + """The autonomous system number used for the local end of the BGP session.""" + name: Required[str] + """The name used to identify this BGP peer for association with a BGP advertisement. Required.""" + password: str + """The authentication password for routers enforcing TCP MD5 authenticated sessions.""" + peerAddress: Required[str] + """The IPv4 or IPv6 address used to connect this BGP session. Required.""" + peerAsn: Required[int] + """The autonomous system number expected from the remote end of the BGP session. Required.""" + peerPort: int + """The port used to connect this BGP session.""" + + +class ServicePrincipalInformation(TypedDict, total=False): + """ServicePrincipalInformation represents the details of the service principal to be used by the + cluster during Arc Appliance installation. + + :ivar application_id: The application ID, also known as client ID, of the service principal. + Required. + :vartype application_id: str + :ivar password: The password of the service principal. Required. + :vartype password: str + :ivar principal_id: The principal ID, also known as the object ID, of the service principal. + Required. + :vartype principal_id: str + :ivar tenant_id: The tenant ID, also known as the directory ID, of the tenant in which the + service principal is created. Required. + :vartype tenant_id: str + """ + + applicationId: Required[str] + """The application ID, also known as client ID, of the service principal. Required.""" + password: Required[str] + """The password of the service principal. Required.""" + principalId: Required[str] + """The principal ID, also known as the object ID, of the service principal. Required.""" + tenantId: Required[str] + """The tenant ID, also known as the directory ID, of the tenant in which the service principal is + created. Required.""" + + +class SshPublicKey(TypedDict, total=False): + """SshPublicKey represents the public key used to authenticate with a resource through SSH. + + :ivar key_data: The SSH public key data. Required. + :vartype key_data: str + """ + + keyData: Required[str] + """The SSH public key data. Required.""" + + +class StepState(TypedDict, total=False): + """StepState represents the state of a step in an action. + + :ivar end_time: The timestamp for when processing of the step reached its terminal state, in + ISO 8601 format. + :vartype end_time: str + :ivar message: The message providing additional context for the status value. May be empty, or + contain diagnostic information in the case of a failure. + :vartype message: str + :ivar start_time: The timestamp for when processing of the step began, in ISO 8601 format. + :vartype start_time: str + :ivar status: The status of the step. A value of Completed or Failed indicates a terminal state + for the step. Known values are: "Completed", "InProgress", "Failed", and "NotStarted". + :vartype status: Union[str, "StepStateStatus"] + :ivar step_name: The name for the step. + :vartype step_name: str + """ + + endTime: str + """The timestamp for when processing of the step reached its terminal state, in ISO 8601 format.""" + message: str + """The message providing additional context for the status value. May be empty, or contain + diagnostic information in the case of a failure.""" + startTime: str + """The timestamp for when processing of the step began, in ISO 8601 format.""" + status: Union[str, "StepStateStatus"] + """The status of the step. A value of Completed or Failed indicates a terminal state for the step. + Known values are: \"Completed\", \"InProgress\", \"Failed\", and \"NotStarted\".""" + stepName: str + """The name for the step.""" + + +class StorageAppliance(TrackedResource): + """StorageAppliance represents on-premises Network Cloud storage appliance. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /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: "SystemData" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: The list of the resource properties. Required. + :vartype properties: "StorageApplianceProperties" + :ivar etag: "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 etag: str + :ivar extended_location: The extended location of the resource. This property is required when + creating the resource. Required. + :vartype extended_location: "ExtendedLocation" + """ + + properties: Required["StorageApplianceProperties"] + """The list of the resource properties. Required.""" + etag: str + """\"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.\").""" + extendedLocation: Required["ExtendedLocation"] + """The extended location of the resource. This property is required when creating the resource. + Required.""" + + +class StorageApplianceCommandSpecification(TypedDict, total=False): + """StorageApplianceCommandSpecification represents the command and optional arguments to run. + + :ivar arguments: The list of strings that will be passed to the script in order as separate + arguments. + :vartype arguments: list[str] + :ivar command: The command to execute. Required. + :vartype command: str + """ + + arguments: list[str] + """The list of strings that will be passed to the script in order as separate arguments.""" + command: Required[str] + """The command to execute. Required.""" + + +class StorageApplianceConfigurationData(TypedDict, total=False): + """StorageApplianceConfigurationData represents configuration for the storage application. + + :ivar admin_credentials: The credentials of the administrative interface on this storage + appliance. The password field is expected to be an Azure Key Vault key URL. Until the cluster + is converted to utilize managed identity by setting the secret archive settings, the actual + password value should be provided instead. Required. + :vartype admin_credentials: "AdministrativeCredentials" + :ivar rack_slot: The slot that storage appliance is in the rack based on the BOM configuration. + Required. + :vartype rack_slot: int + :ivar serial_number: The serial number of the appliance. Required. + :vartype serial_number: str + :ivar storage_appliance_name: The user-provided name for the storage appliance that will be + created from this specification. + :vartype storage_appliance_name: str + """ + + adminCredentials: Required["AdministrativeCredentials"] + """The credentials of the administrative interface on this storage appliance. The password field + is expected to be an Azure Key Vault key URL. Until the cluster is converted to utilize managed + identity by setting the secret archive settings, the actual password value should be provided + instead. Required.""" + rackSlot: Required[int] + """The slot that storage appliance is in the rack based on the BOM configuration. Required.""" + serialNumber: Required[str] + """The serial number of the appliance. Required.""" + storageApplianceName: str + """The user-provided name for the storage appliance that will be created from this specification.""" + + +class StorageApplianceEnableRemoteVendorManagementParameters(TypedDict, total=False): # pylint: disable=name-too-long + """StorageApplianceEnableRemoteVendorManagementParameters represents the body of the request to + enable remote vendor management of a storage appliance. + + :ivar support_endpoints: Field Deprecated. This field is not used and will be rejected if + provided. The list of IPv4 subnets (in CIDR format), IPv6 subnets (in CIDR format), or + hostnames that the storage appliance needs accessible in order to turn on the remote vendor + management. + :vartype support_endpoints: list[str] + """ + + supportEndpoints: list[str] + """Field Deprecated. This field is not used and will be rejected if provided. The list of IPv4 + subnets (in CIDR format), IPv6 subnets (in CIDR format), or hostnames that the storage + appliance needs accessible in order to turn on the remote vendor management.""" + + +class StorageAppliancePatchParameters(TypedDict, total=False): + """StorageAppliancePatchParameters represents the body of the request to patch storage appliance + properties. + + :ivar properties: The list of the resource properties. + :vartype properties: "StorageAppliancePatchProperties" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + """ + + properties: "StorageAppliancePatchProperties" + """The list of the resource properties.""" + tags: dict[str, str] + """Resource tags.""" + + +class StorageAppliancePatchProperties(TypedDict, total=False): + """StorageAppliancePatchProperties represents the properties of the storage appliance that can be + patched. + + :ivar serial_number: The serial number for the storage appliance. + :vartype serial_number: str + """ + + serialNumber: str + """The serial number for the storage appliance.""" + + +class StorageApplianceProperties(TypedDict, total=False): + """StorageApplianceProperties represents the properties of the storage appliance. + + :ivar rack_id: The resource ID of the rack where this storage appliance resides. Required. + :vartype rack_id: str + :ivar storage_appliance_sku_id: The SKU for the storage appliance. Required. + :vartype storage_appliance_sku_id: str + :ivar rack_slot: The slot the storage appliance is in the rack based on the BOM configuration. + Required. + :vartype rack_slot: int + :ivar serial_number: The serial number for the storage appliance. Required. + :vartype serial_number: str + :ivar administrator_credentials: The credentials of the administrative interface on this + storage appliance. Required. + :vartype administrator_credentials: "AdministrativeCredentials" + :ivar ca_certificate: The CA certificate information issued by the platform for connecting to + TLS interfaces for the storage appliance. Callers add this certificate to their trusted CA + store to allow secure communication with the storage appliance. + :vartype ca_certificate: "CertificateInfo" + :ivar capacity: The total capacity of the storage appliance. Measured in GiB. + :vartype capacity: int + :ivar capacity_used: The amount of storage consumed. Measured in GiB. + :vartype capacity_used: int + :ivar cluster_id: The resource ID of the cluster this storage appliance is associated with. + :vartype cluster_id: str + :ivar detailed_status: The detailed status of the storage appliance. Known values are: + "Available", "Degraded", "Error", and "Provisioning". + :vartype detailed_status: Union[str, "StorageApplianceDetailedStatus"] + :ivar detailed_status_message: The descriptive message about the current detailed status. + :vartype detailed_status_message: str + :ivar management_ipv4_address: The endpoint for the management interface of the storage + appliance. + :vartype management_ipv4_address: str + :ivar manufacturer: The manufacturer of the storage appliance. + :vartype manufacturer: str + :ivar model: The model of the storage appliance. + :vartype model: str + :ivar remote_vendor_management_feature: The indicator of whether the storage appliance supports + remote vendor management. Known values are: "Supported" and "Unsupported". + :vartype remote_vendor_management_feature: Union[str, "RemoteVendorManagementFeature"] + :ivar remote_vendor_management_status: The indicator of whether the remote vendor management + feature is enabled or disabled, or unsupported if it is an unsupported feature. Known values + are: "Enabled", "Disabled", and "Unsupported". + :vartype remote_vendor_management_status: Union[str, "RemoteVendorManagementStatus"] + :ivar secret_rotation_status: The list of statuses that represent secret rotation activity. + :vartype secret_rotation_status: list["SecretRotationStatus"] + :ivar version: The version of the storage appliance. + :vartype version: str + :ivar provisioning_state: The provisioning state of the storage appliance. Known values are: + "Succeeded", "Failed", "Canceled", "Provisioning", and "Accepted". + :vartype provisioning_state: Union[str, "StorageApplianceProvisioningState"] + """ + + rackId: Required[str] + """The resource ID of the rack where this storage appliance resides. Required.""" + storageApplianceSkuId: Required[str] + """The SKU for the storage appliance. Required.""" + rackSlot: Required[int] + """The slot the storage appliance is in the rack based on the BOM configuration. Required.""" + serialNumber: Required[str] + """The serial number for the storage appliance. Required.""" + administratorCredentials: Required["AdministrativeCredentials"] + """The credentials of the administrative interface on this storage appliance. Required.""" + caCertificate: "CertificateInfo" + """The CA certificate information issued by the platform for connecting to TLS interfaces for the + storage appliance. Callers add this certificate to their trusted CA store to allow secure + communication with the storage appliance.""" + capacity: int + """The total capacity of the storage appliance. Measured in GiB.""" + capacityUsed: int + """The amount of storage consumed. Measured in GiB.""" + clusterId: str + """The resource ID of the cluster this storage appliance is associated with.""" + detailedStatus: Union[str, "StorageApplianceDetailedStatus"] + """The detailed status of the storage appliance. Known values are: \"Available\", \"Degraded\", + \"Error\", and \"Provisioning\".""" + detailedStatusMessage: str + """The descriptive message about the current detailed status.""" + managementIpv4Address: str + """The endpoint for the management interface of the storage appliance.""" + manufacturer: str + """The manufacturer of the storage appliance.""" + model: str + """The model of the storage appliance.""" + remoteVendorManagementFeature: Union[str, "RemoteVendorManagementFeature"] + """The indicator of whether the storage appliance supports remote vendor management. Known values + are: \"Supported\" and \"Unsupported\".""" + remoteVendorManagementStatus: Union[str, "RemoteVendorManagementStatus"] + """The indicator of whether the remote vendor management feature is enabled or disabled, or + unsupported if it is an unsupported feature. Known values are: \"Enabled\", \"Disabled\", and + \"Unsupported\".""" + secretRotationStatus: list["SecretRotationStatus"] + """The list of statuses that represent secret rotation activity.""" + version: str + """The version of the storage appliance.""" + provisioningState: Union[str, "StorageApplianceProvisioningState"] + """The provisioning state of the storage appliance. Known values are: \"Succeeded\", \"Failed\", + \"Canceled\", \"Provisioning\", and \"Accepted\".""" + + +class StorageApplianceRunReadCommandsParameters(TypedDict, total=False): # pylint: disable=name-too-long + """StorageApplianceRunReadCommandsParameters represents the body of request containing list of + read-only commands to run on the storage appliance. + + :ivar commands: The list of read-only commands to be executed directly against the target + storage appliance. Required. + :vartype commands: list["StorageApplianceCommandSpecification"] + :ivar limit_time_seconds: The maximum time the commands are allowed to run. Required. + :vartype limit_time_seconds: int + """ + + commands: Required[list["StorageApplianceCommandSpecification"]] + """The list of read-only commands to be executed directly against the target storage appliance. + Required.""" + limitTimeSeconds: Required[int] + """The maximum time the commands are allowed to run. Required.""" + + +class StorageProfile(TypedDict, total=False): + """StorageProfile represents information about a disk. + + :ivar os_disk: The disk to use with this virtual machine. Required. + :vartype os_disk: "OsDisk" + :ivar volume_attachments: The resource IDs of volumes that are requested to be attached to the + virtual machine. + :vartype volume_attachments: list[str] + """ + + osDisk: Required["OsDisk"] + """The disk to use with this virtual machine. Required.""" + volumeAttachments: list[str] + """The resource IDs of volumes that are requested to be attached to the virtual machine.""" + + +class StringKeyValuePair(TypedDict, total=False): + """StringKeyValuePair represents a single entry in a mapping of keys to values. + + :ivar key: The key to the mapped value. Required. + :vartype key: str + :ivar value: The value of the mapping key. Required. + :vartype value: str + """ + + key: Required[str] + """The key to the mapped value. Required.""" + value: Required[str] + """The value of the mapping key. Required.""" + + +class SystemData(TypedDict, total=False): + """Metadata pertaining to creation and last modification of the resource. + + :ivar created_by: The identity that created the resource. + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource. Known values are: + "User", "Application", "ManagedIdentity", and "Key". + :vartype created_by_type: Union[str, "CreatedByType"] + :ivar created_at: The timestamp of resource creation (UTC). + :vartype created_at: str + :ivar last_modified_by: The identity that last modified the resource. + :vartype last_modified_by: str + :ivar last_modified_by_type: The type of identity that last modified the resource. Known values + are: "User", "Application", "ManagedIdentity", and "Key". + :vartype last_modified_by_type: Union[str, "CreatedByType"] + :ivar last_modified_at: The timestamp of resource last modification (UTC). + :vartype last_modified_at: str + """ + + createdBy: str + """The identity that created the resource.""" + createdByType: Union[str, "CreatedByType"] + """The type of identity that created the resource. Known values are: \"User\", \"Application\", + \"ManagedIdentity\", and \"Key\".""" + createdAt: str + """The timestamp of resource creation (UTC).""" + lastModifiedBy: str + """The identity that last modified the resource.""" + lastModifiedByType: Union[str, "CreatedByType"] + """The type of identity that last modified the resource. Known values are: \"User\", + \"Application\", \"ManagedIdentity\", and \"Key\".""" + lastModifiedAt: str + """The timestamp of resource last modification (UTC).""" + + +class TrunkedNetwork(TrackedResource): + """TrunkedNetwork represents a network that utilizes multiple isolation domains and specified + VLANs to create a trunked network. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /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: "SystemData" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: The list of the resource properties. Required. + :vartype properties: "TrunkedNetworkProperties" + :ivar etag: "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 etag: str + :ivar extended_location: The extended location of the resource. This property is required when + creating the resource. Required. + :vartype extended_location: "ExtendedLocation" + """ + + properties: Required["TrunkedNetworkProperties"] + """The list of the resource properties. Required.""" + etag: str + """\"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.\").""" + extendedLocation: Required["ExtendedLocation"] + """The extended location of the resource. This property is required when creating the resource. + Required.""" + + +class TrunkedNetworkAttachmentConfiguration(TypedDict, total=False): + """TrunkedNetworkAttachmentConfiguration represents the configuration of the attachment of a + trunked network. + + :ivar network_id: The resource ID of the network that is being configured for attachment. + Required. + :vartype network_id: str + :ivar plugin_type: The indicator of how this network will be utilized by the Kubernetes + cluster. Known values are: "DPDK", "SRIOV", "OSDevice", "MACVLAN", and "IPVLAN". + :vartype plugin_type: Union[str, "KubernetesPluginType"] + """ + + networkId: Required[str] + """The resource ID of the network that is being configured for attachment. Required.""" + pluginType: Union[str, "KubernetesPluginType"] + """The indicator of how this network will be utilized by the Kubernetes cluster. Known values are: + \"DPDK\", \"SRIOV\", \"OSDevice\", \"MACVLAN\", and \"IPVLAN\".""" + + +class TrunkedNetworkPatchParameters(TypedDict, total=False): + """TrunkedNetworkPatchParameters represents the body of the request to patch the Trunked network. + + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + """ + + tags: dict[str, str] + """Resource tags.""" + + +class TrunkedNetworkProperties(TypedDict, total=False): + """TrunkedNetworkProperties represents properties of the trunked network. + + :ivar hybrid_aks_plugin_type: Field Deprecated. The field was previously optional, now it will + have no defined behavior and will be ignored. The network plugin type for Hybrid AKS. Known + values are: "DPDK", "SRIOV", and "OSDevice". + :vartype hybrid_aks_plugin_type: Union[str, "HybridAksPluginType"] + :ivar interface_name: The default interface name for this trunked network in the virtual + machine. This name can be overridden by the name supplied in the network attachment + configuration of that virtual machine. + :vartype interface_name: str + :ivar isolation_domain_ids: The list of resource IDs representing the Network Fabric isolation + domains. It can be any combination of l2IsolationDomain and l3IsolationDomain resources. + Required. + :vartype isolation_domain_ids: list[str] + :ivar vlans: The list of vlans that are selected from the isolation domains for trunking. + Required. + :vartype vlans: list[int] + :ivar associated_resource_ids: The list of resource IDs for the other Microsoft.NetworkCloud + resources that have attached this network. + :vartype associated_resource_ids: list[str] + :ivar cluster_id: The resource ID of the Network Cloud cluster this trunked network is + associated with. + :vartype cluster_id: str + :ivar detailed_status: The more detailed status of the trunked network. Known values are: + "Error", "Available", and "Provisioning". + :vartype detailed_status: Union[str, "TrunkedNetworkDetailedStatus"] + :ivar detailed_status_message: The descriptive message about the current detailed status. + :vartype detailed_status_message: str + :ivar hybrid_aks_clusters_associated_ids: Field Deprecated. These fields will be empty/omitted. + The list of Hybrid AKS cluster resource IDs that are associated with this trunked network. + :vartype hybrid_aks_clusters_associated_ids: list[str] + :ivar virtual_machines_associated_ids: Field Deprecated. These fields will be empty/omitted. + The list of virtual machine resource IDs, excluding any Hybrid AKS virtual machines, that are + currently using this trunked network. + :vartype virtual_machines_associated_ids: list[str] + :ivar provisioning_state: The provisioning state of the trunked network. Known values are: + "Succeeded", "Failed", "Canceled", "Provisioning", and "Accepted". + :vartype provisioning_state: Union[str, "TrunkedNetworkProvisioningState"] + """ + + hybridAksPluginType: Union[str, "HybridAksPluginType"] + """Field Deprecated. The field was previously optional, now it will have no defined behavior and + will be ignored. The network plugin type for Hybrid AKS. Known values are: \"DPDK\", \"SRIOV\", + and \"OSDevice\".""" + interfaceName: str + """The default interface name for this trunked network in the virtual machine. This name can be + overridden by the name supplied in the network attachment configuration of that virtual + machine.""" + isolationDomainIds: Required[list[str]] + """The list of resource IDs representing the Network Fabric isolation domains. It can be any + combination of l2IsolationDomain and l3IsolationDomain resources. Required.""" + vlans: Required[list[int]] + """The list of vlans that are selected from the isolation domains for trunking. Required.""" + associatedResourceIds: list[str] + """The list of resource IDs for the other Microsoft.NetworkCloud resources that have attached this + network.""" + clusterId: str + """The resource ID of the Network Cloud cluster this trunked network is associated with.""" + detailedStatus: Union[str, "TrunkedNetworkDetailedStatus"] + """The more detailed status of the trunked network. Known values are: \"Error\", \"Available\", + and \"Provisioning\".""" + detailedStatusMessage: str + """The descriptive message about the current detailed status.""" + hybridAksClustersAssociatedIds: list[str] + """Field Deprecated. These fields will be empty/omitted. The list of Hybrid AKS cluster resource + IDs that are associated with this trunked network.""" + virtualMachinesAssociatedIds: list[str] + """Field Deprecated. These fields will be empty/omitted. The list of virtual machine resource IDs, + excluding any Hybrid AKS virtual machines, that are currently using this trunked network.""" + provisioningState: Union[str, "TrunkedNetworkProvisioningState"] + """The provisioning state of the trunked network. Known values are: \"Succeeded\", \"Failed\", + \"Canceled\", \"Provisioning\", and \"Accepted\".""" + + +class UserAssignedIdentity(TypedDict, total=False): + """User assigned identity properties. + + :ivar principal_id: The principal ID of the assigned identity. + :vartype principal_id: str + :ivar client_id: The client ID of the assigned identity. + :vartype client_id: str + """ + + principalId: str + """The principal ID of the assigned identity.""" + clientId: str + """The client ID of the assigned identity.""" + + +class ValidationThreshold(TypedDict, total=False): + """ValidationThreshold indicates allowed machine and node hardware and deployment failures. + + :ivar grouping: Selection of how the type evaluation is applied to the cluster calculation. + Required. Known values are: "PerCluster" and "PerRack". + :vartype grouping: Union[str, "ValidationThresholdGrouping"] + :ivar type: Selection of how the threshold should be evaluated. Required. Known values are: + "CountSuccess" and "PercentSuccess". + :vartype type: Union[str, "ValidationThresholdType"] + :ivar value: The numeric threshold value. Required. + :vartype value: int + """ + + grouping: Required[Union[str, "ValidationThresholdGrouping"]] + """Selection of how the type evaluation is applied to the cluster calculation. Required. Known + values are: \"PerCluster\" and \"PerRack\".""" + type: Required[Union[str, "ValidationThresholdType"]] + """Selection of how the threshold should be evaluated. Required. Known values are: + \"CountSuccess\" and \"PercentSuccess\".""" + value: Required[int] + """The numeric threshold value. Required.""" + + +class VirtualMachine(TrackedResource): + """VirtualMachine represents the on-premises Network Cloud virtual machine. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /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: "SystemData" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: The list of the resource properties. Required. + :vartype properties: "VirtualMachineProperties" + :ivar etag: "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 etag: str + :ivar extended_location: The extended location of the resource. This property is required when + creating the resource. Required. + :vartype extended_location: "ExtendedLocation" + :ivar identity: The managed service identities assigned to this resource. + :vartype identity: "ManagedServiceIdentity" + """ + + properties: Required["VirtualMachineProperties"] + """The list of the resource properties. Required.""" + etag: str + """\"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.\").""" + extendedLocation: Required["ExtendedLocation"] + """The extended location of the resource. This property is required when creating the resource. + Required.""" + identity: "ManagedServiceIdentity" + """The managed service identities assigned to this resource.""" + + +class VirtualMachineAssignRelayParameters(TypedDict, total=False): + """VirtualMachineAssignRelayParameters represents the body of the request to update the relay used + for a Microsoft.HybridCompute machine associated with the virtual machine. + + :ivar machine_id: The resourceId of the Microsoft.HybridCompute machine resource to assign + relay usage. Required. + :vartype machine_id: str + :ivar relay_type: The indicator of which relay type the machine should be assigned to use. + Platform indicates the use of a platform-dedicated relay. Public indicates the use of the + standard public relay for Arc services. Known values are: "Platform" and "Public". + :vartype relay_type: Union[str, "RelayType"] + """ + + machineId: Required[str] + """The resourceId of the Microsoft.HybridCompute machine resource to assign relay usage. Required.""" + relayType: Union[str, "RelayType"] + """The indicator of which relay type the machine should be assigned to use. Platform indicates the + use of a platform-dedicated relay. Public indicates the use of the standard public relay for + Arc services. Known values are: \"Platform\" and \"Public\".""" + + +class VirtualMachinePatchParameters(TypedDict, total=False): + """VirtualMachinePatchParameters represents the body of the request to patch the virtual machine. + + :ivar identity: The identity for the resource. + :vartype identity: "ManagedServiceIdentity" + :ivar properties: The list of the resource properties. + :vartype properties: "VirtualMachinePatchProperties" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + """ + + identity: "ManagedServiceIdentity" + """The identity for the resource.""" + properties: "VirtualMachinePatchProperties" + """The list of the resource properties.""" + tags: dict[str, str] + """Resource tags.""" + + +class VirtualMachinePatchProperties(TypedDict, total=False): + """VirtualMachinePatchProperties represents the properties of the virtual machine that can be + patched. + + :ivar vm_image_repository_credentials: The credentials used to login to the image repository + that has access to the specified image. + :vartype vm_image_repository_credentials: "ImageRepositoryCredentials" + """ + + vmImageRepositoryCredentials: "ImageRepositoryCredentials" + """The credentials used to login to the image repository that has access to the specified image.""" + + +class VirtualMachinePlacementHint(TypedDict, total=False): + """VirtualMachinePlacementHint represents a single scheduling hint of the virtual machine. + + :ivar hint_type: The specification of whether this hint supports affinity or anti-affinity with + the referenced resources. Required. Known values are: "Affinity" and "AntiAffinity". + :vartype hint_type: Union[str, "VirtualMachinePlacementHintType"] + :ivar resource_id: The resource ID of the target object that the placement hints will be + checked against, e.g., the bare metal node to host the virtual machine. Required. + :vartype resource_id: str + :ivar scheduling_execution: The indicator of whether the hint is a hard or soft requirement + during scheduling. Required. Known values are: "Hard" and "Soft". + :vartype scheduling_execution: Union[str, "VirtualMachineSchedulingExecution"] + :ivar scope: The scope for the virtual machine affinity or anti-affinity placement hint. It + should always be "Machine" in the case of node affinity. Required. Known values are: "Machine" + and "Rack". + :vartype scope: Union[str, "VirtualMachinePlacementHintPodAffinityScope"] + """ + + hintType: Required[Union[str, "VirtualMachinePlacementHintType"]] + """The specification of whether this hint supports affinity or anti-affinity with the referenced + resources. Required. Known values are: \"Affinity\" and \"AntiAffinity\".""" + resourceId: Required[str] + """The resource ID of the target object that the placement hints will be checked against, e.g., + the bare metal node to host the virtual machine. Required.""" + schedulingExecution: Required[Union[str, "VirtualMachineSchedulingExecution"]] + """The indicator of whether the hint is a hard or soft requirement during scheduling. Required. + Known values are: \"Hard\" and \"Soft\".""" + scope: Required[Union[str, "VirtualMachinePlacementHintPodAffinityScope"]] + """The scope for the virtual machine affinity or anti-affinity placement hint. It should always be + \"Machine\" in the case of node affinity. Required. Known values are: \"Machine\" and \"Rack\".""" + + +class VirtualMachinePowerOffParameters(TypedDict, total=False): + """VirtualMachinePowerOffParameters represents the body of the request to power off virtual + machine. + + :ivar skip_shutdown: The indicator of whether to skip the graceful OS shutdown and power off + the virtual machine immediately. Known values are: "True" and "False". + :vartype skip_shutdown: Union[str, "SkipShutdown"] + """ + + skipShutdown: Union[str, "SkipShutdown"] + """The indicator of whether to skip the graceful OS shutdown and power off the virtual machine + immediately. Known values are: \"True\" and \"False\".""" + + +class VirtualMachineProperties(TypedDict, total=False): + """VirtualMachineProperties represents the properties of the virtual machine. + + :ivar admin_username: The name of the administrator to which the ssh public keys will be added + into the authorized keys. Required. + :vartype admin_username: str + :ivar boot_method: Selects the boot method for the virtual machine. Known values are: "BIOS" + and "UEFI". + :vartype boot_method: Union[str, "VirtualMachineBootMethod"] + :ivar cloud_services_network_attachment: The cloud service network that provides platform-level + services for the virtual machine. Required. + :vartype cloud_services_network_attachment: "NetworkAttachment" + :ivar cpu_cores: The number of CPU cores in the virtual machine. Required. + :vartype cpu_cores: int + :ivar isolate_emulator_thread: Field Deprecated, the value will be ignored if provided. The + indicator of whether one of the specified CPU cores is isolated to run the emulator thread for + this virtual machine. Known values are: "False" and "True". + :vartype isolate_emulator_thread: Union[str, "VirtualMachineIsolateEmulatorThread"] + :ivar memory_size_gb: The memory size of the virtual machine. Allocations are measured in + gibibytes. Required. + :vartype memory_size_gb: int + :ivar network_attachments: The list of network attachments to the virtual machine. + :vartype network_attachments: list["NetworkAttachment"] + :ivar network_data: Field Deprecated: The Base64 encoded cloud-init network data. The + networkDataContent property will be used in preference to this property. + :vartype network_data: str + :ivar network_data_content: The Base64 encoded cloud-init network data. + :vartype network_data_content: str + :ivar placement_hints: The scheduling hints for the virtual machine. + :vartype placement_hints: list["VirtualMachinePlacementHint"] + :ivar ssh_public_keys: The list of ssh public keys. Each key will be added to the virtual + machine using the cloud-init ssh_authorized_keys mechanism for the adminUsername. + :vartype ssh_public_keys: list["SshPublicKey"] + :ivar storage_profile: The storage profile that specifies size and other parameters about the + disks related to the virtual machine. Required. + :vartype storage_profile: "StorageProfile" + :ivar user_data: Field Deprecated: The Base64 encoded cloud-init user data. The userDataContent + property will be used in preference to this property. + :vartype user_data: str + :ivar user_data_content: The Base64 encoded cloud-init user data. + :vartype user_data_content: str + :ivar virtio_interface: Field Deprecated, use virtualizationModel instead. The type of the + virtio interface. Known values are: "Modern" and "Transitional". + :vartype virtio_interface: Union[str, "VirtualMachineVirtioInterfaceType"] + :ivar vm_device_model: The type of the device model to use. Known values are: "T1", "T2", and + "T3". + :vartype vm_device_model: Union[str, "VirtualMachineDeviceModelType"] + :ivar vm_image: The virtual machine image that is currently provisioned to the OS disk, using + the full url and tag notation used to pull the image. Required. + :vartype vm_image: str + :ivar vm_image_repository_credentials: The credentials used to login to the image repository + that has access to the specified image. + :vartype vm_image_repository_credentials: "ImageRepositoryCredentials" + :ivar availability_zone: The cluster availability zone containing this virtual machine. + :vartype availability_zone: str + :ivar bare_metal_machine_id: The resource ID of the bare metal machine that hosts the virtual + machine. + :vartype bare_metal_machine_id: str + :ivar cluster_id: The resource ID of the cluster the virtual machine is created for. + :vartype cluster_id: str + :ivar console_extended_location: The extended location to use for creation of a VM console + resource. + :vartype console_extended_location: "ExtendedLocation" + :ivar detailed_status: The more detailed status of the virtual machine. Known values are: + "Available", "Error", "Provisioning", "Running", "Scheduling", "Stopped", "Terminating", and + "Unknown". + :vartype detailed_status: Union[str, "VirtualMachineDetailedStatus"] + :ivar detailed_status_message: The descriptive message about the current detailed status. + :vartype detailed_status_message: str + :ivar power_state: The power state of the virtual machine. Known values are: "Off", "On", and + "Unknown". + :vartype power_state: Union[str, "VirtualMachinePowerState"] + :ivar volumes: The resource IDs of volumes that are attached to the virtual machine. + :vartype volumes: list[str] + :ivar provisioning_state: The provisioning state of the virtual machine. Known values are: + "Accepted", "Canceled", "Failed", "Provisioning", and "Succeeded". + :vartype provisioning_state: Union[str, "VirtualMachineProvisioningState"] + """ + + adminUsername: Required[str] + """The name of the administrator to which the ssh public keys will be added into the authorized + keys. Required.""" + bootMethod: Union[str, "VirtualMachineBootMethod"] + """Selects the boot method for the virtual machine. Known values are: \"BIOS\" and \"UEFI\".""" + cloudServicesNetworkAttachment: Required["NetworkAttachment"] + """The cloud service network that provides platform-level services for the virtual machine. + Required.""" + cpuCores: Required[int] + """The number of CPU cores in the virtual machine. Required.""" + isolateEmulatorThread: Union[str, "VirtualMachineIsolateEmulatorThread"] + """Field Deprecated, the value will be ignored if provided. The indicator of whether one of the + specified CPU cores is isolated to run the emulator thread for this virtual machine. Known + values are: \"False\" and \"True\".""" + memorySizeGB: Required[int] + """The memory size of the virtual machine. Allocations are measured in gibibytes. Required.""" + networkAttachments: list["NetworkAttachment"] + """The list of network attachments to the virtual machine.""" + networkData: str + """Field Deprecated: The Base64 encoded cloud-init network data. The networkDataContent property + will be used in preference to this property.""" + networkDataContent: str + """The Base64 encoded cloud-init network data.""" + placementHints: list["VirtualMachinePlacementHint"] + """The scheduling hints for the virtual machine.""" + sshPublicKeys: list["SshPublicKey"] + """The list of ssh public keys. Each key will be added to the virtual machine using the cloud-init + ssh_authorized_keys mechanism for the adminUsername.""" + storageProfile: Required["StorageProfile"] + """The storage profile that specifies size and other parameters about the disks related to the + virtual machine. Required.""" + userData: str + """Field Deprecated: The Base64 encoded cloud-init user data. The userDataContent property will be + used in preference to this property.""" + userDataContent: str + """The Base64 encoded cloud-init user data.""" + virtioInterface: Union[str, "VirtualMachineVirtioInterfaceType"] + """Field Deprecated, use virtualizationModel instead. The type of the virtio interface. Known + values are: \"Modern\" and \"Transitional\".""" + vmDeviceModel: Union[str, "VirtualMachineDeviceModelType"] + """The type of the device model to use. Known values are: \"T1\", \"T2\", and \"T3\".""" + vmImage: Required[str] + """The virtual machine image that is currently provisioned to the OS disk, using the full url and + tag notation used to pull the image. Required.""" + vmImageRepositoryCredentials: "ImageRepositoryCredentials" + """The credentials used to login to the image repository that has access to the specified image.""" + availabilityZone: str + """The cluster availability zone containing this virtual machine.""" + bareMetalMachineId: str + """The resource ID of the bare metal machine that hosts the virtual machine.""" + clusterId: str + """The resource ID of the cluster the virtual machine is created for.""" + consoleExtendedLocation: "ExtendedLocation" + """The extended location to use for creation of a VM console resource.""" + detailedStatus: Union[str, "VirtualMachineDetailedStatus"] + """The more detailed status of the virtual machine. Known values are: \"Available\", \"Error\", + \"Provisioning\", \"Running\", \"Scheduling\", \"Stopped\", \"Terminating\", and \"Unknown\".""" + detailedStatusMessage: str + """The descriptive message about the current detailed status.""" + powerState: Union[str, "VirtualMachinePowerState"] + """The power state of the virtual machine. Known values are: \"Off\", \"On\", and \"Unknown\".""" + volumes: list[str] + """The resource IDs of volumes that are attached to the virtual machine.""" + provisioningState: Union[str, "VirtualMachineProvisioningState"] + """The provisioning state of the virtual machine. Known values are: \"Accepted\", \"Canceled\", + \"Failed\", \"Provisioning\", and \"Succeeded\".""" + + +class Volume(TrackedResource): + """Volume represents storage made available for use by resources running on the cluster. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /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: "SystemData" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: The list of the resource properties. Required. + :vartype properties: "VolumeProperties" + :ivar etag: "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 etag: str + :ivar extended_location: The extended location of the resource. This property is required when + creating the resource. Required. + :vartype extended_location: "ExtendedLocation" + """ + + properties: Required["VolumeProperties"] + """The list of the resource properties. Required.""" + etag: str + """\"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.\").""" + extendedLocation: Required["ExtendedLocation"] + """The extended location of the resource. This property is required when creating the resource. + Required.""" + + +class VolumePatchParameters(TypedDict, total=False): + """VolumePatchParameters represents the body of the request to patch the volume resource. + + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + """ + + tags: dict[str, str] + """Resource tags.""" + + +class VolumeProperties(TypedDict, total=False): + """VolumeProperties represents properties of the volume resource. + + :ivar size_mi_b: The requested storage allocation for the volume in Mebibytes. Required. + :vartype size_mi_b: int + :ivar storage_appliance_id: The resource ID of the storage appliance that hosts the volume. + :vartype storage_appliance_id: str + :ivar allocated_size_mi_b: The allocated size of the volume in Mebibytes. + :vartype allocated_size_mi_b: int + :ivar attached_to: The list of resource IDs that attach the volume. It may include virtual + machines and Hybrid AKS clusters. + :vartype attached_to: list[str] + :ivar detailed_status: The more detailed status of the volume. Known values are: "Active", + "Error", and "Provisioning". + :vartype detailed_status: Union[str, "VolumeDetailedStatus"] + :ivar detailed_status_message: The descriptive message about the current detailed status. + :vartype detailed_status_message: str + :ivar serial_number: The unique identifier of the volume. + :vartype serial_number: str + :ivar provisioning_state: The provisioning state of the volume. Known values are: "Accepted", + "Canceled", "Failed", "Provisioning", and "Succeeded". + :vartype provisioning_state: Union[str, "VolumeProvisioningState"] + """ + + sizeMiB: Required[int] + """The requested storage allocation for the volume in Mebibytes. Required.""" + storageApplianceId: str + """The resource ID of the storage appliance that hosts the volume.""" + allocatedSizeMiB: int + """The allocated size of the volume in Mebibytes.""" + attachedTo: list[str] + """The list of resource IDs that attach the volume. It may include virtual machines and Hybrid AKS + clusters.""" + detailedStatus: Union[str, "VolumeDetailedStatus"] + """The more detailed status of the volume. Known values are: \"Active\", \"Error\", and + \"Provisioning\".""" + detailedStatusMessage: str + """The descriptive message about the current detailed status.""" + serialNumber: str + """The unique identifier of the volume.""" + provisioningState: Union[str, "VolumeProvisioningState"] + """The provisioning state of the volume. Known values are: \"Accepted\", \"Canceled\", \"Failed\", + \"Provisioning\", and \"Succeeded\".""" + + +class VulnerabilityScanningSettings(TypedDict, total=False): + """VulnerabilityScanningSettings represents the settings for how security vulnerability scanning + is applied to the cluster. + + :ivar container_scan: The mode selection for container vulnerability scanning. Known values + are: "Disabled" and "Enabled". + :vartype container_scan: Union[str, "VulnerabilityScanningSettingsContainerScan"] + """ + + containerScan: Union[str, "VulnerabilityScanningSettingsContainerScan"] + """The mode selection for container vulnerability scanning. Known values are: \"Disabled\" and + \"Enabled\".""" + + +class VulnerabilityScanningSettingsPatch(TypedDict, total=False): + """VulnerabilityScanningSettingsPatch represents the settings for how security vulnerability + scanning is applied to the cluster. + + :ivar container_scan: The mode selection for container vulnerability scanning. Known values + are: "Disabled" and "Enabled". + :vartype container_scan: Union[str, "VulnerabilityScanningSettingsContainerScan"] + """ + + containerScan: Union[str, "VulnerabilityScanningSettingsContainerScan"] + """The mode selection for container vulnerability scanning. Known values are: \"Disabled\" and + \"Enabled\".""" diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_create_or_update.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_create_or_update.py deleted file mode 100644 index 24e010eeab51..000000000000 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_create_or_update.py +++ /dev/null @@ -1,65 +0,0 @@ -# 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) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.networkcloud import NetworkCloudMgmtClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-networkcloud -# USAGE - python access_bridges_create_or_update.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = NetworkCloudMgmtClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.access_bridges.begin_create_or_update( - resource_group_name="resourceGroupName", - access_bridge_name="Bastion", - access_bridge={ - "extendedLocation": { - "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName", - "type": "CustomLocation", - }, - "location": "location", - "properties": { - "ipv4ConnectedPrefix": "198.51.100.0/24", - "ipv6ConnectedPrefix": "2001:db8::/64", - "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/l3IsolationDomainName/internalNetworks/internalNetworkName", - "securityRules": [ - { - "description": "Allow management plane egress", - "direction": "Outbound", - "ipv4Addresses": ["10.10.20.10-10.10.20.20"], - "ipv6Addresses": ["2001:db8:abcd:12::1000-2001:db8:abcd:12::1fff"], - "port": "24562-24570", - } - ], - }, - "tags": {"key1": "myvalue1", "key2": "myvalue2"}, - }, - ).result() - print(response) - - -# x-ms-original-file: 2026-05-01-preview/AccessBridges_CreateOrUpdate.json -if __name__ == "__main__": - main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_delete.py deleted file mode 100644 index fe94ce54a51c..000000000000 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_delete.py +++ /dev/null @@ -1,42 +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) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.networkcloud import NetworkCloudMgmtClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-networkcloud -# USAGE - python access_bridges_delete.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = NetworkCloudMgmtClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.access_bridges.begin_delete( - resource_group_name="resourceGroupName", - access_bridge_name="Bastion", - ).result() - print(response) - - -# x-ms-original-file: 2026-05-01-preview/AccessBridges_Delete.json -if __name__ == "__main__": - main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_get.py deleted file mode 100644 index 112965ea9869..000000000000 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_get.py +++ /dev/null @@ -1,42 +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) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.networkcloud import NetworkCloudMgmtClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-networkcloud -# USAGE - python access_bridges_get.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = NetworkCloudMgmtClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.access_bridges.get( - resource_group_name="resourceGroupName", - access_bridge_name="Bastion", - ) - print(response) - - -# x-ms-original-file: 2026-05-01-preview/AccessBridges_Get.json -if __name__ == "__main__": - main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_list_by_resource_group.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_list_by_resource_group.py deleted file mode 100644 index fee3ad4166e6..000000000000 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_list_by_resource_group.py +++ /dev/null @@ -1,42 +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) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.networkcloud import NetworkCloudMgmtClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-networkcloud -# USAGE - python access_bridges_list_by_resource_group.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = NetworkCloudMgmtClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.access_bridges.list_by_resource_group( - resource_group_name="resourceGroupName", - ) - for item in response: - print(item) - - -# x-ms-original-file: 2026-05-01-preview/AccessBridges_ListByResourceGroup.json -if __name__ == "__main__": - main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_list_by_subscription.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_list_by_subscription.py deleted file mode 100644 index 8e8883608548..000000000000 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_list_by_subscription.py +++ /dev/null @@ -1,40 +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) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.networkcloud import NetworkCloudMgmtClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-networkcloud -# USAGE - python access_bridges_list_by_subscription.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = NetworkCloudMgmtClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.access_bridges.list_by_subscription() - for item in response: - print(item) - - -# x-ms-original-file: 2026-05-01-preview/AccessBridges_ListBySubscription.json -if __name__ == "__main__": - main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_patch.py deleted file mode 100644 index 0c23bbf0dc2a..000000000000 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_patch.py +++ /dev/null @@ -1,42 +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) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.networkcloud import NetworkCloudMgmtClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-networkcloud -# USAGE - python access_bridges_patch.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = NetworkCloudMgmtClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.access_bridges.begin_update( - resource_group_name="resourceGroupName", - access_bridge_name="Bastion", - ).result() - print(response) - - -# x-ms-original-file: 2026-05-01-preview/AccessBridges_Patch.json -if __name__ == "__main__": - main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_create.py index 019db60365c5..1ca9933179c7 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_create.py @@ -86,6 +86,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/AgentPools_Create.json +# x-ms-original-file: 2025-09-01/AgentPools_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_delete.py index 83e3f7b0b26b..242b8b5498c1 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_delete.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/AgentPools_Delete.json +# x-ms-original-file: 2025-09-01/AgentPools_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_get.py index 3472ad404348..3aabce9f101c 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_get.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/AgentPools_Get.json +# x-ms-original-file: 2025-09-01/AgentPools_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_list_by_kubernetes_cluster.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_list_by_kubernetes_cluster.py index 874e18d7d51e..c00461fae94d 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_list_by_kubernetes_cluster.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_list_by_kubernetes_cluster.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-01-preview/AgentPools_ListByKubernetesCluster.json +# x-ms-original-file: 2025-09-01/AgentPools_ListByKubernetesCluster.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_patch.py index 0c844eb61250..d93c4af0ee1e 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_patch.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/AgentPools_Patch.json +# x-ms-original-file: 2025-09-01/AgentPools_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_create.py index e3e819dfc371..0d5be2f4b6cd 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_create.py @@ -73,6 +73,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/BareMetalMachineKeySets_Create.json +# x-ms-original-file: 2025-09-01/BareMetalMachineKeySets_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_delete.py index 65e5a7dc429d..efbf07ec7b3e 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_delete.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/BareMetalMachineKeySets_Delete.json +# x-ms-original-file: 2025-09-01/BareMetalMachineKeySets_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_get.py index 99d80da1ddc5..1a96f4f78bca 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_get.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/BareMetalMachineKeySets_Get.json +# x-ms-original-file: 2025-09-01/BareMetalMachineKeySets_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_list_by_cluster.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_list_by_cluster.py index 737a11bec622..f944a1ee28ae 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_list_by_cluster.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_list_by_cluster.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-01-preview/BareMetalMachineKeySets_ListByCluster.json +# x-ms-original-file: 2025-09-01/BareMetalMachineKeySets_ListByCluster.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_patch.py index 91b91c32b084..16cc0b62ee13 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_patch.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/BareMetalMachineKeySets_Patch.json +# x-ms-original-file: 2025-09-01/BareMetalMachineKeySets_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_cordon.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_cordon.py index 56405642e414..54790e7ce01e 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_cordon.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_cordon.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/BareMetalMachines_Cordon.json +# x-ms-original-file: 2025-09-01/BareMetalMachines_Cordon.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_create.py index a0ee38db87c0..8a86eeb91f05 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_create.py @@ -58,6 +58,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/BareMetalMachines_Create.json +# x-ms-original-file: 2025-09-01/BareMetalMachines_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_delete.py index bdaeacd97edd..842059ac385b 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_delete.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/BareMetalMachines_Delete.json +# x-ms-original-file: 2025-09-01/BareMetalMachines_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_get.py index 83b8554f37d3..fafca7472bb6 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/BareMetalMachines_Get.json +# x-ms-original-file: 2025-09-01/BareMetalMachines_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_list_by_resource_group.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_list_by_resource_group.py index 735b9e23d7dd..bc4b79e2963b 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_list_by_resource_group.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_list_by_resource_group.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-01-preview/BareMetalMachines_ListByResourceGroup.json +# x-ms-original-file: 2025-09-01/BareMetalMachines_ListByResourceGroup.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_list_by_subscription.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_list_by_subscription.py index 14435b414aa2..2b93411c4516 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_list_by_subscription.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_list_by_subscription.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-01-preview/BareMetalMachines_ListBySubscription.json +# x-ms-original-file: 2025-09-01/BareMetalMachines_ListBySubscription.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_patch.py index 1046b1bee9d2..415b8a03a34c 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_patch.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/BareMetalMachines_Patch.json +# x-ms-original-file: 2025-09-01/BareMetalMachines_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_power_off.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_power_off.py index c5948393a4e5..31893ad7eabc 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_power_off.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_power_off.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/BareMetalMachines_PowerOff.json +# x-ms-original-file: 2025-09-01/BareMetalMachines_PowerOff.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_reimage.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_reimage.py index 94e6255db8a8..6cc44ae27e86 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_reimage.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_reimage.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/BareMetalMachines_Reimage.json +# x-ms-original-file: 2025-09-01/BareMetalMachines_Reimage.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_replace.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_replace.py index 9097dc20ee20..25e739ab449f 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_replace.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_replace.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/BareMetalMachines_Replace.json +# x-ms-original-file: 2025-09-01/BareMetalMachines_Replace.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_restart.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_restart.py index 32144a27e5e5..9e1554204044 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_restart.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_restart.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/BareMetalMachines_Restart.json +# x-ms-original-file: 2025-09-01/BareMetalMachines_Restart.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_command.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_command.py index b52b96df414e..b16ab7cf33a1 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_command.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_command.py @@ -42,6 +42,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/BareMetalMachines_RunCommand.json +# x-ms-original-file: 2025-09-01/BareMetalMachines_RunCommand.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_data_extracts.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_data_extracts.py index 311f67780130..2b4b784fa389 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_data_extracts.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_data_extracts.py @@ -41,6 +41,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/BareMetalMachines_RunDataExtracts.json +# x-ms-original-file: 2025-09-01/BareMetalMachines_RunDataExtracts.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_data_extracts_restricted.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_data_extracts_restricted.py index bfb9a1572bd9..1b95ec41d443 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_data_extracts_restricted.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_data_extracts_restricted.py @@ -41,6 +41,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/BareMetalMachines_RunDataExtractsRestricted.json +# x-ms-original-file: 2025-09-01/BareMetalMachines_RunDataExtractsRestricted.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_read_commands_hostname.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_read_commands_hostname.py index 3edd812b8bf5..5db8bc37789c 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_read_commands_hostname.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_read_commands_hostname.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/BareMetalMachines_RunReadCommands_Hostname.json +# x-ms-original-file: 2025-09-01/BareMetalMachines_RunReadCommands_Hostname.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_read_commands_multiple.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_read_commands_multiple.py index cb146c02b9bc..8b3a3397770f 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_read_commands_multiple.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_read_commands_multiple.py @@ -44,6 +44,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/BareMetalMachines_RunReadCommands_Multiple.json +# x-ms-original-file: 2025-09-01/BareMetalMachines_RunReadCommands_Multiple.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_start.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_start.py index 50fc9e5769a9..2ffb0370b1b5 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_start.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_start.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/BareMetalMachines_Start.json +# x-ms-original-file: 2025-09-01/BareMetalMachines_Start.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_uncordon.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_uncordon.py index 2a2108814d8b..554c3e3aad9f 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_uncordon.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_uncordon.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/BareMetalMachines_Uncordon.json +# x-ms-original-file: 2025-09-01/BareMetalMachines_Uncordon.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_create.py index 6ee30fe33dfa..e849ff8d3971 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_create.py @@ -70,6 +70,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/BmcKeySets_Create.json +# x-ms-original-file: 2025-09-01/BmcKeySets_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_delete.py index 7fa7f1138ea2..e4dd3f513291 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_delete.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/BmcKeySets_Delete.json +# x-ms-original-file: 2025-09-01/BmcKeySets_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_get.py index 2a8cbf833d4f..b625817c2fcc 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_get.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/BmcKeySets_Get.json +# x-ms-original-file: 2025-09-01/BmcKeySets_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_list_by_cluster.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_list_by_cluster.py index 8c917ac1ea51..16ba1cb38864 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_list_by_cluster.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_list_by_cluster.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-01-preview/BmcKeySets_ListByCluster.json +# x-ms-original-file: 2025-09-01/BmcKeySets_ListByCluster.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_patch.py index 18737659324f..3047689bc16d 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_patch.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/BmcKeySets_Patch.json +# x-ms-original-file: 2025-09-01/BmcKeySets_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_create.py index b6f228990c39..3aa58eae72e2 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_create.py @@ -51,7 +51,7 @@ def main(): "storageOptions": { "mode": "Standard", "sizeMiB": 1048576, - "storageApplianceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/storageAppliances/storageApplianceName", + "storageApplianceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/StorageAppliances/storageApplianceName", }, }, "tags": {"key1": "myvalue1", "key2": "myvalue2"}, @@ -60,6 +60,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/CloudServicesNetworks_Create.json +# x-ms-original-file: 2025-09-01/CloudServicesNetworks_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_delete.py index 0b32ec72e40f..8488404d90e6 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_delete.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/CloudServicesNetworks_Delete.json +# x-ms-original-file: 2025-09-01/CloudServicesNetworks_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_get.py index 000eac4baff7..8e921e2b9d10 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/CloudServicesNetworks_Get.json +# x-ms-original-file: 2025-09-01/CloudServicesNetworks_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_list_by_resource_group.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_list_by_resource_group.py index 0a00f8aad52d..464d2319f9cd 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_list_by_resource_group.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_list_by_resource_group.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-01-preview/CloudServicesNetworks_ListByResourceGroup.json +# x-ms-original-file: 2025-09-01/CloudServicesNetworks_ListByResourceGroup.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_list_by_subscription.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_list_by_subscription.py index 9da26937c526..4128ad4784aa 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_list_by_subscription.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_list_by_subscription.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-01-preview/CloudServicesNetworks_ListBySubscription.json +# x-ms-original-file: 2025-09-01/CloudServicesNetworks_ListBySubscription.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_patch.py index efe7d84e7fb4..077b5778b3d8 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_patch.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/CloudServicesNetworks_Patch.json +# x-ms-original-file: 2025-09-01/CloudServicesNetworks_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_create.py index 74b50a004e10..4da584a16ac1 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_create.py @@ -36,10 +36,9 @@ def main(): cluster_manager_name="clusterManagerName", cluster_manager_parameters={ "identity": {"type": "SystemAssigned"}, - "kind": "AzureLocal", "location": "location", "properties": { - "analyticsWorkspaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.OperationalInsights/workspaces/logAnalyticsWorkspaceName", + "analyticsWorkspaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName", "fabricControllerId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/fabricControllerName", "managedResourceGroupConfiguration": {"location": "East US", "name": "my-managed-rg"}, }, @@ -49,6 +48,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/ClusterManagers_Create.json +# x-ms-original-file: 2025-09-01/ClusterManagers_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_create_uami.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_create_uami.py index c94afb37f423..7cacb0718907 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_create_uami.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_create_uami.py @@ -41,10 +41,9 @@ def main(): "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/userIdentity1": {} }, }, - "kind": "AzureLocal", "location": "location", "properties": { - "analyticsWorkspaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.OperationalInsights/workspaces/logAnalyticsWorkspaceName", + "analyticsWorkspaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName", "fabricControllerId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/fabricControllerName", "managedResourceGroupConfiguration": {"location": "East US", "name": "my-managed-rg"}, }, @@ -54,6 +53,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/ClusterManagers_Create_Uami.json +# x-ms-original-file: 2025-09-01/ClusterManagers_Create_Uami.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_delete.py index a73db41953dd..2c225d4a28bd 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_delete.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/ClusterManagers_Delete.json +# x-ms-original-file: 2025-09-01/ClusterManagers_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_get.py index 1c79f29eff07..cef697a3390a 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/ClusterManagers_Get.json +# x-ms-original-file: 2025-09-01/ClusterManagers_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_list_by_resource_group.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_list_by_resource_group.py index fc5554dbe0d0..e74b17b6cf96 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_list_by_resource_group.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_list_by_resource_group.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-01-preview/ClusterManagers_ListByResourceGroup.json +# x-ms-original-file: 2025-09-01/ClusterManagers_ListByResourceGroup.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_list_by_subscription.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_list_by_subscription.py index 244b2f87ade7..05170557c98b 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_list_by_subscription.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_list_by_subscription.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-01-preview/ClusterManagers_ListBySubscription.json +# x-ms-original-file: 2025-09-01/ClusterManagers_ListBySubscription.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_patch.py index 3ec09db40767..f7a2ea4f0cd3 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_patch.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/ClusterManagers_Patch.json +# x-ms-original-file: 2025-09-01/ClusterManagers_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_update_relay_private_endpoint_connection_approve.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_update_relay_private_endpoint_connection_approve.py deleted file mode 100644 index a14bb1d795e1..000000000000 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_update_relay_private_endpoint_connection_approve.py +++ /dev/null @@ -1,42 +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) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.networkcloud import NetworkCloudMgmtClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-networkcloud -# USAGE - python cluster_managers_update_relay_private_endpoint_connection_approve.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = NetworkCloudMgmtClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.cluster_managers.begin_update_relay_private_endpoint_connection( - resource_group_name="resourceGroupName", - cluster_manager_name="clusterManagerName", - ).result() - print(response) - - -# x-ms-original-file: 2026-05-01-preview/ClusterManagers_UpdateRelayPrivateEndpointConnection_Approve.json -if __name__ == "__main__": - main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_update_relay_private_endpoint_connection_reject.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_update_relay_private_endpoint_connection_reject.py deleted file mode 100644 index 3fe288d65fa9..000000000000 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_update_relay_private_endpoint_connection_reject.py +++ /dev/null @@ -1,42 +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) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.networkcloud import NetworkCloudMgmtClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-networkcloud -# USAGE - python cluster_managers_update_relay_private_endpoint_connection_reject.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = NetworkCloudMgmtClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.cluster_managers.begin_update_relay_private_endpoint_connection( - resource_group_name="resourceGroupName", - cluster_manager_name="clusterManagerName", - ).result() - print(response) - - -# x-ms-original-file: 2026-05-01-preview/ClusterManagers_UpdateRelayPrivateEndpointConnection_Reject.json -if __name__ == "__main__": - main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_create.py index cbeed8d4e63e..c09d1d7431fb 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_create.py @@ -48,6 +48,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/ClusterMetricsConfigurations_Create.json +# x-ms-original-file: 2025-09-01/ClusterMetricsConfigurations_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_delete.py index 6a8ea478cfce..05774fbfd63e 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_delete.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/ClusterMetricsConfigurations_Delete.json +# x-ms-original-file: 2025-09-01/ClusterMetricsConfigurations_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_get.py index 6e7be4e1cf3f..dbe2effb860b 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_get.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/ClusterMetricsConfigurations_Get.json +# x-ms-original-file: 2025-09-01/ClusterMetricsConfigurations_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_list_by_cluster.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_list_by_cluster.py index ec0bf5daa266..9d85a97f0df1 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_list_by_cluster.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_list_by_cluster.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-01-preview/ClusterMetricsConfigurations_ListByCluster.json +# x-ms-original-file: 2025-09-01/ClusterMetricsConfigurations_ListByCluster.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_patch.py index dc90db2d173b..f717fb1d771e 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_patch.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/ClusterMetricsConfigurations_Patch.json +# x-ms-original-file: 2025-09-01/ClusterMetricsConfigurations_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_continue_update_version.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_continue_update_version.py index 0e8af40619e9..907238e73085 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_continue_update_version.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_continue_update_version.py @@ -33,11 +33,11 @@ def main(): response = client.clusters.begin_continue_update_version( resource_group_name="resourceGroupName", cluster_name="clusterName", - cluster_continue_update_version_parameters={"machineGroupTargetingMode": "AlphaByRack", "safeguardMode": "All"}, + cluster_continue_update_version_parameters={"machineGroupTargetingMode": "AlphaByRack"}, ).result() print(response) -# x-ms-original-file: 2026-05-01-preview/Clusters_ContinueUpdateVersion.json +# x-ms-original-file: 2025-09-01/Clusters_ContinueUpdateVersion.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_create.py index 7b21df0a3f86..b7648f448871 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_create.py @@ -45,7 +45,6 @@ def main(): "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/userIdentity1": {} }, }, - "kind": "AzureLocal", "location": "location", "properties": { "aggregatorOrSingleRackDefinition": { @@ -92,7 +91,7 @@ def main(): ], }, "analyticsOutputSettings": { - "analyticsWorkspaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.OperationalInsights/workspaces/logAnalyticsWorkspaceName", + "analyticsWorkspaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName", "associatedIdentity": { "identityType": "UserAssignedIdentity", "userAssignedIdentityResourceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/userIdentity1", @@ -166,7 +165,7 @@ def main(): ], "managedResourceGroupConfiguration": {"location": "East US", "name": "my-managed-rg"}, "networkFabricId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabrics/fabricName", - "runtimeProtectionConfiguration": {"definitionUpdateMode": "None", "enforcementLevel": "OnDemand"}, + "runtimeProtectionConfiguration": {"enforcementLevel": "OnDemand"}, "secretArchiveSettings": { "associatedIdentity": { "identityType": "UserAssignedIdentity", @@ -189,6 +188,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/Clusters_Create.json +# x-ms-original-file: 2025-09-01/Clusters_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_delete.py index f888d3410e48..a789a88da815 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_delete.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/Clusters_Delete.json +# x-ms-original-file: 2025-09-01/Clusters_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_deploy.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_deploy.py index b0d16348fc72..bb7199c41719 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_deploy.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_deploy.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/Clusters_Deploy.json +# x-ms-original-file: 2025-09-01/Clusters_Deploy.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_deploy_skip_validation.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_deploy_skip_validation.py index 182cdf693286..797951188c58 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_deploy_skip_validation.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_deploy_skip_validation.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/Clusters_Deploy_SkipValidation.json +# x-ms-original-file: 2025-09-01/Clusters_Deploy_SkipValidation.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_get.py index 988a4262fb14..4526140462e5 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/Clusters_Get.json +# x-ms-original-file: 2025-09-01/Clusters_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_inspect.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_inspect.py deleted file mode 100644 index d149d904da94..000000000000 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_inspect.py +++ /dev/null @@ -1,42 +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) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.networkcloud import NetworkCloudMgmtClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-networkcloud -# USAGE - python clusters_inspect.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = NetworkCloudMgmtClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.clusters.begin_inspect( - resource_group_name="resourceGroupName", - cluster_name="clusterName", - ).result() - print(response) - - -# x-ms-original-file: 2026-05-01-preview/Clusters_Inspect.json -if __name__ == "__main__": - main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_list_by_resource_group.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_list_by_resource_group.py index 7dfd9490a53b..024f032fb0b8 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_list_by_resource_group.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_list_by_resource_group.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-01-preview/Clusters_ListByResourceGroup.json +# x-ms-original-file: 2025-09-01/Clusters_ListByResourceGroup.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_list_by_subscription.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_list_by_subscription.py index 45e0c72e4820..d5bf6e4edf54 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_list_by_subscription.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_list_by_subscription.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-01-preview/Clusters_ListBySubscription.json +# x-ms-original-file: 2025-09-01/Clusters_ListBySubscription.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_aggregator_or_single_rack_definition.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_aggregator_or_single_rack_definition.py index e870de2f4a18..4e8f499b0883 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_aggregator_or_single_rack_definition.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_aggregator_or_single_rack_definition.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/Clusters_Patch_AggregatorOrSingleRackDefinition.json +# x-ms-original-file: 2025-09-01/Clusters_Patch_AggregatorOrSingleRackDefinition.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_analytics_output.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_analytics_output.py index d3e37daa77fe..deb09bb816e4 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_analytics_output.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_analytics_output.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/Clusters_Patch_AnalyticsOutput.json +# x-ms-original-file: 2025-09-01/Clusters_Patch_AnalyticsOutput.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_command_output.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_command_output.py index 588900f76141..d72cd5d65bce 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_command_output.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_command_output.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/Clusters_Patch_CommandOutput.json +# x-ms-original-file: 2025-09-01/Clusters_Patch_CommandOutput.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_location.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_location.py index cdf0cdd2c0f5..be88331771cf 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_location.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_location.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/Clusters_Patch_Location.json +# x-ms-original-file: 2025-09-01/Clusters_Patch_Location.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_runtime_protection_configuration.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_runtime_protection_configuration.py index dac19650517b..9ba54e988cc9 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_runtime_protection_configuration.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_runtime_protection_configuration.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/Clusters_Patch_RuntimeProtectionConfiguration.json +# x-ms-original-file: 2025-09-01/Clusters_Patch_RuntimeProtectionConfiguration.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_secret_archive.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_secret_archive.py index 707aebc404dc..19f017e6c3e4 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_secret_archive.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_secret_archive.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/Clusters_Patch_SecretArchive.json +# x-ms-original-file: 2025-09-01/Clusters_Patch_SecretArchive.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_update_strategy.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_update_strategy.py index 5636a673307a..b7e1e7b83538 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_update_strategy.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_update_strategy.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/Clusters_Patch_UpdateStrategy.json +# x-ms-original-file: 2025-09-01/Clusters_Patch_UpdateStrategy.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_vulnerability_scanning.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_vulnerability_scanning.py index f6fb0a90adc3..b958b4a4594f 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_vulnerability_scanning.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_vulnerability_scanning.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/Clusters_Patch_VulnerabilityScanning.json +# x-ms-original-file: 2025-09-01/Clusters_Patch_VulnerabilityScanning.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_rotate_credential.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_rotate_credential.py deleted file mode 100644 index 7a9d6f6a1898..000000000000 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_rotate_credential.py +++ /dev/null @@ -1,43 +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) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.networkcloud import NetworkCloudMgmtClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-networkcloud -# USAGE - python clusters_rotate_credential.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = NetworkCloudMgmtClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.clusters.begin_rotate_credential( - resource_group_name="resourceGroupName", - cluster_name="clusterName", - body={"credentials": ["BMC Credential"]}, - ).result() - print(response) - - -# x-ms-original-file: 2026-05-01-preview/Clusters_RotateCredential.json -if __name__ == "__main__": - main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_scan_runtime.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_scan_runtime.py index 73b277ee91df..06bcb31de243 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_scan_runtime.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_scan_runtime.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/Clusters_ScanRuntime.json +# x-ms-original-file: 2025-09-01/Clusters_ScanRuntime.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_update_version.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_update_version.py index b7ceff336488..a7a55496dae7 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_update_version.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_update_version.py @@ -33,11 +33,11 @@ def main(): response = client.clusters.begin_update_version( resource_group_name="resourceGroupName", cluster_name="clusterName", - cluster_update_version_parameters={"safeguardMode": "All", "targetClusterVersion": "2.0"}, + cluster_update_version_parameters={"targetClusterVersion": "2.0"}, ).result() print(response) -# x-ms-original-file: 2026-05-01-preview/Clusters_UpdateVersion.json +# x-ms-original-file: 2025-09-01/Clusters_UpdateVersion.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_create.py index 35d3b3922906..4b1f416e3d5e 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_create.py @@ -54,6 +54,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/Consoles_Create.json +# x-ms-original-file: 2025-09-01/Consoles_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_delete.py index 41a6a06ca4b4..c9d3c8ac3c5c 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_delete.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/Consoles_Delete.json +# x-ms-original-file: 2025-09-01/Consoles_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_get.py index cfa5991bc2d6..10035812eef0 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_get.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/Consoles_Get.json +# x-ms-original-file: 2025-09-01/Consoles_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_list_by_virtual_machine.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_list_by_virtual_machine.py index 2eece7132b40..34659cf12413 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_list_by_virtual_machine.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_list_by_virtual_machine.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-01-preview/Consoles_ListByVirtualMachine.json +# x-ms-original-file: 2025-09-01/Consoles_ListByVirtualMachine.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_patch.py index d244d70d6b27..364ff90c46c3 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_patch.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/Consoles_Patch.json +# x-ms-original-file: 2025-09-01/Consoles_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_create.py index f559b5fc91e5..fc4a62c609a8 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_create.py @@ -43,6 +43,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/KubernetesClusterFeatures_Create.json +# x-ms-original-file: 2025-09-01/KubernetesClusterFeatures_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_delete.py index 6b7c1a914417..f8460aeba19d 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_delete.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/KubernetesClusterFeatures_Delete.json +# x-ms-original-file: 2025-09-01/KubernetesClusterFeatures_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_get.py index 3ca74764bbf7..47cba3efa4eb 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_get.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/KubernetesClusterFeatures_Get.json +# x-ms-original-file: 2025-09-01/KubernetesClusterFeatures_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_list_by_kubernetes_cluster.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_list_by_kubernetes_cluster.py index 6c64a57a2170..653f13acc4ad 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_list_by_kubernetes_cluster.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_list_by_kubernetes_cluster.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-01-preview/KubernetesClusterFeatures_ListByKubernetesCluster.json +# x-ms-original-file: 2025-09-01/KubernetesClusterFeatures_ListByKubernetesCluster.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_patch.py index 04d4e4dac2c1..ea77fcb5824c 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_patch.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/KubernetesClusterFeatures_Patch.json +# x-ms-original-file: 2025-09-01/KubernetesClusterFeatures_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_create.py index 21bb955a662a..7354719d2490 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_create.py @@ -174,6 +174,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/KubernetesClusters_Create.json +# x-ms-original-file: 2025-09-01/KubernetesClusters_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_delete.py index f025fbacde7a..d001bfde286d 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_delete.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/KubernetesClusters_Delete.json +# x-ms-original-file: 2025-09-01/KubernetesClusters_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_get.py index bc9b7becec03..41499b2620fe 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/KubernetesClusters_Get.json +# x-ms-original-file: 2025-09-01/KubernetesClusters_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_l2_load_balancer_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_l2_load_balancer_create.py index 79b7351a56e8..af19cc43a598 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_l2_load_balancer_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_l2_load_balancer_create.py @@ -147,6 +147,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/KubernetesClusters_L2LoadBalancer_Create.json +# x-ms-original-file: 2025-09-01/KubernetesClusters_L2LoadBalancer_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_list_by_resource_group.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_list_by_resource_group.py index bdc1b6da4cfa..0ee8a0b5234d 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_list_by_resource_group.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_list_by_resource_group.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-01-preview/KubernetesClusters_ListByResourceGroup.json +# x-ms-original-file: 2025-09-01/KubernetesClusters_ListByResourceGroup.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_list_by_subscription.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_list_by_subscription.py index a877a751db1f..97080cc088cb 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_list_by_subscription.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_list_by_subscription.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-01-preview/KubernetesClusters_ListBySubscription.json +# x-ms-original-file: 2025-09-01/KubernetesClusters_ListBySubscription.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_patch.py index a445f7d73eee..3b019256737a 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_patch.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/KubernetesClusters_Patch.json +# x-ms-original-file: 2025-09-01/KubernetesClusters_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_restart_node.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_restart_node.py index 9c1f41d004d2..98efd4e4dfda 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_restart_node.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_restart_node.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/KubernetesClusters_RestartNode.json +# x-ms-original-file: 2025-09-01/KubernetesClusters_RestartNode.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_create.py deleted file mode 100644 index 351b6a209fb4..000000000000 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_create.py +++ /dev/null @@ -1,52 +0,0 @@ -# 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) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.networkcloud import NetworkCloudMgmtClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-networkcloud -# USAGE - python kubernetes_versions_create.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = NetworkCloudMgmtClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.kubernetes_versions.begin_create_or_update( - resource_group_name="resourceGroupName", - kubernetes_version_name="default", - kubernetes_version_parameters={ - "extendedLocation": { - "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName", - "type": "CustomLocation", - }, - "location": "location", - "properties": {}, - "tags": {"key1": "myvalue1", "key2": "myvalue2"}, - }, - ).result() - print(response) - - -# x-ms-original-file: 2026-05-01-preview/KubernetesVersions_Create.json -if __name__ == "__main__": - main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_delete.py deleted file mode 100644 index d6139c7e1c1e..000000000000 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_delete.py +++ /dev/null @@ -1,42 +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) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.networkcloud import NetworkCloudMgmtClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-networkcloud -# USAGE - python kubernetes_versions_delete.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = NetworkCloudMgmtClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.kubernetes_versions.begin_delete( - resource_group_name="resourceGroupName", - kubernetes_version_name="default", - ).result() - print(response) - - -# x-ms-original-file: 2026-05-01-preview/KubernetesVersions_Delete.json -if __name__ == "__main__": - main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_get.py deleted file mode 100644 index 9e2fd7bae19e..000000000000 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_get.py +++ /dev/null @@ -1,42 +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) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.networkcloud import NetworkCloudMgmtClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-networkcloud -# USAGE - python kubernetes_versions_get.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = NetworkCloudMgmtClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.kubernetes_versions.get( - resource_group_name="resourceGroupName", - kubernetes_version_name="default", - ) - print(response) - - -# x-ms-original-file: 2026-05-01-preview/KubernetesVersions_Get.json -if __name__ == "__main__": - main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_list_by_resource_group.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_list_by_resource_group.py deleted file mode 100644 index cd408ceaf81d..000000000000 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_list_by_resource_group.py +++ /dev/null @@ -1,42 +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) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.networkcloud import NetworkCloudMgmtClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-networkcloud -# USAGE - python kubernetes_versions_list_by_resource_group.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = NetworkCloudMgmtClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.kubernetes_versions.list_by_resource_group( - resource_group_name="resourceGroupName", - ) - for item in response: - print(item) - - -# x-ms-original-file: 2026-05-01-preview/KubernetesVersions_ListByResourceGroup.json -if __name__ == "__main__": - main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_list_by_subscription.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_list_by_subscription.py deleted file mode 100644 index 7d647045e97a..000000000000 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_list_by_subscription.py +++ /dev/null @@ -1,40 +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) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.networkcloud import NetworkCloudMgmtClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-networkcloud -# USAGE - python kubernetes_versions_list_by_subscription.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = NetworkCloudMgmtClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.kubernetes_versions.list_by_subscription() - for item in response: - print(item) - - -# x-ms-original-file: 2026-05-01-preview/KubernetesVersions_ListBySubscription.json -if __name__ == "__main__": - main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_update_tags.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_update_tags.py deleted file mode 100644 index 4d287d06a061..000000000000 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_update_tags.py +++ /dev/null @@ -1,42 +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) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.identity import DefaultAzureCredential - -from azure.mgmt.networkcloud import NetworkCloudMgmtClient - -""" -# PREREQUISITES - pip install azure-identity - pip install azure-mgmt-networkcloud -# USAGE - python kubernetes_versions_update_tags.py - - Before run the sample, please set the values of the client ID, tenant ID and client secret - of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, - AZURE_CLIENT_SECRET. For more info about how to get the value, please see: - https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal -""" - - -def main(): - client = NetworkCloudMgmtClient( - credential=DefaultAzureCredential(), - subscription_id="SUBSCRIPTION_ID", - ) - - response = client.kubernetes_versions.begin_update( - resource_group_name="resourceGroupName", - kubernetes_version_name="default", - ).result() - print(response) - - -# x-ms-original-file: 2026-05-01-preview/KubernetesVersions_UpdateTags.json -if __name__ == "__main__": - main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_create.py index 8c24d573f9b0..703c490df96e 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_create.py @@ -51,6 +51,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/L2Networks_Create.json +# x-ms-original-file: 2025-09-01/L2Networks_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_delete.py index c69a00c74d39..afbfbc511aaa 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_delete.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/L2Networks_Delete.json +# x-ms-original-file: 2025-09-01/L2Networks_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_get.py index fdccc58fd2f6..77517e71055f 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/L2Networks_Get.json +# x-ms-original-file: 2025-09-01/L2Networks_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_list_by_resource_group.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_list_by_resource_group.py index e72e1ccfe953..9fec92cd797c 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_list_by_resource_group.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_list_by_resource_group.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-01-preview/L2Networks_ListByResourceGroup.json +# x-ms-original-file: 2025-09-01/L2Networks_ListByResourceGroup.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_list_by_subscription.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_list_by_subscription.py index 59f863e60e8c..3d59ceb5aa7f 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_list_by_subscription.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_list_by_subscription.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-01-preview/L2Networks_ListBySubscription.json +# x-ms-original-file: 2025-09-01/L2Networks_ListBySubscription.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_patch.py index b6d6013213ca..ba827f195b2f 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_patch.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/L2Networks_Patch.json +# x-ms-original-file: 2025-09-01/L2Networks_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_create.py index 15535ba1fec4..410c9eaa94ac 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_create.py @@ -54,6 +54,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/L3Networks_Create.json +# x-ms-original-file: 2025-09-01/L3Networks_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_delete.py index 2acf38d9ea59..6b97f5db777a 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_delete.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/L3Networks_Delete.json +# x-ms-original-file: 2025-09-01/L3Networks_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_get.py index 33dd39af2140..f744d8211888 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/L3Networks_Get.json +# x-ms-original-file: 2025-09-01/L3Networks_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_list_by_resource_group.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_list_by_resource_group.py index 6d7aa696bb23..bfb84911a1c2 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_list_by_resource_group.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_list_by_resource_group.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-01-preview/L3Networks_ListByResourceGroup.json +# x-ms-original-file: 2025-09-01/L3Networks_ListByResourceGroup.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_list_by_subscription.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_list_by_subscription.py index b5447a13b567..9eaf290ab92a 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_list_by_subscription.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_list_by_subscription.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-01-preview/L3Networks_ListBySubscription.json +# x-ms-original-file: 2025-09-01/L3Networks_ListBySubscription.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_patch.py index dc14a6fef8fc..1882794fde9e 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_patch.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/L3Networks_Patch.json +# x-ms-original-file: 2025-09-01/L3Networks_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/operations_list.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/operations_list.py index f6b58ba08799..431c47b4b468 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/operations_list.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/operations_list.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-01-preview/Operations_List.json +# x-ms-original-file: 2025-09-01/Operations_List.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/rack_skus_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/rack_skus_get.py index d4cea9285878..fd5f8d4686bb 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/rack_skus_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/rack_skus_get.py @@ -36,6 +36,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/RackSkus_Get.json +# x-ms-original-file: 2025-09-01/RackSkus_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/rack_skus_list_by_subscription.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/rack_skus_list_by_subscription.py index bb212022904d..b51d090da444 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/rack_skus_list_by_subscription.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/rack_skus_list_by_subscription.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-01-preview/RackSkus_ListBySubscription.json +# x-ms-original-file: 2025-09-01/RackSkus_ListBySubscription.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_create.py index 19422147397b..769eaefea87c 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_create.py @@ -52,6 +52,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/Racks_Create.json +# x-ms-original-file: 2025-09-01/Racks_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_delete.py index 35cb6760c936..1a9336b5ee91 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_delete.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/Racks_Delete.json +# x-ms-original-file: 2025-09-01/Racks_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_get.py index 62985a7ed4a6..d695b18740ab 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/Racks_Get.json +# x-ms-original-file: 2025-09-01/Racks_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_list_by_resource_group.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_list_by_resource_group.py index aa2f0e75c139..83b1341606fd 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_list_by_resource_group.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_list_by_resource_group.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-01-preview/Racks_ListByResourceGroup.json +# x-ms-original-file: 2025-09-01/Racks_ListByResourceGroup.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_list_by_subscription.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_list_by_subscription.py index 41dbf9b7e292..cd56f08ba54c 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_list_by_subscription.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_list_by_subscription.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-01-preview/Racks_ListBySubscription.json +# x-ms-original-file: 2025-09-01/Racks_ListBySubscription.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_patch.py index 25251e23d3cb..b7f237532f99 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_patch.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/Racks_Patch.json +# x-ms-original-file: 2025-09-01/Racks_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_create.py index da40850536ec..f5b5fdd54baa 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_create.py @@ -53,6 +53,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/StorageAppliances_Create.json +# x-ms-original-file: 2025-09-01/StorageAppliances_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_delete.py index 9524015384e4..ed95947e58c1 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_delete.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/StorageAppliances_Delete.json +# x-ms-original-file: 2025-09-01/StorageAppliances_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_disable_remote_vendor_management.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_disable_remote_vendor_management.py index a1c37348ba8b..76cec268dd7b 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_disable_remote_vendor_management.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_disable_remote_vendor_management.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/StorageAppliances_DisableRemoteVendorManagement.json +# x-ms-original-file: 2025-09-01/StorageAppliances_DisableRemoteVendorManagement.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_enable_remote_vendor_management.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_enable_remote_vendor_management.py index f578a96c4002..cd626bb56d25 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_enable_remote_vendor_management.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_enable_remote_vendor_management.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/StorageAppliances_EnableRemoteVendorManagement.json +# x-ms-original-file: 2025-09-01/StorageAppliances_EnableRemoteVendorManagement.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_get.py index 603339228cb1..cf327a531150 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/StorageAppliances_Get.json +# x-ms-original-file: 2025-09-01/StorageAppliances_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_list_by_resource_group.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_list_by_resource_group.py index dcd1fca06317..445320eebee3 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_list_by_resource_group.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_list_by_resource_group.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-01-preview/StorageAppliances_ListByResourceGroup.json +# x-ms-original-file: 2025-09-01/StorageAppliances_ListByResourceGroup.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_list_by_subscription.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_list_by_subscription.py index 1df42a9a9f07..e5d6346a1c38 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_list_by_subscription.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_list_by_subscription.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-01-preview/StorageAppliances_ListBySubscription.json +# x-ms-original-file: 2025-09-01/StorageAppliances_ListBySubscription.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_patch.py index 2211c784a744..88c881301f76 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_patch.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/StorageAppliances_Patch.json +# x-ms-original-file: 2025-09-01/StorageAppliances_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_run_read_commands.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_run_read_commands.py index 4f17b5d9bcb9..5f301c16f509 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_run_read_commands.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_run_read_commands.py @@ -41,6 +41,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/StorageAppliances_RunReadCommands.json +# x-ms-original-file: 2025-09-01/StorageAppliances_RunReadCommands.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_create.py index a080fa5ba9c5..fd75e93fed26 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_create.py @@ -54,6 +54,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/TrunkedNetworks_Create.json +# x-ms-original-file: 2025-09-01/TrunkedNetworks_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_delete.py index 10d50bc35590..c871f3701bfb 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_delete.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/TrunkedNetworks_Delete.json +# x-ms-original-file: 2025-09-01/TrunkedNetworks_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_get.py index ba37d1801358..1e0302a9891e 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/TrunkedNetworks_Get.json +# x-ms-original-file: 2025-09-01/TrunkedNetworks_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_list_by_resource_group.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_list_by_resource_group.py index 0c61ff61f227..e2bd051a117f 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_list_by_resource_group.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_list_by_resource_group.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-01-preview/TrunkedNetworks_ListByResourceGroup.json +# x-ms-original-file: 2025-09-01/TrunkedNetworks_ListByResourceGroup.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_list_by_subscription.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_list_by_subscription.py index d93be06ccb79..2ec4d4a42c49 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_list_by_subscription.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_list_by_subscription.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-01-preview/TrunkedNetworks_ListBySubscription.json +# x-ms-original-file: 2025-09-01/TrunkedNetworks_ListBySubscription.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_patch.py index 037f8ec8d8ac..c7dcfad08556 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_patch.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/TrunkedNetworks_Patch.json +# x-ms-original-file: 2025-09-01/TrunkedNetworks_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_assign_relay.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_assign_relay.py index 140c40816e4f..31cdbfb149a8 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_assign_relay.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_assign_relay.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/VirtualMachines_AssignRelay.json +# x-ms-original-file: 2025-09-01/VirtualMachines_AssignRelay.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_create.py index 7812296d5937..1d0f3a347639 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_create.py @@ -100,6 +100,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/VirtualMachines_Create.json +# x-ms-original-file: 2025-09-01/VirtualMachines_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_delete.py index 26d28a1a7110..cd0814f7bfcc 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_delete.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/VirtualMachines_Delete.json +# x-ms-original-file: 2025-09-01/VirtualMachines_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_get.py index 9f815d4c49f4..4312f556a49e 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/VirtualMachines_Get.json +# x-ms-original-file: 2025-09-01/VirtualMachines_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_list_by_resource_group.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_list_by_resource_group.py index 06f524963f1d..db8cadd5150f 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_list_by_resource_group.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_list_by_resource_group.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-01-preview/VirtualMachines_ListByResourceGroup.json +# x-ms-original-file: 2025-09-01/VirtualMachines_ListByResourceGroup.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_list_by_subscription.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_list_by_subscription.py index 8dab5f172efa..1df667055557 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_list_by_subscription.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_list_by_subscription.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-01-preview/VirtualMachines_ListBySubscription.json +# x-ms-original-file: 2025-09-01/VirtualMachines_ListBySubscription.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_patch.py index 17d455582e92..9a2cedefe497 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_patch.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/VirtualMachines_Patch.json +# x-ms-original-file: 2025-09-01/VirtualMachines_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_power_off.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_power_off.py index 7bdad3dbcbb9..c96d66f62a93 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_power_off.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_power_off.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/VirtualMachines_PowerOff.json +# x-ms-original-file: 2025-09-01/VirtualMachines_PowerOff.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_reimage.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_reimage.py index 301c79be4d1f..f10882284acf 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_reimage.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_reimage.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/VirtualMachines_Reimage.json +# x-ms-original-file: 2025-09-01/VirtualMachines_Reimage.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_restart.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_restart.py index ccd7731758aa..f482732e7a22 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_restart.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_restart.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/VirtualMachines_Restart.json +# x-ms-original-file: 2025-09-01/VirtualMachines_Restart.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_start.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_start.py index 3e962e72e58f..df0cbdb2cef1 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_start.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_start.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/VirtualMachines_Start.json +# x-ms-original-file: 2025-09-01/VirtualMachines_Start.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_create.py index e2670825aa15..2b2a7e7a8a77 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_create.py @@ -42,7 +42,7 @@ def main(): "location": "location", "properties": { "sizeMiB": 1048576, - "storageApplianceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/storageAppliances/storageApplianceName", + "storageApplianceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/StorageAppliances/storageApplianceName", }, "tags": {"key1": "myvalue1", "key2": "myvalue2"}, }, @@ -50,6 +50,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/Volumes_Create.json +# x-ms-original-file: 2025-09-01/Volumes_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_delete.py index 0d4301b99943..8c669b34d91d 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_delete.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/Volumes_Delete.json +# x-ms-original-file: 2025-09-01/Volumes_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_get.py index d335c3e890c7..ae442c7fe77c 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/Volumes_Get.json +# x-ms-original-file: 2025-09-01/Volumes_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_list_by_resource_group.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_list_by_resource_group.py index c2bab273fed8..ada7a02a7194 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_list_by_resource_group.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_list_by_resource_group.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-01-preview/Volumes_ListByResourceGroup.json +# x-ms-original-file: 2025-09-01/Volumes_ListByResourceGroup.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_list_by_subscription.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_list_by_subscription.py index 1c6a8fedc802..50418a9cb0f3 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_list_by_subscription.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_list_by_subscription.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2026-05-01-preview/Volumes_ListBySubscription.json +# x-ms-original-file: 2025-09-01/Volumes_ListBySubscription.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_patch.py index 166c6933e53e..542e37a68039 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_patch.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-05-01-preview/Volumes_Patch.json +# x-ms-original-file: 2025-09-01/Volumes_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_access_bridges_operations.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_access_bridges_operations.py deleted file mode 100644 index e733e2ea2eb0..000000000000 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_access_bridges_operations.py +++ /dev/null @@ -1,117 +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) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -import pytest -from azure.mgmt.networkcloud import NetworkCloudMgmtClient - -from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy - -AZURE_LOCATION = "eastus" - - -@pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestNetworkCloudMgmtAccessBridgesOperations(AzureMgmtRecordedTestCase): - def setup_method(self, method): - self.client = self.create_mgmt_client(NetworkCloudMgmtClient) - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_access_bridges_get(self, resource_group): - response = self.client.access_bridges.get( - resource_group_name=resource_group.name, - access_bridge_name="str", - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_access_bridges_begin_create_or_update(self, resource_group): - response = self.client.access_bridges.begin_create_or_update( - resource_group_name=resource_group.name, - access_bridge_name="str", - access_bridge={ - "extendedLocation": {"name": "str", "type": "str"}, - "location": "str", - "properties": { - "networkId": "str", - "detailedStatus": "str", - "detailedStatusMessage": "str", - "endpoints": [{"fqdn": "str", "ipv4Address": "str", "ipv6Address": "str", "name": "str"}], - "ipv4ConnectedPrefix": "str", - "ipv6ConnectedPrefix": "str", - "protocol": "str", - "provisioningState": "str", - "securityRules": [ - { - "direction": "str", - "port": "str", - "description": "str", - "ipv4Addresses": ["str"], - "ipv6Addresses": ["str"], - } - ], - }, - "etag": "str", - "id": "str", - "name": "str", - "systemData": { - "createdAt": "2020-02-20 00:00:00", - "createdBy": "str", - "createdByType": "str", - "lastModifiedAt": "2020-02-20 00:00:00", - "lastModifiedBy": "str", - "lastModifiedByType": "str", - }, - "tags": {"str": "str"}, - "type": "str", - }, - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_access_bridges_begin_update(self, resource_group): - response = self.client.access_bridges.begin_update( - resource_group_name=resource_group.name, - access_bridge_name="str", - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_access_bridges_begin_delete(self, resource_group): - response = self.client.access_bridges.begin_delete( - resource_group_name=resource_group.name, - access_bridge_name="str", - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_access_bridges_list_by_resource_group(self, resource_group): - response = self.client.access_bridges.list_by_resource_group( - resource_group_name=resource_group.name, - ) - result = [r for r in response] - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_access_bridges_list_by_subscription(self, resource_group): - response = self.client.access_bridges.list_by_subscription() - result = [r for r in response] - # please add some check logic here by yourself - # ... diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_access_bridges_operations_async.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_access_bridges_operations_async.py deleted file mode 100644 index 62ee438dab18..000000000000 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_access_bridges_operations_async.py +++ /dev/null @@ -1,124 +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) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -import pytest -from azure.mgmt.networkcloud.aio import NetworkCloudMgmtClient - -from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer -from devtools_testutils.aio import recorded_by_proxy_async - -AZURE_LOCATION = "eastus" - - -@pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestNetworkCloudMgmtAccessBridgesOperationsAsync(AzureMgmtRecordedTestCase): - def setup_method(self, method): - self.client = self.create_mgmt_client(NetworkCloudMgmtClient, is_async=True) - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_access_bridges_get(self, resource_group): - response = await self.client.access_bridges.get( - resource_group_name=resource_group.name, - access_bridge_name="str", - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_access_bridges_begin_create_or_update(self, resource_group): - response = await ( - await self.client.access_bridges.begin_create_or_update( - resource_group_name=resource_group.name, - access_bridge_name="str", - access_bridge={ - "extendedLocation": {"name": "str", "type": "str"}, - "location": "str", - "properties": { - "networkId": "str", - "detailedStatus": "str", - "detailedStatusMessage": "str", - "endpoints": [{"fqdn": "str", "ipv4Address": "str", "ipv6Address": "str", "name": "str"}], - "ipv4ConnectedPrefix": "str", - "ipv6ConnectedPrefix": "str", - "protocol": "str", - "provisioningState": "str", - "securityRules": [ - { - "direction": "str", - "port": "str", - "description": "str", - "ipv4Addresses": ["str"], - "ipv6Addresses": ["str"], - } - ], - }, - "etag": "str", - "id": "str", - "name": "str", - "systemData": { - "createdAt": "2020-02-20 00:00:00", - "createdBy": "str", - "createdByType": "str", - "lastModifiedAt": "2020-02-20 00:00:00", - "lastModifiedBy": "str", - "lastModifiedByType": "str", - }, - "tags": {"str": "str"}, - "type": "str", - }, - ) - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_access_bridges_begin_update(self, resource_group): - response = await ( - await self.client.access_bridges.begin_update( - resource_group_name=resource_group.name, - access_bridge_name="str", - ) - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_access_bridges_begin_delete(self, resource_group): - response = await ( - await self.client.access_bridges.begin_delete( - resource_group_name=resource_group.name, - access_bridge_name="str", - ) - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_access_bridges_list_by_resource_group(self, resource_group): - response = self.client.access_bridges.list_by_resource_group( - resource_group_name=resource_group.name, - ) - result = [r async for r in response] - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_access_bridges_list_by_subscription(self, resource_group): - response = self.client.access_bridges.list_by_subscription() - result = [r async for r in response] - # please add some check logic here by yourself - # ... diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_bare_metal_machines_operations.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_bare_metal_machines_operations.py index 22f687def255..397eea1d761c 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_bare_metal_machines_operations.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_bare_metal_machines_operations.py @@ -69,8 +69,6 @@ def test_bare_metal_machines_begin_create_or_update(self, resource_group): } ], "associatedResourceIds": ["str"], - "bmcIpv4Address": "str", - "bmcIpv6Address": "str", "caCertificate": {"hash": "str", "value": "str"}, "clusterId": "str", "cordonStatus": "str", @@ -100,7 +98,6 @@ def test_bare_metal_machines_begin_create_or_update(self, resource_group): "kubernetesVersion": "str", "machineClusterVersion": "str", "machineRoles": ["str"], - "monitoringConfigurationStatus": {"logLevel": "str", "metricsLevel": "str"}, "oamIpv4Address": "str", "oamIpv6Address": "str", "osImage": "str", @@ -108,13 +105,8 @@ def test_bare_metal_machines_begin_create_or_update(self, resource_group): "provisioningState": "str", "readyState": "str", "runtimeProtectionStatus": { - "agentHealthStatus": "str", - "agentHealthStatusIssues": ["str"], - "agentLicenseStatus": "str", - "definitionUpdateMode": "str", "definitionsLastUpdated": "2020-02-20 00:00:00", "definitionsVersion": "str", - "enforcementLevel": "str", "scanCompletedTime": "2020-02-20 00:00:00", "scanScheduledTime": "2020-02-20 00:00:00", "scanStartedTime": "2020-02-20 00:00:00", diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_bare_metal_machines_operations_async.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_bare_metal_machines_operations_async.py index 2d410202dd59..83c32aff837a 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_bare_metal_machines_operations_async.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_bare_metal_machines_operations_async.py @@ -71,8 +71,6 @@ async def test_bare_metal_machines_begin_create_or_update(self, resource_group): } ], "associatedResourceIds": ["str"], - "bmcIpv4Address": "str", - "bmcIpv6Address": "str", "caCertificate": {"hash": "str", "value": "str"}, "clusterId": "str", "cordonStatus": "str", @@ -102,7 +100,6 @@ async def test_bare_metal_machines_begin_create_or_update(self, resource_group): "kubernetesVersion": "str", "machineClusterVersion": "str", "machineRoles": ["str"], - "monitoringConfigurationStatus": {"logLevel": "str", "metricsLevel": "str"}, "oamIpv4Address": "str", "oamIpv6Address": "str", "osImage": "str", @@ -110,13 +107,8 @@ async def test_bare_metal_machines_begin_create_or_update(self, resource_group): "provisioningState": "str", "readyState": "str", "runtimeProtectionStatus": { - "agentHealthStatus": "str", - "agentHealthStatusIssues": ["str"], - "agentLicenseStatus": "str", - "definitionUpdateMode": "str", "definitionsLastUpdated": "2020-02-20 00:00:00", "definitionsVersion": "str", - "enforcementLevel": "str", "scanCompletedTime": "2020-02-20 00:00:00", "scanScheduledTime": "2020-02-20 00:00:00", "scanStartedTime": "2020-02-20 00:00:00", diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_cluster_managers_operations.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_cluster_managers_operations.py index 348903bebdae..6dffeafeb92c 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_cluster_managers_operations.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_cluster_managers_operations.py @@ -47,7 +47,6 @@ def test_cluster_managers_begin_create_or_update(self, resource_group): "managedResourceGroupConfiguration": {"location": "str", "name": "str"}, "managerExtendedLocation": {"name": "str", "type": "str"}, "provisioningState": "str", - "relayConfiguration": {"relayNamespaceId": "str"}, "vmSize": "str", }, "etag": "str", @@ -58,7 +57,6 @@ def test_cluster_managers_begin_create_or_update(self, resource_group): "tenantId": "str", "userAssignedIdentities": {"str": {"clientId": "str", "principalId": "str"}}, }, - "kind": "str", "name": "str", "systemData": { "createdAt": "2020-02-20 00:00:00", @@ -115,14 +113,3 @@ def test_cluster_managers_list_by_subscription(self, resource_group): result = [r for r in response] # please add some check logic here by yourself # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_cluster_managers_begin_update_relay_private_endpoint_connection(self, resource_group): - response = self.client.cluster_managers.begin_update_relay_private_endpoint_connection( - resource_group_name=resource_group.name, - cluster_manager_name="str", - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_cluster_managers_operations_async.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_cluster_managers_operations_async.py index 02d2222fefed..535d5fbcf7cd 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_cluster_managers_operations_async.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_cluster_managers_operations_async.py @@ -49,7 +49,6 @@ async def test_cluster_managers_begin_create_or_update(self, resource_group): "managedResourceGroupConfiguration": {"location": "str", "name": "str"}, "managerExtendedLocation": {"name": "str", "type": "str"}, "provisioningState": "str", - "relayConfiguration": {"relayNamespaceId": "str"}, "vmSize": "str", }, "etag": "str", @@ -60,7 +59,6 @@ async def test_cluster_managers_begin_create_or_update(self, resource_group): "tenantId": "str", "userAssignedIdentities": {"str": {"clientId": "str", "principalId": "str"}}, }, - "kind": "str", "name": "str", "systemData": { "createdAt": "2020-02-20 00:00:00", @@ -120,16 +118,3 @@ async def test_cluster_managers_list_by_subscription(self, resource_group): result = [r async for r in response] # please add some check logic here by yourself # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_cluster_managers_begin_update_relay_private_endpoint_connection(self, resource_group): - response = await ( - await self.client.cluster_managers.begin_update_relay_private_endpoint_connection( - resource_group_name=resource_group.name, - cluster_manager_name="str", - ) - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_clusters_operations.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_clusters_operations.py index 26d085296920..fc8cc3bb6664 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_clusters_operations.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_clusters_operations.py @@ -168,12 +168,10 @@ def test_clusters_begin_create_or_update(self, resource_group): "detailedStatus": "str", "detailedStatusMessage": "str", "hybridAksExtendedLocation": {"name": "str", "type": "str"}, - "lastSuccessfulVersionUpdateTime": "2020-02-20 00:00:00", - "managedCredentials": ["str"], "managedResourceGroupConfiguration": {"location": "str", "name": "str"}, "manualActionCount": 0, "provisioningState": "str", - "runtimeProtectionConfiguration": {"definitionUpdateMode": "str", "enforcementLevel": "str"}, + "runtimeProtectionConfiguration": {"enforcementLevel": "str"}, "secretArchive": {"keyVaultId": "str", "useKeyVault": "str"}, "secretArchiveSettings": { "associatedIdentity": {"identityType": "str", "userAssignedIdentityResourceId": "str"}, @@ -198,7 +196,6 @@ def test_clusters_begin_create_or_update(self, resource_group): "tenantId": "str", "userAssignedIdentities": {"str": {"clientId": "str", "principalId": "str"}}, }, - "kind": "str", "name": "str", "systemData": { "createdAt": "2020-02-20 00:00:00", @@ -262,7 +259,7 @@ def test_clusters_begin_continue_update_version(self, resource_group): response = self.client.clusters.begin_continue_update_version( resource_group_name=resource_group.name, cluster_name="str", - cluster_continue_update_version_parameters={"machineGroupTargetingMode": "str", "safeguardMode": "str"}, + cluster_continue_update_version_parameters={"machineGroupTargetingMode": "str"}, ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself @@ -279,29 +276,6 @@ def test_clusters_begin_deploy(self, resource_group): # please add some check logic here by yourself # ... - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_clusters_begin_inspect(self, resource_group): - response = self.client.clusters.begin_inspect( - resource_group_name=resource_group.name, - cluster_name="str", - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_clusters_begin_rotate_credential(self, resource_group): - response = self.client.clusters.begin_rotate_credential( - resource_group_name=resource_group.name, - cluster_name="str", - body={"credentials": ["str"]}, - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy def test_clusters_begin_scan_runtime(self, resource_group): @@ -319,7 +293,7 @@ def test_clusters_begin_update_version(self, resource_group): response = self.client.clusters.begin_update_version( resource_group_name=resource_group.name, cluster_name="str", - cluster_update_version_parameters={"targetClusterVersion": "str", "safeguardMode": "str"}, + cluster_update_version_parameters={"targetClusterVersion": "str"}, ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_clusters_operations_async.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_clusters_operations_async.py index d2ddcd1a6c53..deb11be0a0fc 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_clusters_operations_async.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_clusters_operations_async.py @@ -173,12 +173,10 @@ async def test_clusters_begin_create_or_update(self, resource_group): "detailedStatus": "str", "detailedStatusMessage": "str", "hybridAksExtendedLocation": {"name": "str", "type": "str"}, - "lastSuccessfulVersionUpdateTime": "2020-02-20 00:00:00", - "managedCredentials": ["str"], "managedResourceGroupConfiguration": {"location": "str", "name": "str"}, "manualActionCount": 0, "provisioningState": "str", - "runtimeProtectionConfiguration": {"definitionUpdateMode": "str", "enforcementLevel": "str"}, + "runtimeProtectionConfiguration": {"enforcementLevel": "str"}, "secretArchive": {"keyVaultId": "str", "useKeyVault": "str"}, "secretArchiveSettings": { "associatedIdentity": {"identityType": "str", "userAssignedIdentityResourceId": "str"}, @@ -203,7 +201,6 @@ async def test_clusters_begin_create_or_update(self, resource_group): "tenantId": "str", "userAssignedIdentities": {"str": {"clientId": "str", "principalId": "str"}}, }, - "kind": "str", "name": "str", "systemData": { "createdAt": "2020-02-20 00:00:00", @@ -273,7 +270,7 @@ async def test_clusters_begin_continue_update_version(self, resource_group): await self.client.clusters.begin_continue_update_version( resource_group_name=resource_group.name, cluster_name="str", - cluster_continue_update_version_parameters={"machineGroupTargetingMode": "str", "safeguardMode": "str"}, + cluster_continue_update_version_parameters={"machineGroupTargetingMode": "str"}, ) ).result() # call '.result()' to poll until service return final result @@ -293,33 +290,6 @@ async def test_clusters_begin_deploy(self, resource_group): # please add some check logic here by yourself # ... - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_clusters_begin_inspect(self, resource_group): - response = await ( - await self.client.clusters.begin_inspect( - resource_group_name=resource_group.name, - cluster_name="str", - ) - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_clusters_begin_rotate_credential(self, resource_group): - response = await ( - await self.client.clusters.begin_rotate_credential( - resource_group_name=resource_group.name, - cluster_name="str", - body={"credentials": ["str"]}, - ) - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async async def test_clusters_begin_scan_runtime(self, resource_group): @@ -340,7 +310,7 @@ async def test_clusters_begin_update_version(self, resource_group): await self.client.clusters.begin_update_version( resource_group_name=resource_group.name, cluster_name="str", - cluster_update_version_parameters={"targetClusterVersion": "str", "safeguardMode": "str"}, + cluster_update_version_parameters={"targetClusterVersion": "str"}, ) ).result() # call '.result()' to poll until service return final result diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_kubernetes_versions_operations.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_kubernetes_versions_operations.py deleted file mode 100644 index 4c710d5e43c3..000000000000 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_kubernetes_versions_operations.py +++ /dev/null @@ -1,99 +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) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -import pytest -from azure.mgmt.networkcloud import NetworkCloudMgmtClient - -from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy - -AZURE_LOCATION = "eastus" - - -@pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestNetworkCloudMgmtKubernetesVersionsOperations(AzureMgmtRecordedTestCase): - def setup_method(self, method): - self.client = self.create_mgmt_client(NetworkCloudMgmtClient) - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_kubernetes_versions_get(self, resource_group): - response = self.client.kubernetes_versions.get( - resource_group_name=resource_group.name, - kubernetes_version_name="str", - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_kubernetes_versions_begin_create_or_update(self, resource_group): - response = self.client.kubernetes_versions.begin_create_or_update( - resource_group_name=resource_group.name, - kubernetes_version_name="str", - kubernetes_version_parameters={ - "extendedLocation": {"name": "str", "type": "str"}, - "location": "str", - "properties": {"provisioningState": "str", "values": [{"description": "str", "version": "str"}]}, - "etag": "str", - "id": "str", - "name": "str", - "systemData": { - "createdAt": "2020-02-20 00:00:00", - "createdBy": "str", - "createdByType": "str", - "lastModifiedAt": "2020-02-20 00:00:00", - "lastModifiedBy": "str", - "lastModifiedByType": "str", - }, - "tags": {"str": "str"}, - "type": "str", - }, - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_kubernetes_versions_begin_update(self, resource_group): - response = self.client.kubernetes_versions.begin_update( - resource_group_name=resource_group.name, - kubernetes_version_name="str", - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_kubernetes_versions_begin_delete(self, resource_group): - response = self.client.kubernetes_versions.begin_delete( - resource_group_name=resource_group.name, - kubernetes_version_name="str", - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_kubernetes_versions_list_by_resource_group(self, resource_group): - response = self.client.kubernetes_versions.list_by_resource_group( - resource_group_name=resource_group.name, - ) - result = [r for r in response] - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy - def test_kubernetes_versions_list_by_subscription(self, resource_group): - response = self.client.kubernetes_versions.list_by_subscription() - result = [r for r in response] - # please add some check logic here by yourself - # ... diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_kubernetes_versions_operations_async.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_kubernetes_versions_operations_async.py deleted file mode 100644 index a331f568438b..000000000000 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_kubernetes_versions_operations_async.py +++ /dev/null @@ -1,106 +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) Python Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -import pytest -from azure.mgmt.networkcloud.aio import NetworkCloudMgmtClient - -from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer -from devtools_testutils.aio import recorded_by_proxy_async - -AZURE_LOCATION = "eastus" - - -@pytest.mark.skip("you may need to update the auto-generated test case before run it") -class TestNetworkCloudMgmtKubernetesVersionsOperationsAsync(AzureMgmtRecordedTestCase): - def setup_method(self, method): - self.client = self.create_mgmt_client(NetworkCloudMgmtClient, is_async=True) - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_kubernetes_versions_get(self, resource_group): - response = await self.client.kubernetes_versions.get( - resource_group_name=resource_group.name, - kubernetes_version_name="str", - ) - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_kubernetes_versions_begin_create_or_update(self, resource_group): - response = await ( - await self.client.kubernetes_versions.begin_create_or_update( - resource_group_name=resource_group.name, - kubernetes_version_name="str", - kubernetes_version_parameters={ - "extendedLocation": {"name": "str", "type": "str"}, - "location": "str", - "properties": {"provisioningState": "str", "values": [{"description": "str", "version": "str"}]}, - "etag": "str", - "id": "str", - "name": "str", - "systemData": { - "createdAt": "2020-02-20 00:00:00", - "createdBy": "str", - "createdByType": "str", - "lastModifiedAt": "2020-02-20 00:00:00", - "lastModifiedBy": "str", - "lastModifiedByType": "str", - }, - "tags": {"str": "str"}, - "type": "str", - }, - ) - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_kubernetes_versions_begin_update(self, resource_group): - response = await ( - await self.client.kubernetes_versions.begin_update( - resource_group_name=resource_group.name, - kubernetes_version_name="str", - ) - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_kubernetes_versions_begin_delete(self, resource_group): - response = await ( - await self.client.kubernetes_versions.begin_delete( - resource_group_name=resource_group.name, - kubernetes_version_name="str", - ) - ).result() # call '.result()' to poll until service return final result - - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_kubernetes_versions_list_by_resource_group(self, resource_group): - response = self.client.kubernetes_versions.list_by_resource_group( - resource_group_name=resource_group.name, - ) - result = [r async for r in response] - # please add some check logic here by yourself - # ... - - @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) - @recorded_by_proxy_async - async def test_kubernetes_versions_list_by_subscription(self, resource_group): - response = self.client.kubernetes_versions.list_by_subscription() - result = [r async for r in response] - # please add some check logic here by yourself - # ... diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_storage_appliances_operations.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_storage_appliances_operations.py index 83de72b96d0b..8ffe181cc344 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_storage_appliances_operations.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_storage_appliances_operations.py @@ -50,11 +50,9 @@ def test_storage_appliances_begin_create_or_update(self, resource_group): "clusterId": "str", "detailedStatus": "str", "detailedStatusMessage": "str", - "expansionShelves": [{"model": "str", "version": "str"}], "managementIpv4Address": "str", "manufacturer": "str", "model": "str", - "monitoringConfigurationStatus": {"logLevel": "str", "metricsLevel": "str"}, "provisioningState": "str", "remoteVendorManagementFeature": "str", "remoteVendorManagementStatus": "str", diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_storage_appliances_operations_async.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_storage_appliances_operations_async.py index bfa46b3e6631..e74d6c939e9f 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_storage_appliances_operations_async.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_storage_appliances_operations_async.py @@ -52,11 +52,9 @@ async def test_storage_appliances_begin_create_or_update(self, resource_group): "clusterId": "str", "detailedStatus": "str", "detailedStatusMessage": "str", - "expansionShelves": [{"model": "str", "version": "str"}], "managementIpv4Address": "str", "manufacturer": "str", "model": "str", - "monitoringConfigurationStatus": {"logLevel": "str", "metricsLevel": "str"}, "provisioningState": "str", "remoteVendorManagementFeature": "str", "remoteVendorManagementStatus": "str", diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_volumes_operations.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_volumes_operations.py index 26406a136a8b..6f5b27456406 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_volumes_operations.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_volumes_operations.py @@ -41,7 +41,6 @@ def test_volumes_begin_create_or_update(self, resource_group): "properties": { "sizeMiB": 0, "allocatedSizeMiB": 0, - "assignedStorageApplianceId": "str", "attachedTo": ["str"], "detailedStatus": "str", "detailedStatusMessage": "str", diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_volumes_operations_async.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_volumes_operations_async.py index 23435d2a785d..6ecd15aaa83b 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_volumes_operations_async.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_volumes_operations_async.py @@ -43,7 +43,6 @@ async def test_volumes_begin_create_or_update(self, resource_group): "properties": { "sizeMiB": 0, "allocatedSizeMiB": 0, - "assignedStorageApplianceId": "str", "attachedTo": ["str"], "detailedStatus": "str", "detailedStatusMessage": "str", diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/pyproject.toml b/sdk/networkcloud/azure-mgmt-networkcloud/pyproject.toml index 268f7ece323b..29512ae29e47 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/pyproject.toml +++ b/sdk/networkcloud/azure-mgmt-networkcloud/pyproject.toml @@ -13,7 +13,7 @@ authors = [ description = "Microsoft Azure Networkcloud Management Client Library for Python" license = "MIT" classifiers = [ - "Development Status :: 4 - Beta", + "Development Status :: 5 - Production/Stable", "Programming Language :: Python", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3", @@ -79,7 +79,7 @@ package_name = "azure-mgmt-networkcloud" package_nspkg = "azure-mgmt-nspkg" package_pprint_name = "Networkcloud Management" package_doc_id = "" -is_stable = false +is_stable = true is_arm = true need_msrestazure = false need_azuremgmtcore = true diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/tsp-location.yaml b/sdk/networkcloud/azure-mgmt-networkcloud/tsp-location.yaml index 941dacd97e63..f40cb7d74a66 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/tsp-location.yaml +++ b/sdk/networkcloud/azure-mgmt-networkcloud/tsp-location.yaml @@ -1,4 +1,4 @@ directory: specification/networkcloud/NetworkCloud.Management -commit: d35397f26389e9d047c69904e09dbaf5ce6234f2 +commit: cf49df24bee763924bb4d9abceebe4fd1916a6ad repo: Azure/azure-rest-api-specs additionalDirectories: From 3b932e06a47a70447c826dcba761760a9d81ed47 Mon Sep 17 00:00:00 2001 From: "Chenxi Jiang (WICRESOFT NORTH AMERICA LTD)" Date: Mon, 20 Jul 2026 12:52:13 +0800 Subject: [PATCH 2/4] Optimize changelog for azure-mgmt-networkcloud Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../azure-mgmt-networkcloud/CHANGELOG.md | 779 +++--------------- 1 file changed, 96 insertions(+), 683 deletions(-) diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/CHANGELOG.md b/sdk/networkcloud/azure-mgmt-networkcloud/CHANGELOG.md index 8393bbe0ecb8..2acd55cc8782 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/CHANGELOG.md +++ b/sdk/networkcloud/azure-mgmt-networkcloud/CHANGELOG.md @@ -5,725 +5,138 @@ ### Features Added - Client `NetworkCloudMgmtClient` added method `send_request` - - Model `AgentPool` added property `properties` - - Model `AgentPoolPatchParameters` added property `properties` - - Model `BareMetalMachine` added property `properties` - - Model `BareMetalMachineKeySet` added property `properties` - - Model `BareMetalMachineKeySetPatchParameters` added property `properties` - - Model `BareMetalMachinePatchParameters` added property `properties` - - Model `BmcKeySet` added property `properties` - - Model `BmcKeySetPatchParameters` added property `properties` - - Model `CloudServicesNetwork` added property `properties` - - Model `CloudServicesNetworkPatchParameters` added property `properties` - - Model `Cluster` added property `properties` - - Model `ClusterManager` added property `properties` - - Model `ClusterMetricsConfiguration` added property `properties` - - Model `ClusterMetricsConfigurationPatchParameters` added property `properties` - - Model `ClusterPatchParameters` added property `properties` - - Model `Console` added property `properties` - - Model `ConsolePatchParameters` added property `properties` - - Model `KubernetesCluster` added property `properties` - - Model `KubernetesClusterFeature` added property `properties` - - Model `KubernetesClusterFeaturePatchParameters` added property `properties` - - Model `KubernetesClusterPatchParameters` added property `properties` - - Model `L2Network` added property `properties` - - Model `L3Network` added property `properties` - - Model `MachineSkuSlot` added property `properties` - - Model `OperationStatusResult` added property `properties` - - Model `Rack` added property `properties` - - Model `RackPatchParameters` added property `properties` - - Model `RackSku` added property `properties` - - Model `StorageAppliance` added property `properties` - - Model `StorageAppliancePatchParameters` added property `properties` - - Model `StorageApplianceSkuSlot` added property `properties` - - Model `TrunkedNetwork` added property `properties` - - Model `VirtualMachine` added property `properties` - - Model `VirtualMachinePatchParameters` added property `properties` - - Model `Volume` added property `properties` - - Added model `AgentPoolPatchProperties` - - Added model `AgentPoolProperties` - - Added model `BareMetalMachineKeySetPatchProperties` - - Added model `BareMetalMachineKeySetProperties` - - Added model `BareMetalMachinePatchProperties` - - Added model `BareMetalMachineProperties` - - Added model `BmcKeySetPatchProperties` - - Added model `BmcKeySetProperties` - - Added model `CloudServicesNetworkPatchProperties` - - Added model `CloudServicesNetworkProperties` - - Added model `ClusterManagerProperties` - - Added model `ClusterMetricsConfigurationPatchProperties` - - Added model `ClusterMetricsConfigurationProperties` - - Added model `ClusterPatchProperties` - - Added model `ClusterProperties` - - Added model `ConsolePatchProperties` - - Added model `ConsoleProperties` - Added enum `ExtendedLocationType` - - Added model `KubernetesClusterFeaturePatchProperties` - - Added model `KubernetesClusterFeatureProperties` - - Added model `KubernetesClusterPatchProperties` - - Added model `KubernetesClusterProperties` - - Added model `L2NetworkProperties` - - Added model `L3NetworkProperties` - - Added model `MachineSkuProperties` - - Added model `OperationStatusResultProperties` - Added model `ProxyResource` - - Added model `RackProperties` - - Added model `RackSkuProperties` - - Added model `RacksPatchProperties` - - Added model `StorageAppliancePatchProperties` - - Added model `StorageApplianceProperties` - - Added model `StorageApplianceSkuProperties` - - Added model `TrunkedNetworkProperties` - - Added model `VirtualMachinePatchProperties` - - Added model `VirtualMachineProperties` - - Added model `VolumeProperties` - - Model `AgentPoolsOperations` added parameter `etag` in method `begin_create_or_update` - - Model `AgentPoolsOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `AgentPoolsOperations` added parameter `etag` in method `begin_delete` - - Model `AgentPoolsOperations` added parameter `match_condition` in method `begin_delete` - - Model `AgentPoolsOperations` added parameter `etag` in method `begin_update` - - Model `AgentPoolsOperations` added parameter `match_condition` in method `begin_update` - - Model `BareMetalMachineKeySetsOperations` added parameter `etag` in method `begin_create_or_update` - - Model `BareMetalMachineKeySetsOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `BareMetalMachineKeySetsOperations` added parameter `etag` in method `begin_delete` - - Model `BareMetalMachineKeySetsOperations` added parameter `match_condition` in method `begin_delete` - - Model `BareMetalMachineKeySetsOperations` added parameter `etag` in method `begin_update` - - Model `BareMetalMachineKeySetsOperations` added parameter `match_condition` in method `begin_update` - - Model `BareMetalMachinesOperations` added parameter `etag` in method `begin_create_or_update` - - Model `BareMetalMachinesOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `BareMetalMachinesOperations` added parameter `etag` in method `begin_delete` - - Model `BareMetalMachinesOperations` added parameter `match_condition` in method `begin_delete` - - Model `BareMetalMachinesOperations` added parameter `etag` in method `begin_update` - - Model `BareMetalMachinesOperations` added parameter `match_condition` in method `begin_update` - - Model `BmcKeySetsOperations` added parameter `etag` in method `begin_create_or_update` - - Model `BmcKeySetsOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `BmcKeySetsOperations` added parameter `etag` in method `begin_delete` - - Model `BmcKeySetsOperations` added parameter `match_condition` in method `begin_delete` - - Model `BmcKeySetsOperations` added parameter `etag` in method `begin_update` - - Model `BmcKeySetsOperations` added parameter `match_condition` in method `begin_update` - - Model `CloudServicesNetworksOperations` added parameter `etag` in method `begin_create_or_update` - - Model `CloudServicesNetworksOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `CloudServicesNetworksOperations` added parameter `etag` in method `begin_delete` - - Model `CloudServicesNetworksOperations` added parameter `match_condition` in method `begin_delete` - - Model `CloudServicesNetworksOperations` added parameter `etag` in method `begin_update` - - Model `CloudServicesNetworksOperations` added parameter `match_condition` in method `begin_update` - - Model `ClusterManagersOperations` added parameter `etag` in method `begin_create_or_update` - - Model `ClusterManagersOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `ClusterManagersOperations` added parameter `etag` in method `begin_delete` - - Model `ClusterManagersOperations` added parameter `match_condition` in method `begin_delete` - - Model `ClusterManagersOperations` added parameter `etag` in method `update` - - Model `ClusterManagersOperations` added parameter `match_condition` in method `update` - - Model `ClustersOperations` added parameter `etag` in method `begin_create_or_update` - - Model `ClustersOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `ClustersOperations` added parameter `etag` in method `begin_delete` - - Model `ClustersOperations` added parameter `match_condition` in method `begin_delete` - - Model `ClustersOperations` added parameter `etag` in method `begin_update` - - Model `ClustersOperations` added parameter `match_condition` in method `begin_update` - - Model `ConsolesOperations` added parameter `etag` in method `begin_create_or_update` - - Model `ConsolesOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `ConsolesOperations` added parameter `etag` in method `begin_delete` - - Model `ConsolesOperations` added parameter `match_condition` in method `begin_delete` - - Model `ConsolesOperations` added parameter `etag` in method `begin_update` - - Model `ConsolesOperations` added parameter `match_condition` in method `begin_update` - - Model `KubernetesClusterFeaturesOperations` added parameter `etag` in method `begin_create_or_update` - - Model `KubernetesClusterFeaturesOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `KubernetesClusterFeaturesOperations` added parameter `etag` in method `begin_delete` - - Model `KubernetesClusterFeaturesOperations` added parameter `match_condition` in method `begin_delete` - - Model `KubernetesClusterFeaturesOperations` added parameter `etag` in method `begin_update` - - Model `KubernetesClusterFeaturesOperations` added parameter `match_condition` in method `begin_update` - - Model `KubernetesClustersOperations` added parameter `etag` in method `begin_create_or_update` - - Model `KubernetesClustersOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `KubernetesClustersOperations` added parameter `etag` in method `begin_delete` - - Model `KubernetesClustersOperations` added parameter `match_condition` in method `begin_delete` - - Model `KubernetesClustersOperations` added parameter `etag` in method `begin_update` - - Model `KubernetesClustersOperations` added parameter `match_condition` in method `begin_update` - - Model `L2NetworksOperations` added parameter `etag` in method `begin_create_or_update` - - Model `L2NetworksOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `L2NetworksOperations` added parameter `etag` in method `begin_delete` - - Model `L2NetworksOperations` added parameter `match_condition` in method `begin_delete` - - Model `L2NetworksOperations` added parameter `etag` in method `update` - - Model `L2NetworksOperations` added parameter `match_condition` in method `update` - - Model `L3NetworksOperations` added parameter `etag` in method `begin_create_or_update` - - Model `L3NetworksOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `L3NetworksOperations` added parameter `etag` in method `begin_delete` - - Model `L3NetworksOperations` added parameter `match_condition` in method `begin_delete` - - Model `L3NetworksOperations` added parameter `etag` in method `update` - - Model `L3NetworksOperations` added parameter `match_condition` in method `update` - - Model `MetricsConfigurationsOperations` added parameter `etag` in method `begin_create_or_update` - - Model `MetricsConfigurationsOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `MetricsConfigurationsOperations` added parameter `etag` in method `begin_delete` - - Model `MetricsConfigurationsOperations` added parameter `match_condition` in method `begin_delete` - - Model `MetricsConfigurationsOperations` added parameter `etag` in method `begin_update` - - Model `MetricsConfigurationsOperations` added parameter `match_condition` in method `begin_update` - - Model `RacksOperations` added parameter `etag` in method `begin_create_or_update` - - Model `RacksOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `RacksOperations` added parameter `etag` in method `begin_delete` - - Model `RacksOperations` added parameter `match_condition` in method `begin_delete` - - Model `RacksOperations` added parameter `etag` in method `begin_update` - - Model `RacksOperations` added parameter `match_condition` in method `begin_update` - - Model `StorageAppliancesOperations` added parameter `etag` in method `begin_create_or_update` - - Model `StorageAppliancesOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `StorageAppliancesOperations` added parameter `etag` in method `begin_delete` - - Model `StorageAppliancesOperations` added parameter `match_condition` in method `begin_delete` - - Model `StorageAppliancesOperations` added parameter `etag` in method `begin_update` - - Model `StorageAppliancesOperations` added parameter `match_condition` in method `begin_update` - - Model `TrunkedNetworksOperations` added parameter `etag` in method `begin_create_or_update` - - Model `TrunkedNetworksOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `TrunkedNetworksOperations` added parameter `etag` in method `begin_delete` - - Model `TrunkedNetworksOperations` added parameter `match_condition` in method `begin_delete` - - Model `TrunkedNetworksOperations` added parameter `etag` in method `update` - - Model `TrunkedNetworksOperations` added parameter `match_condition` in method `update` - - Model `VirtualMachinesOperations` added parameter `etag` in method `begin_create_or_update` - - Model `VirtualMachinesOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `VirtualMachinesOperations` added parameter `etag` in method `begin_delete` - - Model `VirtualMachinesOperations` added parameter `match_condition` in method `begin_delete` - - Model `VirtualMachinesOperations` added parameter `etag` in method `begin_update` - - Model `VirtualMachinesOperations` added parameter `match_condition` in method `begin_update` - - Model `VolumesOperations` added parameter `etag` in method `begin_create_or_update` - - Model `VolumesOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `VolumesOperations` added parameter `etag` in method `begin_delete` - - Model `VolumesOperations` added parameter `match_condition` in method `begin_delete` - - Model `VolumesOperations` added parameter `etag` in method `update` - - Model `VolumesOperations` added parameter `match_condition` in method `update` ### Breaking Changes - - Model `AgentPool` deleted or renamed its instance variable `administrator_configuration` - - Model `AgentPool` deleted or renamed its instance variable `agent_options` - - Model `AgentPool` deleted or renamed its instance variable `attached_network_configuration` - - Model `AgentPool` deleted or renamed its instance variable `availability_zones` - - Model `AgentPool` deleted or renamed its instance variable `count` - - Model `AgentPool` deleted or renamed its instance variable `detailed_status` - - Model `AgentPool` deleted or renamed its instance variable `detailed_status_message` - - Model `AgentPool` deleted or renamed its instance variable `kubernetes_version` - - Model `AgentPool` deleted or renamed its instance variable `labels` - - Model `AgentPool` deleted or renamed its instance variable `mode` - - Model `AgentPool` deleted or renamed its instance variable `provisioning_state` - - Model `AgentPool` deleted or renamed its instance variable `taints` - - Model `AgentPool` deleted or renamed its instance variable `upgrade_settings` - - Model `AgentPool` deleted or renamed its instance variable `vm_sku_name` - - Model `AgentPoolPatchParameters` deleted or renamed its instance variable `administrator_configuration` - - Model `AgentPoolPatchParameters` deleted or renamed its instance variable `count` - - Model `AgentPoolPatchParameters` deleted or renamed its instance variable `upgrade_settings` - - Model `BareMetalMachine` deleted or renamed its instance variable `action_states` - - Model `BareMetalMachine` deleted or renamed its instance variable `associated_resource_ids` - - Model `BareMetalMachine` deleted or renamed its instance variable `bmc_connection_string` - - Model `BareMetalMachine` deleted or renamed its instance variable `bmc_credentials` - - Model `BareMetalMachine` deleted or renamed its instance variable `bmc_mac_address` - - Model `BareMetalMachine` deleted or renamed its instance variable `boot_mac_address` - - Model `BareMetalMachine` deleted or renamed its instance variable `ca_certificate` - - Model `BareMetalMachine` deleted or renamed its instance variable `cluster_id` - - Model `BareMetalMachine` deleted or renamed its instance variable `cordon_status` - - Model `BareMetalMachine` deleted or renamed its instance variable `detailed_status` - - Model `BareMetalMachine` deleted or renamed its instance variable `detailed_status_message` - - Model `BareMetalMachine` deleted or renamed its instance variable `hardware_inventory` - - Model `BareMetalMachine` deleted or renamed its instance variable `hardware_validation_status` - - Model `BareMetalMachine` deleted or renamed its instance variable `hybrid_aks_clusters_associated_ids` - - Model `BareMetalMachine` deleted or renamed its instance variable `kubernetes_node_name` - - Model `BareMetalMachine` deleted or renamed its instance variable `kubernetes_version` - - Model `BareMetalMachine` deleted or renamed its instance variable `machine_cluster_version` - - Model `BareMetalMachine` deleted or renamed its instance variable `machine_details` - - Model `BareMetalMachine` deleted or renamed its instance variable `machine_name` - - Model `BareMetalMachine` deleted or renamed its instance variable `machine_roles` - - Model `BareMetalMachine` deleted or renamed its instance variable `machine_sku_id` - - Model `BareMetalMachine` deleted or renamed its instance variable `oam_ipv4_address` - - Model `BareMetalMachine` deleted or renamed its instance variable `oam_ipv6_address` - - Model `BareMetalMachine` deleted or renamed its instance variable `os_image` - - Model `BareMetalMachine` deleted or renamed its instance variable `power_state` - - Model `BareMetalMachine` deleted or renamed its instance variable `provisioning_state` - - Model `BareMetalMachine` deleted or renamed its instance variable `rack_id` - - Model `BareMetalMachine` deleted or renamed its instance variable `rack_slot` - - Model `BareMetalMachine` deleted or renamed its instance variable `ready_state` - - Model `BareMetalMachine` deleted or renamed its instance variable `runtime_protection_status` - - Model `BareMetalMachine` deleted or renamed its instance variable `secret_rotation_status` - - Model `BareMetalMachine` deleted or renamed its instance variable `serial_number` - - Model `BareMetalMachine` deleted or renamed its instance variable `service_tag` - - Model `BareMetalMachine` deleted or renamed its instance variable `virtual_machines_associated_ids` + - This version introduces new hybrid models which have dual dictionary and model nature. Please follow https://aka.ms/azsdk/python/migrate/hybrid-models for migration. + - For the method breakings, please refer to https://aka.ms/azsdk/python/migrate/operations for migration. + - Model `AgentPool` moved instance variable `administrator_configuration`, `agent_options`, `attached_network_configuration`, `availability_zones`, `count`, `detailed_status`, `detailed_status_message`, `kubernetes_version`, `labels`, `mode`, `provisioning_state`, `taints`, `upgrade_settings`, and `vm_sku_name` under property `properties` whose type is `AgentPoolProperties` + - Model `AgentPoolPatchParameters` moved instance variable `administrator_configuration`, `count`, and `upgrade_settings` under property `properties` whose type is `AgentPoolPatchProperties` + - Model `BareMetalMachine` moved instance variable `action_states`, `associated_resource_ids`, `bmc_connection_string`, `bmc_credentials`, `bmc_mac_address`, `boot_mac_address`, `ca_certificate`, `cluster_id`, `cordon_status`, `detailed_status`, `detailed_status_message`, `hardware_inventory`, `hardware_validation_status`, `hybrid_aks_clusters_associated_ids`, `kubernetes_node_name`, `kubernetes_version`, `machine_cluster_version`, `machine_details`, `machine_name`, `machine_roles`, `machine_sku_id`, `oam_ipv4_address`, `oam_ipv6_address`, `os_image`, `power_state`, `provisioning_state`, `rack_id`, `rack_slot`, `ready_state`, `runtime_protection_status`, `secret_rotation_status`, `serial_number`, `service_tag`, and `virtual_machines_associated_ids` under property `properties` whose type is `BareMetalMachineProperties` - Deleted or renamed enum value `BareMetalMachineHardwareValidationResult.PASS_ENUM` - - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `azure_group_id` - - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `detailed_status` - - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `detailed_status_message` - - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `expiration` - - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `jump_hosts_allowed` - - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `last_validation` - - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `os_group_name` - - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `privilege_level` - - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `privilege_level_name` - - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `provisioning_state` - - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `user_list` - - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `user_list_status` - - Model `BareMetalMachineKeySetPatchParameters` deleted or renamed its instance variable `expiration` - - Model `BareMetalMachineKeySetPatchParameters` deleted or renamed its instance variable `jump_hosts_allowed` - - Model `BareMetalMachineKeySetPatchParameters` deleted or renamed its instance variable `user_list` - - Model `BareMetalMachinePatchParameters` deleted or renamed its instance variable `machine_details` - - Model `BmcKeySet` deleted or renamed its instance variable `azure_group_id` - - Model `BmcKeySet` deleted or renamed its instance variable `detailed_status` - - Model `BmcKeySet` deleted or renamed its instance variable `detailed_status_message` - - Model `BmcKeySet` deleted or renamed its instance variable `expiration` - - Model `BmcKeySet` deleted or renamed its instance variable `last_validation` - - Model `BmcKeySet` deleted or renamed its instance variable `privilege_level` - - Model `BmcKeySet` deleted or renamed its instance variable `provisioning_state` - - Model `BmcKeySet` deleted or renamed its instance variable `user_list` - - Model `BmcKeySet` deleted or renamed its instance variable `user_list_status` - - Model `BmcKeySetPatchParameters` deleted or renamed its instance variable `expiration` - - Model `BmcKeySetPatchParameters` deleted or renamed its instance variable `user_list` - - Model `CloudServicesNetwork` deleted or renamed its instance variable `additional_egress_endpoints` - - Model `CloudServicesNetwork` deleted or renamed its instance variable `associated_resource_ids` - - Model `CloudServicesNetwork` deleted or renamed its instance variable `cluster_id` - - Model `CloudServicesNetwork` deleted or renamed its instance variable `detailed_status` - - Model `CloudServicesNetwork` deleted or renamed its instance variable `detailed_status_message` - - Model `CloudServicesNetwork` deleted or renamed its instance variable `enable_default_egress_endpoints` - - Model `CloudServicesNetwork` deleted or renamed its instance variable `enabled_egress_endpoints` - - Model `CloudServicesNetwork` deleted or renamed its instance variable `hybrid_aks_clusters_associated_ids` - - Model `CloudServicesNetwork` deleted or renamed its instance variable `interface_name` - - Model `CloudServicesNetwork` deleted or renamed its instance variable `provisioning_state` - - Model `CloudServicesNetwork` deleted or renamed its instance variable `storage_options` - - Model `CloudServicesNetwork` deleted or renamed its instance variable `storage_status` - - Model `CloudServicesNetwork` deleted or renamed its instance variable `virtual_machines_associated_ids` - - Model `CloudServicesNetworkPatchParameters` deleted or renamed its instance variable `additional_egress_endpoints` - - Model `CloudServicesNetworkPatchParameters` deleted or renamed its instance variable `enable_default_egress_endpoints` - - Model `CloudServicesNetworkPatchParameters` deleted or renamed its instance variable `storage_options` - - Model `Cluster` deleted or renamed its instance variable `action_states` - - Model `Cluster` deleted or renamed its instance variable `aggregator_or_single_rack_definition` - - Model `Cluster` deleted or renamed its instance variable `analytics_output_settings` - - Model `Cluster` deleted or renamed its instance variable `analytics_workspace_id` - - Model `Cluster` deleted or renamed its instance variable `available_upgrade_versions` - - Model `Cluster` deleted or renamed its instance variable `cluster_capacity` - - Model `Cluster` deleted or renamed its instance variable `cluster_connection_status` - - Model `Cluster` deleted or renamed its instance variable `cluster_extended_location` - - Model `Cluster` deleted or renamed its instance variable `cluster_location` - - Model `Cluster` deleted or renamed its instance variable `cluster_manager_connection_status` - - Model `Cluster` deleted or renamed its instance variable `cluster_manager_id` - - Model `Cluster` deleted or renamed its instance variable `cluster_service_principal` - - Model `Cluster` deleted or renamed its instance variable `cluster_type` - - Model `Cluster` deleted or renamed its instance variable `cluster_version` - - Model `Cluster` deleted or renamed its instance variable `command_output_settings` - - Model `Cluster` deleted or renamed its instance variable `compute_deployment_threshold` - - Model `Cluster` deleted or renamed its instance variable `compute_rack_definitions` - - Model `Cluster` deleted or renamed its instance variable `detailed_status` - - Model `Cluster` deleted or renamed its instance variable `detailed_status_message` - - Model `Cluster` deleted or renamed its instance variable `hybrid_aks_extended_location` - - Model `Cluster` deleted or renamed its instance variable `managed_resource_group_configuration` - - Model `Cluster` deleted or renamed its instance variable `manual_action_count` - - Model `Cluster` deleted or renamed its instance variable `network_fabric_id` - - Model `Cluster` deleted or renamed its instance variable `provisioning_state` - - Model `Cluster` deleted or renamed its instance variable `runtime_protection_configuration` - - Model `Cluster` deleted or renamed its instance variable `secret_archive` - - Model `Cluster` deleted or renamed its instance variable `secret_archive_settings` - - Model `Cluster` deleted or renamed its instance variable `support_expiry_date` - - Model `Cluster` deleted or renamed its instance variable `update_strategy` - - Model `Cluster` deleted or renamed its instance variable `vulnerability_scanning_settings` - - Model `Cluster` deleted or renamed its instance variable `workload_resource_ids` - - Model `ClusterManager` deleted or renamed its instance variable `analytics_workspace_id` - - Model `ClusterManager` deleted or renamed its instance variable `availability_zones` - - Model `ClusterManager` deleted or renamed its instance variable `cluster_versions` - - Model `ClusterManager` deleted or renamed its instance variable `detailed_status` - - Model `ClusterManager` deleted or renamed its instance variable `detailed_status_message` - - Model `ClusterManager` deleted or renamed its instance variable `fabric_controller_id` - - Model `ClusterManager` deleted or renamed its instance variable `managed_resource_group_configuration` - - Model `ClusterManager` deleted or renamed its instance variable `manager_extended_location` - - Model `ClusterManager` deleted or renamed its instance variable `provisioning_state` - - Model `ClusterManager` deleted or renamed its instance variable `vm_size` - - Model `ClusterMetricsConfiguration` deleted or renamed its instance variable `collection_interval` - - Model `ClusterMetricsConfiguration` deleted or renamed its instance variable `detailed_status` - - Model `ClusterMetricsConfiguration` deleted or renamed its instance variable `detailed_status_message` - - Model `ClusterMetricsConfiguration` deleted or renamed its instance variable `disabled_metrics` - - Model `ClusterMetricsConfiguration` deleted or renamed its instance variable `enabled_metrics` - - Model `ClusterMetricsConfiguration` deleted or renamed its instance variable `provisioning_state` - - Model `ClusterMetricsConfigurationPatchParameters` deleted or renamed its instance variable `collection_interval` - - Model `ClusterMetricsConfigurationPatchParameters` deleted or renamed its instance variable `enabled_metrics` - - Model `ClusterPatchParameters` deleted or renamed its instance variable `aggregator_or_single_rack_definition` - - Model `ClusterPatchParameters` deleted or renamed its instance variable `analytics_output_settings` - - Model `ClusterPatchParameters` deleted or renamed its instance variable `cluster_location` - - Model `ClusterPatchParameters` deleted or renamed its instance variable `cluster_service_principal` - - Model `ClusterPatchParameters` deleted or renamed its instance variable `command_output_settings` - - Model `ClusterPatchParameters` deleted or renamed its instance variable `compute_deployment_threshold` - - Model `ClusterPatchParameters` deleted or renamed its instance variable `compute_rack_definitions` - - Model `ClusterPatchParameters` deleted or renamed its instance variable `runtime_protection_configuration` - - Model `ClusterPatchParameters` deleted or renamed its instance variable `secret_archive` - - Model `ClusterPatchParameters` deleted or renamed its instance variable `secret_archive_settings` - - Model `ClusterPatchParameters` deleted or renamed its instance variable `update_strategy` - - Model `ClusterPatchParameters` deleted or renamed its instance variable `vulnerability_scanning_settings` - - Model `Console` deleted or renamed its instance variable `detailed_status` - - Model `Console` deleted or renamed its instance variable `detailed_status_message` - - Model `Console` deleted or renamed its instance variable `enabled` - - Model `Console` deleted or renamed its instance variable `expiration` - - Model `Console` deleted or renamed its instance variable `private_link_service_id` - - Model `Console` deleted or renamed its instance variable `provisioning_state` - - Model `Console` deleted or renamed its instance variable `ssh_public_key` - - Model `Console` deleted or renamed its instance variable `virtual_machine_access_id` - - Model `ConsolePatchParameters` deleted or renamed its instance variable `enabled` - - Model `ConsolePatchParameters` deleted or renamed its instance variable `expiration` - - Model `ConsolePatchParameters` deleted or renamed its instance variable `ssh_public_key` - - Model `KubernetesCluster` deleted or renamed its instance variable `aad_configuration` - - Model `KubernetesCluster` deleted or renamed its instance variable `administrator_configuration` - - Model `KubernetesCluster` deleted or renamed its instance variable `attached_network_ids` - - Model `KubernetesCluster` deleted or renamed its instance variable `available_upgrades` - - Model `KubernetesCluster` deleted or renamed its instance variable `cluster_id` - - Model `KubernetesCluster` deleted or renamed its instance variable `connected_cluster_id` - - Model `KubernetesCluster` deleted or renamed its instance variable `control_plane_kubernetes_version` - - Model `KubernetesCluster` deleted or renamed its instance variable `control_plane_node_configuration` - - Model `KubernetesCluster` deleted or renamed its instance variable `detailed_status` - - Model `KubernetesCluster` deleted or renamed its instance variable `detailed_status_message` - - Model `KubernetesCluster` deleted or renamed its instance variable `feature_statuses` - - Model `KubernetesCluster` deleted or renamed its instance variable `initial_agent_pool_configurations` - - Model `KubernetesCluster` deleted or renamed its instance variable `kubernetes_version` - - Model `KubernetesCluster` deleted or renamed its instance variable `managed_resource_group_configuration` - - Model `KubernetesCluster` deleted or renamed its instance variable `network_configuration` - - Model `KubernetesCluster` deleted or renamed its instance variable `nodes` - - Model `KubernetesCluster` deleted or renamed its instance variable `provisioning_state` - - Model `KubernetesClusterFeature` deleted or renamed its instance variable `availability_lifecycle` - - Model `KubernetesClusterFeature` deleted or renamed its instance variable `detailed_status` - - Model `KubernetesClusterFeature` deleted or renamed its instance variable `detailed_status_message` - - Model `KubernetesClusterFeature` deleted or renamed its instance variable `options` - - Model `KubernetesClusterFeature` deleted or renamed its instance variable `provisioning_state` - - Model `KubernetesClusterFeature` deleted or renamed its instance variable `required` - - Model `KubernetesClusterFeature` deleted or renamed its instance variable `version` - - Model `KubernetesClusterFeaturePatchParameters` deleted or renamed its instance variable `options` - - Model `KubernetesClusterPatchParameters` deleted or renamed its instance variable `administrator_configuration` - - Model `KubernetesClusterPatchParameters` deleted or renamed its instance variable `control_plane_node_configuration` - - Model `KubernetesClusterPatchParameters` deleted or renamed its instance variable `kubernetes_version` - - Model `L2Network` deleted or renamed its instance variable `associated_resource_ids` - - Model `L2Network` deleted or renamed its instance variable `cluster_id` - - Model `L2Network` deleted or renamed its instance variable `detailed_status` - - Model `L2Network` deleted or renamed its instance variable `detailed_status_message` - - Model `L2Network` deleted or renamed its instance variable `hybrid_aks_clusters_associated_ids` - - Model `L2Network` deleted or renamed its instance variable `hybrid_aks_plugin_type` - - Model `L2Network` deleted or renamed its instance variable `interface_name` - - Model `L2Network` deleted or renamed its instance variable `l2_isolation_domain_id` - - Model `L2Network` deleted or renamed its instance variable `provisioning_state` - - Model `L2Network` deleted or renamed its instance variable `virtual_machines_associated_ids` - - Model `L3Network` deleted or renamed its instance variable `associated_resource_ids` - - Model `L3Network` deleted or renamed its instance variable `cluster_id` - - Model `L3Network` deleted or renamed its instance variable `detailed_status` - - Model `L3Network` deleted or renamed its instance variable `detailed_status_message` - - Model `L3Network` deleted or renamed its instance variable `hybrid_aks_clusters_associated_ids` - - Model `L3Network` deleted or renamed its instance variable `hybrid_aks_ipam_enabled` - - Model `L3Network` deleted or renamed its instance variable `hybrid_aks_plugin_type` - - Model `L3Network` deleted or renamed its instance variable `interface_name` - - Model `L3Network` deleted or renamed its instance variable `ip_allocation_type` - - Model `L3Network` deleted or renamed its instance variable `ipv4_connected_prefix` - - Model `L3Network` deleted or renamed its instance variable `ipv6_connected_prefix` - - Model `L3Network` deleted or renamed its instance variable `l3_isolation_domain_id` - - Model `L3Network` deleted or renamed its instance variable `provisioning_state` - - Model `L3Network` deleted or renamed its instance variable `virtual_machines_associated_ids` - - Model `L3Network` deleted or renamed its instance variable `vlan` - - Model `MachineSkuSlot` deleted or renamed its instance variable `bootstrap_protocol` - - Model `MachineSkuSlot` deleted or renamed its instance variable `cpu_cores` - - Model `MachineSkuSlot` deleted or renamed its instance variable `cpu_sockets` - - Model `MachineSkuSlot` deleted or renamed its instance variable `disks` - - Model `MachineSkuSlot` deleted or renamed its instance variable `generation` - - Model `MachineSkuSlot` deleted or renamed its instance variable `hardware_version` - - Model `MachineSkuSlot` deleted or renamed its instance variable `memory_capacity_gb` - - Model `MachineSkuSlot` deleted or renamed its instance variable `model` - - Model `MachineSkuSlot` deleted or renamed its instance variable `network_interfaces` - - Model `MachineSkuSlot` deleted or renamed its instance variable `total_threads` - - Model `MachineSkuSlot` deleted or renamed its instance variable `vendor` - - Model `OperationStatusResult` deleted or renamed its instance variable `exit_code` - - Model `OperationStatusResult` deleted or renamed its instance variable `output_head` - - Model `OperationStatusResult` deleted or renamed its instance variable `result_ref` - - Model `OperationStatusResult` deleted or renamed its instance variable `result_url` - - Model `Rack` deleted or renamed its instance variable `availability_zone` - - Model `Rack` deleted or renamed its instance variable `cluster_id` - - Model `Rack` deleted or renamed its instance variable `detailed_status` - - Model `Rack` deleted or renamed its instance variable `detailed_status_message` - - Model `Rack` deleted or renamed its instance variable `provisioning_state` - - Model `Rack` deleted or renamed its instance variable `rack_location` - - Model `Rack` deleted or renamed its instance variable `rack_serial_number` - - Model `Rack` deleted or renamed its instance variable `rack_sku_id` - - Model `RackPatchParameters` deleted or renamed its instance variable `rack_location` - - Model `RackPatchParameters` deleted or renamed its instance variable `rack_serial_number` - - Model `RackSku` deleted or renamed its instance variable `compute_machines` - - Model `RackSku` deleted or renamed its instance variable `controller_machines` - - Model `RackSku` deleted or renamed its instance variable `description` - - Model `RackSku` deleted or renamed its instance variable `max_cluster_slots` - - Model `RackSku` deleted or renamed its instance variable `provisioning_state` - - Model `RackSku` deleted or renamed its instance variable `rack_type` - - Model `RackSku` deleted or renamed its instance variable `storage_appliances` - - Model `RackSku` deleted or renamed its instance variable `supported_rack_sku_ids` - - Model `StorageAppliance` deleted or renamed its instance variable `administrator_credentials` - - Model `StorageAppliance` deleted or renamed its instance variable `ca_certificate` - - Model `StorageAppliance` deleted or renamed its instance variable `capacity` - - Model `StorageAppliance` deleted or renamed its instance variable `capacity_used` - - Model `StorageAppliance` deleted or renamed its instance variable `cluster_id` - - Model `StorageAppliance` deleted or renamed its instance variable `detailed_status` - - Model `StorageAppliance` deleted or renamed its instance variable `detailed_status_message` - - Model `StorageAppliance` deleted or renamed its instance variable `management_ipv4_address` - - Model `StorageAppliance` deleted or renamed its instance variable `manufacturer` - - Model `StorageAppliance` deleted or renamed its instance variable `model` - - Model `StorageAppliance` deleted or renamed its instance variable `provisioning_state` - - Model `StorageAppliance` deleted or renamed its instance variable `rack_id` - - Model `StorageAppliance` deleted or renamed its instance variable `rack_slot` - - Model `StorageAppliance` deleted or renamed its instance variable `remote_vendor_management_feature` - - Model `StorageAppliance` deleted or renamed its instance variable `remote_vendor_management_status` - - Model `StorageAppliance` deleted or renamed its instance variable `secret_rotation_status` - - Model `StorageAppliance` deleted or renamed its instance variable `serial_number` - - Model `StorageAppliance` deleted or renamed its instance variable `storage_appliance_sku_id` - - Model `StorageAppliance` deleted or renamed its instance variable `version` - - Model `StorageAppliancePatchParameters` deleted or renamed its instance variable `serial_number` - - Model `StorageApplianceSkuSlot` deleted or renamed its instance variable `capacity_gb` - - Model `StorageApplianceSkuSlot` deleted or renamed its instance variable `model` - - Model `TrunkedNetwork` deleted or renamed its instance variable `associated_resource_ids` - - Model `TrunkedNetwork` deleted or renamed its instance variable `cluster_id` - - Model `TrunkedNetwork` deleted or renamed its instance variable `detailed_status` - - Model `TrunkedNetwork` deleted or renamed its instance variable `detailed_status_message` - - Model `TrunkedNetwork` deleted or renamed its instance variable `hybrid_aks_clusters_associated_ids` - - Model `TrunkedNetwork` deleted or renamed its instance variable `hybrid_aks_plugin_type` - - Model `TrunkedNetwork` deleted or renamed its instance variable `interface_name` - - Model `TrunkedNetwork` deleted or renamed its instance variable `isolation_domain_ids` - - Model `TrunkedNetwork` deleted or renamed its instance variable `provisioning_state` - - Model `TrunkedNetwork` deleted or renamed its instance variable `virtual_machines_associated_ids` - - Model `TrunkedNetwork` deleted or renamed its instance variable `vlans` - - Model `VirtualMachine` deleted or renamed its instance variable `admin_username` - - Model `VirtualMachine` deleted or renamed its instance variable `availability_zone` - - Model `VirtualMachine` deleted or renamed its instance variable `bare_metal_machine_id` - - Model `VirtualMachine` deleted or renamed its instance variable `boot_method` - - Model `VirtualMachine` deleted or renamed its instance variable `cloud_services_network_attachment` - - Model `VirtualMachine` deleted or renamed its instance variable `cluster_id` - - Model `VirtualMachine` deleted or renamed its instance variable `console_extended_location` - - Model `VirtualMachine` deleted or renamed its instance variable `cpu_cores` - - Model `VirtualMachine` deleted or renamed its instance variable `detailed_status` - - Model `VirtualMachine` deleted or renamed its instance variable `detailed_status_message` - - Model `VirtualMachine` deleted or renamed its instance variable `isolate_emulator_thread` - - Model `VirtualMachine` deleted or renamed its instance variable `memory_size_gb` - - Model `VirtualMachine` deleted or renamed its instance variable `network_attachments` - - Model `VirtualMachine` deleted or renamed its instance variable `network_data` - - Model `VirtualMachine` deleted or renamed its instance variable `network_data_content` - - Model `VirtualMachine` deleted or renamed its instance variable `placement_hints` - - Model `VirtualMachine` deleted or renamed its instance variable `power_state` - - Model `VirtualMachine` deleted or renamed its instance variable `provisioning_state` - - Model `VirtualMachine` deleted or renamed its instance variable `ssh_public_keys` - - Model `VirtualMachine` deleted or renamed its instance variable `storage_profile` - - Model `VirtualMachine` deleted or renamed its instance variable `user_data` - - Model `VirtualMachine` deleted or renamed its instance variable `user_data_content` - - Model `VirtualMachine` deleted or renamed its instance variable `virtio_interface` - - Model `VirtualMachine` deleted or renamed its instance variable `vm_device_model` - - Model `VirtualMachine` deleted or renamed its instance variable `vm_image` - - Model `VirtualMachine` deleted or renamed its instance variable `vm_image_repository_credentials` - - Model `VirtualMachine` deleted or renamed its instance variable `volumes` - - Model `VirtualMachinePatchParameters` deleted or renamed its instance variable `vm_image_repository_credentials` - - Model `Volume` deleted or renamed its instance variable `allocated_size_mi_b` - - Model `Volume` deleted or renamed its instance variable `attached_to` - - Model `Volume` deleted or renamed its instance variable `detailed_status` - - Model `Volume` deleted or renamed its instance variable `detailed_status_message` - - Model `Volume` deleted or renamed its instance variable `provisioning_state` - - Model `Volume` deleted or renamed its instance variable `serial_number` - - Model `Volume` deleted or renamed its instance variable `size_mi_b` - - Model `Volume` deleted or renamed its instance variable `storage_appliance_id` - - Deleted or renamed model `AgentPoolConfiguration` - - Deleted or renamed model `AgentPoolList` - - Deleted or renamed model `BareMetalMachineKeySetList` - - Deleted or renamed model `BareMetalMachineList` - - Deleted or renamed model `BmcKeySetList` - - Deleted or renamed model `CloudServicesNetworkList` - - Deleted or renamed model `ClusterList` - - Deleted or renamed model `ClusterManagerList` - - Deleted or renamed model `ClusterMetricsConfigurationList` - - Deleted or renamed model `ConsoleList` - - Deleted or renamed model `KubernetesClusterFeatureList` - - Deleted or renamed model `KubernetesClusterList` - - Deleted or renamed model `L2NetworkList` - - Deleted or renamed model `L3NetworkList` - - Deleted or renamed model `OperationListResult` - - Deleted or renamed model `RackList` - - Deleted or renamed model `RackSkuList` - - Deleted or renamed model `StorageApplianceList` - - Deleted or renamed model `TagsParameter` - - Deleted or renamed model `TrunkedNetworkList` - - Deleted or renamed model `VirtualMachineList` - - Deleted or renamed model `VolumeList` - - Method `AgentPoolsOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `AgentPoolsOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `AgentPoolsOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `AgentPoolsOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `AgentPoolsOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `AgentPoolsOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Model `BareMetalMachineKeySet` moved instance variable `azure_group_id`, `detailed_status`, `detailed_status_message`, `expiration`, `jump_hosts_allowed`, `last_validation`, `os_group_name`, `privilege_level`, `privilege_level_name`, `provisioning_state`, `user_list`, and `user_list_status` under property `properties` whose type is `BareMetalMachineKeySetProperties` + - Model `BareMetalMachineKeySetPatchParameters` moved instance variable `expiration`, `jump_hosts_allowed`, and `user_list` under property `properties` whose type is `BareMetalMachineKeySetPatchProperties` + - Model `BareMetalMachinePatchParameters` moved instance variable `machine_details` under property `properties` whose type is `BareMetalMachinePatchProperties` + - Model `BmcKeySet` moved instance variable `azure_group_id`, `detailed_status`, `detailed_status_message`, `expiration`, `last_validation`, `privilege_level`, `provisioning_state`, `user_list`, and `user_list_status` under property `properties` whose type is `BmcKeySetProperties` + - Model `BmcKeySetPatchParameters` moved instance variable `expiration` and `user_list` under property `properties` whose type is `BmcKeySetPatchProperties` + - Model `CloudServicesNetwork` moved instance variable `additional_egress_endpoints`, `associated_resource_ids`, `cluster_id`, `detailed_status`, `detailed_status_message`, `enable_default_egress_endpoints`, `enabled_egress_endpoints`, `hybrid_aks_clusters_associated_ids`, `interface_name`, `provisioning_state`, `storage_options`, `storage_status`, and `virtual_machines_associated_ids` under property `properties` whose type is `CloudServicesNetworkProperties` + - Model `CloudServicesNetworkPatchParameters` moved instance variable `additional_egress_endpoints`, `enable_default_egress_endpoints`, and `storage_options` under property `properties` whose type is `CloudServicesNetworkPatchProperties` + - Model `Cluster` moved instance variable `action_states`, `aggregator_or_single_rack_definition`, `analytics_output_settings`, `analytics_workspace_id`, `available_upgrade_versions`, `cluster_capacity`, `cluster_connection_status`, `cluster_extended_location`, `cluster_location`, `cluster_manager_connection_status`, `cluster_manager_id`, `cluster_service_principal`, `cluster_type`, `cluster_version`, `command_output_settings`, `compute_deployment_threshold`, `compute_rack_definitions`, `detailed_status`, `detailed_status_message`, `hybrid_aks_extended_location`, `managed_resource_group_configuration`, `manual_action_count`, `network_fabric_id`, `provisioning_state`, `runtime_protection_configuration`, `secret_archive`, `secret_archive_settings`, `support_expiry_date`, `update_strategy`, `vulnerability_scanning_settings`, and `workload_resource_ids` under property `properties` whose type is `ClusterProperties` + - Model `ClusterManager` moved instance variable `analytics_workspace_id`, `availability_zones`, `cluster_versions`, `detailed_status`, `detailed_status_message`, `fabric_controller_id`, `managed_resource_group_configuration`, `manager_extended_location`, `provisioning_state`, and `vm_size` under property `properties` whose type is `ClusterManagerProperties` + - Model `ClusterMetricsConfiguration` moved instance variable `collection_interval`, `detailed_status`, `detailed_status_message`, `disabled_metrics`, `enabled_metrics`, and `provisioning_state` under property `properties` whose type is `ClusterMetricsConfigurationProperties` + - Model `ClusterMetricsConfigurationPatchParameters` moved instance variable `collection_interval` and `enabled_metrics` under property `properties` whose type is `ClusterMetricsConfigurationPatchProperties` + - Model `ClusterPatchParameters` moved instance variable `aggregator_or_single_rack_definition`, `analytics_output_settings`, `cluster_location`, `cluster_service_principal`, `command_output_settings`, `compute_deployment_threshold`, `compute_rack_definitions`, `runtime_protection_configuration`, `secret_archive`, `secret_archive_settings`, `update_strategy`, and `vulnerability_scanning_settings` under property `properties` whose type is `ClusterPatchProperties` + - Model `Console` moved instance variable `detailed_status`, `detailed_status_message`, `enabled`, `expiration`, `private_link_service_id`, `provisioning_state`, `ssh_public_key`, and `virtual_machine_access_id` under property `properties` whose type is `ConsoleProperties` + - Model `ConsolePatchParameters` moved instance variable `enabled`, `expiration`, and `ssh_public_key` under property `properties` whose type is `ConsolePatchProperties` + - Model `KubernetesCluster` moved instance variable `aad_configuration`, `administrator_configuration`, `attached_network_ids`, `available_upgrades`, `cluster_id`, `connected_cluster_id`, `control_plane_kubernetes_version`, `control_plane_node_configuration`, `detailed_status`, `detailed_status_message`, `feature_statuses`, `initial_agent_pool_configurations`, `kubernetes_version`, `managed_resource_group_configuration`, `network_configuration`, `nodes`, and `provisioning_state` under property `properties` whose type is `KubernetesClusterProperties` + - Model `KubernetesClusterFeature` moved instance variable `availability_lifecycle`, `detailed_status`, `detailed_status_message`, `options`, `provisioning_state`, `required`, and `version` under property `properties` whose type is `KubernetesClusterFeatureProperties` + - Model `KubernetesClusterFeaturePatchParameters` moved instance variable `options` under property `properties` whose type is `KubernetesClusterFeaturePatchProperties` + - Model `KubernetesClusterPatchParameters` moved instance variable `administrator_configuration`, `control_plane_node_configuration`, and `kubernetes_version` under property `properties` whose type is `KubernetesClusterPatchProperties` + - Model `L2Network` moved instance variable `associated_resource_ids`, `cluster_id`, `detailed_status`, `detailed_status_message`, `hybrid_aks_clusters_associated_ids`, `hybrid_aks_plugin_type`, `interface_name`, `l2_isolation_domain_id`, `provisioning_state`, and `virtual_machines_associated_ids` under property `properties` whose type is `L2NetworkProperties` + - Model `L3Network` moved instance variable `associated_resource_ids`, `cluster_id`, `detailed_status`, `detailed_status_message`, `hybrid_aks_clusters_associated_ids`, `hybrid_aks_ipam_enabled`, `hybrid_aks_plugin_type`, `interface_name`, `ip_allocation_type`, `ipv4_connected_prefix`, `ipv6_connected_prefix`, `l3_isolation_domain_id`, `provisioning_state`, `virtual_machines_associated_ids`, and `vlan` under property `properties` whose type is `L3NetworkProperties` + - Model `MachineSkuSlot` moved instance variable `bootstrap_protocol`, `cpu_cores`, `cpu_sockets`, `disks`, `generation`, `hardware_version`, `memory_capacity_gb`, `model`, `network_interfaces`, `total_threads`, and `vendor` under property `properties` whose type is `MachineSkuProperties` + - Model `OperationStatusResult` moved instance variable `exit_code`, `output_head`, `result_ref`, and `result_url` under property `properties` whose type is `OperationStatusResultProperties` + - Model `Rack` moved instance variable `availability_zone`, `cluster_id`, `detailed_status`, `detailed_status_message`, `provisioning_state`, `rack_location`, `rack_serial_number`, and `rack_sku_id` under property `properties` whose type is `RackProperties` + - Model `RackPatchParameters` moved instance variable `rack_location` and `rack_serial_number` under property `properties` whose type is `RacksPatchProperties` + - Model `RackSku` moved instance variable `compute_machines`, `controller_machines`, `description`, `max_cluster_slots`, `provisioning_state`, `rack_type`, `storage_appliances`, and `supported_rack_sku_ids` under property `properties` whose type is `RackSkuProperties` + - Model `StorageAppliance` moved instance variable `administrator_credentials`, `ca_certificate`, `capacity`, `capacity_used`, `cluster_id`, `detailed_status`, `detailed_status_message`, `management_ipv4_address`, `manufacturer`, `model`, `provisioning_state`, `rack_id`, `rack_slot`, `remote_vendor_management_feature`, `remote_vendor_management_status`, `secret_rotation_status`, `serial_number`, `storage_appliance_sku_id`, and `version` under property `properties` whose type is `StorageApplianceProperties` + - Model `StorageAppliancePatchParameters` moved instance variable `serial_number` under property `properties` whose type is `StorageAppliancePatchProperties` + - Model `StorageApplianceSkuSlot` moved instance variable `capacity_gb` and `model` under property `properties` whose type is `StorageApplianceSkuProperties` + - Model `TrunkedNetwork` moved instance variable `associated_resource_ids`, `cluster_id`, `detailed_status`, `detailed_status_message`, `hybrid_aks_clusters_associated_ids`, `hybrid_aks_plugin_type`, `interface_name`, `isolation_domain_ids`, `provisioning_state`, `virtual_machines_associated_ids`, and `vlans` under property `properties` whose type is `TrunkedNetworkProperties` + - Model `VirtualMachine` moved instance variable `admin_username`, `availability_zone`, `bare_metal_machine_id`, `boot_method`, `cloud_services_network_attachment`, `cluster_id`, `console_extended_location`, `cpu_cores`, `detailed_status`, `detailed_status_message`, `isolate_emulator_thread`, `memory_size_gb`, `network_attachments`, `network_data`, `network_data_content`, `placement_hints`, `power_state`, `provisioning_state`, `ssh_public_keys`, `storage_profile`, `user_data`, `user_data_content`, `virtio_interface`, `vm_device_model`, `vm_image`, `vm_image_repository_credentials`, and `volumes` under property `properties` whose type is `VirtualMachineProperties` + - Model `VirtualMachinePatchParameters` moved instance variable `vm_image_repository_credentials` under property `properties` whose type is `VirtualMachinePatchProperties` + - Model `Volume` moved instance variable `allocated_size_mi_b`, `attached_to`, `detailed_status`, `detailed_status_message`, `provisioning_state`, `serial_number`, `size_mi_b`, and `storage_appliance_id` under property `properties` whose type is `VolumeProperties` + - Method `AgentPoolsOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `AgentPoolsOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `AgentPoolsOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - Method `AgentPoolsOperations.list_by_kubernetes_cluster` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `BareMetalMachineKeySetsOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `BareMetalMachineKeySetsOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `BareMetalMachineKeySetsOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `BareMetalMachineKeySetsOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `BareMetalMachineKeySetsOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `BareMetalMachineKeySetsOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `BareMetalMachineKeySetsOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `BareMetalMachineKeySetsOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `BareMetalMachineKeySetsOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - Method `BareMetalMachineKeySetsOperations.list_by_cluster` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `BareMetalMachinesOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `BareMetalMachinesOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `BareMetalMachinesOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `BareMetalMachinesOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `BareMetalMachinesOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `BareMetalMachinesOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `BareMetalMachinesOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `BareMetalMachinesOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `BareMetalMachinesOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - Method `BareMetalMachinesOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `BareMetalMachinesOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `BmcKeySetsOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `BmcKeySetsOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `BmcKeySetsOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `BmcKeySetsOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `BmcKeySetsOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `BmcKeySetsOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `BmcKeySetsOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `BmcKeySetsOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `BmcKeySetsOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - Method `BmcKeySetsOperations.list_by_cluster` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `CloudServicesNetworksOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `CloudServicesNetworksOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `CloudServicesNetworksOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `CloudServicesNetworksOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `CloudServicesNetworksOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `CloudServicesNetworksOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `CloudServicesNetworksOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `CloudServicesNetworksOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `CloudServicesNetworksOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - Method `CloudServicesNetworksOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `CloudServicesNetworksOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `ClusterManagersOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `ClusterManagersOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `ClusterManagersOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `ClusterManagersOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `ClusterManagersOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `ClusterManagersOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - Method `ClusterManagersOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `ClusterManagersOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `ClusterManagersOperations.update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `ClusterManagersOperations.update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `ClustersOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `ClustersOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `ClustersOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `ClustersOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `ClustersOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `ClustersOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `ClusterManagersOperations.update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `ClustersOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `ClustersOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `ClustersOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - Method `ClustersOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `ClustersOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `ConsolesOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `ConsolesOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `ConsolesOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `ConsolesOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `ConsolesOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `ConsolesOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `ConsolesOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `ConsolesOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `ConsolesOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - Method `ConsolesOperations.list_by_virtual_machine` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `KubernetesClusterFeaturesOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `KubernetesClusterFeaturesOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `KubernetesClusterFeaturesOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `KubernetesClusterFeaturesOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `KubernetesClusterFeaturesOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `KubernetesClusterFeaturesOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `KubernetesClusterFeaturesOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `KubernetesClusterFeaturesOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `KubernetesClusterFeaturesOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - Method `KubernetesClusterFeaturesOperations.list_by_kubernetes_cluster` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `KubernetesClustersOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `KubernetesClustersOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `KubernetesClustersOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `KubernetesClustersOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `KubernetesClustersOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `KubernetesClustersOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `KubernetesClustersOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `KubernetesClustersOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `KubernetesClustersOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - Method `KubernetesClustersOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `KubernetesClustersOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `L2NetworksOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `L2NetworksOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `L2NetworksOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `L2NetworksOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `L2NetworksOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `L2NetworksOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - Method `L2NetworksOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `L2NetworksOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `L2NetworksOperations.update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `L2NetworksOperations.update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `L3NetworksOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `L3NetworksOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `L3NetworksOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `L3NetworksOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `L2NetworksOperations.update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `L3NetworksOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `L3NetworksOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - Method `L3NetworksOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `L3NetworksOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `L3NetworksOperations.update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `L3NetworksOperations.update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `MetricsConfigurationsOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `MetricsConfigurationsOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `MetricsConfigurationsOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `MetricsConfigurationsOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `MetricsConfigurationsOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `MetricsConfigurationsOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `L3NetworksOperations.update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `MetricsConfigurationsOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `MetricsConfigurationsOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `MetricsConfigurationsOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - Method `MetricsConfigurationsOperations.list_by_cluster` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `RacksOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `RacksOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `RacksOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `RacksOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `RacksOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `RacksOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `RacksOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `RacksOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `RacksOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - Method `RacksOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `RacksOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `StorageAppliancesOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `StorageAppliancesOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `StorageAppliancesOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `StorageAppliancesOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `StorageAppliancesOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `StorageAppliancesOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `StorageAppliancesOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `StorageAppliancesOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `StorageAppliancesOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - Method `StorageAppliancesOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `StorageAppliancesOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `TrunkedNetworksOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `TrunkedNetworksOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `TrunkedNetworksOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `TrunkedNetworksOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `TrunkedNetworksOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `TrunkedNetworksOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - Method `TrunkedNetworksOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `TrunkedNetworksOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `TrunkedNetworksOperations.update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `TrunkedNetworksOperations.update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `VirtualMachinesOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `VirtualMachinesOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `VirtualMachinesOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `VirtualMachinesOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `VirtualMachinesOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `VirtualMachinesOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `TrunkedNetworksOperations.update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `VirtualMachinesOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `VirtualMachinesOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `VirtualMachinesOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - Method `VirtualMachinesOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `VirtualMachinesOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `VolumesOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `VolumesOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `VolumesOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `VolumesOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `VolumesOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `VolumesOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - Method `VolumesOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `VolumesOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `VolumesOperations.update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `VolumesOperations.update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `BareMetalMachineKeySetsOperations.begin_delete` re-ordered its parameters from `['self', 'bare_metal_machine_key_set_name', 'cluster_name', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bare_metal_machine_key_set_name', 'cluster_name', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `BareMetalMachineKeySetsOperations.begin_update` re-ordered its parameters from `['self', 'bare_metal_machine_key_set_name', 'bare_metal_machine_key_set_update_parameters', 'cluster_name', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bare_metal_machine_key_set_name', 'bare_metal_machine_key_set_update_parameters', 'cluster_name', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `BareMetalMachineKeySetsOperations.begin_create_or_update` re-ordered its parameters from `['self', 'bare_metal_machine_key_set_name', 'bare_metal_machine_key_set_parameters', 'cluster_name', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bare_metal_machine_key_set_name', 'bare_metal_machine_key_set_parameters', 'cluster_name', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `StorageAppliancesOperations.begin_delete` re-ordered its parameters from `['self', 'if_match', 'if_none_match', 'resource_group_name', 'storage_appliance_name', 'kwargs']` to `['self', 'etag', 'match_condition', 'resource_group_name', 'storage_appliance_name', 'kwargs']` - - Method `StorageAppliancesOperations.begin_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'storage_appliance_name', 'storage_appliance_update_parameters', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'storage_appliance_name', 'storage_appliance_update_parameters', 'kwargs']` - - Method `StorageAppliancesOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'storage_appliance_name', 'storage_appliance_parameters', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'storage_appliance_name', 'storage_appliance_parameters', 'kwargs']` - - Method `ClustersOperations.begin_delete` re-ordered its parameters from `['self', 'cluster_name', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cluster_name', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `ClustersOperations.begin_update` re-ordered its parameters from `['self', 'cluster_name', 'cluster_update_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cluster_name', 'cluster_update_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `ClustersOperations.begin_create_or_update` re-ordered its parameters from `['self', 'cluster_name', 'cluster_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cluster_name', 'cluster_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `BareMetalMachinesOperations.begin_delete` re-ordered its parameters from `['self', 'bare_metal_machine_name', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bare_metal_machine_name', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `BareMetalMachinesOperations.begin_update` re-ordered its parameters from `['self', 'bare_metal_machine_name', 'bare_metal_machine_update_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bare_metal_machine_name', 'bare_metal_machine_update_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `BareMetalMachinesOperations.begin_create_or_update` re-ordered its parameters from `['self', 'bare_metal_machine_name', 'bare_metal_machine_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bare_metal_machine_name', 'bare_metal_machine_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `AgentPoolsOperations.begin_delete` re-ordered its parameters from `['self', 'agent_pool_name', 'if_match', 'if_none_match', 'kubernetes_cluster_name', 'resource_group_name', 'kwargs']` to `['self', 'agent_pool_name', 'etag', 'kubernetes_cluster_name', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `AgentPoolsOperations.begin_update` re-ordered its parameters from `['self', 'agent_pool_name', 'agent_pool_update_parameters', 'content_type', 'if_match', 'if_none_match', 'kubernetes_cluster_name', 'resource_group_name', 'kwargs']` to `['self', 'agent_pool_name', 'agent_pool_update_parameters', 'content_type', 'etag', 'kubernetes_cluster_name', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `AgentPoolsOperations.begin_create_or_update` re-ordered its parameters from `['self', 'agent_pool_name', 'agent_pool_parameters', 'content_type', 'if_match', 'if_none_match', 'kubernetes_cluster_name', 'resource_group_name', 'kwargs']` to `['self', 'agent_pool_name', 'agent_pool_parameters', 'content_type', 'etag', 'kubernetes_cluster_name', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `TrunkedNetworksOperations.begin_delete` re-ordered its parameters from `['self', 'if_match', 'if_none_match', 'resource_group_name', 'trunked_network_name', 'kwargs']` to `['self', 'etag', 'match_condition', 'resource_group_name', 'trunked_network_name', 'kwargs']` - - Method `TrunkedNetworksOperations.update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'trunked_network_name', 'trunked_network_update_parameters', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'trunked_network_name', 'trunked_network_update_parameters', 'kwargs']` - - Method `TrunkedNetworksOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'trunked_network_name', 'trunked_network_parameters', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'trunked_network_name', 'trunked_network_parameters', 'kwargs']` - - Method `MetricsConfigurationsOperations.begin_delete` re-ordered its parameters from `['self', 'cluster_name', 'if_match', 'if_none_match', 'metrics_configuration_name', 'resource_group_name', 'kwargs']` to `['self', 'cluster_name', 'etag', 'match_condition', 'metrics_configuration_name', 'resource_group_name', 'kwargs']` - - Method `MetricsConfigurationsOperations.begin_update` re-ordered its parameters from `['self', 'cluster_name', 'content_type', 'if_match', 'if_none_match', 'metrics_configuration_name', 'metrics_configuration_update_parameters', 'resource_group_name', 'kwargs']` to `['self', 'cluster_name', 'content_type', 'etag', 'match_condition', 'metrics_configuration_name', 'metrics_configuration_update_parameters', 'resource_group_name', 'kwargs']` - - Method `MetricsConfigurationsOperations.begin_create_or_update` re-ordered its parameters from `['self', 'cluster_name', 'content_type', 'if_match', 'if_none_match', 'metrics_configuration_name', 'metrics_configuration_parameters', 'resource_group_name', 'kwargs']` to `['self', 'cluster_name', 'content_type', 'etag', 'match_condition', 'metrics_configuration_name', 'metrics_configuration_parameters', 'resource_group_name', 'kwargs']` - - Method `L2NetworksOperations.begin_delete` re-ordered its parameters from `['self', 'if_match', 'if_none_match', 'l2_network_name', 'resource_group_name', 'kwargs']` to `['self', 'etag', 'l2_network_name', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `L2NetworksOperations.update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'l2_network_name', 'l2_network_update_parameters', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'l2_network_name', 'l2_network_update_parameters', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `L2NetworksOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'l2_network_name', 'l2_network_parameters', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'l2_network_name', 'l2_network_parameters', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `BmcKeySetsOperations.begin_delete` re-ordered its parameters from `['self', 'bmc_key_set_name', 'cluster_name', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bmc_key_set_name', 'cluster_name', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `BmcKeySetsOperations.begin_update` re-ordered its parameters from `['self', 'bmc_key_set_name', 'bmc_key_set_update_parameters', 'cluster_name', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bmc_key_set_name', 'bmc_key_set_update_parameters', 'cluster_name', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `BmcKeySetsOperations.begin_create_or_update` re-ordered its parameters from `['self', 'bmc_key_set_name', 'bmc_key_set_parameters', 'cluster_name', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bmc_key_set_name', 'bmc_key_set_parameters', 'cluster_name', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `VirtualMachinesOperations.begin_delete` re-ordered its parameters from `['self', 'if_match', 'if_none_match', 'resource_group_name', 'virtual_machine_name', 'kwargs']` to `['self', 'etag', 'match_condition', 'resource_group_name', 'virtual_machine_name', 'kwargs']` - - Method `VirtualMachinesOperations.begin_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'virtual_machine_name', 'virtual_machine_update_parameters', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'virtual_machine_name', 'virtual_machine_update_parameters', 'kwargs']` - - Method `VirtualMachinesOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'virtual_machine_name', 'virtual_machine_parameters', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'virtual_machine_name', 'virtual_machine_parameters', 'kwargs']` - - Method `KubernetesClustersOperations.begin_delete` re-ordered its parameters from `['self', 'if_match', 'if_none_match', 'kubernetes_cluster_name', 'resource_group_name', 'kwargs']` to `['self', 'etag', 'kubernetes_cluster_name', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `KubernetesClustersOperations.begin_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'kubernetes_cluster_name', 'kubernetes_cluster_update_parameters', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'kubernetes_cluster_name', 'kubernetes_cluster_update_parameters', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `KubernetesClustersOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'kubernetes_cluster_name', 'kubernetes_cluster_parameters', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'kubernetes_cluster_name', 'kubernetes_cluster_parameters', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `KubernetesClusterFeaturesOperations.begin_delete` re-ordered its parameters from `['self', 'feature_name', 'if_match', 'if_none_match', 'kubernetes_cluster_name', 'resource_group_name', 'kwargs']` to `['self', 'etag', 'feature_name', 'kubernetes_cluster_name', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `KubernetesClusterFeaturesOperations.begin_update` re-ordered its parameters from `['self', 'content_type', 'feature_name', 'if_match', 'if_none_match', 'kubernetes_cluster_feature_update_parameters', 'kubernetes_cluster_name', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'feature_name', 'kubernetes_cluster_feature_update_parameters', 'kubernetes_cluster_name', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `KubernetesClusterFeaturesOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'feature_name', 'if_match', 'if_none_match', 'kubernetes_cluster_feature_parameters', 'kubernetes_cluster_name', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'feature_name', 'kubernetes_cluster_feature_parameters', 'kubernetes_cluster_name', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `RacksOperations.begin_delete` re-ordered its parameters from `['self', 'if_match', 'if_none_match', 'rack_name', 'resource_group_name', 'kwargs']` to `['self', 'etag', 'match_condition', 'rack_name', 'resource_group_name', 'kwargs']` - - Method `RacksOperations.begin_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'rack_name', 'rack_update_parameters', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'rack_name', 'rack_update_parameters', 'resource_group_name', 'kwargs']` - - Method `RacksOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'rack_name', 'rack_parameters', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'rack_name', 'rack_parameters', 'resource_group_name', 'kwargs']` - - Method `ClusterManagersOperations.begin_delete` re-ordered its parameters from `['self', 'cluster_manager_name', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cluster_manager_name', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `ClusterManagersOperations.update` re-ordered its parameters from `['self', 'cluster_manager_name', 'cluster_manager_update_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cluster_manager_name', 'cluster_manager_update_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `ClusterManagersOperations.begin_create_or_update` re-ordered its parameters from `['self', 'cluster_manager_name', 'cluster_manager_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cluster_manager_name', 'cluster_manager_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `L3NetworksOperations.begin_delete` re-ordered its parameters from `['self', 'if_match', 'if_none_match', 'l3_network_name', 'resource_group_name', 'kwargs']` to `['self', 'etag', 'l3_network_name', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `L3NetworksOperations.update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'l3_network_name', 'l3_network_update_parameters', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'l3_network_name', 'l3_network_update_parameters', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `L3NetworksOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'l3_network_name', 'l3_network_parameters', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'l3_network_name', 'l3_network_parameters', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `CloudServicesNetworksOperations.begin_delete` re-ordered its parameters from `['self', 'cloud_services_network_name', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cloud_services_network_name', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `CloudServicesNetworksOperations.begin_update` re-ordered its parameters from `['self', 'cloud_services_network_name', 'cloud_services_network_update_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cloud_services_network_name', 'cloud_services_network_update_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `CloudServicesNetworksOperations.begin_create_or_update` re-ordered its parameters from `['self', 'cloud_services_network_name', 'cloud_services_network_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cloud_services_network_name', 'cloud_services_network_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `VolumesOperations.begin_delete` re-ordered its parameters from `['self', 'if_match', 'if_none_match', 'resource_group_name', 'volume_name', 'kwargs']` to `['self', 'etag', 'match_condition', 'resource_group_name', 'volume_name', 'kwargs']` - - Method `VolumesOperations.update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'volume_name', 'volume_update_parameters', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'volume_name', 'volume_update_parameters', 'kwargs']` - - Method `VolumesOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'volume_name', 'volume_parameters', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'volume_name', 'volume_parameters', 'kwargs']` - - Method `ConsolesOperations.begin_delete` re-ordered its parameters from `['self', 'console_name', 'if_match', 'if_none_match', 'resource_group_name', 'virtual_machine_name', 'kwargs']` to `['self', 'console_name', 'etag', 'match_condition', 'resource_group_name', 'virtual_machine_name', 'kwargs']` - - Method `ConsolesOperations.begin_update` re-ordered its parameters from `['self', 'console_name', 'console_update_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'virtual_machine_name', 'kwargs']` to `['self', 'console_name', 'console_update_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'virtual_machine_name', 'kwargs']` - - Method `ConsolesOperations.begin_create_or_update` re-ordered its parameters from `['self', 'console_name', 'console_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'virtual_machine_name', 'kwargs']` to `['self', 'console_name', 'console_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'virtual_machine_name', 'kwargs']` + - Method `VolumesOperations.update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + +### Other Changes + + - Deleted model `AgentPoolList`/`BareMetalMachineKeySetList`/`BareMetalMachineList`/`BmcKeySetList`/`CloudServicesNetworkList`/`ClusterList`/`ClusterManagerList`/`ClusterMetricsConfigurationList`/`ConsoleList`/`KubernetesClusterFeatureList`/`KubernetesClusterList`/`L2NetworkList`/`L3NetworkList`/`OperationListResult`/`RackList`/`RackSkuList`/`StorageApplianceList`/`TrunkedNetworkList`/`VirtualMachineList`/`VolumeList` which actually were not used by SDK users + - Deleted model `AgentPoolConfiguration`/`TagsParameter` which actually were not used by SDK users ## 3.0.0b2 (2026-06-24) From 8af8a0282ee1c7e84b263bf55cf97a1eaaa1eed0 Mon Sep 17 00:00:00 2001 From: azure-sdk Date: Mon, 20 Jul 2026 07:51:25 +0000 Subject: [PATCH 3/4] Configurations: 'specification/networkcloud/NetworkCloud.Management/tspconfig.yaml', API Version: 2026-07-01, SDK Release Type: stable, and CommitSHA: '60d0f02991387ea7ed7483d5e70f061f962216cf' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6586216 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release. --- .../azure-mgmt-networkcloud/CHANGELOG.md | 1315 ++- .../azure-mgmt-networkcloud/_metadata.json | 6 +- .../azure-mgmt-networkcloud/api.md | 2070 +++- .../azure-mgmt-networkcloud/api.metadata.yml | 2 +- .../apiview-properties.json | 87 +- .../azure/mgmt/networkcloud/_client.py | 12 +- .../azure/mgmt/networkcloud/_configuration.py | 4 +- .../mgmt/networkcloud/_utils/model_base.py | 18 + .../azure/mgmt/networkcloud/_validation.py | 66 + .../azure/mgmt/networkcloud/aio/_client.py | 13 +- .../mgmt/networkcloud/aio/_configuration.py | 4 +- .../networkcloud/aio/operations/__init__.py | 4 + .../aio/operations/_operations.py | 8466 ++++++++++----- .../mgmt/networkcloud/models/__init__.py | 98 + .../azure/mgmt/networkcloud/models/_enums.py | 216 + .../azure/mgmt/networkcloud/models/_models.py | 1834 +++- .../mgmt/networkcloud/operations/__init__.py | 4 + .../networkcloud/operations/_operations.py | 9214 ++++++++++++----- .../azure/mgmt/networkcloud/types.py | 1006 +- .../access_bridges_create_or_update.py | 65 + .../access_bridges_delete.py | 42 + .../generated_samples/access_bridges_get.py | 42 + .../access_bridges_list_by_resource_group.py | 42 + .../access_bridges_list_by_subscription.py | 40 + .../generated_samples/access_bridges_patch.py | 42 + .../generated_samples/agent_pools_create.py | 2 +- .../generated_samples/agent_pools_delete.py | 2 +- .../generated_samples/agent_pools_get.py | 2 +- .../agent_pools_list_by_kubernetes_cluster.py | 2 +- .../generated_samples/agent_pools_patch.py | 2 +- .../bare_metal_machine_key_sets_create.py | 2 +- .../bare_metal_machine_key_sets_delete.py | 2 +- .../bare_metal_machine_key_sets_get.py | 2 +- ..._metal_machine_key_sets_list_by_cluster.py | 2 +- .../bare_metal_machine_key_sets_patch.py | 2 +- .../bare_metal_machines_cordon.py | 2 +- .../bare_metal_machines_create.py | 2 +- .../bare_metal_machines_delete.py | 2 +- .../bare_metal_machines_get.py | 2 +- ...e_metal_machines_list_by_resource_group.py | 2 +- ...are_metal_machines_list_by_subscription.py | 2 +- .../bare_metal_machines_patch.py | 2 +- .../bare_metal_machines_power_off.py | 2 +- .../bare_metal_machines_reimage.py | 2 +- .../bare_metal_machines_replace.py | 2 +- .../bare_metal_machines_restart.py | 2 +- .../bare_metal_machines_run_command.py | 2 +- .../bare_metal_machines_run_data_extracts.py | 2 +- ...l_machines_run_data_extracts_restricted.py | 2 +- ...tal_machines_run_read_commands_hostname.py | 2 +- ...tal_machines_run_read_commands_multiple.py | 2 +- .../bare_metal_machines_start.py | 2 +- .../bare_metal_machines_uncordon.py | 2 +- .../generated_samples/bmc_key_sets_create.py | 2 +- .../generated_samples/bmc_key_sets_delete.py | 2 +- .../generated_samples/bmc_key_sets_get.py | 2 +- .../bmc_key_sets_list_by_cluster.py | 2 +- .../generated_samples/bmc_key_sets_patch.py | 2 +- .../cloud_services_networks_create.py | 4 +- .../cloud_services_networks_delete.py | 2 +- .../cloud_services_networks_get.py | 2 +- ...ervices_networks_list_by_resource_group.py | 2 +- ..._services_networks_list_by_subscription.py | 2 +- .../cloud_services_networks_patch.py | 2 +- .../cluster_managers_create.py | 5 +- .../cluster_managers_create_uami.py | 5 +- .../cluster_managers_delete.py | 2 +- .../generated_samples/cluster_managers_get.py | 2 +- ...cluster_managers_list_by_resource_group.py | 2 +- .../cluster_managers_list_by_subscription.py | 2 +- .../cluster_managers_patch.py | 2 +- ...lay_private_endpoint_connection_approve.py | 42 + ...elay_private_endpoint_connection_reject.py | 42 + .../cluster_metrics_configurations_create.py | 2 +- .../cluster_metrics_configurations_delete.py | 2 +- .../cluster_metrics_configurations_get.py | 2 +- ..._metrics_configurations_list_by_cluster.py | 2 +- .../cluster_metrics_configurations_patch.py | 2 +- .../clusters_continue_update_version.py | 4 +- .../generated_samples/clusters_create.py | 7 +- .../generated_samples/clusters_delete.py | 2 +- .../generated_samples/clusters_deploy.py | 2 +- .../clusters_deploy_skip_validation.py | 2 +- .../generated_samples/clusters_get.py | 2 +- .../generated_samples/clusters_inspect.py | 42 + .../clusters_list_by_resource_group.py | 2 +- .../clusters_list_by_subscription.py | 2 +- ...ch_aggregator_or_single_rack_definition.py | 2 +- .../clusters_patch_analytics_output.py | 2 +- .../clusters_patch_command_output.py | 2 +- .../clusters_patch_location.py | 2 +- ..._patch_runtime_protection_configuration.py | 2 +- .../clusters_patch_secret_archive.py | 2 +- .../clusters_patch_update_strategy.py | 2 +- .../clusters_patch_vulnerability_scanning.py | 2 +- .../clusters_rotate_credential.py | 43 + .../clusters_scan_runtime.py | 2 +- .../clusters_update_version.py | 4 +- .../generated_samples/consoles_create.py | 2 +- .../generated_samples/consoles_delete.py | 2 +- .../generated_samples/consoles_get.py | 2 +- .../consoles_list_by_virtual_machine.py | 2 +- .../generated_samples/consoles_patch.py | 2 +- .../kubernetes_cluster_features_create.py | 2 +- .../kubernetes_cluster_features_delete.py | 2 +- .../kubernetes_cluster_features_get.py | 2 +- ...ter_features_list_by_kubernetes_cluster.py | 2 +- .../kubernetes_cluster_features_patch.py | 2 +- .../kubernetes_clusters_create.py | 2 +- .../kubernetes_clusters_delete.py | 2 +- .../kubernetes_clusters_get.py | 2 +- ...rnetes_clusters_l2_load_balancer_create.py | 2 +- ...ernetes_clusters_list_by_resource_group.py | 2 +- ...ubernetes_clusters_list_by_subscription.py | 2 +- .../kubernetes_clusters_patch.py | 2 +- .../kubernetes_clusters_restart_node.py | 2 +- .../kubernetes_versions_create.py | 52 + .../kubernetes_versions_delete.py | 42 + .../kubernetes_versions_get.py | 42 + ...ernetes_versions_list_by_resource_group.py | 42 + ...ubernetes_versions_list_by_subscription.py | 40 + .../kubernetes_versions_update_tags.py | 42 + .../generated_samples/l2_networks_create.py | 2 +- .../generated_samples/l2_networks_delete.py | 2 +- .../generated_samples/l2_networks_get.py | 2 +- .../l2_networks_list_by_resource_group.py | 2 +- .../l2_networks_list_by_subscription.py | 2 +- .../generated_samples/l2_networks_patch.py | 2 +- .../generated_samples/l3_networks_create.py | 2 +- .../generated_samples/l3_networks_delete.py | 2 +- .../generated_samples/l3_networks_get.py | 2 +- .../l3_networks_list_by_resource_group.py | 2 +- .../l3_networks_list_by_subscription.py | 2 +- .../generated_samples/l3_networks_patch.py | 2 +- .../generated_samples/operations_list.py | 2 +- .../generated_samples/rack_skus_get.py | 2 +- .../rack_skus_list_by_subscription.py | 2 +- .../generated_samples/racks_create.py | 2 +- .../generated_samples/racks_delete.py | 2 +- .../generated_samples/racks_get.py | 2 +- .../racks_list_by_resource_group.py | 2 +- .../racks_list_by_subscription.py | 2 +- .../generated_samples/racks_patch.py | 2 +- .../storage_appliances_create.py | 2 +- .../storage_appliances_delete.py | 2 +- ...iances_disable_remote_vendor_management.py | 2 +- ...liances_enable_remote_vendor_management.py | 2 +- .../storage_appliances_get.py | 2 +- ...orage_appliances_list_by_resource_group.py | 2 +- ...storage_appliances_list_by_subscription.py | 2 +- .../storage_appliances_patch.py | 2 +- .../storage_appliances_run_read_commands.py | 2 +- .../trunked_networks_create.py | 2 +- .../trunked_networks_delete.py | 2 +- .../generated_samples/trunked_networks_get.py | 2 +- ...trunked_networks_list_by_resource_group.py | 2 +- .../trunked_networks_list_by_subscription.py | 2 +- .../trunked_networks_patch.py | 2 +- .../virtual_machines_assign_relay.py | 2 +- .../virtual_machines_create.py | 2 +- .../virtual_machines_delete.py | 2 +- .../generated_samples/virtual_machines_get.py | 2 +- ...virtual_machines_list_by_resource_group.py | 2 +- .../virtual_machines_list_by_subscription.py | 2 +- .../virtual_machines_patch.py | 2 +- .../virtual_machines_power_off.py | 2 +- .../virtual_machines_reimage.py | 2 +- .../virtual_machines_restart.py | 2 +- .../virtual_machines_start.py | 2 +- .../generated_samples/volumes_create.py | 4 +- .../generated_samples/volumes_delete.py | 2 +- .../generated_samples/volumes_get.py | 2 +- .../volumes_list_by_resource_group.py | 2 +- .../volumes_list_by_subscription.py | 2 +- .../generated_samples/volumes_patch.py | 2 +- ...rk_cloud_mgmt_access_bridges_operations.py | 117 + ...ud_mgmt_access_bridges_operations_async.py | 124 + ...oud_mgmt_bare_metal_machines_operations.py | 8 + ...mt_bare_metal_machines_operations_async.py | 8 + ..._cloud_mgmt_cluster_managers_operations.py | 13 + ..._mgmt_cluster_managers_operations_async.py | 15 + ..._network_cloud_mgmt_clusters_operations.py | 32 +- ...rk_cloud_mgmt_clusters_operations_async.py | 36 +- ...oud_mgmt_kubernetes_versions_operations.py | 99 + ...mt_kubernetes_versions_operations_async.py | 106 + ...loud_mgmt_storage_appliances_operations.py | 2 + ...gmt_storage_appliances_operations_async.py | 2 + ...t_network_cloud_mgmt_volumes_operations.py | 1 + ...ork_cloud_mgmt_volumes_operations_async.py | 1 + .../azure-mgmt-networkcloud/tsp-location.yaml | 2 +- 190 files changed, 19605 insertions(+), 6401 deletions(-) create mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_validation.py create mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_create_or_update.py create mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_delete.py create mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_get.py create mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_list_by_resource_group.py create mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_list_by_subscription.py create mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_patch.py create mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_update_relay_private_endpoint_connection_approve.py create mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_update_relay_private_endpoint_connection_reject.py create mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_inspect.py create mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_rotate_credential.py create mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_create.py create mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_delete.py create mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_get.py create mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_list_by_resource_group.py create mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_list_by_subscription.py create mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_update_tags.py create mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_access_bridges_operations.py create mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_access_bridges_operations_async.py create mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_kubernetes_versions_operations.py create mode 100644 sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_kubernetes_versions_operations_async.py diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/CHANGELOG.md b/sdk/networkcloud/azure-mgmt-networkcloud/CHANGELOG.md index 2acd55cc8782..6e7573c978b1 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/CHANGELOG.md +++ b/sdk/networkcloud/azure-mgmt-networkcloud/CHANGELOG.md @@ -5,138 +5,796 @@ ### Features Added - Client `NetworkCloudMgmtClient` added method `send_request` + - Client `NetworkCloudMgmtClient` added operation group `access_bridges` + - Client `NetworkCloudMgmtClient` added operation group `kubernetes_versions` + - Model `AgentPool` added property `properties` + - Model `AgentPoolPatchParameters` added property `properties` + - Model `BareMetalMachine` added property `properties` + - Model `BareMetalMachineKeySet` added property `properties` + - Model `BareMetalMachineKeySetPatchParameters` added property `properties` + - Model `BareMetalMachinePatchParameters` added property `properties` + - Model `BmcKeySet` added property `properties` + - Model `BmcKeySetPatchParameters` added property `properties` + - Model `CloudServicesNetwork` added property `properties` + - Model `CloudServicesNetworkPatchParameters` added property `properties` + - Enum `CloudServicesNetworkStorageStatusStatus` added member `INITIALIZING` + - Enum `CloudServicesNetworkStorageStatusStatus` added member `NONE` + - Enum `CloudServicesNetworkStorageStatusStatus` added member `REPAIRING` + - Model `Cluster` added property `kind` + - Model `Cluster` added property `properties` + - Model `ClusterContinueUpdateVersionParameters` added property `safeguard_mode` + - Model `ClusterManager` added property `kind` + - Model `ClusterManager` added property `properties` + - Model `ClusterMetricsConfiguration` added property `properties` + - Model `ClusterMetricsConfigurationPatchParameters` added property `properties` + - Model `ClusterPatchParameters` added property `properties` + - Model `ClusterUpdateVersionParameters` added property `safeguard_mode` + - Enum `CommandOutputType` added member `CLUSTER_SUPPORT_ADMINISTRATIVE_ACTIONS` + - Model `Console` added property `properties` + - Model `ConsolePatchParameters` added property `properties` + - Model `KubernetesCluster` added property `properties` + - Model `KubernetesClusterFeature` added property `properties` + - Model `KubernetesClusterFeaturePatchParameters` added property `properties` + - Model `KubernetesClusterPatchParameters` added property `properties` + - Model `L2Network` added property `properties` + - Model `L3Network` added property `properties` + - Model `MachineSkuSlot` added property `properties` + - Model `OperationStatusResult` added property `properties` + - Model `Rack` added property `properties` + - Model `RackPatchParameters` added property `properties` + - Model `RackSku` added property `properties` + - Model `RuntimeProtectionConfiguration` added property `definition_update_mode` + - Model `RuntimeProtectionStatus` added property `agent_health_status` + - Model `RuntimeProtectionStatus` added property `agent_health_status_issues` + - Model `RuntimeProtectionStatus` added property `agent_license_status` + - Model `RuntimeProtectionStatus` added property `definition_update_mode` + - Model `RuntimeProtectionStatus` added property `enforcement_level` + - Model `StorageAppliance` added property `properties` + - Model `StorageAppliancePatchParameters` added property `properties` + - Model `StorageApplianceSkuSlot` added property `properties` + - Model `TrunkedNetwork` added property `properties` + - Model `VirtualMachine` added property `properties` + - Model `VirtualMachinePatchParameters` added property `properties` + - Model `Volume` added property `properties` + - Added model `AccessBridge` + - Added enum `AccessBridgeAllowedName` + - Added enum `AccessBridgeDetailedStatus` + - Added model `AccessBridgeEndpoint` + - Added model `AccessBridgePatchParameters` + - Added model `AccessBridgePatchProperties` + - Added model `AccessBridgeProperties` + - Added enum `AccessBridgeProvisioningState` + - Added model `AccessBridgeSecurityRule` + - Added model `AdministrativeCredentialsPatch` + - Added model `AgentPoolPatchProperties` + - Added model `AgentPoolProperties` + - Added model `BareMetalMachineConfigurationDataPatch` + - Added model `BareMetalMachineKeySetPatchProperties` + - Added model `BareMetalMachineKeySetProperties` + - Added model `BareMetalMachineMonitoringConfigurationStatus` + - Added enum `BareMetalMachineMonitoringConfigurationStatusLogLevel` + - Added enum `BareMetalMachineMonitoringConfigurationStatusMetricsLevel` + - Added model `BareMetalMachinePatchProperties` + - Added model `BareMetalMachineProperties` + - Added model `BareMetalMachineReimageParameters` + - Added enum `BareMetalMachineReimageSafeguardMode` + - Added model `BmcKeySetPatchProperties` + - Added model `BmcKeySetProperties` + - Added model `CloudServicesNetworkPatchProperties` + - Added model `CloudServicesNetworkProperties` + - Added enum `ClusterContinueUpdateVersionSafeguardMode` + - Added enum `ClusterInspectAdditionalAction` + - Added model `ClusterInspectParameters` + - Added model `ClusterManagerProperties` + - Added model `ClusterManagerRelayConfiguration` + - Added model `ClusterManagerUpdateRelayPrivateEndpointConnectionParameters` + - Added model `ClusterMetricsConfigurationPatchProperties` + - Added model `ClusterMetricsConfigurationProperties` + - Added model `ClusterPatchProperties` + - Added model `ClusterProperties` + - Added model `ClusterRotateCredentialParameters` + - Added model `ClusterSecretArchivePatch` + - Added model `ClusterUpdateStrategyPatch` + - Added enum `ClusterUpdateVersionSafeguardMode` + - Added model `ConsolePatchProperties` + - Added model `ConsoleProperties` + - Added enum `DeploymentType` - Added enum `ExtendedLocationType` + - Added model `FilterDevices` + - Added model `ImageRepositoryCredentialsPatch` + - Added model `KubernetesClusterFeaturePatchProperties` + - Added model `KubernetesClusterFeatureProperties` + - Added model `KubernetesClusterPatchProperties` + - Added model `KubernetesClusterProperties` + - Added model `KubernetesVersion` + - Added model `KubernetesVersionPatchParameters` + - Added model `KubernetesVersionProperties` + - Added enum `KubernetesVersionProvisioningState` + - Added model `KubernetesVersionValue` + - Added model `L2NetworkProperties` + - Added model `L3NetworkProperties` + - Added model `MachineSkuProperties` + - Added model `OperationStatusResultProperties` - Added model `ProxyResource` + - Added model `RackDefinitionPatch` + - Added model `RackProperties` + - Added model `RackSkuProperties` + - Added model `RacksPatchProperties` + - Added enum `RelayPrivateEndpointConnectionState` + - Added enum `RuntimeProtectionAgentHealthStatus` + - Added enum `RuntimeProtectionAgentLicenseStatus` + - Added model `RuntimeProtectionConfigurationPatch` + - Added enum `RuntimeProtectionDefinitionUpdateMode` + - Added enum `SecurityRuleDirection` + - Added model `ServicePrincipalInformationPatch` + - Added model `SshPublicKeyPatch` + - Added model `StorageApplianceConfigurationDataPatch` + - Added model `StorageApplianceExpansionShelf` + - Added model `StorageApplianceMonitoringConfigurationStatus` + - Added enum `StorageApplianceMonitoringConfigurationStatusLogLevel` + - Added enum `StorageApplianceMonitoringConfigurationStatusMetricsLevel` + - Added model `StorageAppliancePatchProperties` + - Added model `StorageApplianceProperties` + - Added model `StorageApplianceSkuProperties` + - Added enum `TransportProtocol` + - Added model `TrunkedNetworkProperties` + - Added model `ValidationThresholdPatch` + - Added model `VirtualMachinePatchProperties` + - Added model `VirtualMachineProperties` + - Added model `VolumeProperties` + - Model `AgentPoolsOperations` added parameter `etag` in method `begin_create_or_update` + - Model `AgentPoolsOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `AgentPoolsOperations` added parameter `etag` in method `begin_delete` + - Model `AgentPoolsOperations` added parameter `match_condition` in method `begin_delete` + - Model `AgentPoolsOperations` added parameter `etag` in method `begin_update` + - Model `AgentPoolsOperations` added parameter `match_condition` in method `begin_update` + - Model `BareMetalMachineKeySetsOperations` added parameter `etag` in method `begin_create_or_update` + - Model `BareMetalMachineKeySetsOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `BareMetalMachineKeySetsOperations` added parameter `etag` in method `begin_delete` + - Model `BareMetalMachineKeySetsOperations` added parameter `match_condition` in method `begin_delete` + - Model `BareMetalMachineKeySetsOperations` added parameter `etag` in method `begin_update` + - Model `BareMetalMachineKeySetsOperations` added parameter `match_condition` in method `begin_update` + - Model `BareMetalMachinesOperations` added parameter `etag` in method `begin_create_or_update` + - Model `BareMetalMachinesOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `BareMetalMachinesOperations` added parameter `etag` in method `begin_delete` + - Model `BareMetalMachinesOperations` added parameter `match_condition` in method `begin_delete` + - Model `BareMetalMachinesOperations` added parameter `content_type` in method `begin_reimage` + - Model `BareMetalMachinesOperations` added parameter `etag` in method `begin_update` + - Model `BareMetalMachinesOperations` added parameter `match_condition` in method `begin_update` + - Model `BmcKeySetsOperations` added parameter `etag` in method `begin_create_or_update` + - Model `BmcKeySetsOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `BmcKeySetsOperations` added parameter `etag` in method `begin_delete` + - Model `BmcKeySetsOperations` added parameter `match_condition` in method `begin_delete` + - Model `BmcKeySetsOperations` added parameter `etag` in method `begin_update` + - Model `BmcKeySetsOperations` added parameter `match_condition` in method `begin_update` + - Model `CloudServicesNetworksOperations` added parameter `etag` in method `begin_create_or_update` + - Model `CloudServicesNetworksOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `CloudServicesNetworksOperations` added parameter `etag` in method `begin_delete` + - Model `CloudServicesNetworksOperations` added parameter `match_condition` in method `begin_delete` + - Model `CloudServicesNetworksOperations` added parameter `etag` in method `begin_update` + - Model `CloudServicesNetworksOperations` added parameter `match_condition` in method `begin_update` + - Model `ClusterManagersOperations` added parameter `etag` in method `begin_create_or_update` + - Model `ClusterManagersOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `ClusterManagersOperations` added parameter `etag` in method `begin_delete` + - Model `ClusterManagersOperations` added parameter `match_condition` in method `begin_delete` + - Model `ClusterManagersOperations` added parameter `etag` in method `update` + - Model `ClusterManagersOperations` added parameter `match_condition` in method `update` + - Model `ClusterManagersOperations` added method `begin_update_relay_private_endpoint_connection` + - Model `ClustersOperations` added parameter `etag` in method `begin_create_or_update` + - Model `ClustersOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `ClustersOperations` added parameter `etag` in method `begin_delete` + - Model `ClustersOperations` added parameter `match_condition` in method `begin_delete` + - Model `ClustersOperations` added parameter `etag` in method `begin_update` + - Model `ClustersOperations` added parameter `match_condition` in method `begin_update` + - Model `ClustersOperations` added method `begin_inspect` + - Model `ClustersOperations` added method `begin_rotate_credential` + - Model `ConsolesOperations` added parameter `etag` in method `begin_create_or_update` + - Model `ConsolesOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `ConsolesOperations` added parameter `etag` in method `begin_delete` + - Model `ConsolesOperations` added parameter `match_condition` in method `begin_delete` + - Model `ConsolesOperations` added parameter `etag` in method `begin_update` + - Model `ConsolesOperations` added parameter `match_condition` in method `begin_update` + - Model `KubernetesClusterFeaturesOperations` added parameter `etag` in method `begin_create_or_update` + - Model `KubernetesClusterFeaturesOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `KubernetesClusterFeaturesOperations` added parameter `etag` in method `begin_delete` + - Model `KubernetesClusterFeaturesOperations` added parameter `match_condition` in method `begin_delete` + - Model `KubernetesClusterFeaturesOperations` added parameter `etag` in method `begin_update` + - Model `KubernetesClusterFeaturesOperations` added parameter `match_condition` in method `begin_update` + - Model `KubernetesClustersOperations` added parameter `etag` in method `begin_create_or_update` + - Model `KubernetesClustersOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `KubernetesClustersOperations` added parameter `etag` in method `begin_delete` + - Model `KubernetesClustersOperations` added parameter `match_condition` in method `begin_delete` + - Model `KubernetesClustersOperations` added parameter `etag` in method `begin_update` + - Model `KubernetesClustersOperations` added parameter `match_condition` in method `begin_update` + - Model `L2NetworksOperations` added parameter `etag` in method `begin_create_or_update` + - Model `L2NetworksOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `L2NetworksOperations` added parameter `etag` in method `begin_delete` + - Model `L2NetworksOperations` added parameter `match_condition` in method `begin_delete` + - Model `L2NetworksOperations` added parameter `etag` in method `update` + - Model `L2NetworksOperations` added parameter `match_condition` in method `update` + - Model `L3NetworksOperations` added parameter `etag` in method `begin_create_or_update` + - Model `L3NetworksOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `L3NetworksOperations` added parameter `etag` in method `begin_delete` + - Model `L3NetworksOperations` added parameter `match_condition` in method `begin_delete` + - Model `L3NetworksOperations` added parameter `etag` in method `update` + - Model `L3NetworksOperations` added parameter `match_condition` in method `update` + - Model `MetricsConfigurationsOperations` added parameter `etag` in method `begin_create_or_update` + - Model `MetricsConfigurationsOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `MetricsConfigurationsOperations` added parameter `etag` in method `begin_delete` + - Model `MetricsConfigurationsOperations` added parameter `match_condition` in method `begin_delete` + - Model `MetricsConfigurationsOperations` added parameter `etag` in method `begin_update` + - Model `MetricsConfigurationsOperations` added parameter `match_condition` in method `begin_update` + - Model `RacksOperations` added parameter `etag` in method `begin_create_or_update` + - Model `RacksOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `RacksOperations` added parameter `etag` in method `begin_delete` + - Model `RacksOperations` added parameter `match_condition` in method `begin_delete` + - Model `RacksOperations` added parameter `etag` in method `begin_update` + - Model `RacksOperations` added parameter `match_condition` in method `begin_update` + - Model `StorageAppliancesOperations` added parameter `etag` in method `begin_create_or_update` + - Model `StorageAppliancesOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `StorageAppliancesOperations` added parameter `etag` in method `begin_delete` + - Model `StorageAppliancesOperations` added parameter `match_condition` in method `begin_delete` + - Model `StorageAppliancesOperations` added parameter `etag` in method `begin_update` + - Model `StorageAppliancesOperations` added parameter `match_condition` in method `begin_update` + - Model `TrunkedNetworksOperations` added parameter `etag` in method `begin_create_or_update` + - Model `TrunkedNetworksOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `TrunkedNetworksOperations` added parameter `etag` in method `begin_delete` + - Model `TrunkedNetworksOperations` added parameter `match_condition` in method `begin_delete` + - Model `TrunkedNetworksOperations` added parameter `etag` in method `update` + - Model `TrunkedNetworksOperations` added parameter `match_condition` in method `update` + - Model `VirtualMachinesOperations` added parameter `etag` in method `begin_create_or_update` + - Model `VirtualMachinesOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `VirtualMachinesOperations` added parameter `etag` in method `begin_delete` + - Model `VirtualMachinesOperations` added parameter `match_condition` in method `begin_delete` + - Model `VirtualMachinesOperations` added parameter `etag` in method `begin_update` + - Model `VirtualMachinesOperations` added parameter `match_condition` in method `begin_update` + - Model `VolumesOperations` added parameter `etag` in method `begin_create_or_update` + - Model `VolumesOperations` added parameter `match_condition` in method `begin_create_or_update` + - Model `VolumesOperations` added parameter `etag` in method `begin_delete` + - Model `VolumesOperations` added parameter `match_condition` in method `begin_delete` + - Model `VolumesOperations` added parameter `etag` in method `update` + - Model `VolumesOperations` added parameter `match_condition` in method `update` + - Added operation group `AccessBridgesOperations` + - Added operation group `KubernetesVersionsOperations` ### Breaking Changes - - This version introduces new hybrid models which have dual dictionary and model nature. Please follow https://aka.ms/azsdk/python/migrate/hybrid-models for migration. - - For the method breakings, please refer to https://aka.ms/azsdk/python/migrate/operations for migration. - - Model `AgentPool` moved instance variable `administrator_configuration`, `agent_options`, `attached_network_configuration`, `availability_zones`, `count`, `detailed_status`, `detailed_status_message`, `kubernetes_version`, `labels`, `mode`, `provisioning_state`, `taints`, `upgrade_settings`, and `vm_sku_name` under property `properties` whose type is `AgentPoolProperties` - - Model `AgentPoolPatchParameters` moved instance variable `administrator_configuration`, `count`, and `upgrade_settings` under property `properties` whose type is `AgentPoolPatchProperties` - - Model `BareMetalMachine` moved instance variable `action_states`, `associated_resource_ids`, `bmc_connection_string`, `bmc_credentials`, `bmc_mac_address`, `boot_mac_address`, `ca_certificate`, `cluster_id`, `cordon_status`, `detailed_status`, `detailed_status_message`, `hardware_inventory`, `hardware_validation_status`, `hybrid_aks_clusters_associated_ids`, `kubernetes_node_name`, `kubernetes_version`, `machine_cluster_version`, `machine_details`, `machine_name`, `machine_roles`, `machine_sku_id`, `oam_ipv4_address`, `oam_ipv6_address`, `os_image`, `power_state`, `provisioning_state`, `rack_id`, `rack_slot`, `ready_state`, `runtime_protection_status`, `secret_rotation_status`, `serial_number`, `service_tag`, and `virtual_machines_associated_ids` under property `properties` whose type is `BareMetalMachineProperties` + - Model `AgentPool` deleted or renamed its instance variable `administrator_configuration` + - Model `AgentPool` deleted or renamed its instance variable `agent_options` + - Model `AgentPool` deleted or renamed its instance variable `attached_network_configuration` + - Model `AgentPool` deleted or renamed its instance variable `availability_zones` + - Model `AgentPool` deleted or renamed its instance variable `count` + - Model `AgentPool` deleted or renamed its instance variable `detailed_status` + - Model `AgentPool` deleted or renamed its instance variable `detailed_status_message` + - Model `AgentPool` deleted or renamed its instance variable `kubernetes_version` + - Model `AgentPool` deleted or renamed its instance variable `labels` + - Model `AgentPool` deleted or renamed its instance variable `mode` + - Model `AgentPool` deleted or renamed its instance variable `provisioning_state` + - Model `AgentPool` deleted or renamed its instance variable `taints` + - Model `AgentPool` deleted or renamed its instance variable `upgrade_settings` + - Model `AgentPool` deleted or renamed its instance variable `vm_sku_name` + - Model `AgentPoolPatchParameters` deleted or renamed its instance variable `administrator_configuration` + - Model `AgentPoolPatchParameters` deleted or renamed its instance variable `count` + - Model `AgentPoolPatchParameters` deleted or renamed its instance variable `upgrade_settings` + - Model `BareMetalMachine` deleted or renamed its instance variable `action_states` + - Model `BareMetalMachine` deleted or renamed its instance variable `associated_resource_ids` + - Model `BareMetalMachine` deleted or renamed its instance variable `bmc_connection_string` + - Model `BareMetalMachine` deleted or renamed its instance variable `bmc_credentials` + - Model `BareMetalMachine` deleted or renamed its instance variable `bmc_mac_address` + - Model `BareMetalMachine` deleted or renamed its instance variable `boot_mac_address` + - Model `BareMetalMachine` deleted or renamed its instance variable `ca_certificate` + - Model `BareMetalMachine` deleted or renamed its instance variable `cluster_id` + - Model `BareMetalMachine` deleted or renamed its instance variable `cordon_status` + - Model `BareMetalMachine` deleted or renamed its instance variable `detailed_status` + - Model `BareMetalMachine` deleted or renamed its instance variable `detailed_status_message` + - Model `BareMetalMachine` deleted or renamed its instance variable `hardware_inventory` + - Model `BareMetalMachine` deleted or renamed its instance variable `hardware_validation_status` + - Model `BareMetalMachine` deleted or renamed its instance variable `hybrid_aks_clusters_associated_ids` + - Model `BareMetalMachine` deleted or renamed its instance variable `kubernetes_node_name` + - Model `BareMetalMachine` deleted or renamed its instance variable `kubernetes_version` + - Model `BareMetalMachine` deleted or renamed its instance variable `machine_cluster_version` + - Model `BareMetalMachine` deleted or renamed its instance variable `machine_details` + - Model `BareMetalMachine` deleted or renamed its instance variable `machine_name` + - Model `BareMetalMachine` deleted or renamed its instance variable `machine_roles` + - Model `BareMetalMachine` deleted or renamed its instance variable `machine_sku_id` + - Model `BareMetalMachine` deleted or renamed its instance variable `oam_ipv4_address` + - Model `BareMetalMachine` deleted or renamed its instance variable `oam_ipv6_address` + - Model `BareMetalMachine` deleted or renamed its instance variable `os_image` + - Model `BareMetalMachine` deleted or renamed its instance variable `power_state` + - Model `BareMetalMachine` deleted or renamed its instance variable `provisioning_state` + - Model `BareMetalMachine` deleted or renamed its instance variable `rack_id` + - Model `BareMetalMachine` deleted or renamed its instance variable `rack_slot` + - Model `BareMetalMachine` deleted or renamed its instance variable `ready_state` + - Model `BareMetalMachine` deleted or renamed its instance variable `runtime_protection_status` + - Model `BareMetalMachine` deleted or renamed its instance variable `secret_rotation_status` + - Model `BareMetalMachine` deleted or renamed its instance variable `serial_number` + - Model `BareMetalMachine` deleted or renamed its instance variable `service_tag` + - Model `BareMetalMachine` deleted or renamed its instance variable `virtual_machines_associated_ids` - Deleted or renamed enum value `BareMetalMachineHardwareValidationResult.PASS_ENUM` - - Model `BareMetalMachineKeySet` moved instance variable `azure_group_id`, `detailed_status`, `detailed_status_message`, `expiration`, `jump_hosts_allowed`, `last_validation`, `os_group_name`, `privilege_level`, `privilege_level_name`, `provisioning_state`, `user_list`, and `user_list_status` under property `properties` whose type is `BareMetalMachineKeySetProperties` - - Model `BareMetalMachineKeySetPatchParameters` moved instance variable `expiration`, `jump_hosts_allowed`, and `user_list` under property `properties` whose type is `BareMetalMachineKeySetPatchProperties` - - Model `BareMetalMachinePatchParameters` moved instance variable `machine_details` under property `properties` whose type is `BareMetalMachinePatchProperties` - - Model `BmcKeySet` moved instance variable `azure_group_id`, `detailed_status`, `detailed_status_message`, `expiration`, `last_validation`, `privilege_level`, `provisioning_state`, `user_list`, and `user_list_status` under property `properties` whose type is `BmcKeySetProperties` - - Model `BmcKeySetPatchParameters` moved instance variable `expiration` and `user_list` under property `properties` whose type is `BmcKeySetPatchProperties` - - Model `CloudServicesNetwork` moved instance variable `additional_egress_endpoints`, `associated_resource_ids`, `cluster_id`, `detailed_status`, `detailed_status_message`, `enable_default_egress_endpoints`, `enabled_egress_endpoints`, `hybrid_aks_clusters_associated_ids`, `interface_name`, `provisioning_state`, `storage_options`, `storage_status`, and `virtual_machines_associated_ids` under property `properties` whose type is `CloudServicesNetworkProperties` - - Model `CloudServicesNetworkPatchParameters` moved instance variable `additional_egress_endpoints`, `enable_default_egress_endpoints`, and `storage_options` under property `properties` whose type is `CloudServicesNetworkPatchProperties` - - Model `Cluster` moved instance variable `action_states`, `aggregator_or_single_rack_definition`, `analytics_output_settings`, `analytics_workspace_id`, `available_upgrade_versions`, `cluster_capacity`, `cluster_connection_status`, `cluster_extended_location`, `cluster_location`, `cluster_manager_connection_status`, `cluster_manager_id`, `cluster_service_principal`, `cluster_type`, `cluster_version`, `command_output_settings`, `compute_deployment_threshold`, `compute_rack_definitions`, `detailed_status`, `detailed_status_message`, `hybrid_aks_extended_location`, `managed_resource_group_configuration`, `manual_action_count`, `network_fabric_id`, `provisioning_state`, `runtime_protection_configuration`, `secret_archive`, `secret_archive_settings`, `support_expiry_date`, `update_strategy`, `vulnerability_scanning_settings`, and `workload_resource_ids` under property `properties` whose type is `ClusterProperties` - - Model `ClusterManager` moved instance variable `analytics_workspace_id`, `availability_zones`, `cluster_versions`, `detailed_status`, `detailed_status_message`, `fabric_controller_id`, `managed_resource_group_configuration`, `manager_extended_location`, `provisioning_state`, and `vm_size` under property `properties` whose type is `ClusterManagerProperties` - - Model `ClusterMetricsConfiguration` moved instance variable `collection_interval`, `detailed_status`, `detailed_status_message`, `disabled_metrics`, `enabled_metrics`, and `provisioning_state` under property `properties` whose type is `ClusterMetricsConfigurationProperties` - - Model `ClusterMetricsConfigurationPatchParameters` moved instance variable `collection_interval` and `enabled_metrics` under property `properties` whose type is `ClusterMetricsConfigurationPatchProperties` - - Model `ClusterPatchParameters` moved instance variable `aggregator_or_single_rack_definition`, `analytics_output_settings`, `cluster_location`, `cluster_service_principal`, `command_output_settings`, `compute_deployment_threshold`, `compute_rack_definitions`, `runtime_protection_configuration`, `secret_archive`, `secret_archive_settings`, `update_strategy`, and `vulnerability_scanning_settings` under property `properties` whose type is `ClusterPatchProperties` - - Model `Console` moved instance variable `detailed_status`, `detailed_status_message`, `enabled`, `expiration`, `private_link_service_id`, `provisioning_state`, `ssh_public_key`, and `virtual_machine_access_id` under property `properties` whose type is `ConsoleProperties` - - Model `ConsolePatchParameters` moved instance variable `enabled`, `expiration`, and `ssh_public_key` under property `properties` whose type is `ConsolePatchProperties` - - Model `KubernetesCluster` moved instance variable `aad_configuration`, `administrator_configuration`, `attached_network_ids`, `available_upgrades`, `cluster_id`, `connected_cluster_id`, `control_plane_kubernetes_version`, `control_plane_node_configuration`, `detailed_status`, `detailed_status_message`, `feature_statuses`, `initial_agent_pool_configurations`, `kubernetes_version`, `managed_resource_group_configuration`, `network_configuration`, `nodes`, and `provisioning_state` under property `properties` whose type is `KubernetesClusterProperties` - - Model `KubernetesClusterFeature` moved instance variable `availability_lifecycle`, `detailed_status`, `detailed_status_message`, `options`, `provisioning_state`, `required`, and `version` under property `properties` whose type is `KubernetesClusterFeatureProperties` - - Model `KubernetesClusterFeaturePatchParameters` moved instance variable `options` under property `properties` whose type is `KubernetesClusterFeaturePatchProperties` - - Model `KubernetesClusterPatchParameters` moved instance variable `administrator_configuration`, `control_plane_node_configuration`, and `kubernetes_version` under property `properties` whose type is `KubernetesClusterPatchProperties` - - Model `L2Network` moved instance variable `associated_resource_ids`, `cluster_id`, `detailed_status`, `detailed_status_message`, `hybrid_aks_clusters_associated_ids`, `hybrid_aks_plugin_type`, `interface_name`, `l2_isolation_domain_id`, `provisioning_state`, and `virtual_machines_associated_ids` under property `properties` whose type is `L2NetworkProperties` - - Model `L3Network` moved instance variable `associated_resource_ids`, `cluster_id`, `detailed_status`, `detailed_status_message`, `hybrid_aks_clusters_associated_ids`, `hybrid_aks_ipam_enabled`, `hybrid_aks_plugin_type`, `interface_name`, `ip_allocation_type`, `ipv4_connected_prefix`, `ipv6_connected_prefix`, `l3_isolation_domain_id`, `provisioning_state`, `virtual_machines_associated_ids`, and `vlan` under property `properties` whose type is `L3NetworkProperties` - - Model `MachineSkuSlot` moved instance variable `bootstrap_protocol`, `cpu_cores`, `cpu_sockets`, `disks`, `generation`, `hardware_version`, `memory_capacity_gb`, `model`, `network_interfaces`, `total_threads`, and `vendor` under property `properties` whose type is `MachineSkuProperties` - - Model `OperationStatusResult` moved instance variable `exit_code`, `output_head`, `result_ref`, and `result_url` under property `properties` whose type is `OperationStatusResultProperties` - - Model `Rack` moved instance variable `availability_zone`, `cluster_id`, `detailed_status`, `detailed_status_message`, `provisioning_state`, `rack_location`, `rack_serial_number`, and `rack_sku_id` under property `properties` whose type is `RackProperties` - - Model `RackPatchParameters` moved instance variable `rack_location` and `rack_serial_number` under property `properties` whose type is `RacksPatchProperties` - - Model `RackSku` moved instance variable `compute_machines`, `controller_machines`, `description`, `max_cluster_slots`, `provisioning_state`, `rack_type`, `storage_appliances`, and `supported_rack_sku_ids` under property `properties` whose type is `RackSkuProperties` - - Model `StorageAppliance` moved instance variable `administrator_credentials`, `ca_certificate`, `capacity`, `capacity_used`, `cluster_id`, `detailed_status`, `detailed_status_message`, `management_ipv4_address`, `manufacturer`, `model`, `provisioning_state`, `rack_id`, `rack_slot`, `remote_vendor_management_feature`, `remote_vendor_management_status`, `secret_rotation_status`, `serial_number`, `storage_appliance_sku_id`, and `version` under property `properties` whose type is `StorageApplianceProperties` - - Model `StorageAppliancePatchParameters` moved instance variable `serial_number` under property `properties` whose type is `StorageAppliancePatchProperties` - - Model `StorageApplianceSkuSlot` moved instance variable `capacity_gb` and `model` under property `properties` whose type is `StorageApplianceSkuProperties` - - Model `TrunkedNetwork` moved instance variable `associated_resource_ids`, `cluster_id`, `detailed_status`, `detailed_status_message`, `hybrid_aks_clusters_associated_ids`, `hybrid_aks_plugin_type`, `interface_name`, `isolation_domain_ids`, `provisioning_state`, `virtual_machines_associated_ids`, and `vlans` under property `properties` whose type is `TrunkedNetworkProperties` - - Model `VirtualMachine` moved instance variable `admin_username`, `availability_zone`, `bare_metal_machine_id`, `boot_method`, `cloud_services_network_attachment`, `cluster_id`, `console_extended_location`, `cpu_cores`, `detailed_status`, `detailed_status_message`, `isolate_emulator_thread`, `memory_size_gb`, `network_attachments`, `network_data`, `network_data_content`, `placement_hints`, `power_state`, `provisioning_state`, `ssh_public_keys`, `storage_profile`, `user_data`, `user_data_content`, `virtio_interface`, `vm_device_model`, `vm_image`, `vm_image_repository_credentials`, and `volumes` under property `properties` whose type is `VirtualMachineProperties` - - Model `VirtualMachinePatchParameters` moved instance variable `vm_image_repository_credentials` under property `properties` whose type is `VirtualMachinePatchProperties` - - Model `Volume` moved instance variable `allocated_size_mi_b`, `attached_to`, `detailed_status`, `detailed_status_message`, `provisioning_state`, `serial_number`, `size_mi_b`, and `storage_appliance_id` under property `properties` whose type is `VolumeProperties` - - Method `AgentPoolsOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `AgentPoolsOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `AgentPoolsOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `azure_group_id` + - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `detailed_status` + - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `detailed_status_message` + - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `expiration` + - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `jump_hosts_allowed` + - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `last_validation` + - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `os_group_name` + - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `privilege_level` + - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `privilege_level_name` + - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `provisioning_state` + - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `user_list` + - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `user_list_status` + - Model `BareMetalMachineKeySetPatchParameters` deleted or renamed its instance variable `expiration` + - Model `BareMetalMachineKeySetPatchParameters` deleted or renamed its instance variable `jump_hosts_allowed` + - Model `BareMetalMachineKeySetPatchParameters` deleted or renamed its instance variable `user_list` + - Model `BareMetalMachinePatchParameters` deleted or renamed its instance variable `machine_details` + - Model `BmcKeySet` deleted or renamed its instance variable `azure_group_id` + - Model `BmcKeySet` deleted or renamed its instance variable `detailed_status` + - Model `BmcKeySet` deleted or renamed its instance variable `detailed_status_message` + - Model `BmcKeySet` deleted or renamed its instance variable `expiration` + - Model `BmcKeySet` deleted or renamed its instance variable `last_validation` + - Model `BmcKeySet` deleted or renamed its instance variable `privilege_level` + - Model `BmcKeySet` deleted or renamed its instance variable `provisioning_state` + - Model `BmcKeySet` deleted or renamed its instance variable `user_list` + - Model `BmcKeySet` deleted or renamed its instance variable `user_list_status` + - Model `BmcKeySetPatchParameters` deleted or renamed its instance variable `expiration` + - Model `BmcKeySetPatchParameters` deleted or renamed its instance variable `user_list` + - Model `CloudServicesNetwork` deleted or renamed its instance variable `additional_egress_endpoints` + - Model `CloudServicesNetwork` deleted or renamed its instance variable `associated_resource_ids` + - Model `CloudServicesNetwork` deleted or renamed its instance variable `cluster_id` + - Model `CloudServicesNetwork` deleted or renamed its instance variable `detailed_status` + - Model `CloudServicesNetwork` deleted or renamed its instance variable `detailed_status_message` + - Model `CloudServicesNetwork` deleted or renamed its instance variable `enable_default_egress_endpoints` + - Model `CloudServicesNetwork` deleted or renamed its instance variable `enabled_egress_endpoints` + - Model `CloudServicesNetwork` deleted or renamed its instance variable `hybrid_aks_clusters_associated_ids` + - Model `CloudServicesNetwork` deleted or renamed its instance variable `interface_name` + - Model `CloudServicesNetwork` deleted or renamed its instance variable `provisioning_state` + - Model `CloudServicesNetwork` deleted or renamed its instance variable `storage_options` + - Model `CloudServicesNetwork` deleted or renamed its instance variable `storage_status` + - Model `CloudServicesNetwork` deleted or renamed its instance variable `virtual_machines_associated_ids` + - Model `CloudServicesNetworkPatchParameters` deleted or renamed its instance variable `additional_egress_endpoints` + - Model `CloudServicesNetworkPatchParameters` deleted or renamed its instance variable `enable_default_egress_endpoints` + - Model `CloudServicesNetworkPatchParameters` deleted or renamed its instance variable `storage_options` + - Model `Cluster` deleted or renamed its instance variable `action_states` + - Model `Cluster` deleted or renamed its instance variable `aggregator_or_single_rack_definition` + - Model `Cluster` deleted or renamed its instance variable `analytics_output_settings` + - Model `Cluster` deleted or renamed its instance variable `analytics_workspace_id` + - Model `Cluster` deleted or renamed its instance variable `available_upgrade_versions` + - Model `Cluster` deleted or renamed its instance variable `cluster_capacity` + - Model `Cluster` deleted or renamed its instance variable `cluster_connection_status` + - Model `Cluster` deleted or renamed its instance variable `cluster_extended_location` + - Model `Cluster` deleted or renamed its instance variable `cluster_location` + - Model `Cluster` deleted or renamed its instance variable `cluster_manager_connection_status` + - Model `Cluster` deleted or renamed its instance variable `cluster_manager_id` + - Model `Cluster` deleted or renamed its instance variable `cluster_service_principal` + - Model `Cluster` deleted or renamed its instance variable `cluster_type` + - Model `Cluster` deleted or renamed its instance variable `cluster_version` + - Model `Cluster` deleted or renamed its instance variable `command_output_settings` + - Model `Cluster` deleted or renamed its instance variable `compute_deployment_threshold` + - Model `Cluster` deleted or renamed its instance variable `compute_rack_definitions` + - Model `Cluster` deleted or renamed its instance variable `detailed_status` + - Model `Cluster` deleted or renamed its instance variable `detailed_status_message` + - Model `Cluster` deleted or renamed its instance variable `hybrid_aks_extended_location` + - Model `Cluster` deleted or renamed its instance variable `managed_resource_group_configuration` + - Model `Cluster` deleted or renamed its instance variable `manual_action_count` + - Model `Cluster` deleted or renamed its instance variable `network_fabric_id` + - Model `Cluster` deleted or renamed its instance variable `provisioning_state` + - Model `Cluster` deleted or renamed its instance variable `runtime_protection_configuration` + - Model `Cluster` deleted or renamed its instance variable `secret_archive` + - Model `Cluster` deleted or renamed its instance variable `secret_archive_settings` + - Model `Cluster` deleted or renamed its instance variable `support_expiry_date` + - Model `Cluster` deleted or renamed its instance variable `update_strategy` + - Model `Cluster` deleted or renamed its instance variable `vulnerability_scanning_settings` + - Model `Cluster` deleted or renamed its instance variable `workload_resource_ids` + - Model `ClusterManager` deleted or renamed its instance variable `analytics_workspace_id` + - Model `ClusterManager` deleted or renamed its instance variable `availability_zones` + - Model `ClusterManager` deleted or renamed its instance variable `cluster_versions` + - Model `ClusterManager` deleted or renamed its instance variable `detailed_status` + - Model `ClusterManager` deleted or renamed its instance variable `detailed_status_message` + - Model `ClusterManager` deleted or renamed its instance variable `fabric_controller_id` + - Model `ClusterManager` deleted or renamed its instance variable `managed_resource_group_configuration` + - Model `ClusterManager` deleted or renamed its instance variable `manager_extended_location` + - Model `ClusterManager` deleted or renamed its instance variable `provisioning_state` + - Model `ClusterManager` deleted or renamed its instance variable `vm_size` + - Model `ClusterMetricsConfiguration` deleted or renamed its instance variable `collection_interval` + - Model `ClusterMetricsConfiguration` deleted or renamed its instance variable `detailed_status` + - Model `ClusterMetricsConfiguration` deleted or renamed its instance variable `detailed_status_message` + - Model `ClusterMetricsConfiguration` deleted or renamed its instance variable `disabled_metrics` + - Model `ClusterMetricsConfiguration` deleted or renamed its instance variable `enabled_metrics` + - Model `ClusterMetricsConfiguration` deleted or renamed its instance variable `provisioning_state` + - Model `ClusterMetricsConfigurationPatchParameters` deleted or renamed its instance variable `collection_interval` + - Model `ClusterMetricsConfigurationPatchParameters` deleted or renamed its instance variable `enabled_metrics` + - Model `ClusterPatchParameters` deleted or renamed its instance variable `aggregator_or_single_rack_definition` + - Model `ClusterPatchParameters` deleted or renamed its instance variable `analytics_output_settings` + - Model `ClusterPatchParameters` deleted or renamed its instance variable `cluster_location` + - Model `ClusterPatchParameters` deleted or renamed its instance variable `cluster_service_principal` + - Model `ClusterPatchParameters` deleted or renamed its instance variable `command_output_settings` + - Model `ClusterPatchParameters` deleted or renamed its instance variable `compute_deployment_threshold` + - Model `ClusterPatchParameters` deleted or renamed its instance variable `compute_rack_definitions` + - Model `ClusterPatchParameters` deleted or renamed its instance variable `runtime_protection_configuration` + - Model `ClusterPatchParameters` deleted or renamed its instance variable `secret_archive` + - Model `ClusterPatchParameters` deleted or renamed its instance variable `secret_archive_settings` + - Model `ClusterPatchParameters` deleted or renamed its instance variable `update_strategy` + - Model `ClusterPatchParameters` deleted or renamed its instance variable `vulnerability_scanning_settings` + - Model `Console` deleted or renamed its instance variable `detailed_status` + - Model `Console` deleted or renamed its instance variable `detailed_status_message` + - Model `Console` deleted or renamed its instance variable `enabled` + - Model `Console` deleted or renamed its instance variable `expiration` + - Model `Console` deleted or renamed its instance variable `private_link_service_id` + - Model `Console` deleted or renamed its instance variable `provisioning_state` + - Model `Console` deleted or renamed its instance variable `ssh_public_key` + - Model `Console` deleted or renamed its instance variable `virtual_machine_access_id` + - Model `ConsolePatchParameters` deleted or renamed its instance variable `enabled` + - Model `ConsolePatchParameters` deleted or renamed its instance variable `expiration` + - Model `ConsolePatchParameters` deleted or renamed its instance variable `ssh_public_key` + - Model `KubernetesCluster` deleted or renamed its instance variable `aad_configuration` + - Model `KubernetesCluster` deleted or renamed its instance variable `administrator_configuration` + - Model `KubernetesCluster` deleted or renamed its instance variable `attached_network_ids` + - Model `KubernetesCluster` deleted or renamed its instance variable `available_upgrades` + - Model `KubernetesCluster` deleted or renamed its instance variable `cluster_id` + - Model `KubernetesCluster` deleted or renamed its instance variable `connected_cluster_id` + - Model `KubernetesCluster` deleted or renamed its instance variable `control_plane_kubernetes_version` + - Model `KubernetesCluster` deleted or renamed its instance variable `control_plane_node_configuration` + - Model `KubernetesCluster` deleted or renamed its instance variable `detailed_status` + - Model `KubernetesCluster` deleted or renamed its instance variable `detailed_status_message` + - Model `KubernetesCluster` deleted or renamed its instance variable `feature_statuses` + - Model `KubernetesCluster` deleted or renamed its instance variable `initial_agent_pool_configurations` + - Model `KubernetesCluster` deleted or renamed its instance variable `kubernetes_version` + - Model `KubernetesCluster` deleted or renamed its instance variable `managed_resource_group_configuration` + - Model `KubernetesCluster` deleted or renamed its instance variable `network_configuration` + - Model `KubernetesCluster` deleted or renamed its instance variable `nodes` + - Model `KubernetesCluster` deleted or renamed its instance variable `provisioning_state` + - Model `KubernetesClusterFeature` deleted or renamed its instance variable `availability_lifecycle` + - Model `KubernetesClusterFeature` deleted or renamed its instance variable `detailed_status` + - Model `KubernetesClusterFeature` deleted or renamed its instance variable `detailed_status_message` + - Model `KubernetesClusterFeature` deleted or renamed its instance variable `options` + - Model `KubernetesClusterFeature` deleted or renamed its instance variable `provisioning_state` + - Model `KubernetesClusterFeature` deleted or renamed its instance variable `required` + - Model `KubernetesClusterFeature` deleted or renamed its instance variable `version` + - Model `KubernetesClusterFeaturePatchParameters` deleted or renamed its instance variable `options` + - Model `KubernetesClusterPatchParameters` deleted or renamed its instance variable `administrator_configuration` + - Model `KubernetesClusterPatchParameters` deleted or renamed its instance variable `control_plane_node_configuration` + - Model `KubernetesClusterPatchParameters` deleted or renamed its instance variable `kubernetes_version` + - Model `L2Network` deleted or renamed its instance variable `associated_resource_ids` + - Model `L2Network` deleted or renamed its instance variable `cluster_id` + - Model `L2Network` deleted or renamed its instance variable `detailed_status` + - Model `L2Network` deleted or renamed its instance variable `detailed_status_message` + - Model `L2Network` deleted or renamed its instance variable `hybrid_aks_clusters_associated_ids` + - Model `L2Network` deleted or renamed its instance variable `hybrid_aks_plugin_type` + - Model `L2Network` deleted or renamed its instance variable `interface_name` + - Model `L2Network` deleted or renamed its instance variable `l2_isolation_domain_id` + - Model `L2Network` deleted or renamed its instance variable `provisioning_state` + - Model `L2Network` deleted or renamed its instance variable `virtual_machines_associated_ids` + - Model `L3Network` deleted or renamed its instance variable `associated_resource_ids` + - Model `L3Network` deleted or renamed its instance variable `cluster_id` + - Model `L3Network` deleted or renamed its instance variable `detailed_status` + - Model `L3Network` deleted or renamed its instance variable `detailed_status_message` + - Model `L3Network` deleted or renamed its instance variable `hybrid_aks_clusters_associated_ids` + - Model `L3Network` deleted or renamed its instance variable `hybrid_aks_ipam_enabled` + - Model `L3Network` deleted or renamed its instance variable `hybrid_aks_plugin_type` + - Model `L3Network` deleted or renamed its instance variable `interface_name` + - Model `L3Network` deleted or renamed its instance variable `ip_allocation_type` + - Model `L3Network` deleted or renamed its instance variable `ipv4_connected_prefix` + - Model `L3Network` deleted or renamed its instance variable `ipv6_connected_prefix` + - Model `L3Network` deleted or renamed its instance variable `l3_isolation_domain_id` + - Model `L3Network` deleted or renamed its instance variable `provisioning_state` + - Model `L3Network` deleted or renamed its instance variable `virtual_machines_associated_ids` + - Model `L3Network` deleted or renamed its instance variable `vlan` + - Model `MachineSkuSlot` deleted or renamed its instance variable `bootstrap_protocol` + - Model `MachineSkuSlot` deleted or renamed its instance variable `cpu_cores` + - Model `MachineSkuSlot` deleted or renamed its instance variable `cpu_sockets` + - Model `MachineSkuSlot` deleted or renamed its instance variable `disks` + - Model `MachineSkuSlot` deleted or renamed its instance variable `generation` + - Model `MachineSkuSlot` deleted or renamed its instance variable `hardware_version` + - Model `MachineSkuSlot` deleted or renamed its instance variable `memory_capacity_gb` + - Model `MachineSkuSlot` deleted or renamed its instance variable `model` + - Model `MachineSkuSlot` deleted or renamed its instance variable `network_interfaces` + - Model `MachineSkuSlot` deleted or renamed its instance variable `total_threads` + - Model `MachineSkuSlot` deleted or renamed its instance variable `vendor` + - Model `OperationStatusResult` deleted or renamed its instance variable `exit_code` + - Model `OperationStatusResult` deleted or renamed its instance variable `output_head` + - Model `OperationStatusResult` deleted or renamed its instance variable `result_ref` + - Model `OperationStatusResult` deleted or renamed its instance variable `result_url` + - Model `Rack` deleted or renamed its instance variable `availability_zone` + - Model `Rack` deleted or renamed its instance variable `cluster_id` + - Model `Rack` deleted or renamed its instance variable `detailed_status` + - Model `Rack` deleted or renamed its instance variable `detailed_status_message` + - Model `Rack` deleted or renamed its instance variable `provisioning_state` + - Model `Rack` deleted or renamed its instance variable `rack_location` + - Model `Rack` deleted or renamed its instance variable `rack_serial_number` + - Model `Rack` deleted or renamed its instance variable `rack_sku_id` + - Model `RackPatchParameters` deleted or renamed its instance variable `rack_location` + - Model `RackPatchParameters` deleted or renamed its instance variable `rack_serial_number` + - Model `RackSku` deleted or renamed its instance variable `compute_machines` + - Model `RackSku` deleted or renamed its instance variable `controller_machines` + - Model `RackSku` deleted or renamed its instance variable `description` + - Model `RackSku` deleted or renamed its instance variable `max_cluster_slots` + - Model `RackSku` deleted or renamed its instance variable `provisioning_state` + - Model `RackSku` deleted or renamed its instance variable `rack_type` + - Model `RackSku` deleted or renamed its instance variable `storage_appliances` + - Model `RackSku` deleted or renamed its instance variable `supported_rack_sku_ids` + - Model `StorageAppliance` deleted or renamed its instance variable `administrator_credentials` + - Model `StorageAppliance` deleted or renamed its instance variable `ca_certificate` + - Model `StorageAppliance` deleted or renamed its instance variable `capacity` + - Model `StorageAppliance` deleted or renamed its instance variable `capacity_used` + - Model `StorageAppliance` deleted or renamed its instance variable `cluster_id` + - Model `StorageAppliance` deleted or renamed its instance variable `detailed_status` + - Model `StorageAppliance` deleted or renamed its instance variable `detailed_status_message` + - Model `StorageAppliance` deleted or renamed its instance variable `management_ipv4_address` + - Model `StorageAppliance` deleted or renamed its instance variable `manufacturer` + - Model `StorageAppliance` deleted or renamed its instance variable `model` + - Model `StorageAppliance` deleted or renamed its instance variable `provisioning_state` + - Model `StorageAppliance` deleted or renamed its instance variable `rack_id` + - Model `StorageAppliance` deleted or renamed its instance variable `rack_slot` + - Model `StorageAppliance` deleted or renamed its instance variable `remote_vendor_management_feature` + - Model `StorageAppliance` deleted or renamed its instance variable `remote_vendor_management_status` + - Model `StorageAppliance` deleted or renamed its instance variable `secret_rotation_status` + - Model `StorageAppliance` deleted or renamed its instance variable `serial_number` + - Model `StorageAppliance` deleted or renamed its instance variable `storage_appliance_sku_id` + - Model `StorageAppliance` deleted or renamed its instance variable `version` + - Model `StorageAppliancePatchParameters` deleted or renamed its instance variable `serial_number` + - Model `StorageApplianceSkuSlot` deleted or renamed its instance variable `capacity_gb` + - Model `StorageApplianceSkuSlot` deleted or renamed its instance variable `model` + - Model `TrunkedNetwork` deleted or renamed its instance variable `associated_resource_ids` + - Model `TrunkedNetwork` deleted or renamed its instance variable `cluster_id` + - Model `TrunkedNetwork` deleted or renamed its instance variable `detailed_status` + - Model `TrunkedNetwork` deleted or renamed its instance variable `detailed_status_message` + - Model `TrunkedNetwork` deleted or renamed its instance variable `hybrid_aks_clusters_associated_ids` + - Model `TrunkedNetwork` deleted or renamed its instance variable `hybrid_aks_plugin_type` + - Model `TrunkedNetwork` deleted or renamed its instance variable `interface_name` + - Model `TrunkedNetwork` deleted or renamed its instance variable `isolation_domain_ids` + - Model `TrunkedNetwork` deleted or renamed its instance variable `provisioning_state` + - Model `TrunkedNetwork` deleted or renamed its instance variable `virtual_machines_associated_ids` + - Model `TrunkedNetwork` deleted or renamed its instance variable `vlans` + - Model `VirtualMachine` deleted or renamed its instance variable `admin_username` + - Model `VirtualMachine` deleted or renamed its instance variable `availability_zone` + - Model `VirtualMachine` deleted or renamed its instance variable `bare_metal_machine_id` + - Model `VirtualMachine` deleted or renamed its instance variable `boot_method` + - Model `VirtualMachine` deleted or renamed its instance variable `cloud_services_network_attachment` + - Model `VirtualMachine` deleted or renamed its instance variable `cluster_id` + - Model `VirtualMachine` deleted or renamed its instance variable `console_extended_location` + - Model `VirtualMachine` deleted or renamed its instance variable `cpu_cores` + - Model `VirtualMachine` deleted or renamed its instance variable `detailed_status` + - Model `VirtualMachine` deleted or renamed its instance variable `detailed_status_message` + - Model `VirtualMachine` deleted or renamed its instance variable `isolate_emulator_thread` + - Model `VirtualMachine` deleted or renamed its instance variable `memory_size_gb` + - Model `VirtualMachine` deleted or renamed its instance variable `network_attachments` + - Model `VirtualMachine` deleted or renamed its instance variable `network_data` + - Model `VirtualMachine` deleted or renamed its instance variable `network_data_content` + - Model `VirtualMachine` deleted or renamed its instance variable `placement_hints` + - Model `VirtualMachine` deleted or renamed its instance variable `power_state` + - Model `VirtualMachine` deleted or renamed its instance variable `provisioning_state` + - Model `VirtualMachine` deleted or renamed its instance variable `ssh_public_keys` + - Model `VirtualMachine` deleted or renamed its instance variable `storage_profile` + - Model `VirtualMachine` deleted or renamed its instance variable `user_data` + - Model `VirtualMachine` deleted or renamed its instance variable `user_data_content` + - Model `VirtualMachine` deleted or renamed its instance variable `virtio_interface` + - Model `VirtualMachine` deleted or renamed its instance variable `vm_device_model` + - Model `VirtualMachine` deleted or renamed its instance variable `vm_image` + - Model `VirtualMachine` deleted or renamed its instance variable `vm_image_repository_credentials` + - Model `VirtualMachine` deleted or renamed its instance variable `volumes` + - Model `VirtualMachinePatchParameters` deleted or renamed its instance variable `vm_image_repository_credentials` + - Model `Volume` deleted or renamed its instance variable `allocated_size_mi_b` + - Model `Volume` deleted or renamed its instance variable `attached_to` + - Model `Volume` deleted or renamed its instance variable `detailed_status` + - Model `Volume` deleted or renamed its instance variable `detailed_status_message` + - Model `Volume` deleted or renamed its instance variable `provisioning_state` + - Model `Volume` deleted or renamed its instance variable `serial_number` + - Model `Volume` deleted or renamed its instance variable `size_mi_b` + - Model `Volume` deleted or renamed its instance variable `storage_appliance_id` + - Deleted or renamed model `AgentPoolConfiguration` + - Deleted or renamed model `AgentPoolList` + - Deleted or renamed model `BareMetalMachineKeySetList` + - Deleted or renamed model `BareMetalMachineList` + - Deleted or renamed model `BmcKeySetList` + - Deleted or renamed model `CloudServicesNetworkList` + - Deleted or renamed model `ClusterList` + - Deleted or renamed model `ClusterManagerList` + - Deleted or renamed model `ClusterMetricsConfigurationList` + - Deleted or renamed model `ConsoleList` + - Deleted or renamed model `KubernetesClusterFeatureList` + - Deleted or renamed model `KubernetesClusterList` + - Deleted or renamed model `L2NetworkList` + - Deleted or renamed model `L3NetworkList` + - Deleted or renamed model `OperationListResult` + - Deleted or renamed model `RackList` + - Deleted or renamed model `RackSkuList` + - Deleted or renamed model `StorageApplianceList` + - Deleted or renamed model `TagsParameter` + - Deleted or renamed model `TrunkedNetworkList` + - Deleted or renamed model `VirtualMachineList` + - Deleted or renamed model `VolumeList` + - Method `AgentPoolsOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `AgentPoolsOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `AgentPoolsOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `AgentPoolsOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `AgentPoolsOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `AgentPoolsOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `AgentPoolsOperations.list_by_kubernetes_cluster` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `BareMetalMachineKeySetsOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `BareMetalMachineKeySetsOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `BareMetalMachineKeySetsOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `BareMetalMachineKeySetsOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `BareMetalMachineKeySetsOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `BareMetalMachineKeySetsOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `BareMetalMachineKeySetsOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `BareMetalMachineKeySetsOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `BareMetalMachineKeySetsOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `BareMetalMachineKeySetsOperations.list_by_cluster` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `BareMetalMachinesOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `BareMetalMachinesOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `BareMetalMachinesOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `BareMetalMachinesOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `BareMetalMachinesOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `BareMetalMachinesOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `BareMetalMachinesOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `BareMetalMachinesOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `BareMetalMachinesOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `BareMetalMachinesOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `BareMetalMachinesOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `BmcKeySetsOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `BmcKeySetsOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `BmcKeySetsOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `BmcKeySetsOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `BmcKeySetsOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `BmcKeySetsOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `BmcKeySetsOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `BmcKeySetsOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `BmcKeySetsOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `BmcKeySetsOperations.list_by_cluster` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `CloudServicesNetworksOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `CloudServicesNetworksOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `CloudServicesNetworksOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `CloudServicesNetworksOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `CloudServicesNetworksOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `CloudServicesNetworksOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `CloudServicesNetworksOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `CloudServicesNetworksOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `CloudServicesNetworksOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `CloudServicesNetworksOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `CloudServicesNetworksOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `ClusterManagersOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `ClusterManagersOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `ClusterManagersOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `ClusterManagersOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `ClusterManagersOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `ClusterManagersOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `ClusterManagersOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `ClusterManagersOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `ClusterManagersOperations.update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `ClustersOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `ClustersOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `ClustersOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `ClusterManagersOperations.update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `ClusterManagersOperations.update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `ClustersOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `ClustersOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `ClustersOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `ClustersOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `ClustersOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `ClustersOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `ClustersOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `ClustersOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `ConsolesOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `ConsolesOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `ConsolesOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `ConsolesOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `ConsolesOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `ConsolesOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `ConsolesOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `ConsolesOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `ConsolesOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `ConsolesOperations.list_by_virtual_machine` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `KubernetesClusterFeaturesOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `KubernetesClusterFeaturesOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `KubernetesClusterFeaturesOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `KubernetesClusterFeaturesOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `KubernetesClusterFeaturesOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `KubernetesClusterFeaturesOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `KubernetesClusterFeaturesOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `KubernetesClusterFeaturesOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `KubernetesClusterFeaturesOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `KubernetesClusterFeaturesOperations.list_by_kubernetes_cluster` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `KubernetesClustersOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `KubernetesClustersOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `KubernetesClustersOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `KubernetesClustersOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `KubernetesClustersOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `KubernetesClustersOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `KubernetesClustersOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `KubernetesClustersOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `KubernetesClustersOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `KubernetesClustersOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `KubernetesClustersOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `L2NetworksOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `L2NetworksOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `L2NetworksOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `L2NetworksOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `L2NetworksOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `L2NetworksOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `L2NetworksOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `L2NetworksOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `L2NetworksOperations.update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `L3NetworksOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `L3NetworksOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `L2NetworksOperations.update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `L2NetworksOperations.update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `L3NetworksOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `L3NetworksOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `L3NetworksOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `L3NetworksOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `L3NetworksOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `L3NetworksOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `L3NetworksOperations.update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `MetricsConfigurationsOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `MetricsConfigurationsOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `MetricsConfigurationsOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `L3NetworksOperations.update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `L3NetworksOperations.update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `MetricsConfigurationsOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `MetricsConfigurationsOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `MetricsConfigurationsOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `MetricsConfigurationsOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `MetricsConfigurationsOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `MetricsConfigurationsOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `MetricsConfigurationsOperations.list_by_cluster` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `RacksOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `RacksOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `RacksOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `RacksOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `RacksOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `RacksOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `RacksOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `RacksOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `RacksOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `RacksOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `RacksOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `StorageAppliancesOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `StorageAppliancesOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `StorageAppliancesOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `StorageAppliancesOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `StorageAppliancesOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `StorageAppliancesOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `StorageAppliancesOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `StorageAppliancesOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `StorageAppliancesOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `StorageAppliancesOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `StorageAppliancesOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `TrunkedNetworksOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `TrunkedNetworksOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `TrunkedNetworksOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `TrunkedNetworksOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `TrunkedNetworksOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `TrunkedNetworksOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `TrunkedNetworksOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `TrunkedNetworksOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `TrunkedNetworksOperations.update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `VirtualMachinesOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `VirtualMachinesOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `VirtualMachinesOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `TrunkedNetworksOperations.update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `TrunkedNetworksOperations.update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `VirtualMachinesOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `VirtualMachinesOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `VirtualMachinesOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `VirtualMachinesOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `VirtualMachinesOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `VirtualMachinesOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `VirtualMachinesOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `VirtualMachinesOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `VolumesOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - - Method `VolumesOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` + - Method `VolumesOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `VolumesOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `VolumesOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `VolumesOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `VolumesOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `VolumesOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `VolumesOperations.update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition` - -### Other Changes - - - Deleted model `AgentPoolList`/`BareMetalMachineKeySetList`/`BareMetalMachineList`/`BmcKeySetList`/`CloudServicesNetworkList`/`ClusterList`/`ClusterManagerList`/`ClusterMetricsConfigurationList`/`ConsoleList`/`KubernetesClusterFeatureList`/`KubernetesClusterList`/`L2NetworkList`/`L3NetworkList`/`OperationListResult`/`RackList`/`RackSkuList`/`StorageApplianceList`/`TrunkedNetworkList`/`VirtualMachineList`/`VolumeList` which actually were not used by SDK users - - Deleted model `AgentPoolConfiguration`/`TagsParameter` which actually were not used by SDK users + - Method `VolumesOperations.update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` + - Method `VolumesOperations.update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `BmcKeySetsOperations.begin_update` re-ordered its parameters from `['self', 'bmc_key_set_name', 'bmc_key_set_update_parameters', 'cluster_name', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bmc_key_set_name', 'bmc_key_set_update_parameters', 'cluster_name', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `BmcKeySetsOperations.begin_delete` re-ordered its parameters from `['self', 'bmc_key_set_name', 'cluster_name', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bmc_key_set_name', 'cluster_name', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `BmcKeySetsOperations.begin_create_or_update` re-ordered its parameters from `['self', 'bmc_key_set_name', 'bmc_key_set_parameters', 'cluster_name', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bmc_key_set_name', 'bmc_key_set_parameters', 'cluster_name', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `AgentPoolsOperations.begin_update` re-ordered its parameters from `['self', 'agent_pool_name', 'agent_pool_update_parameters', 'content_type', 'if_match', 'if_none_match', 'kubernetes_cluster_name', 'resource_group_name', 'kwargs']` to `['self', 'agent_pool_name', 'agent_pool_update_parameters', 'content_type', 'etag', 'kubernetes_cluster_name', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `AgentPoolsOperations.begin_delete` re-ordered its parameters from `['self', 'agent_pool_name', 'if_match', 'if_none_match', 'kubernetes_cluster_name', 'resource_group_name', 'kwargs']` to `['self', 'agent_pool_name', 'etag', 'kubernetes_cluster_name', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `AgentPoolsOperations.begin_create_or_update` re-ordered its parameters from `['self', 'agent_pool_name', 'agent_pool_parameters', 'content_type', 'if_match', 'if_none_match', 'kubernetes_cluster_name', 'resource_group_name', 'kwargs']` to `['self', 'agent_pool_name', 'agent_pool_parameters', 'content_type', 'etag', 'kubernetes_cluster_name', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `VolumesOperations.begin_delete` re-ordered its parameters from `['self', 'if_match', 'if_none_match', 'resource_group_name', 'volume_name', 'kwargs']` to `['self', 'etag', 'match_condition', 'resource_group_name', 'volume_name', 'kwargs']` + - Method `VolumesOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'volume_name', 'volume_parameters', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'volume_name', 'volume_parameters', 'kwargs']` + - Method `VolumesOperations.update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'volume_name', 'volume_update_parameters', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'volume_name', 'volume_update_parameters', 'kwargs']` + - Method `VirtualMachinesOperations.begin_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'virtual_machine_name', 'virtual_machine_update_parameters', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'virtual_machine_name', 'virtual_machine_update_parameters', 'kwargs']` + - Method `VirtualMachinesOperations.begin_delete` re-ordered its parameters from `['self', 'if_match', 'if_none_match', 'resource_group_name', 'virtual_machine_name', 'kwargs']` to `['self', 'etag', 'match_condition', 'resource_group_name', 'virtual_machine_name', 'kwargs']` + - Method `VirtualMachinesOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'virtual_machine_name', 'virtual_machine_parameters', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'virtual_machine_name', 'virtual_machine_parameters', 'kwargs']` + - Method `KubernetesClusterFeaturesOperations.begin_update` re-ordered its parameters from `['self', 'content_type', 'feature_name', 'if_match', 'if_none_match', 'kubernetes_cluster_feature_update_parameters', 'kubernetes_cluster_name', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'feature_name', 'kubernetes_cluster_feature_update_parameters', 'kubernetes_cluster_name', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `KubernetesClusterFeaturesOperations.begin_delete` re-ordered its parameters from `['self', 'feature_name', 'if_match', 'if_none_match', 'kubernetes_cluster_name', 'resource_group_name', 'kwargs']` to `['self', 'etag', 'feature_name', 'kubernetes_cluster_name', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `KubernetesClusterFeaturesOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'feature_name', 'if_match', 'if_none_match', 'kubernetes_cluster_feature_parameters', 'kubernetes_cluster_name', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'feature_name', 'kubernetes_cluster_feature_parameters', 'kubernetes_cluster_name', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `ClusterManagersOperations.begin_delete` re-ordered its parameters from `['self', 'cluster_manager_name', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cluster_manager_name', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `ClusterManagersOperations.begin_create_or_update` re-ordered its parameters from `['self', 'cluster_manager_name', 'cluster_manager_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cluster_manager_name', 'cluster_manager_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `ClusterManagersOperations.update` re-ordered its parameters from `['self', 'cluster_manager_name', 'cluster_manager_update_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cluster_manager_name', 'cluster_manager_update_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `StorageAppliancesOperations.begin_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'storage_appliance_name', 'storage_appliance_update_parameters', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'storage_appliance_name', 'storage_appliance_update_parameters', 'kwargs']` + - Method `StorageAppliancesOperations.begin_delete` re-ordered its parameters from `['self', 'if_match', 'if_none_match', 'resource_group_name', 'storage_appliance_name', 'kwargs']` to `['self', 'etag', 'match_condition', 'resource_group_name', 'storage_appliance_name', 'kwargs']` + - Method `StorageAppliancesOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'storage_appliance_name', 'storage_appliance_parameters', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'storage_appliance_name', 'storage_appliance_parameters', 'kwargs']` + - Method `ClustersOperations.begin_update` re-ordered its parameters from `['self', 'cluster_name', 'cluster_update_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cluster_name', 'cluster_update_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `ClustersOperations.begin_delete` re-ordered its parameters from `['self', 'cluster_name', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cluster_name', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `ClustersOperations.begin_create_or_update` re-ordered its parameters from `['self', 'cluster_name', 'cluster_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cluster_name', 'cluster_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `L3NetworksOperations.begin_delete` re-ordered its parameters from `['self', 'if_match', 'if_none_match', 'l3_network_name', 'resource_group_name', 'kwargs']` to `['self', 'etag', 'l3_network_name', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `L3NetworksOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'l3_network_name', 'l3_network_parameters', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'l3_network_name', 'l3_network_parameters', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `L3NetworksOperations.update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'l3_network_name', 'l3_network_update_parameters', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'l3_network_name', 'l3_network_update_parameters', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `L2NetworksOperations.begin_delete` re-ordered its parameters from `['self', 'if_match', 'if_none_match', 'l2_network_name', 'resource_group_name', 'kwargs']` to `['self', 'etag', 'l2_network_name', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `L2NetworksOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'l2_network_name', 'l2_network_parameters', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'l2_network_name', 'l2_network_parameters', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `L2NetworksOperations.update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'l2_network_name', 'l2_network_update_parameters', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'l2_network_name', 'l2_network_update_parameters', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `CloudServicesNetworksOperations.begin_update` re-ordered its parameters from `['self', 'cloud_services_network_name', 'cloud_services_network_update_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cloud_services_network_name', 'cloud_services_network_update_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `CloudServicesNetworksOperations.begin_delete` re-ordered its parameters from `['self', 'cloud_services_network_name', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cloud_services_network_name', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `CloudServicesNetworksOperations.begin_create_or_update` re-ordered its parameters from `['self', 'cloud_services_network_name', 'cloud_services_network_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cloud_services_network_name', 'cloud_services_network_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `MetricsConfigurationsOperations.begin_update` re-ordered its parameters from `['self', 'cluster_name', 'content_type', 'if_match', 'if_none_match', 'metrics_configuration_name', 'metrics_configuration_update_parameters', 'resource_group_name', 'kwargs']` to `['self', 'cluster_name', 'content_type', 'etag', 'match_condition', 'metrics_configuration_name', 'metrics_configuration_update_parameters', 'resource_group_name', 'kwargs']` + - Method `MetricsConfigurationsOperations.begin_delete` re-ordered its parameters from `['self', 'cluster_name', 'if_match', 'if_none_match', 'metrics_configuration_name', 'resource_group_name', 'kwargs']` to `['self', 'cluster_name', 'etag', 'match_condition', 'metrics_configuration_name', 'resource_group_name', 'kwargs']` + - Method `MetricsConfigurationsOperations.begin_create_or_update` re-ordered its parameters from `['self', 'cluster_name', 'content_type', 'if_match', 'if_none_match', 'metrics_configuration_name', 'metrics_configuration_parameters', 'resource_group_name', 'kwargs']` to `['self', 'cluster_name', 'content_type', 'etag', 'match_condition', 'metrics_configuration_name', 'metrics_configuration_parameters', 'resource_group_name', 'kwargs']` + - Method `BareMetalMachineKeySetsOperations.begin_update` re-ordered its parameters from `['self', 'bare_metal_machine_key_set_name', 'bare_metal_machine_key_set_update_parameters', 'cluster_name', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bare_metal_machine_key_set_name', 'bare_metal_machine_key_set_update_parameters', 'cluster_name', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `BareMetalMachineKeySetsOperations.begin_delete` re-ordered its parameters from `['self', 'bare_metal_machine_key_set_name', 'cluster_name', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bare_metal_machine_key_set_name', 'cluster_name', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `BareMetalMachineKeySetsOperations.begin_create_or_update` re-ordered its parameters from `['self', 'bare_metal_machine_key_set_name', 'bare_metal_machine_key_set_parameters', 'cluster_name', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bare_metal_machine_key_set_name', 'bare_metal_machine_key_set_parameters', 'cluster_name', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `ConsolesOperations.begin_update` re-ordered its parameters from `['self', 'console_name', 'console_update_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'virtual_machine_name', 'kwargs']` to `['self', 'console_name', 'console_update_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'virtual_machine_name', 'kwargs']` + - Method `ConsolesOperations.begin_delete` re-ordered its parameters from `['self', 'console_name', 'if_match', 'if_none_match', 'resource_group_name', 'virtual_machine_name', 'kwargs']` to `['self', 'console_name', 'etag', 'match_condition', 'resource_group_name', 'virtual_machine_name', 'kwargs']` + - Method `ConsolesOperations.begin_create_or_update` re-ordered its parameters from `['self', 'console_name', 'console_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'virtual_machine_name', 'kwargs']` to `['self', 'console_name', 'console_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'virtual_machine_name', 'kwargs']` + - Method `TrunkedNetworksOperations.begin_delete` re-ordered its parameters from `['self', 'if_match', 'if_none_match', 'resource_group_name', 'trunked_network_name', 'kwargs']` to `['self', 'etag', 'match_condition', 'resource_group_name', 'trunked_network_name', 'kwargs']` + - Method `TrunkedNetworksOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'trunked_network_name', 'trunked_network_parameters', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'trunked_network_name', 'trunked_network_parameters', 'kwargs']` + - Method `TrunkedNetworksOperations.update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'trunked_network_name', 'trunked_network_update_parameters', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'trunked_network_name', 'trunked_network_update_parameters', 'kwargs']` + - Method `KubernetesClustersOperations.begin_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'kubernetes_cluster_name', 'kubernetes_cluster_update_parameters', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'kubernetes_cluster_name', 'kubernetes_cluster_update_parameters', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `KubernetesClustersOperations.begin_delete` re-ordered its parameters from `['self', 'if_match', 'if_none_match', 'kubernetes_cluster_name', 'resource_group_name', 'kwargs']` to `['self', 'etag', 'kubernetes_cluster_name', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `KubernetesClustersOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'kubernetes_cluster_name', 'kubernetes_cluster_parameters', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'kubernetes_cluster_name', 'kubernetes_cluster_parameters', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `RacksOperations.begin_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'rack_name', 'rack_update_parameters', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'rack_name', 'rack_update_parameters', 'resource_group_name', 'kwargs']` + - Method `RacksOperations.begin_delete` re-ordered its parameters from `['self', 'if_match', 'if_none_match', 'rack_name', 'resource_group_name', 'kwargs']` to `['self', 'etag', 'match_condition', 'rack_name', 'resource_group_name', 'kwargs']` + - Method `RacksOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'rack_name', 'rack_parameters', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'rack_name', 'rack_parameters', 'resource_group_name', 'kwargs']` + - Method `BareMetalMachinesOperations.begin_update` re-ordered its parameters from `['self', 'bare_metal_machine_name', 'bare_metal_machine_update_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bare_metal_machine_name', 'bare_metal_machine_update_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `BareMetalMachinesOperations.begin_delete` re-ordered its parameters from `['self', 'bare_metal_machine_name', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bare_metal_machine_name', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + - Method `BareMetalMachinesOperations.begin_create_or_update` re-ordered its parameters from `['self', 'bare_metal_machine_name', 'bare_metal_machine_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bare_metal_machine_name', 'bare_metal_machine_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` ## 3.0.0b2 (2026-06-24) @@ -212,467 +870,4 @@ - Added operation group `AccessBridgesOperations` - Added operation group `KubernetesVersionsOperations` -## 3.0.0b1 (2026-04-02) - -### Features Added - - - Client `NetworkCloudMgmtClient` added method `send_request` - - Added enum `ExtendedLocationType` - - Added model `ProxyResource` - -### Breaking Changes - - - This version introduces new hybrid models which have dual dictionary and model nature. Please follow https://aka.ms/azsdk/python/migrate/hybrid-models for migration. - - For the method breakings, please refer to https://aka.ms/azsdk/python/migrate/operations for migration. - - Model `AgentPoolPatchParameters` moved instance variable `administrator_configuration`, `count` and `upgrade_settings` under property `properties` whose type is `AgentPoolPatchProperties` - - Model `BareMetalMachineKeySetPatchParameters` moved instance variable `expiration`, `jump_hosts_allowed` and `user_list` under property `properties` whose type is `BareMetalMachineKeySetPatchProperties` - - Model `BareMetalMachinePatchParameters` moved instance variable `machine_details` under property `properties` whose type is `BareMetalMachinePatchProperties` - - Model `BmcKeySetPatchParameters` moved instance variable `expiration` and `user_list` under property `properties` whose type is `BmcKeySetPatchProperties` - - Model `CloudServicesNetworkPatchParameters` moved instance variable `additional_egress_endpoints`, `enable_default_egress_endpoints` and `storage_options` under property `properties` whose type is `CloudServicesNetworkPatchProperties` - - Model `ClusterMetricsConfigurationPatchParameters` moved instance variable `collection_interval` and `enabled_metrics` under property `properties` whose type is `ClusterMetricsConfigurationPatchProperties` - - Model `ClusterPatchParameters` moved instance variable `aggregator_or_single_rack_definition`, `analytics_output_settings`, `cluster_location`, `cluster_service_principal`, `command_output_settings`, `compute_deployment_threshold`, `compute_rack_definitions`, `runtime_protection_configuration`, `secret_archive`, `secret_archive_settings`, `update_strategy` and `vulnerability_scanning_settings` under property `properties` whose type is `ClusterPatchProperties` - - Model `ConsolePatchParameters` moved instance variable `enabled`, `expiration` and `ssh_public_key` under property `properties` whose type is `ConsolePatchProperties` - - Model `KubernetesClusterFeaturePatchParameters` moved instance variable `options` under property `properties` whose type is `KubernetesClusterFeaturePatchProperties` - - Model `KubernetesClusterPatchParameters` moved instance variable `administrator_configuration`, `control_plane_node_configuration` and `kubernetes_version` under property `properties` whose type is `KubernetesClusterPatchProperties` - - Model `MachineSkuSlot` moved instance variable `bootstrap_protocol`, `cpu_cores`, `cpu_sockets`, `disks`, `generation`, `hardware_version`, `memory_capacity_gb`, `model`, `network_interfaces`, `total_threads` and `vendor` under property `properties` whose type is `MachineSkuProperties` - - Model `RackPatchParameters` moved instance variable `rack_location` and `rack_serial_number` under property `properties` whose type is `RacksPatchProperties` - - Model `StorageAppliancePatchParameters` moved instance variable `serial_number` under property `properties` whose type is `StorageAppliancePatchProperties` - - Model `StorageApplianceSkuSlot` moved instance variable `capacity_gb` and `model` under property `properties` whose type is `StorageApplianceSkuProperties` - - Model `VirtualMachinePatchParameters` moved instance variable `vm_image_repository_credentials` under property `properties` whose type is `VirtualMachinePatchProperties` - - Deleted or renamed model `AgentPoolConfiguration` - - Deleted or renamed model `TagsParameter` - - Method `AgentPoolsOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `AgentPoolsOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `AgentPoolsOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `AgentPoolsOperations.list_by_kubernetes_cluster` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `BareMetalMachineKeySetsOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `BareMetalMachineKeySetsOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `BareMetalMachineKeySetsOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `BareMetalMachineKeySetsOperations.list_by_cluster` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `BareMetalMachinesOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `BareMetalMachinesOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `BareMetalMachinesOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `BareMetalMachinesOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `BareMetalMachinesOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `BmcKeySetsOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `BmcKeySetsOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `BmcKeySetsOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `BmcKeySetsOperations.list_by_cluster` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `CloudServicesNetworksOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `CloudServicesNetworksOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `CloudServicesNetworksOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `CloudServicesNetworksOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `CloudServicesNetworksOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `ClusterManagersOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `ClusterManagersOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `ClusterManagersOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `ClusterManagersOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `ClusterManagersOperations.update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `ClustersOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `ClustersOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `ClustersOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `ClustersOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `ClustersOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `ConsolesOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `ConsolesOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `ConsolesOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `ConsolesOperations.list_by_virtual_machine` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `KubernetesClusterFeaturesOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `KubernetesClusterFeaturesOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `KubernetesClusterFeaturesOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `KubernetesClusterFeaturesOperations.list_by_kubernetes_cluster` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `KubernetesClustersOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `KubernetesClustersOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `KubernetesClustersOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `KubernetesClustersOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `KubernetesClustersOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `L2NetworksOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `L2NetworksOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `L2NetworksOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `L2NetworksOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `L2NetworksOperations.update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `L3NetworksOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `L3NetworksOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `L3NetworksOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `L3NetworksOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `L3NetworksOperations.update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `MetricsConfigurationsOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `MetricsConfigurationsOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `MetricsConfigurationsOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `MetricsConfigurationsOperations.list_by_cluster` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `RacksOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `RacksOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `RacksOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `RacksOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `RacksOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `StorageAppliancesOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `StorageAppliancesOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `StorageAppliancesOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `StorageAppliancesOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `StorageAppliancesOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `TrunkedNetworksOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `TrunkedNetworksOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `TrunkedNetworksOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `TrunkedNetworksOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `TrunkedNetworksOperations.update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `VirtualMachinesOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `VirtualMachinesOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `VirtualMachinesOperations.begin_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `VirtualMachinesOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `VirtualMachinesOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `VolumesOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `VolumesOperations.begin_delete` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - - Method `VolumesOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `VolumesOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `VolumesOperations.update` replaced positional_or_keyword parameters `if_match`/`if_none_match` to keyword_only parameters `etag`/`match_condition` - -### Other Changes - - - Deleted model `AgentPoolList`/`BareMetalMachineKeySetList`/`BareMetalMachineList`/`BmcKeySetList`/`CloudServicesNetworkList`/`ClusterList`/`ClusterManagerList`/`ClusterMetricsConfigurationList`/`ConsoleList`/`KubernetesClusterFeatureList`/`KubernetesClusterList`/`L2NetworkList`/`L3NetworkList`/`RackList`/`RackSkuList`/`StorageApplianceList`/`TrunkedNetworkList`/`VirtualMachineList`/`VolumeList` which actually were not used by SDK users - -## 2.2.0 (2025-12-22) - -### Features Added - - - Model `NetworkCloudMgmtClient` added parameter `cloud_setting` in method `__init__` - - Model `BareMetalMachine` added property `action_states` - - Model `BareMetalMachine` added property `ca_certificate` - - Model `BareMetalMachineKeySet` added property `privilege_level_name` - - Enum `BareMetalMachineKeySetPrivilegeLevel` added member `OTHER` - - Model `BareMetalMachineReplaceParameters` added property `safeguard_mode` - - Model `BareMetalMachineReplaceParameters` added property `storage_policy` - - Model `CloudServicesNetwork` added property `storage_options` - - Model `CloudServicesNetwork` added property `storage_status` - - Model `CloudServicesNetworkPatchParameters` added property `storage_options` - - Model `Cluster` added property `action_states` - - Model `CommandOutputSettings` added property `overrides` - - Model `SecretArchiveReference` added property `key_vault_uri` - - Model `StorageAppliance` added property `ca_certificate` - - Model `VirtualMachine` added property `identity` - - Model `VirtualMachine` added property `network_data_content` - - Model `VirtualMachine` added property `user_data_content` - - Model `VirtualMachinePatchParameters` added property `identity` - - Model `Volume` added property `allocated_size_mi_b` - - Model `Volume` added property `storage_appliance_id` - - Added model `ActionState` - - Added enum `ActionStateStatus` - - Added enum `BareMetalMachineReplaceSafeguardMode` - - Added enum `BareMetalMachineReplaceStoragePolicy` - - Added model `CertificateInfo` - - Added enum `CloudServicesNetworkStorageMode` - - Added model `CloudServicesNetworkStorageOptions` - - Added model `CloudServicesNetworkStorageOptionsPatch` - - Added model `CloudServicesNetworkStorageStatus` - - Added enum `CloudServicesNetworkStorageStatusStatus` - - Added model `CommandOutputOverride` - - Added enum `CommandOutputType` - - Added enum `RelayType` - - Added model `StepState` - - Added enum `StepStateStatus` - - Added model `StorageApplianceCommandSpecification` - - Added model `StorageApplianceRunReadCommandsParameters` - - Added model `VirtualMachineAssignRelayParameters` - - Operation group `BareMetalMachinesOperations` added method `begin_run_data_extracts_restricted` - - Operation group `StorageAppliancesOperations` added method `begin_run_read_commands` - - Operation group `VirtualMachinesOperations` added method `begin_assign_relay` - -## 2.2.0b1 (2025-11-17) - -### Features Added - - - Model `NetworkCloudMgmtClient` added parameter `cloud_setting` in method `__init__` - - Model `BareMetalMachine` added property `action_states` - - Model `BareMetalMachine` added property `ca_certificate` - - Model `BareMetalMachineKeySet` added property `privilege_level_name` - - Enum `BareMetalMachineKeySetPrivilegeLevel` added member `OTHER` - - Model `BareMetalMachineReplaceParameters` added property `safeguard_mode` - - Model `BareMetalMachineReplaceParameters` added property `storage_policy` - - Model `CloudServicesNetwork` added property `storage_options` - - Model `CloudServicesNetwork` added property `storage_status` - - Model `CloudServicesNetworkPatchParameters` added property `storage_options` - - Model `Cluster` added property `action_states` - - Model `CommandOutputSettings` added property `overrides` - - Model `SecretArchiveReference` added property `key_vault_uri` - - Model `StorageAppliance` added property `ca_certificate` - - Model `VirtualMachine` added property `identity` - - Model `VirtualMachine` added property `network_data_content` - - Model `VirtualMachine` added property `user_data_content` - - Model `VirtualMachinePatchParameters` added property `identity` - - Model `Volume` added property `allocated_size_mi_b` - - Model `Volume` added property `storage_appliance_id` - - Added model `ActionState` - - Added enum `ActionStateStatus` - - Added enum `BareMetalMachineReplaceSafeguardMode` - - Added enum `BareMetalMachineReplaceStoragePolicy` - - Added model `CertificateInfo` - - Added enum `CloudServicesNetworkStorageMode` - - Added model `CloudServicesNetworkStorageOptions` - - Added model `CloudServicesNetworkStorageOptionsPatch` - - Added model `CloudServicesNetworkStorageStatus` - - Added enum `CloudServicesNetworkStorageStatusStatus` - - Added model `CommandOutputOverride` - - Added enum `CommandOutputType` - - Added enum `RelayType` - - Added model `StepState` - - Added enum `StepStateStatus` - - Added model `StorageApplianceCommandSpecification` - - Added model `StorageApplianceRunReadCommandsParameters` - - Added model `VirtualMachineAssignRelayParameters` - - Operation group `BareMetalMachinesOperations` added method `begin_run_data_extracts_restricted` - - Operation group `StorageAppliancesOperations` added method `begin_run_read_commands` - - Operation group `VirtualMachinesOperations` added method `begin_assign_relay` - -## 2.1.0 (2025-06-16) - -### Features Added - - - All resources implement concurrency control via Etag/If-Match/If-None-Match parameters. As a result, customers who use create/patch/delete methods with positional arguments may need to adjust part of calls. It is recommended to switch to keyword based calls to avoid any future issues. - - Model `AgentPool` added property `etag` - - Model `BareMetalMachine` added property `etag` - - Model `BareMetalMachineKeySet` added property `etag` - - Model `BmcKeySet` added property `etag` - - Model `CloudServicesNetwork` added property `etag` - - Model `Cluster` added property `etag` - - Model `Cluster` added property `analytics_output_settings` - - Model `Cluster` added property `secret_archive_settings` - - Model `Cluster` added property `vulnerability_scanning_settings` - - Model `ClusterManager` added property `etag` - - Model `ClusterMetricsConfiguration` added property `etag` - - Model `ClusterPatchParameters` added property `analytics_output_settings` - - Model `ClusterPatchParameters` added property `secret_archive_settings` - - Model `ClusterPatchParameters` added property `vulnerability_scanning_settings` - - Model `Console` added property `etag` - - Model `KubernetesCluster` added property `etag` - - Model `KubernetesClusterFeature` added property `etag` - - Model `L2Network` added property `etag` - - Model `L3Network` added property `etag` - - Enum `OsDiskCreateOption` added member `PERSISTENT` - - Model `Rack` added property `etag` - - Model `StorageAppliance` added property `etag` - - Enum `StorageApplianceDetailedStatus` added member `DEGRADED` - - Model `TrunkedNetwork` added property `etag` - - Model `VirtualMachine` added property `etag` - - Model `VirtualMachine` added property `console_extended_location` - - Enum `VirtualMachineDeviceModelType` added member `T3` - - Model `Volume` added property `etag` - - Added model `AnalyticsOutputSettings` - - Added model `SecretArchiveSettings` - - Added model `VulnerabilityScanningSettings` - - Added enum `VulnerabilityScanningSettingsContainerScan` - - Added model `VulnerabilityScanningSettingsPatch` - -## 2.1.0b1 (2025-04-21) - -### Features Added - - - Model `Cluster` added property `analytics_output_settings` - - Model `Cluster` added property `secret_archive_settings` - - Model `Cluster` added property `vulnerability_scanning_settings` - - Model `ClusterPatchParameters` added property `analytics_output_settings` - - Model `ClusterPatchParameters` added property `secret_archive_settings` - - Model `ClusterPatchParameters` added property `vulnerability_scanning_settings` - - Enum `OsDiskCreateOption` added member `PERSISTENT` - - Enum `StorageApplianceDetailedStatus` added member `DEGRADED` - - Model `VirtualMachine` added property `console_extended_location` - - Enum `VirtualMachineDeviceModelType` added member `T3` - - Added model `AnalyticsOutputSettings` - - Added model `SecretArchiveSettings` - - Added model `VulnerabilityScanningSettings` - - Added enum `VulnerabilityScanningSettingsContainerScan` - - Added model `VulnerabilityScanningSettingsPatch` - -## 2.0.0 (2025-02-24) - -### Features Added - - - Client `NetworkCloudMgmtClient` added operation group `kubernetes_cluster_features` - - Model `AgentPoolPatchParameters` added property `administrator_configuration` - - Model `AgentPoolUpgradeSettings` added property `drain_timeout` - - Model `AgentPoolUpgradeSettings` added property `max_unavailable` - - Model `BareMetalMachine` added property `machine_cluster_version` - - Model `BareMetalMachine` added property `machine_roles` - - Model `BareMetalMachine` added property `runtime_protection_status` - - Model `BareMetalMachine` added property `secret_rotation_status` - - Model `Cluster` added property `identity` - - Model `Cluster` added property `command_output_settings` - - Model `Cluster` added property `runtime_protection_configuration` - - Model `Cluster` added property `secret_archive` - - Model `Cluster` added property `update_strategy` - - Enum `ClusterConnectionStatus` added member `DISCONNECTED` - - Enum `ClusterDetailedStatus` added member `UPDATE_PAUSED` - - Model `ClusterManager` added property `identity` - - Model `ClusterManagerPatchParameters` added property `identity` - - Model `ClusterPatchParameters` added property `identity` - - Model `ClusterPatchParameters` added property `command_output_settings` - - Model `ClusterPatchParameters` added property `runtime_protection_configuration` - - Model `ClusterPatchParameters` added property `secret_archive` - - Model `ClusterPatchParameters` added property `update_strategy` - - Model `ControlPlaneNodePatchConfiguration` added property `administrator_configuration` - - Model `KeySetUser` added property `user_principal_name` - - Model `KubernetesClusterPatchParameters` added property `administrator_configuration` - - Model `NetworkConfiguration` added property `l2_service_load_balancer_configuration` - - Model `OperationStatusResult` added property `exit_code` - - Model `OperationStatusResult` added property `output_head` - - Model `OperationStatusResult` added property `result_ref` - - Model `OperationStatusResult` added property `result_url` - - Enum `RackSkuProvisioningState` added member `CANCELED` - - Enum `RackSkuProvisioningState` added member `FAILED` - - Model `StorageAppliance` added property `manufacturer` - - Model `StorageAppliance` added property `model` - - Model `StorageAppliance` added property `secret_rotation_status` - - Model `StorageAppliance` added property `version` - - Added model `AdministratorConfigurationPatch` - - Added enum `ClusterContinueUpdateVersionMachineGroupTargetingMode` - - Added model `ClusterContinueUpdateVersionParameters` - - Added model `ClusterScanRuntimeParameters` - - Added enum `ClusterScanRuntimeParametersScanActivity` - - Added model `ClusterSecretArchive` - - Added enum `ClusterSecretArchiveEnabled` - - Added model `ClusterUpdateStrategy` - - Added enum `ClusterUpdateStrategyType` - - Added model `CommandOutputSettings` - - Added model `IdentitySelector` - - Added model `KubernetesClusterFeature` - - Added enum `KubernetesClusterFeatureAvailabilityLifecycle` - - Added enum `KubernetesClusterFeatureDetailedStatus` - - Added model `KubernetesClusterFeatureList` - - Added model `KubernetesClusterFeaturePatchParameters` - - Added enum `KubernetesClusterFeatureProvisioningState` - - Added enum `KubernetesClusterFeatureRequired` - - Added model `L2ServiceLoadBalancerConfiguration` - - Added model `ManagedServiceIdentity` - - Added enum `ManagedServiceIdentitySelectorType` - - Added enum `ManagedServiceIdentityType` - - Added model `NodePoolAdministratorConfigurationPatch` - - Added model `RuntimeProtectionConfiguration` - - Added enum `RuntimeProtectionEnforcementLevel` - - Added model `RuntimeProtectionStatus` - - Added model `SecretArchiveReference` - - Added model `SecretRotationStatus` - - Added model `StringKeyValuePair` - - Added model `UserAssignedIdentity` - - Operation group `ClustersOperations` added method `begin_continue_update_version` - - Operation group `ClustersOperations` added method `begin_scan_runtime` - - Added operation group `KubernetesClusterFeaturesOperations` - -### Breaking Changes - - - Parameter `max_surge` of method `AgentPoolUpgradeSettings` is now optional - -## 2.0.0b1 (2024-11-21) - -### Features Added - - - Client `NetworkCloudMgmtClient` added operation group `kubernetes_cluster_features` - - Model `AgentPoolPatchParameters` added property `administrator_configuration` - - Model `AgentPoolUpgradeSettings` added property `drain_timeout` - - Model `AgentPoolUpgradeSettings` added property `max_unavailable` - - Model `BareMetalMachine` added property `machine_cluster_version` - - Model `BareMetalMachine` added property `machine_roles` - - Model `BareMetalMachine` added property `runtime_protection_status` - - Model `BareMetalMachine` added property `secret_rotation_status` - - Model `Cluster` added property `identity` - - Model `Cluster` added property `command_output_settings` - - Model `Cluster` added property `runtime_protection_configuration` - - Model `Cluster` added property `secret_archive` - - Model `Cluster` added property `update_strategy` - - Enum `ClusterConnectionStatus` added member `DISCONNECTED` - - Enum `ClusterDetailedStatus` added member `UPDATE_PAUSED` - - Model `ClusterManager` added property `identity` - - Model `ClusterManagerPatchParameters` added property `identity` - - Model `ClusterPatchParameters` added property `identity` - - Model `ClusterPatchParameters` added property `command_output_settings` - - Model `ClusterPatchParameters` added property `runtime_protection_configuration` - - Model `ClusterPatchParameters` added property `secret_archive` - - Model `ClusterPatchParameters` added property `update_strategy` - - Model `ControlPlaneNodePatchConfiguration` added property `administrator_configuration` - - Model `KeySetUser` added property `user_principal_name` - - Model `KubernetesClusterPatchParameters` added property `administrator_configuration` - - Model `NetworkConfiguration` added property `l2_service_load_balancer_configuration` - - Model `OperationStatusResult` added property `exit_code` - - Model `OperationStatusResult` added property `output_head` - - Model `OperationStatusResult` added property `result_ref` - - Model `OperationStatusResult` added property `result_url` - - Enum `RackSkuProvisioningState` added member `CANCELED` - - Enum `RackSkuProvisioningState` added member `FAILED` - - Model `StorageAppliance` added property `manufacturer` - - Model `StorageAppliance` added property `model` - - Model `StorageAppliance` added property `secret_rotation_status` - - Model `StorageAppliance` added property `version` - - Added model `AdministratorConfigurationPatch` - - Added enum `ClusterContinueUpdateVersionMachineGroupTargetingMode` - - Added model `ClusterContinueUpdateVersionParameters` - - Added model `ClusterScanRuntimeParameters` - - Added enum `ClusterScanRuntimeParametersScanActivity` - - Added model `ClusterSecretArchive` - - Added enum `ClusterSecretArchiveEnabled` - - Added model `ClusterUpdateStrategy` - - Added enum `ClusterUpdateStrategyType` - - Added model `CommandOutputSettings` - - Added model `IdentitySelector` - - Added model `KubernetesClusterFeature` - - Added enum `KubernetesClusterFeatureAvailabilityLifecycle` - - Added enum `KubernetesClusterFeatureDetailedStatus` - - Added model `KubernetesClusterFeatureList` - - Added model `KubernetesClusterFeaturePatchParameters` - - Added enum `KubernetesClusterFeatureProvisioningState` - - Added enum `KubernetesClusterFeatureRequired` - - Added model `L2ServiceLoadBalancerConfiguration` - - Added model `ManagedServiceIdentity` - - Added enum `ManagedServiceIdentitySelectorType` - - Added enum `ManagedServiceIdentityType` - - Added model `NodePoolAdministratorConfigurationPatch` - - Added model `RuntimeProtectionConfiguration` - - Added enum `RuntimeProtectionEnforcementLevel` - - Added model `RuntimeProtectionStatus` - - Added model `SecretArchiveReference` - - Added model `SecretRotationStatus` - - Added model `StringKeyValuePair` - - Added model `UserAssignedIdentity` - - Operation group `ClustersOperations` added method `begin_continue_update_version` - - Operation group `ClustersOperations` added method `begin_scan_runtime` - - Added operation group `KubernetesClusterFeaturesOperations` - -### Breaking Changes - - - Parameter `max_surge` of model `AgentPoolUpgradeSettings` is no longer required - -## 1.0.0 (2023-08-18) - -### Breaking Changes - - - Removed operation BareMetalMachinesOperations.begin_validate_hardware - - Removed operation StorageAppliancesOperations.begin_run_read_commands - - Removed operation VirtualMachinesOperations.begin_attach_volume - - Removed operation VirtualMachinesOperations.begin_detach_volume - -## 1.0.0b2 (2023-07-19) - -### Features Added - - - Added operation BareMetalMachineKeySetsOperations.list_by_cluster - - Added operation BmcKeySetsOperations.list_by_cluster - - Added operation ConsolesOperations.list_by_virtual_machine - - Added operation MetricsConfigurationsOperations.list_by_cluster - - Added operation group AgentPoolsOperations - - Added operation group KubernetesClustersOperations - - Model BareMetalMachine has a new parameter associated_resource_ids - - Model CloudServicesNetwork has a new parameter associated_resource_ids - - Model L2Network has a new parameter associated_resource_ids - - Model L3Network has a new parameter associated_resource_ids - - Model TrunkedNetwork has a new parameter associated_resource_ids - - Model VirtualMachine has a new parameter availability_zone - -### Breaking Changes - - - Removed operation BareMetalMachineKeySetsOperations.list_by_resource_group - - Removed operation BmcKeySetsOperations.list_by_resource_group - - Removed operation ConsolesOperations.list_by_resource_group - - Removed operation MetricsConfigurationsOperations.list_by_resource_group - - Removed operation StorageAppliancesOperations.begin_validate_hardware - - Removed operation group DefaultCniNetworksOperations - - Removed operation group HybridAksClustersOperations - -## 1.0.0b1 (2023-05-19) - -* Initial Release +> Changelog entries prior to 3.0.0b2 were removed to reduce file size. See https://pypi.org/project/azure-mgmt-networkcloud/3.0.0b2/ for the older history. diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/_metadata.json b/sdk/networkcloud/azure-mgmt-networkcloud/_metadata.json index 8c1ecb95af8f..63a644b1c5b1 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/_metadata.json +++ b/sdk/networkcloud/azure-mgmt-networkcloud/_metadata.json @@ -1,9 +1,9 @@ { - "apiVersion": "2025-09-01", + "apiVersion": "2026-07-01", "apiVersions": { - "Microsoft.NetworkCloud": "2025-09-01" + "Microsoft.NetworkCloud": "2026-07-01" }, - "commit": "cf49df24bee763924bb4d9abceebe4fd1916a6ad", + "commit": "60d0f02991387ea7ed7483d5e70f061f962216cf", "repository_url": "https://github.com/Azure/azure-rest-api-specs", "typespec_src": "specification/networkcloud/NetworkCloud.Management", "emitterVersion": "0.63.3", diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/api.md b/sdk/networkcloud/azure-mgmt-networkcloud/api.md index c9054dfcbe4c..9944162bc75a 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/api.md +++ b/sdk/networkcloud/azure-mgmt-networkcloud/api.md @@ -2,6 +2,7 @@ namespace azure.mgmt.networkcloud class azure.mgmt.networkcloud.NetworkCloudMgmtClient: implements ContextManager + access_bridges: AccessBridgesOperations agent_pools: AgentPoolsOperations bare_metal_machine_key_sets: BareMetalMachineKeySetsOperations bare_metal_machines: BareMetalMachinesOperations @@ -12,6 +13,7 @@ namespace azure.mgmt.networkcloud consoles: ConsolesOperations kubernetes_cluster_features: KubernetesClusterFeaturesOperations kubernetes_clusters: KubernetesClustersOperations + kubernetes_versions: KubernetesVersionsOperations l2_networks: L2NetworksOperations l3_networks: L3NetworksOperations metrics_configurations: MetricsConfigurationsOperations @@ -49,6 +51,7 @@ namespace azure.mgmt.networkcloud namespace azure.mgmt.networkcloud.aio class azure.mgmt.networkcloud.aio.NetworkCloudMgmtClient: implements AsyncContextManager + access_bridges: AccessBridgesOperations agent_pools: AgentPoolsOperations bare_metal_machine_key_sets: BareMetalMachineKeySetsOperations bare_metal_machines: BareMetalMachinesOperations @@ -59,6 +62,7 @@ namespace azure.mgmt.networkcloud.aio consoles: ConsolesOperations kubernetes_cluster_features: KubernetesClusterFeaturesOperations kubernetes_clusters: KubernetesClustersOperations + kubernetes_versions: KubernetesVersionsOperations l2_networks: L2NetworksOperations l3_networks: L3NetworksOperations metrics_configurations: MetricsConfigurationsOperations @@ -95,6 +99,129 @@ namespace azure.mgmt.networkcloud.aio namespace azure.mgmt.networkcloud.aio.operations + class azure.mgmt.networkcloud.aio.operations.AccessBridgesOperations: + + def __init__( + self, + *args, + **kwargs + ) -> None: ... + + @overload + async def begin_create_or_update( + self, + resource_group_name: str, + access_bridge_name: Union[str, AccessBridgeAllowedName], + access_bridge: AccessBridge, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[AccessBridge]: ... + + @overload + async def begin_create_or_update( + self, + resource_group_name: str, + access_bridge_name: Union[str, AccessBridgeAllowedName], + access_bridge: AccessBridge, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[AccessBridge]: ... + + @overload + async def begin_create_or_update( + self, + resource_group_name: str, + access_bridge_name: Union[str, AccessBridgeAllowedName], + access_bridge: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[AccessBridge]: ... + + @distributed_trace_async + @api_version_validation(method_added_on='2026-01-01-preview', params_added_on={'2026-01-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'access_bridge_name', 'etag', 'match_condition']}, api_versions_list=['2026-01-01-preview', '2026-05-01-preview', '2026-07-01']) + async def begin_delete( + self, + resource_group_name: str, + access_bridge_name: Union[str, AccessBridgeAllowedName], + *, + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., + **kwargs: Any + ) -> AsyncLROPoller[OperationStatusResult]: ... + + @overload + async def begin_update( + self, + resource_group_name: str, + access_bridge_name: Union[str, AccessBridgeAllowedName], + access_bridge_update_parameters: Optional[AccessBridgePatchParameters] = None, + *, + content_type: str = "application/json", + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., + **kwargs: Any + ) -> AsyncLROPoller[AccessBridge]: ... + + @overload + async def begin_update( + self, + resource_group_name: str, + access_bridge_name: Union[str, AccessBridgeAllowedName], + access_bridge_update_parameters: Optional[AccessBridgePatchParameters] = None, + *, + content_type: str = "application/json", + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., + **kwargs: Any + ) -> AsyncLROPoller[AccessBridge]: ... + + @overload + async def begin_update( + self, + resource_group_name: str, + access_bridge_name: Union[str, AccessBridgeAllowedName], + access_bridge_update_parameters: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., + **kwargs: Any + ) -> AsyncLROPoller[AccessBridge]: ... + + @distributed_trace_async + @api_version_validation(method_added_on='2026-01-01-preview', params_added_on={'2026-01-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'access_bridge_name', 'accept']}, api_versions_list=['2026-01-01-preview', '2026-05-01-preview', '2026-07-01']) + async def get( + self, + resource_group_name: str, + access_bridge_name: Union[str, AccessBridgeAllowedName], + **kwargs: Any + ) -> AccessBridge: ... + + @distributed_trace + @api_version_validation(method_added_on='2026-01-01-preview', params_added_on={'2026-01-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'top', 'skip_token', 'accept']}, api_versions_list=['2026-01-01-preview', '2026-05-01-preview', '2026-07-01']) + def list_by_resource_group( + self, + resource_group_name: str, + *, + skip_token: Optional[str] = ..., + top: Optional[int] = ..., + **kwargs: Any + ) -> AsyncItemPaged[AccessBridge]: ... + + @distributed_trace + @api_version_validation(method_added_on='2026-01-01-preview', params_added_on={'2026-01-01-preview': ['api_version', 'subscription_id', 'top', 'skip_token', 'accept']}, api_versions_list=['2026-01-01-preview', '2026-05-01-preview', '2026-07-01']) + def list_by_subscription( + self, + *, + skip_token: Optional[str] = ..., + top: Optional[int] = ..., + **kwargs: Any + ) -> AsyncItemPaged[AccessBridge]: ... + + class azure.mgmt.networkcloud.aio.operations.AgentPoolsOperations: def __init__( @@ -469,11 +596,36 @@ namespace azure.mgmt.networkcloud.aio.operations **kwargs: Any ) -> AsyncLROPoller[OperationStatusResult]: ... - @distributed_trace_async + @overload + async def begin_reimage( + self, + resource_group_name: str, + bare_metal_machine_name: str, + body: Optional[BareMetalMachineReimageParameters] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[OperationStatusResult]: ... + + @overload + async def begin_reimage( + self, + resource_group_name: str, + bare_metal_machine_name: str, + body: Optional[BareMetalMachineReimageParameters] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[OperationStatusResult]: ... + + @overload async def begin_reimage( self, resource_group_name: str, bare_metal_machine_name: str, + body: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[OperationStatusResult]: ... @@ -1041,6 +1193,39 @@ namespace azure.mgmt.networkcloud.aio.operations **kwargs: Any ) -> AsyncLROPoller[OperationStatusResult]: ... + @overload + async def begin_update_relay_private_endpoint_connection( + self, + resource_group_name: str, + cluster_manager_name: str, + cluster_manager_update_relay_private_endpoint_connection_parameters: Optional[ClusterManagerUpdateRelayPrivateEndpointConnectionParameters] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[OperationStatusResult]: ... + + @overload + async def begin_update_relay_private_endpoint_connection( + self, + resource_group_name: str, + cluster_manager_name: str, + cluster_manager_update_relay_private_endpoint_connection_parameters: Optional[ClusterManagerUpdateRelayPrivateEndpointConnectionParameters] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[OperationStatusResult]: ... + + @overload + async def begin_update_relay_private_endpoint_connection( + self, + resource_group_name: str, + cluster_manager_name: str, + cluster_manager_update_relay_private_endpoint_connection_parameters: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[OperationStatusResult]: ... + @distributed_trace_async async def get( self, @@ -1232,6 +1417,72 @@ namespace azure.mgmt.networkcloud.aio.operations **kwargs: Any ) -> AsyncLROPoller[OperationStatusResult]: ... + @overload + async def begin_inspect( + self, + resource_group_name: str, + cluster_name: str, + cluster_inspect_parameters: Optional[ClusterInspectParameters] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[OperationStatusResult]: ... + + @overload + async def begin_inspect( + self, + resource_group_name: str, + cluster_name: str, + cluster_inspect_parameters: Optional[ClusterInspectParameters] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[OperationStatusResult]: ... + + @overload + async def begin_inspect( + self, + resource_group_name: str, + cluster_name: str, + cluster_inspect_parameters: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[OperationStatusResult]: ... + + @overload + async def begin_rotate_credential( + self, + resource_group_name: str, + cluster_name: str, + body: ClusterRotateCredentialParameters, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[OperationStatusResult]: ... + + @overload + async def begin_rotate_credential( + self, + resource_group_name: str, + cluster_name: str, + body: ClusterRotateCredentialParameters, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[OperationStatusResult]: ... + + @overload + async def begin_rotate_credential( + self, + resource_group_name: str, + cluster_name: str, + body: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[OperationStatusResult]: ... + @overload async def begin_scan_runtime( self, @@ -1773,7 +2024,7 @@ namespace azure.mgmt.networkcloud.aio.operations ) -> AsyncItemPaged[KubernetesCluster]: ... - class azure.mgmt.networkcloud.aio.operations.L2NetworksOperations: + class azure.mgmt.networkcloud.aio.operations.KubernetesVersionsOperations: def __init__( self, @@ -1785,120 +2036,249 @@ namespace azure.mgmt.networkcloud.aio.operations async def begin_create_or_update( self, resource_group_name: str, - l2_network_name: str, - l2_network_parameters: L2Network, + kubernetes_version_name: str, + kubernetes_version_parameters: KubernetesVersion, *, content_type: str = "application/json", etag: Optional[str] = ..., match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> AsyncLROPoller[L2Network]: ... + ) -> AsyncLROPoller[KubernetesVersion]: ... @overload async def begin_create_or_update( self, resource_group_name: str, - l2_network_name: str, - l2_network_parameters: L2Network, + kubernetes_version_name: str, + kubernetes_version_parameters: KubernetesVersion, *, content_type: str = "application/json", etag: Optional[str] = ..., match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> AsyncLROPoller[L2Network]: ... + ) -> AsyncLROPoller[KubernetesVersion]: ... @overload async def begin_create_or_update( self, resource_group_name: str, - l2_network_name: str, - l2_network_parameters: IO[bytes], + kubernetes_version_name: str, + kubernetes_version_parameters: IO[bytes], *, content_type: str = "application/json", etag: Optional[str] = ..., match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> AsyncLROPoller[L2Network]: ... + ) -> AsyncLROPoller[KubernetesVersion]: ... @distributed_trace_async + @api_version_validation(method_added_on='2026-01-01-preview', params_added_on={'2026-01-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'kubernetes_version_name', 'etag', 'match_condition']}, api_versions_list=['2026-01-01-preview', '2026-05-01-preview', '2026-07-01']) async def begin_delete( self, resource_group_name: str, - l2_network_name: str, + kubernetes_version_name: str, *, etag: Optional[str] = ..., match_condition: Optional[MatchConditions] = ..., **kwargs: Any ) -> AsyncLROPoller[OperationStatusResult]: ... - @distributed_trace_async - async def get( - self, - resource_group_name: str, - l2_network_name: str, - **kwargs: Any - ) -> L2Network: ... - - @distributed_trace - def list_by_resource_group( - self, - resource_group_name: str, - *, - skip_token: Optional[str] = ..., - top: Optional[int] = ..., - **kwargs: Any - ) -> AsyncItemPaged[L2Network]: ... - - @distributed_trace - def list_by_subscription( - self, - *, - skip_token: Optional[str] = ..., - top: Optional[int] = ..., - **kwargs: Any - ) -> AsyncItemPaged[L2Network]: ... - @overload - async def update( + async def begin_update( self, resource_group_name: str, - l2_network_name: str, - l2_network_update_parameters: Optional[L2NetworkPatchParameters] = None, + kubernetes_version_name: str, + kubernetes_version_patch_parameters: Optional[KubernetesVersionPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> L2Network: ... + ) -> AsyncLROPoller[KubernetesVersion]: ... @overload - async def update( + async def begin_update( self, resource_group_name: str, - l2_network_name: str, - l2_network_update_parameters: Optional[L2NetworkPatchParameters] = None, + kubernetes_version_name: str, + kubernetes_version_patch_parameters: Optional[KubernetesVersionPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> L2Network: ... + ) -> AsyncLROPoller[KubernetesVersion]: ... @overload - async def update( + async def begin_update( self, resource_group_name: str, - l2_network_name: str, - l2_network_update_parameters: Optional[IO[bytes]] = None, + kubernetes_version_name: str, + kubernetes_version_patch_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> L2Network: ... - - - class azure.mgmt.networkcloud.aio.operations.L3NetworksOperations: + ) -> AsyncLROPoller[KubernetesVersion]: ... + + @distributed_trace_async + @api_version_validation(method_added_on='2026-01-01-preview', params_added_on={'2026-01-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'kubernetes_version_name', 'accept']}, api_versions_list=['2026-01-01-preview', '2026-05-01-preview', '2026-07-01']) + async def get( + self, + resource_group_name: str, + kubernetes_version_name: str, + **kwargs: Any + ) -> KubernetesVersion: ... + + @distributed_trace + @api_version_validation(method_added_on='2026-01-01-preview', params_added_on={'2026-01-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'top', 'skip_token', 'accept']}, api_versions_list=['2026-01-01-preview', '2026-05-01-preview', '2026-07-01']) + def list_by_resource_group( + self, + resource_group_name: str, + *, + skip_token: Optional[str] = ..., + top: Optional[int] = ..., + **kwargs: Any + ) -> AsyncItemPaged[KubernetesVersion]: ... + + @distributed_trace + @api_version_validation(method_added_on='2026-01-01-preview', params_added_on={'2026-01-01-preview': ['api_version', 'subscription_id', 'top', 'skip_token', 'accept']}, api_versions_list=['2026-01-01-preview', '2026-05-01-preview', '2026-07-01']) + def list_by_subscription( + self, + *, + skip_token: Optional[str] = ..., + top: Optional[int] = ..., + **kwargs: Any + ) -> AsyncItemPaged[KubernetesVersion]: ... + + + class azure.mgmt.networkcloud.aio.operations.L2NetworksOperations: + + def __init__( + self, + *args, + **kwargs + ) -> None: ... + + @overload + async def begin_create_or_update( + self, + resource_group_name: str, + l2_network_name: str, + l2_network_parameters: L2Network, + *, + content_type: str = "application/json", + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., + **kwargs: Any + ) -> AsyncLROPoller[L2Network]: ... + + @overload + async def begin_create_or_update( + self, + resource_group_name: str, + l2_network_name: str, + l2_network_parameters: L2Network, + *, + content_type: str = "application/json", + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., + **kwargs: Any + ) -> AsyncLROPoller[L2Network]: ... + + @overload + async def begin_create_or_update( + self, + resource_group_name: str, + l2_network_name: str, + l2_network_parameters: IO[bytes], + *, + content_type: str = "application/json", + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., + **kwargs: Any + ) -> AsyncLROPoller[L2Network]: ... + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + l2_network_name: str, + *, + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., + **kwargs: Any + ) -> AsyncLROPoller[OperationStatusResult]: ... + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + l2_network_name: str, + **kwargs: Any + ) -> L2Network: ... + + @distributed_trace + def list_by_resource_group( + self, + resource_group_name: str, + *, + skip_token: Optional[str] = ..., + top: Optional[int] = ..., + **kwargs: Any + ) -> AsyncItemPaged[L2Network]: ... + + @distributed_trace + def list_by_subscription( + self, + *, + skip_token: Optional[str] = ..., + top: Optional[int] = ..., + **kwargs: Any + ) -> AsyncItemPaged[L2Network]: ... + + @overload + async def update( + self, + resource_group_name: str, + l2_network_name: str, + l2_network_update_parameters: Optional[L2NetworkPatchParameters] = None, + *, + content_type: str = "application/json", + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., + **kwargs: Any + ) -> L2Network: ... + + @overload + async def update( + self, + resource_group_name: str, + l2_network_name: str, + l2_network_update_parameters: Optional[L2NetworkPatchParameters] = None, + *, + content_type: str = "application/json", + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., + **kwargs: Any + ) -> L2Network: ... + + @overload + async def update( + self, + resource_group_name: str, + l2_network_name: str, + l2_network_update_parameters: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., + **kwargs: Any + ) -> L2Network: ... + + + class azure.mgmt.networkcloud.aio.operations.L3NetworksOperations: def __init__( self, @@ -2984,6 +3364,143 @@ namespace azure.mgmt.networkcloud.models def __init__(self, mapping: Mapping[str, Any]) -> None: ... + class azure.mgmt.networkcloud.models.AccessBridge(TrackedResource): + etag: Optional[str] + extended_location: ExtendedLocation + id: str + location: str + name: str + properties: AccessBridgeProperties + system_data: SystemData + tags: dict[str, str] + type: str + + def __getattr__(self, name: str) -> Any: ... + + @overload + def __init__( + self, + *, + extended_location: ExtendedLocation, + location: str, + properties: AccessBridgeProperties, + tags: Optional[dict[str, str]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + def __setattr__( + self, + key: str, + value: Any + ) -> None: ... + + + class azure.mgmt.networkcloud.models.AccessBridgeAllowedName(str, Enum, metaclass=CaseInsensitiveEnumMeta): + BASTION = "Bastion" + PRIVATE_VAULT = "PrivateVault" + STORAGE_DASHBOARD = "StorageDashboard" + + + class azure.mgmt.networkcloud.models.AccessBridgeDetailedStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): + DEGRADED = "Degraded" + FAILED = "Failed" + RUNNING = "Running" + + + class azure.mgmt.networkcloud.models.AccessBridgeEndpoint(_Model): + fqdn: Optional[str] + ipv4_address: Optional[str] + ipv6_address: Optional[str] + name: Optional[str] + + + class azure.mgmt.networkcloud.models.AccessBridgePatchParameters(_Model): + properties: Optional[AccessBridgePatchProperties] + tags: Optional[dict[str, str]] + + @overload + def __init__( + self, + *, + properties: Optional[AccessBridgePatchProperties] = ..., + tags: Optional[dict[str, str]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.networkcloud.models.AccessBridgePatchProperties(_Model): + security_rules: Optional[list[AccessBridgeSecurityRule]] + + @overload + def __init__( + self, + *, + security_rules: Optional[list[AccessBridgeSecurityRule]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.networkcloud.models.AccessBridgeProperties(_Model): + detailed_status: Optional[Union[str, AccessBridgeDetailedStatus]] + detailed_status_message: Optional[str] + endpoints: Optional[list[AccessBridgeEndpoint]] + ipv4_connected_prefix: Optional[str] + ipv6_connected_prefix: Optional[str] + network_id: str + protocol: Optional[Union[str, TransportProtocol]] + provisioning_state: Optional[Union[str, AccessBridgeProvisioningState]] + security_rules: Optional[list[AccessBridgeSecurityRule]] + + @overload + def __init__( + self, + *, + ipv4_connected_prefix: Optional[str] = ..., + ipv6_connected_prefix: Optional[str] = ..., + network_id: str, + security_rules: Optional[list[AccessBridgeSecurityRule]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.networkcloud.models.AccessBridgeProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): + ACCEPTED = "Accepted" + CANCELED = "Canceled" + FAILED = "Failed" + PROVISIONING = "Provisioning" + SUCCEEDED = "Succeeded" + + + class azure.mgmt.networkcloud.models.AccessBridgeSecurityRule(_Model): + description: Optional[str] + direction: Union[str, SecurityRuleDirection] + ipv4_addresses: Optional[list[str]] + ipv6_addresses: Optional[list[str]] + port: str + + @overload + def __init__( + self, + *, + description: Optional[str] = ..., + direction: Union[str, SecurityRuleDirection], + ipv4_addresses: Optional[list[str]] = ..., + ipv6_addresses: Optional[list[str]] = ..., + port: str + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + class azure.mgmt.networkcloud.models.ActionState(_Model): action_type: Optional[str] correlation_id: Optional[str] @@ -3020,6 +3537,22 @@ namespace azure.mgmt.networkcloud.models def __init__(self, mapping: Mapping[str, Any]) -> None: ... + class azure.mgmt.networkcloud.models.AdministrativeCredentialsPatch(_Model): + password: Optional[str] + username: Optional[str] + + @overload + def __init__( + self, + *, + password: Optional[str] = ..., + username: Optional[str] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + class azure.mgmt.networkcloud.models.AdministratorConfiguration(_Model): admin_username: Optional[str] ssh_public_keys: Optional[list[SshPublicKey]] @@ -3342,6 +3875,33 @@ namespace azure.mgmt.networkcloud.models def __init__(self, mapping: Mapping[str, Any]) -> None: ... + class azure.mgmt.networkcloud.models.BareMetalMachineConfigurationDataPatch(_Model): + bmc_connection_string: Optional[str] + bmc_credentials: Optional[AdministrativeCredentialsPatch] + bmc_mac_address: Optional[str] + boot_mac_address: Optional[str] + machine_details: Optional[str] + machine_name: Optional[str] + rack_slot: Optional[int] + serial_number: Optional[str] + + @overload + def __init__( + self, + *, + bmc_credentials: Optional[AdministrativeCredentialsPatch] = ..., + bmc_mac_address: Optional[str] = ..., + boot_mac_address: Optional[str] = ..., + machine_details: Optional[str] = ..., + machine_name: Optional[str] = ..., + rack_slot: Optional[int] = ..., + serial_number: Optional[str] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + class azure.mgmt.networkcloud.models.BareMetalMachineCordonParameters(_Model): evacuate: Optional[Union[str, BareMetalMachineEvacuate]] @@ -3512,6 +4072,32 @@ namespace azure.mgmt.networkcloud.models INVALID = "Invalid" + class azure.mgmt.networkcloud.models.BareMetalMachineMonitoringConfigurationStatus(_Model): + log_level: Optional[Union[str, BareMetalMachineMonitoringConfigurationStatusLogLevel]] + metrics_level: Optional[Union[str, BareMetalMachineMonitoringConfigurationStatusMetricsLevel]] + + @overload + def __init__( + self, + *, + log_level: Optional[Union[str, BareMetalMachineMonitoringConfigurationStatusLogLevel]] = ..., + metrics_level: Optional[Union[str, BareMetalMachineMonitoringConfigurationStatusMetricsLevel]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.networkcloud.models.BareMetalMachineMonitoringConfigurationStatusLogLevel(str, Enum, metaclass=CaseInsensitiveEnumMeta): + DEFAULT = "Default" + NEXUS = "Nexus" + + + class azure.mgmt.networkcloud.models.BareMetalMachineMonitoringConfigurationStatusMetricsLevel(str, Enum, metaclass=CaseInsensitiveEnumMeta): + DEFAULT = "Default" + NEXUS = "Nexus" + + class azure.mgmt.networkcloud.models.BareMetalMachinePatchParameters(_Model): properties: Optional[BareMetalMachinePatchProperties] tags: Optional[dict[str, str]] @@ -3574,6 +4160,8 @@ namespace azure.mgmt.networkcloud.models associated_resource_ids: Optional[list[str]] bmc_connection_string: str bmc_credentials: AdministrativeCredentials + bmc_ipv4_address: Optional[str] + bmc_ipv6_address: Optional[str] bmc_mac_address: str boot_mac_address: str ca_certificate: Optional[CertificateInfo] @@ -3591,6 +4179,7 @@ namespace azure.mgmt.networkcloud.models machine_name: str machine_roles: Optional[list[str]] machine_sku_id: str + monitoring_configuration_status: Optional[BareMetalMachineMonitoringConfigurationStatus] oam_ipv4_address: Optional[str] oam_ipv6_address: Optional[str] os_image: Optional[str] @@ -3639,6 +4228,25 @@ namespace azure.mgmt.networkcloud.models TRUE = "True" + class azure.mgmt.networkcloud.models.BareMetalMachineReimageParameters(_Model): + safeguard_mode: Optional[Union[str, BareMetalMachineReimageSafeguardMode]] + + @overload + def __init__( + self, + *, + safeguard_mode: Optional[Union[str, BareMetalMachineReimageSafeguardMode]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.networkcloud.models.BareMetalMachineReimageSafeguardMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + ALL = "All" + NONE = "None" + + class azure.mgmt.networkcloud.models.BareMetalMachineReplaceParameters(_Model): bmc_credentials: Optional[AdministrativeCredentials] bmc_mac_address: Optional[str] @@ -4082,6 +4690,9 @@ namespace azure.mgmt.networkcloud.models AVAILABLE = "Available" EXPANDING_VOLUME = "ExpandingVolume" EXPANSION_FAILED = "ExpansionFailed" + INITIALIZING = "Initializing" + NONE = "None" + REPAIRING = "Repairing" class azure.mgmt.networkcloud.models.Cluster(TrackedResource): @@ -4089,6 +4700,7 @@ namespace azure.mgmt.networkcloud.models extended_location: ExtendedLocation id: str identity: Optional[ManagedServiceIdentity] + kind: Optional[Union[str, DeploymentType]] location: str name: str properties: ClusterProperties @@ -4104,6 +4716,7 @@ namespace azure.mgmt.networkcloud.models *, extended_location: ExtendedLocation, identity: Optional[ManagedServiceIdentity] = ..., + kind: Optional[Union[str, DeploymentType]] = ..., location: str, properties: ClusterProperties, tags: Optional[dict[str, str]] = ... @@ -4174,18 +4787,25 @@ namespace azure.mgmt.networkcloud.models class azure.mgmt.networkcloud.models.ClusterContinueUpdateVersionParameters(_Model): machine_group_targeting_mode: Optional[Union[str, ClusterContinueUpdateVersionMachineGroupTargetingMode]] + safeguard_mode: Optional[Union[str, ClusterContinueUpdateVersionSafeguardMode]] @overload def __init__( self, *, - machine_group_targeting_mode: Optional[Union[str, ClusterContinueUpdateVersionMachineGroupTargetingMode]] = ... + machine_group_targeting_mode: Optional[Union[str, ClusterContinueUpdateVersionMachineGroupTargetingMode]] = ..., + safeguard_mode: Optional[Union[str, ClusterContinueUpdateVersionSafeguardMode]] = ... ) -> None: ... @overload def __init__(self, mapping: Mapping[str, Any]) -> None: ... + class azure.mgmt.networkcloud.models.ClusterContinueUpdateVersionSafeguardMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + ALL = "All" + NONE = "None" + + class azure.mgmt.networkcloud.models.ClusterDeployParameters(_Model): skip_validations_for_machines: Optional[list[str]] @@ -4212,10 +4832,31 @@ namespace azure.mgmt.networkcloud.models UPDATING = "Updating" + class azure.mgmt.networkcloud.models.ClusterInspectAdditionalAction(str, Enum, metaclass=CaseInsensitiveEnumMeta): + RESET_HARDWARE = "ResetHardware" + + + class azure.mgmt.networkcloud.models.ClusterInspectParameters(_Model): + additional_actions: Optional[list[Union[str, ClusterInspectAdditionalAction]]] + filter_devices: Optional[FilterDevices] + + @overload + def __init__( + self, + *, + additional_actions: Optional[list[Union[str, ClusterInspectAdditionalAction]]] = ..., + filter_devices: Optional[FilterDevices] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + class azure.mgmt.networkcloud.models.ClusterManager(TrackedResource): etag: Optional[str] id: str identity: Optional[ManagedServiceIdentity] + kind: Optional[Union[str, DeploymentType]] location: str name: str properties: ClusterManagerProperties @@ -4230,6 +4871,7 @@ namespace azure.mgmt.networkcloud.models self, *, identity: Optional[ManagedServiceIdentity] = ..., + kind: Optional[Union[str, DeploymentType]] = ..., location: str, properties: ClusterManagerProperties, tags: Optional[dict[str, str]] = ... @@ -4285,6 +4927,7 @@ namespace azure.mgmt.networkcloud.models managed_resource_group_configuration: Optional[ManagedResourceGroupConfiguration] manager_extended_location: Optional[ExtendedLocation] provisioning_state: Optional[Union[str, ClusterManagerProvisioningState]] + relay_configuration: Optional[ClusterManagerRelayConfiguration] vm_size: Optional[str] @overload @@ -4311,6 +4954,38 @@ namespace azure.mgmt.networkcloud.models UPDATING = "Updating" + class azure.mgmt.networkcloud.models.ClusterManagerRelayConfiguration(_Model): + relay_namespace_id: Optional[str] + + @overload + def __init__( + self, + *, + relay_namespace_id: Optional[str] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.networkcloud.models.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters(_Model): + connection_state: Union[str, RelayPrivateEndpointConnectionState] + description: Optional[str] + private_endpoint_resource_id: str + + @overload + def __init__( + self, + *, + connection_state: Union[str, RelayPrivateEndpointConnectionState], + description: Optional[str] = ..., + private_endpoint_resource_id: str + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + class azure.mgmt.networkcloud.models.ClusterMetricsConfiguration(TrackedResource): etag: Optional[str] extended_location: ExtendedLocation @@ -4445,34 +5120,34 @@ namespace azure.mgmt.networkcloud.models class azure.mgmt.networkcloud.models.ClusterPatchProperties(_Model): - aggregator_or_single_rack_definition: Optional[RackDefinition] + aggregator_or_single_rack_definition: Optional[RackDefinitionPatch] analytics_output_settings: Optional[AnalyticsOutputSettings] cluster_location: Optional[str] - cluster_service_principal: Optional[ServicePrincipalInformation] + cluster_service_principal: Optional[ServicePrincipalInformationPatch] command_output_settings: Optional[CommandOutputSettings] - compute_deployment_threshold: Optional[ValidationThreshold] - compute_rack_definitions: Optional[list[RackDefinition]] - runtime_protection_configuration: Optional[RuntimeProtectionConfiguration] - secret_archive: Optional[ClusterSecretArchive] + compute_deployment_threshold: Optional[ValidationThresholdPatch] + compute_rack_definitions: Optional[list[RackDefinitionPatch]] + runtime_protection_configuration: Optional[RuntimeProtectionConfigurationPatch] + secret_archive: Optional[ClusterSecretArchivePatch] secret_archive_settings: Optional[SecretArchiveSettings] - update_strategy: Optional[ClusterUpdateStrategy] + update_strategy: Optional[ClusterUpdateStrategyPatch] vulnerability_scanning_settings: Optional[VulnerabilityScanningSettingsPatch] @overload def __init__( self, *, - aggregator_or_single_rack_definition: Optional[RackDefinition] = ..., + aggregator_or_single_rack_definition: Optional[RackDefinitionPatch] = ..., analytics_output_settings: Optional[AnalyticsOutputSettings] = ..., cluster_location: Optional[str] = ..., - cluster_service_principal: Optional[ServicePrincipalInformation] = ..., + cluster_service_principal: Optional[ServicePrincipalInformationPatch] = ..., command_output_settings: Optional[CommandOutputSettings] = ..., - compute_deployment_threshold: Optional[ValidationThreshold] = ..., - compute_rack_definitions: Optional[list[RackDefinition]] = ..., - runtime_protection_configuration: Optional[RuntimeProtectionConfiguration] = ..., - secret_archive: Optional[ClusterSecretArchive] = ..., + compute_deployment_threshold: Optional[ValidationThresholdPatch] = ..., + compute_rack_definitions: Optional[list[RackDefinitionPatch]] = ..., + runtime_protection_configuration: Optional[RuntimeProtectionConfigurationPatch] = ..., + secret_archive: Optional[ClusterSecretArchivePatch] = ..., secret_archive_settings: Optional[SecretArchiveSettings] = ..., - update_strategy: Optional[ClusterUpdateStrategy] = ..., + update_strategy: Optional[ClusterUpdateStrategyPatch] = ..., vulnerability_scanning_settings: Optional[VulnerabilityScanningSettingsPatch] = ... ) -> None: ... @@ -4501,6 +5176,8 @@ namespace azure.mgmt.networkcloud.models detailed_status: Optional[Union[str, ClusterDetailedStatus]] detailed_status_message: Optional[str] hybrid_aks_extended_location: Optional[ExtendedLocation] + last_successful_version_update_time: Optional[datetime] + managed_credentials: Optional[list[str]] managed_resource_group_configuration: Optional[ManagedResourceGroupConfiguration] manual_action_count: Optional[int] network_fabric_id: str @@ -4549,6 +5226,20 @@ namespace azure.mgmt.networkcloud.models VALIDATING = "Validating" + class azure.mgmt.networkcloud.models.ClusterRotateCredentialParameters(_Model): + credentials: list[str] + + @overload + def __init__( + self, + *, + credentials: list[str] + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + class azure.mgmt.networkcloud.models.ClusterScanRuntimeParameters(_Model): scan_activity: Optional[Union[str, ClusterScanRuntimeParametersScanActivity]] @@ -4589,6 +5280,22 @@ namespace azure.mgmt.networkcloud.models TRUE = "True" + class azure.mgmt.networkcloud.models.ClusterSecretArchivePatch(_Model): + key_vault_id: Optional[str] + use_key_vault: Optional[Union[str, ClusterSecretArchiveEnabled]] + + @overload + def __init__( + self, + *, + key_vault_id: Optional[str] = ..., + use_key_vault: Optional[Union[str, ClusterSecretArchiveEnabled]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + class azure.mgmt.networkcloud.models.ClusterType(str, Enum, metaclass=CaseInsensitiveEnumMeta): MULTI_RACK = "MultiRack" SINGLE_RACK = "SingleRack" @@ -4616,18 +5323,42 @@ namespace azure.mgmt.networkcloud.models def __init__(self, mapping: Mapping[str, Any]) -> None: ... + class azure.mgmt.networkcloud.models.ClusterUpdateStrategyPatch(_Model): + max_unavailable: Optional[int] + strategy_type: Optional[Union[str, ClusterUpdateStrategyType]] + threshold_type: Optional[Union[str, ValidationThresholdType]] + threshold_value: Optional[int] + wait_time_minutes: Optional[int] + + @overload + def __init__( + self, + *, + max_unavailable: Optional[int] = ..., + strategy_type: Optional[Union[str, ClusterUpdateStrategyType]] = ..., + threshold_type: Optional[Union[str, ValidationThresholdType]] = ..., + threshold_value: Optional[int] = ..., + wait_time_minutes: Optional[int] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + class azure.mgmt.networkcloud.models.ClusterUpdateStrategyType(str, Enum, metaclass=CaseInsensitiveEnumMeta): PAUSE_AFTER_RACK = "PauseAfterRack" RACK = "Rack" class azure.mgmt.networkcloud.models.ClusterUpdateVersionParameters(_Model): + safeguard_mode: Optional[Union[str, ClusterUpdateVersionSafeguardMode]] target_cluster_version: str @overload def __init__( self, *, + safeguard_mode: Optional[Union[str, ClusterUpdateVersionSafeguardMode]] = ..., target_cluster_version: str ) -> None: ... @@ -4635,6 +5366,11 @@ namespace azure.mgmt.networkcloud.models def __init__(self, mapping: Mapping[str, Any]) -> None: ... + class azure.mgmt.networkcloud.models.ClusterUpdateVersionSafeguardMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + ALL = "All" + NONE = "None" + + class azure.mgmt.networkcloud.models.CommandOutputOverride(_Model): associated_identity: Optional[IdentitySelector] command_output_type: Optional[Union[str, CommandOutputType]] @@ -4676,6 +5412,7 @@ namespace azure.mgmt.networkcloud.models BARE_METAL_MACHINE_RUN_DATA_EXTRACTS = "BareMetalMachineRunDataExtracts" BARE_METAL_MACHINE_RUN_DATA_EXTRACTS_RESTRICTED = "BareMetalMachineRunDataExtractsRestricted" BARE_METAL_MACHINE_RUN_READ_COMMANDS = "BareMetalMachineRunReadCommands" + CLUSTER_SUPPORT_ADMINISTRATIVE_ACTIONS = "ClusterSupportAdministrativeActions" STORAGE_RUN_READ_COMMANDS = "StorageRunReadCommands" @@ -4749,7 +5486,7 @@ namespace azure.mgmt.networkcloud.models class azure.mgmt.networkcloud.models.ConsolePatchProperties(_Model): enabled: Optional[Union[str, ConsoleEnabled]] expiration: Optional[datetime] - ssh_public_key: Optional[SshPublicKey] + ssh_public_key: Optional[SshPublicKeyPatch] @overload def __init__( @@ -4757,7 +5494,7 @@ namespace azure.mgmt.networkcloud.models *, enabled: Optional[Union[str, ConsoleEnabled]] = ..., expiration: Optional[datetime] = ..., - ssh_public_key: Optional[SshPublicKey] = ... + ssh_public_key: Optional[SshPublicKeyPatch] = ... ) -> None: ... @overload @@ -4848,6 +5585,11 @@ namespace azure.mgmt.networkcloud.models TRUE = "True" + class azure.mgmt.networkcloud.models.DeploymentType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + AZURE_LOCAL = "AzureLocal" + NEXUS = "Nexus" + + class azure.mgmt.networkcloud.models.DeviceConnectionType(str, Enum, metaclass=CaseInsensitiveEnumMeta): PCI = "PCI" @@ -4955,6 +5697,22 @@ namespace azure.mgmt.networkcloud.models version: Optional[str] + class azure.mgmt.networkcloud.models.FilterDevices(_Model): + bare_metal_machine_names: Optional[list[str]] + rack_names: Optional[list[str]] + + @overload + def __init__( + self, + *, + bare_metal_machine_names: Optional[list[str]] = ..., + rack_names: Optional[list[str]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + class azure.mgmt.networkcloud.models.HardwareInventory(_Model): additional_host_information: Optional[str] interfaces: Optional[list[HardwareInventoryNetworkInterface]] @@ -5023,6 +5781,24 @@ namespace azure.mgmt.networkcloud.models def __init__(self, mapping: Mapping[str, Any]) -> None: ... + class azure.mgmt.networkcloud.models.ImageRepositoryCredentialsPatch(_Model): + password: Optional[str] + registry_url: Optional[str] + username: Optional[str] + + @overload + def __init__( + self, + *, + password: Optional[str] = ..., + registry_url: Optional[str] = ..., + username: Optional[str] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + class azure.mgmt.networkcloud.models.InitialAgentPoolConfiguration(_Model): administrator_configuration: Optional[AdministratorConfiguration] agent_options: Optional[AgentOptions] @@ -5424,12 +6200,76 @@ namespace azure.mgmt.networkcloud.models WORKER = "Worker" - class azure.mgmt.networkcloud.models.KubernetesPluginType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - DPDK = "DPDK" - IPVLAN = "IPVLAN" - MACVLAN = "MACVLAN" - OS_DEVICE = "OSDevice" - SRIOV = "SRIOV" + class azure.mgmt.networkcloud.models.KubernetesPluginType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + DPDK = "DPDK" + IPVLAN = "IPVLAN" + MACVLAN = "MACVLAN" + OS_DEVICE = "OSDevice" + SRIOV = "SRIOV" + + + class azure.mgmt.networkcloud.models.KubernetesVersion(TrackedResource): + etag: Optional[str] + extended_location: ExtendedLocation + id: str + location: str + name: str + properties: KubernetesVersionProperties + system_data: SystemData + tags: dict[str, str] + type: str + + def __getattr__(self, name: str) -> Any: ... + + @overload + def __init__( + self, + *, + extended_location: ExtendedLocation, + location: str, + properties: KubernetesVersionProperties, + tags: Optional[dict[str, str]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + def __setattr__( + self, + key: str, + value: Any + ) -> None: ... + + + class azure.mgmt.networkcloud.models.KubernetesVersionPatchParameters(_Model): + tags: Optional[dict[str, str]] + + @overload + def __init__( + self, + *, + tags: Optional[dict[str, str]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.networkcloud.models.KubernetesVersionProperties(_Model): + provisioning_state: Optional[Union[str, KubernetesVersionProvisioningState]] + values_property: Optional[list[KubernetesVersionValue]] + + + class azure.mgmt.networkcloud.models.KubernetesVersionProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): + ACCEPTED = "Accepted" + CANCELED = "Canceled" + FAILED = "Failed" + SUCCEEDED = "Succeeded" + + + class azure.mgmt.networkcloud.models.KubernetesVersionValue(_Model): + description: Optional[str] + version: Optional[str] class azure.mgmt.networkcloud.models.L2Network(TrackedResource): @@ -6016,6 +6856,32 @@ namespace azure.mgmt.networkcloud.models def __init__(self, mapping: Mapping[str, Any]) -> None: ... + class azure.mgmt.networkcloud.models.RackDefinitionPatch(_Model): + availability_zone: Optional[str] + bare_metal_machine_configuration_data: Optional[list[BareMetalMachineConfigurationDataPatch]] + network_rack_id: Optional[str] + rack_location: Optional[str] + rack_serial_number: Optional[str] + rack_sku_id: Optional[str] + storage_appliance_configuration_data: Optional[list[StorageApplianceConfigurationDataPatch]] + + @overload + def __init__( + self, + *, + availability_zone: Optional[str] = ..., + bare_metal_machine_configuration_data: Optional[list[BareMetalMachineConfigurationDataPatch]] = ..., + network_rack_id: Optional[str] = ..., + rack_location: Optional[str] = ..., + rack_serial_number: Optional[str] = ..., + rack_sku_id: Optional[str] = ..., + storage_appliance_configuration_data: Optional[list[StorageApplianceConfigurationDataPatch]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + class azure.mgmt.networkcloud.models.RackDetailedStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): AVAILABLE = "Available" ERROR = "Error" @@ -6107,6 +6973,7 @@ namespace azure.mgmt.networkcloud.models class azure.mgmt.networkcloud.models.RackSkuProperties(_Model): compute_machines: Optional[list[MachineSkuSlot]] controller_machines: Optional[list[MachineSkuSlot]] + deployment_type: Optional[Union[str, DeploymentType]] description: Optional[str] max_cluster_slots: Optional[int] provisioning_state: Optional[Union[str, RackSkuProvisioningState]] @@ -6143,6 +7010,11 @@ namespace azure.mgmt.networkcloud.models def __init__(self, mapping: Mapping[str, Any]) -> None: ... + class azure.mgmt.networkcloud.models.RelayPrivateEndpointConnectionState(str, Enum, metaclass=CaseInsensitiveEnumMeta): + APPROVED = "Approved" + REJECTED = "Rejected" + + class azure.mgmt.networkcloud.models.RelayType(str, Enum, metaclass=CaseInsensitiveEnumMeta): PLATFORM = "Platform" PUBLIC = "Public" @@ -6166,13 +7038,41 @@ namespace azure.mgmt.networkcloud.models type: Optional[str] + class azure.mgmt.networkcloud.models.RuntimeProtectionAgentHealthStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): + HEALTHY = "Healthy" + UNHEALTHY = "Unhealthy" + + + class azure.mgmt.networkcloud.models.RuntimeProtectionAgentLicenseStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): + LICENSED = "Licensed" + UNLICENSED = "Unlicensed" + + class azure.mgmt.networkcloud.models.RuntimeProtectionConfiguration(_Model): + definition_update_mode: Optional[Union[str, RuntimeProtectionDefinitionUpdateMode]] + enforcement_level: Optional[Union[str, RuntimeProtectionEnforcementLevel]] + + @overload + def __init__( + self, + *, + definition_update_mode: Optional[Union[str, RuntimeProtectionDefinitionUpdateMode]] = ..., + enforcement_level: Optional[Union[str, RuntimeProtectionEnforcementLevel]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.networkcloud.models.RuntimeProtectionConfigurationPatch(_Model): + definition_update_mode: Optional[Union[str, RuntimeProtectionDefinitionUpdateMode]] enforcement_level: Optional[Union[str, RuntimeProtectionEnforcementLevel]] @overload def __init__( self, *, + definition_update_mode: Optional[Union[str, RuntimeProtectionDefinitionUpdateMode]] = ..., enforcement_level: Optional[Union[str, RuntimeProtectionEnforcementLevel]] = ... ) -> None: ... @@ -6180,6 +7080,11 @@ namespace azure.mgmt.networkcloud.models def __init__(self, mapping: Mapping[str, Any]) -> None: ... + class azure.mgmt.networkcloud.models.RuntimeProtectionDefinitionUpdateMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + AUTOMATIC = "Automatic" + NONE = "None" + + class azure.mgmt.networkcloud.models.RuntimeProtectionEnforcementLevel(str, Enum, metaclass=CaseInsensitiveEnumMeta): AUDIT = "Audit" DISABLED = "Disabled" @@ -6189,8 +7094,13 @@ namespace azure.mgmt.networkcloud.models class azure.mgmt.networkcloud.models.RuntimeProtectionStatus(_Model): + agent_health_status: Optional[Union[str, RuntimeProtectionAgentHealthStatus]] + agent_health_status_issues: Optional[list[str]] + agent_license_status: Optional[Union[str, RuntimeProtectionAgentLicenseStatus]] + definition_update_mode: Optional[Union[str, RuntimeProtectionDefinitionUpdateMode]] definitions_last_updated: Optional[datetime] definitions_version: Optional[str] + enforcement_level: Optional[Union[str, RuntimeProtectionEnforcementLevel]] scan_completed_time: Optional[datetime] scan_scheduled_time: Optional[datetime] scan_started_time: Optional[datetime] @@ -6227,6 +7137,11 @@ namespace azure.mgmt.networkcloud.models secret_type: Optional[str] + class azure.mgmt.networkcloud.models.SecurityRuleDirection(str, Enum, metaclass=CaseInsensitiveEnumMeta): + INBOUND = "Inbound" + OUTBOUND = "Outbound" + + class azure.mgmt.networkcloud.models.ServiceLoadBalancerBgpPeer(_Model): bfd_enabled: Optional[Union[str, BfdEnabled]] bgp_multi_hop: Optional[Union[str, BgpMultiHop]] @@ -6279,6 +7194,26 @@ namespace azure.mgmt.networkcloud.models def __init__(self, mapping: Mapping[str, Any]) -> None: ... + class azure.mgmt.networkcloud.models.ServicePrincipalInformationPatch(_Model): + application_id: Optional[str] + password: Optional[str] + principal_id: Optional[str] + tenant_id: Optional[str] + + @overload + def __init__( + self, + *, + application_id: Optional[str] = ..., + password: Optional[str] = ..., + principal_id: Optional[str] = ..., + tenant_id: Optional[str] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + class azure.mgmt.networkcloud.models.SkipShutdown(str, Enum, metaclass=CaseInsensitiveEnumMeta): FALSE = "False" TRUE = "True" @@ -6298,6 +7233,20 @@ namespace azure.mgmt.networkcloud.models def __init__(self, mapping: Mapping[str, Any]) -> None: ... + class azure.mgmt.networkcloud.models.SshPublicKeyPatch(_Model): + key_data: Optional[str] + + @overload + def __init__( + self, + *, + key_data: Optional[str] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + class azure.mgmt.networkcloud.models.StepState(_Model): end_time: Optional[str] message: Optional[str] @@ -6382,6 +7331,26 @@ namespace azure.mgmt.networkcloud.models def __init__(self, mapping: Mapping[str, Any]) -> None: ... + class azure.mgmt.networkcloud.models.StorageApplianceConfigurationDataPatch(_Model): + admin_credentials: Optional[AdministrativeCredentialsPatch] + rack_slot: Optional[int] + serial_number: Optional[str] + storage_appliance_name: Optional[str] + + @overload + def __init__( + self, + *, + admin_credentials: Optional[AdministrativeCredentialsPatch] = ..., + rack_slot: Optional[int] = ..., + serial_number: Optional[str] = ..., + storage_appliance_name: Optional[str] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + class azure.mgmt.networkcloud.models.StorageApplianceDetailedStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): AVAILABLE = "Available" DEGRADED = "Degraded" @@ -6403,6 +7372,48 @@ namespace azure.mgmt.networkcloud.models def __init__(self, mapping: Mapping[str, Any]) -> None: ... + class azure.mgmt.networkcloud.models.StorageApplianceExpansionShelf(_Model): + model: Optional[str] + version: Optional[str] + + @overload + def __init__( + self, + *, + model: Optional[str] = ..., + version: Optional[str] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.networkcloud.models.StorageApplianceMonitoringConfigurationStatus(_Model): + log_level: Optional[Union[str, StorageApplianceMonitoringConfigurationStatusLogLevel]] + metrics_level: Optional[Union[str, StorageApplianceMonitoringConfigurationStatusMetricsLevel]] + + @overload + def __init__( + self, + *, + log_level: Optional[Union[str, StorageApplianceMonitoringConfigurationStatusLogLevel]] = ..., + metrics_level: Optional[Union[str, StorageApplianceMonitoringConfigurationStatusMetricsLevel]] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + + class azure.mgmt.networkcloud.models.StorageApplianceMonitoringConfigurationStatusLogLevel(str, Enum, metaclass=CaseInsensitiveEnumMeta): + DEFAULT = "Default" + NEXUS = "Nexus" + + + class azure.mgmt.networkcloud.models.StorageApplianceMonitoringConfigurationStatusMetricsLevel(str, Enum, metaclass=CaseInsensitiveEnumMeta): + DEFAULT = "Default" + NEXUS = "Nexus" + + class azure.mgmt.networkcloud.models.StorageAppliancePatchParameters(_Model): properties: Optional[StorageAppliancePatchProperties] tags: Optional[dict[str, str]] @@ -6449,9 +7460,11 @@ namespace azure.mgmt.networkcloud.models cluster_id: Optional[str] detailed_status: Optional[Union[str, StorageApplianceDetailedStatus]] detailed_status_message: Optional[str] + expansion_shelves: Optional[list[StorageApplianceExpansionShelf]] management_ipv4_address: Optional[str] manufacturer: Optional[str] model: Optional[str] + monitoring_configuration_status: Optional[StorageApplianceMonitoringConfigurationStatus] provisioning_state: Optional[Union[str, StorageApplianceProvisioningState]] rack_id: str rack_slot: int @@ -6605,6 +7618,11 @@ namespace azure.mgmt.networkcloud.models def __init__(self, mapping: Mapping[str, Any]) -> None: ... + class azure.mgmt.networkcloud.models.TransportProtocol(str, Enum, metaclass=CaseInsensitiveEnumMeta): + TCP = "TCP" + UDP = "UDP" + + class azure.mgmt.networkcloud.models.TrunkedNetwork(TrackedResource): etag: Optional[str] extended_location: ExtendedLocation @@ -6737,6 +7755,24 @@ namespace azure.mgmt.networkcloud.models PER_RACK = "PerRack" + class azure.mgmt.networkcloud.models.ValidationThresholdPatch(_Model): + grouping: Optional[Union[str, ValidationThresholdGrouping]] + type: Optional[Union[str, ValidationThresholdType]] + value: Optional[int] + + @overload + def __init__( + self, + *, + grouping: Optional[Union[str, ValidationThresholdGrouping]] = ..., + type: Optional[Union[str, ValidationThresholdType]] = ..., + value: Optional[int] = ... + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: ... + + class azure.mgmt.networkcloud.models.ValidationThresholdType(str, Enum, metaclass=CaseInsensitiveEnumMeta): COUNT_SUCCESS = "CountSuccess" PERCENT_SUCCESS = "PercentSuccess" @@ -6853,13 +7889,13 @@ namespace azure.mgmt.networkcloud.models class azure.mgmt.networkcloud.models.VirtualMachinePatchProperties(_Model): - vm_image_repository_credentials: Optional[ImageRepositoryCredentials] + vm_image_repository_credentials: Optional[ImageRepositoryCredentialsPatch] @overload def __init__( self, *, - vm_image_repository_credentials: Optional[ImageRepositoryCredentials] = ... + vm_image_repository_credentials: Optional[ImageRepositoryCredentialsPatch] = ... ) -> None: ... @overload @@ -7047,6 +8083,7 @@ namespace azure.mgmt.networkcloud.models class azure.mgmt.networkcloud.models.VolumeProperties(_Model): allocated_size_mi_b: Optional[int] + assigned_storage_appliance_id: Optional[str] attached_to: Optional[list[str]] detailed_status: Optional[Union[str, VolumeDetailedStatus]] detailed_status_message: Optional[str] @@ -7115,6 +8152,129 @@ namespace azure.mgmt.networkcloud.models namespace azure.mgmt.networkcloud.operations + class azure.mgmt.networkcloud.operations.AccessBridgesOperations: + + def __init__( + self, + *args, + **kwargs + ) -> None: ... + + @overload + def begin_create_or_update( + self, + resource_group_name: str, + access_bridge_name: Union[str, AccessBridgeAllowedName], + access_bridge: AccessBridge, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[AccessBridge]: ... + + @overload + def begin_create_or_update( + self, + resource_group_name: str, + access_bridge_name: Union[str, AccessBridgeAllowedName], + access_bridge: AccessBridge, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[AccessBridge]: ... + + @overload + def begin_create_or_update( + self, + resource_group_name: str, + access_bridge_name: Union[str, AccessBridgeAllowedName], + access_bridge: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[AccessBridge]: ... + + @distributed_trace + @api_version_validation(method_added_on='2026-01-01-preview', params_added_on={'2026-01-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'access_bridge_name', 'etag', 'match_condition']}, api_versions_list=['2026-01-01-preview', '2026-05-01-preview', '2026-07-01']) + def begin_delete( + self, + resource_group_name: str, + access_bridge_name: Union[str, AccessBridgeAllowedName], + *, + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., + **kwargs: Any + ) -> LROPoller[OperationStatusResult]: ... + + @overload + def begin_update( + self, + resource_group_name: str, + access_bridge_name: Union[str, AccessBridgeAllowedName], + access_bridge_update_parameters: Optional[AccessBridgePatchParameters] = None, + *, + content_type: str = "application/json", + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., + **kwargs: Any + ) -> LROPoller[AccessBridge]: ... + + @overload + def begin_update( + self, + resource_group_name: str, + access_bridge_name: Union[str, AccessBridgeAllowedName], + access_bridge_update_parameters: Optional[AccessBridgePatchParameters] = None, + *, + content_type: str = "application/json", + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., + **kwargs: Any + ) -> LROPoller[AccessBridge]: ... + + @overload + def begin_update( + self, + resource_group_name: str, + access_bridge_name: Union[str, AccessBridgeAllowedName], + access_bridge_update_parameters: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., + **kwargs: Any + ) -> LROPoller[AccessBridge]: ... + + @distributed_trace + @api_version_validation(method_added_on='2026-01-01-preview', params_added_on={'2026-01-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'access_bridge_name', 'accept']}, api_versions_list=['2026-01-01-preview', '2026-05-01-preview', '2026-07-01']) + def get( + self, + resource_group_name: str, + access_bridge_name: Union[str, AccessBridgeAllowedName], + **kwargs: Any + ) -> AccessBridge: ... + + @distributed_trace + @api_version_validation(method_added_on='2026-01-01-preview', params_added_on={'2026-01-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'top', 'skip_token', 'accept']}, api_versions_list=['2026-01-01-preview', '2026-05-01-preview', '2026-07-01']) + def list_by_resource_group( + self, + resource_group_name: str, + *, + skip_token: Optional[str] = ..., + top: Optional[int] = ..., + **kwargs: Any + ) -> ItemPaged[AccessBridge]: ... + + @distributed_trace + @api_version_validation(method_added_on='2026-01-01-preview', params_added_on={'2026-01-01-preview': ['api_version', 'subscription_id', 'top', 'skip_token', 'accept']}, api_versions_list=['2026-01-01-preview', '2026-05-01-preview', '2026-07-01']) + def list_by_subscription( + self, + *, + skip_token: Optional[str] = ..., + top: Optional[int] = ..., + **kwargs: Any + ) -> ItemPaged[AccessBridge]: ... + + class azure.mgmt.networkcloud.operations.AgentPoolsOperations: def __init__( @@ -7451,8 +8611,30 @@ namespace azure.mgmt.networkcloud.operations resource_group_name: str, bare_metal_machine_name: str, *, - etag: Optional[str] = ..., - match_condition: Optional[MatchConditions] = ..., + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., + **kwargs: Any + ) -> LROPoller[OperationStatusResult]: ... + + @overload + def begin_power_off( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_power_off_parameters: Optional[BareMetalMachinePowerOffParameters] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[OperationStatusResult]: ... + + @overload + def begin_power_off( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_power_off_parameters: Optional[BareMetalMachinePowerOffParameters] = None, + *, + content_type: str = "application/json", **kwargs: Any ) -> LROPoller[OperationStatusResult]: ... @@ -7461,39 +8643,42 @@ namespace azure.mgmt.networkcloud.operations self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_power_off_parameters: Optional[BareMetalMachinePowerOffParameters] = None, + bare_metal_machine_power_off_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[OperationStatusResult]: ... @overload - def begin_power_off( + def begin_reimage( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_power_off_parameters: Optional[BareMetalMachinePowerOffParameters] = None, + body: Optional[BareMetalMachineReimageParameters] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[OperationStatusResult]: ... @overload - def begin_power_off( + def begin_reimage( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_power_off_parameters: Optional[IO[bytes]] = None, + body: Optional[BareMetalMachineReimageParameters] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[OperationStatusResult]: ... - @distributed_trace + @overload def begin_reimage( self, resource_group_name: str, bare_metal_machine_name: str, + body: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", **kwargs: Any ) -> LROPoller[OperationStatusResult]: ... @@ -8061,6 +9246,39 @@ namespace azure.mgmt.networkcloud.operations **kwargs: Any ) -> LROPoller[OperationStatusResult]: ... + @overload + def begin_update_relay_private_endpoint_connection( + self, + resource_group_name: str, + cluster_manager_name: str, + cluster_manager_update_relay_private_endpoint_connection_parameters: Optional[ClusterManagerUpdateRelayPrivateEndpointConnectionParameters] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[OperationStatusResult]: ... + + @overload + def begin_update_relay_private_endpoint_connection( + self, + resource_group_name: str, + cluster_manager_name: str, + cluster_manager_update_relay_private_endpoint_connection_parameters: Optional[ClusterManagerUpdateRelayPrivateEndpointConnectionParameters] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[OperationStatusResult]: ... + + @overload + def begin_update_relay_private_endpoint_connection( + self, + resource_group_name: str, + cluster_manager_name: str, + cluster_manager_update_relay_private_endpoint_connection_parameters: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[OperationStatusResult]: ... + @distributed_trace def get( self, @@ -8252,6 +9470,72 @@ namespace azure.mgmt.networkcloud.operations **kwargs: Any ) -> LROPoller[OperationStatusResult]: ... + @overload + def begin_inspect( + self, + resource_group_name: str, + cluster_name: str, + cluster_inspect_parameters: Optional[ClusterInspectParameters] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[OperationStatusResult]: ... + + @overload + def begin_inspect( + self, + resource_group_name: str, + cluster_name: str, + cluster_inspect_parameters: Optional[ClusterInspectParameters] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[OperationStatusResult]: ... + + @overload + def begin_inspect( + self, + resource_group_name: str, + cluster_name: str, + cluster_inspect_parameters: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[OperationStatusResult]: ... + + @overload + def begin_rotate_credential( + self, + resource_group_name: str, + cluster_name: str, + body: ClusterRotateCredentialParameters, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[OperationStatusResult]: ... + + @overload + def begin_rotate_credential( + self, + resource_group_name: str, + cluster_name: str, + body: ClusterRotateCredentialParameters, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[OperationStatusResult]: ... + + @overload + def begin_rotate_credential( + self, + resource_group_name: str, + cluster_name: str, + body: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[OperationStatusResult]: ... + @overload def begin_scan_runtime( self, @@ -8624,18 +9908,176 @@ namespace azure.mgmt.networkcloud.operations ) -> KubernetesClusterFeature: ... @distributed_trace - def list_by_kubernetes_cluster( + def list_by_kubernetes_cluster( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + *, + skip_token: Optional[str] = ..., + top: Optional[int] = ..., + **kwargs: Any + ) -> ItemPaged[KubernetesClusterFeature]: ... + + + class azure.mgmt.networkcloud.operations.KubernetesClustersOperations: + + def __init__( + self, + *args, + **kwargs + ) -> None: ... + + @overload + def begin_create_or_update( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + kubernetes_cluster_parameters: KubernetesCluster, + *, + content_type: str = "application/json", + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., + **kwargs: Any + ) -> LROPoller[KubernetesCluster]: ... + + @overload + def begin_create_or_update( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + kubernetes_cluster_parameters: KubernetesCluster, + *, + content_type: str = "application/json", + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., + **kwargs: Any + ) -> LROPoller[KubernetesCluster]: ... + + @overload + def begin_create_or_update( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + kubernetes_cluster_parameters: IO[bytes], + *, + content_type: str = "application/json", + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., + **kwargs: Any + ) -> LROPoller[KubernetesCluster]: ... + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + *, + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., + **kwargs: Any + ) -> LROPoller[OperationStatusResult]: ... + + @overload + def begin_restart_node( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + kubernetes_cluster_restart_node_parameters: KubernetesClusterRestartNodeParameters, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[OperationStatusResult]: ... + + @overload + def begin_restart_node( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + kubernetes_cluster_restart_node_parameters: KubernetesClusterRestartNodeParameters, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[OperationStatusResult]: ... + + @overload + def begin_restart_node( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + kubernetes_cluster_restart_node_parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[OperationStatusResult]: ... + + @overload + def begin_update( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + kubernetes_cluster_update_parameters: Optional[KubernetesClusterPatchParameters] = None, + *, + content_type: str = "application/json", + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., + **kwargs: Any + ) -> LROPoller[KubernetesCluster]: ... + + @overload + def begin_update( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + kubernetes_cluster_update_parameters: Optional[KubernetesClusterPatchParameters] = None, + *, + content_type: str = "application/json", + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., + **kwargs: Any + ) -> LROPoller[KubernetesCluster]: ... + + @overload + def begin_update( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + kubernetes_cluster_update_parameters: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + etag: Optional[str] = ..., + match_condition: Optional[MatchConditions] = ..., + **kwargs: Any + ) -> LROPoller[KubernetesCluster]: ... + + @distributed_trace + def get( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + **kwargs: Any + ) -> KubernetesCluster: ... + + @distributed_trace + def list_by_resource_group( + self, + resource_group_name: str, + *, + skip_token: Optional[str] = ..., + top: Optional[int] = ..., + **kwargs: Any + ) -> ItemPaged[KubernetesCluster]: ... + + @distributed_trace + def list_by_subscription( self, - resource_group_name: str, - kubernetes_cluster_name: str, *, skip_token: Optional[str] = ..., top: Optional[int] = ..., **kwargs: Any - ) -> ItemPaged[KubernetesClusterFeature]: ... + ) -> ItemPaged[KubernetesCluster]: ... - class azure.mgmt.networkcloud.operations.KubernetesClustersOperations: + class azure.mgmt.networkcloud.operations.KubernetesVersionsOperations: def __init__( self, @@ -8647,133 +10089,103 @@ namespace azure.mgmt.networkcloud.operations def begin_create_or_update( self, resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_parameters: KubernetesCluster, + kubernetes_version_name: str, + kubernetes_version_parameters: KubernetesVersion, *, content_type: str = "application/json", etag: Optional[str] = ..., match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> LROPoller[KubernetesCluster]: ... + ) -> LROPoller[KubernetesVersion]: ... @overload def begin_create_or_update( self, resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_parameters: KubernetesCluster, + kubernetes_version_name: str, + kubernetes_version_parameters: KubernetesVersion, *, content_type: str = "application/json", etag: Optional[str] = ..., match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> LROPoller[KubernetesCluster]: ... + ) -> LROPoller[KubernetesVersion]: ... @overload def begin_create_or_update( self, resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_parameters: IO[bytes], + kubernetes_version_name: str, + kubernetes_version_parameters: IO[bytes], *, content_type: str = "application/json", etag: Optional[str] = ..., match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> LROPoller[KubernetesCluster]: ... + ) -> LROPoller[KubernetesVersion]: ... @distributed_trace + @api_version_validation(method_added_on='2026-01-01-preview', params_added_on={'2026-01-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'kubernetes_version_name', 'etag', 'match_condition']}, api_versions_list=['2026-01-01-preview', '2026-05-01-preview', '2026-07-01']) def begin_delete( self, resource_group_name: str, - kubernetes_cluster_name: str, + kubernetes_version_name: str, *, etag: Optional[str] = ..., match_condition: Optional[MatchConditions] = ..., **kwargs: Any ) -> LROPoller[OperationStatusResult]: ... - @overload - def begin_restart_node( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_restart_node_parameters: KubernetesClusterRestartNodeParameters, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[OperationStatusResult]: ... - - @overload - def begin_restart_node( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_restart_node_parameters: KubernetesClusterRestartNodeParameters, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[OperationStatusResult]: ... - - @overload - def begin_restart_node( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_restart_node_parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[OperationStatusResult]: ... - @overload def begin_update( self, resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_update_parameters: Optional[KubernetesClusterPatchParameters] = None, + kubernetes_version_name: str, + kubernetes_version_patch_parameters: Optional[KubernetesVersionPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> LROPoller[KubernetesCluster]: ... + ) -> LROPoller[KubernetesVersion]: ... @overload def begin_update( self, resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_update_parameters: Optional[KubernetesClusterPatchParameters] = None, + kubernetes_version_name: str, + kubernetes_version_patch_parameters: Optional[KubernetesVersionPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> LROPoller[KubernetesCluster]: ... + ) -> LROPoller[KubernetesVersion]: ... @overload def begin_update( self, resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_update_parameters: Optional[IO[bytes]] = None, + kubernetes_version_name: str, + kubernetes_version_patch_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", etag: Optional[str] = ..., match_condition: Optional[MatchConditions] = ..., **kwargs: Any - ) -> LROPoller[KubernetesCluster]: ... + ) -> LROPoller[KubernetesVersion]: ... @distributed_trace + @api_version_validation(method_added_on='2026-01-01-preview', params_added_on={'2026-01-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'kubernetes_version_name', 'accept']}, api_versions_list=['2026-01-01-preview', '2026-05-01-preview', '2026-07-01']) def get( self, resource_group_name: str, - kubernetes_cluster_name: str, + kubernetes_version_name: str, **kwargs: Any - ) -> KubernetesCluster: ... + ) -> KubernetesVersion: ... @distributed_trace + @api_version_validation(method_added_on='2026-01-01-preview', params_added_on={'2026-01-01-preview': ['api_version', 'subscription_id', 'resource_group_name', 'top', 'skip_token', 'accept']}, api_versions_list=['2026-01-01-preview', '2026-05-01-preview', '2026-07-01']) def list_by_resource_group( self, resource_group_name: str, @@ -8781,16 +10193,17 @@ namespace azure.mgmt.networkcloud.operations skip_token: Optional[str] = ..., top: Optional[int] = ..., **kwargs: Any - ) -> ItemPaged[KubernetesCluster]: ... + ) -> ItemPaged[KubernetesVersion]: ... @distributed_trace + @api_version_validation(method_added_on='2026-01-01-preview', params_added_on={'2026-01-01-preview': ['api_version', 'subscription_id', 'top', 'skip_token', 'accept']}, api_versions_list=['2026-01-01-preview', '2026-05-01-preview', '2026-07-01']) def list_by_subscription( self, *, skip_token: Optional[str] = ..., top: Optional[int] = ..., **kwargs: Any - ) -> ItemPaged[KubernetesCluster]: ... + ) -> ItemPaged[KubernetesVersion]: ... class azure.mgmt.networkcloud.operations.L2NetworksOperations: @@ -9995,6 +11408,81 @@ namespace azure.mgmt.networkcloud.types admin_group_object_ids: list[str] + class azure.mgmt.networkcloud.types.AccessBridge(TrackedResource): + key "etag": str + key "extendedLocation": Required[ExtendedLocation] + key "id": str + key "location": Required[str] + key "name": str + key "properties": Required[AccessBridgeProperties] + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + etag: str + extended_location: ExtendedLocation + id: str + location: str + name: str + properties: AccessBridgeProperties + system_data: SystemData + tags: dict[str, str] + type: str + + + class azure.mgmt.networkcloud.types.AccessBridgeEndpoint(TypedDict, total=False): + key "fqdn": str + key "ipv4Address": str + key "ipv6Address": str + key "name": str + fqdn: str + ipv4_address: str + ipv6_address: str + name: str + + + class azure.mgmt.networkcloud.types.AccessBridgePatchParameters(TypedDict, total=False): + key "properties": ForwardRef('AccessBridgePatchProperties', module='types') + properties: AccessBridgePatchProperties + tags: dict[str, str] + + + class azure.mgmt.networkcloud.types.AccessBridgePatchProperties(TypedDict, total=False): + securityRules: list[AccessBridgeSecurityRule] + security_rules: list[AccessBridgeSecurityRule] + + + class azure.mgmt.networkcloud.types.AccessBridgeProperties(TypedDict, total=False): + key "detailedStatus": Union[str, AccessBridgeDetailedStatus] + key "detailedStatusMessage": str + key "ipv4ConnectedPrefix": str + key "ipv6ConnectedPrefix": str + key "networkId": Required[str] + key "protocol": Union[str, TransportProtocol] + key "provisioningState": Union[str, AccessBridgeProvisioningState] + detailed_status: Union[str, AccessBridgeDetailedStatus] + detailed_status_message: str + endpoints: list[AccessBridgeEndpoint] + ipv4_connected_prefix: str + ipv6_connected_prefix: str + network_id: str + protocol: Union[str, TransportProtocol] + provisioning_state: Union[str, AccessBridgeProvisioningState] + securityRules: list[AccessBridgeSecurityRule] + security_rules: list[AccessBridgeSecurityRule] + + + class azure.mgmt.networkcloud.types.AccessBridgeSecurityRule(TypedDict, total=False): + key "description": str + key "direction": Required[Union[str, SecurityRuleDirection]] + key "port": Required[str] + description: str + direction: Union[str, SecurityRuleDirection] + ipv4Addresses: list[str] + ipv4_addresses: list[str] + ipv6Addresses: list[str] + ipv6_addresses: list[str] + port: str + + class azure.mgmt.networkcloud.types.ActionState(TypedDict, total=False): key "actionType": str key "correlationId": str @@ -10019,6 +11507,13 @@ namespace azure.mgmt.networkcloud.types username: str + class azure.mgmt.networkcloud.types.AdministrativeCredentialsPatch(TypedDict, total=False): + key "password": str + key "username": str + password: str + username: str + + class azure.mgmt.networkcloud.types.AdministratorConfiguration(TypedDict, total=False): key "adminUsername": str admin_username: str @@ -10179,6 +11674,25 @@ namespace azure.mgmt.networkcloud.types serial_number: str + class azure.mgmt.networkcloud.types.BareMetalMachineConfigurationDataPatch(TypedDict, total=False): + key "bmcConnectionString": str + key "bmcCredentials": ForwardRef('AdministrativeCredentialsPatch', module='types') + key "bmcMacAddress": str + key "bootMacAddress": str + key "machineDetails": str + key "machineName": str + key "rackSlot": int + key "serialNumber": str + bmc_connection_string: str + bmc_credentials: AdministrativeCredentialsPatch + bmc_mac_address: str + boot_mac_address: str + machine_details: str + machine_name: str + rack_slot: int + serial_number: str + + class azure.mgmt.networkcloud.types.BareMetalMachineCordonParameters(TypedDict, total=False): key "evacuate": Union[str, BareMetalMachineEvacuate] evacuate: Union[str, BareMetalMachineEvacuate] @@ -10246,6 +11760,13 @@ namespace azure.mgmt.networkcloud.types user_list_status: list[KeySetUserStatus] + class azure.mgmt.networkcloud.types.BareMetalMachineMonitoringConfigurationStatus(TypedDict, total=False): + key "logLevel": Union[str, BareMetalMachineMonitoringConfigurationStatusLogLevel] + key "metricsLevel": Union[str, BareMetalMachineMonitoringConfigurationStatusMetricsLevel] + log_level: Union[str, BareMetalMachineMonitoringConfigurationStatusLogLevel] + metrics_level: Union[str, BareMetalMachineMonitoringConfigurationStatusMetricsLevel] + + class azure.mgmt.networkcloud.types.BareMetalMachinePatchParameters(TypedDict, total=False): key "properties": ForwardRef('BareMetalMachinePatchProperties', module='types') properties: BareMetalMachinePatchProperties @@ -10265,6 +11786,8 @@ namespace azure.mgmt.networkcloud.types class azure.mgmt.networkcloud.types.BareMetalMachineProperties(TypedDict, total=False): key "bmcConnectionString": Required[str] key "bmcCredentials": Required[AdministrativeCredentials] + key "bmcIpv4Address": str + key "bmcIpv6Address": str key "bmcMacAddress": Required[str] key "bootMacAddress": Required[str] key "caCertificate": ForwardRef('CertificateInfo', module='types') @@ -10280,6 +11803,7 @@ namespace azure.mgmt.networkcloud.types key "machineDetails": Required[str] key "machineName": Required[str] key "machineSkuId": Required[str] + key "monitoringConfigurationStatus": ForwardRef('BareMetalMachineMonitoringConfigurationStatus', module='types') key "oamIpv4Address": str key "oamIpv6Address": str key "osImage": str @@ -10297,6 +11821,8 @@ namespace azure.mgmt.networkcloud.types associated_resource_ids: list[str] bmc_connection_string: str bmc_credentials: AdministrativeCredentials + bmc_ipv4_address: str + bmc_ipv6_address: str bmc_mac_address: str boot_mac_address: str ca_certificate: CertificateInfo @@ -10316,6 +11842,7 @@ namespace azure.mgmt.networkcloud.types machine_name: str machine_roles: list[str] machine_sku_id: str + monitoring_configuration_status: BareMetalMachineMonitoringConfigurationStatus oam_ipv4_address: str oam_ipv6_address: str os_image: str @@ -10333,6 +11860,11 @@ namespace azure.mgmt.networkcloud.types virtual_machines_associated_ids: list[str] + class azure.mgmt.networkcloud.types.BareMetalMachineReimageParameters(TypedDict, total=False): + key "safeguardMode": Union[str, BareMetalMachineReimageSafeguardMode] + safeguard_mode: Union[str, BareMetalMachineReimageSafeguardMode] + + class azure.mgmt.networkcloud.types.BareMetalMachineReplaceParameters(TypedDict, total=False): key "bmcCredentials": ForwardRef('AdministrativeCredentials', module='types') key "bmcMacAddress": str @@ -10553,6 +12085,7 @@ namespace azure.mgmt.networkcloud.types key "extendedLocation": Required[ExtendedLocation] key "id": str key "identity": ForwardRef('ManagedServiceIdentity', module='types') + key "kind": Union[str, DeploymentType] key "location": Required[str] key "name": str key "properties": Required[ClusterProperties] @@ -10562,6 +12095,7 @@ namespace azure.mgmt.networkcloud.types extended_location: ExtendedLocation id: str identity: ManagedServiceIdentity + kind: Union[str, DeploymentType] location: str name: str properties: ClusterProperties @@ -10613,7 +12147,9 @@ namespace azure.mgmt.networkcloud.types class azure.mgmt.networkcloud.types.ClusterContinueUpdateVersionParameters(TypedDict, total=False): key "machineGroupTargetingMode": Union[str, ClusterContinueUpdateVersionMachineGroupTargetingMode] + key "safeguardMode": Union[str, ClusterContinueUpdateVersionSafeguardMode] machine_group_targeting_mode: Union[str, ClusterContinueUpdateVersionMachineGroupTargetingMode] + safeguard_mode: Union[str, ClusterContinueUpdateVersionSafeguardMode] class azure.mgmt.networkcloud.types.ClusterDeployParameters(TypedDict, total=False): @@ -10621,10 +12157,18 @@ namespace azure.mgmt.networkcloud.types skip_validations_for_machines: list[str] + class azure.mgmt.networkcloud.types.ClusterInspectParameters(TypedDict, total=False): + key "filterDevices": ForwardRef('FilterDevices', module='types') + additionalActions: list[Union[str, ClusterInspectAdditionalAction]] + additional_actions: list[Union[str, ClusterInspectAdditionalAction]] + filter_devices: FilterDevices + + class azure.mgmt.networkcloud.types.ClusterManager(TrackedResource): key "etag": str key "id": str key "identity": ForwardRef('ManagedServiceIdentity', module='types') + key "kind": Union[str, DeploymentType] key "location": Required[str] key "name": str key "properties": Required[ClusterManagerProperties] @@ -10633,6 +12177,7 @@ namespace azure.mgmt.networkcloud.types etag: str id: str identity: ManagedServiceIdentity + kind: Union[str, DeploymentType] location: str name: str properties: ClusterManagerProperties @@ -10655,6 +12200,7 @@ namespace azure.mgmt.networkcloud.types key "managedResourceGroupConfiguration": ForwardRef('ManagedResourceGroupConfiguration', module='types') key "managerExtendedLocation": ForwardRef('ExtendedLocation', module='types') key "provisioningState": Union[str, ClusterManagerProvisioningState] + key "relayConfiguration": ForwardRef('ClusterManagerRelayConfiguration', module='types') key "vmSize": str analytics_workspace_id: str availabilityZones: list[str] @@ -10667,9 +12213,24 @@ namespace azure.mgmt.networkcloud.types managed_resource_group_configuration: ManagedResourceGroupConfiguration manager_extended_location: ExtendedLocation provisioning_state: Union[str, ClusterManagerProvisioningState] + relay_configuration: ClusterManagerRelayConfiguration vm_size: str + class azure.mgmt.networkcloud.types.ClusterManagerRelayConfiguration(TypedDict, total=False): + key "relayNamespaceId": str + relay_namespace_id: str + + + class azure.mgmt.networkcloud.types.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters(TypedDict, total=False): + key "connectionState": Required[Union[str, RelayPrivateEndpointConnectionState]] + key "description": str + key "privateEndpointResourceId": Required[str] + connection_state: Union[str, RelayPrivateEndpointConnectionState] + description: str + private_endpoint_resource_id: str + + class azure.mgmt.networkcloud.types.ClusterMetricsConfiguration(TrackedResource): key "etag": str key "extendedLocation": Required[ExtendedLocation] @@ -10727,29 +12288,29 @@ namespace azure.mgmt.networkcloud.types class azure.mgmt.networkcloud.types.ClusterPatchProperties(TypedDict, total=False): - key "aggregatorOrSingleRackDefinition": ForwardRef('RackDefinition', module='types') + key "aggregatorOrSingleRackDefinition": ForwardRef('RackDefinitionPatch', module='types') key "analyticsOutputSettings": ForwardRef('AnalyticsOutputSettings', module='types') key "clusterLocation": str - key "clusterServicePrincipal": ForwardRef('ServicePrincipalInformation', module='types') + key "clusterServicePrincipal": ForwardRef('ServicePrincipalInformationPatch', module='types') key "commandOutputSettings": ForwardRef('CommandOutputSettings', module='types') - key "computeDeploymentThreshold": ForwardRef('ValidationThreshold', module='types') - key "runtimeProtectionConfiguration": ForwardRef('RuntimeProtectionConfiguration', module='types') - key "secretArchive": ForwardRef('ClusterSecretArchive', module='types') + key "computeDeploymentThreshold": ForwardRef('ValidationThresholdPatch', module='types') + key "runtimeProtectionConfiguration": ForwardRef('RuntimeProtectionConfigurationPatch', module='types') + key "secretArchive": ForwardRef('ClusterSecretArchivePatch', module='types') key "secretArchiveSettings": ForwardRef('SecretArchiveSettings', module='types') - key "updateStrategy": ForwardRef('ClusterUpdateStrategy', module='types') + key "updateStrategy": ForwardRef('ClusterUpdateStrategyPatch', module='types') key "vulnerabilityScanningSettings": ForwardRef('VulnerabilityScanningSettingsPatch', module='types') - aggregator_or_single_rack_definition: RackDefinition + aggregator_or_single_rack_definition: RackDefinitionPatch analytics_output_settings: AnalyticsOutputSettings cluster_location: str - cluster_service_principal: ServicePrincipalInformation + cluster_service_principal: ServicePrincipalInformationPatch command_output_settings: CommandOutputSettings - computeRackDefinitions: list[RackDefinition] - compute_deployment_threshold: ValidationThreshold - compute_rack_definitions: list[RackDefinition] - runtime_protection_configuration: RuntimeProtectionConfiguration - secret_archive: ClusterSecretArchive + computeRackDefinitions: list[RackDefinitionPatch] + compute_deployment_threshold: ValidationThresholdPatch + compute_rack_definitions: list[RackDefinitionPatch] + runtime_protection_configuration: RuntimeProtectionConfigurationPatch + secret_archive: ClusterSecretArchivePatch secret_archive_settings: SecretArchiveSettings - update_strategy: ClusterUpdateStrategy + update_strategy: ClusterUpdateStrategyPatch vulnerability_scanning_settings: VulnerabilityScanningSettingsPatch @@ -10771,6 +12332,7 @@ namespace azure.mgmt.networkcloud.types key "detailedStatus": Union[str, ClusterDetailedStatus] key "detailedStatusMessage": str key "hybridAksExtendedLocation": ForwardRef('ExtendedLocation', module='types') + key "lastSuccessfulVersionUpdateTime": str key "managedResourceGroupConfiguration": ForwardRef('ManagedResourceGroupConfiguration', module='types') key "manualActionCount": int key "networkFabricId": Required[str] @@ -10804,6 +12366,9 @@ namespace azure.mgmt.networkcloud.types detailed_status: Union[str, ClusterDetailedStatus] detailed_status_message: str hybrid_aks_extended_location: ExtendedLocation + last_successful_version_update_time: str + managedCredentials: list[str] + managed_credentials: list[str] managed_resource_group_configuration: ManagedResourceGroupConfiguration manual_action_count: int network_fabric_id: str @@ -10818,6 +12383,11 @@ namespace azure.mgmt.networkcloud.types workload_resource_ids: list[str] + class azure.mgmt.networkcloud.types.ClusterRotateCredentialParameters(TypedDict, total=False): + key "credentials": Required[list[str]] + credentials: list[str] + + class azure.mgmt.networkcloud.types.ClusterScanRuntimeParameters(TypedDict, total=False): key "scanActivity": Union[str, ClusterScanRuntimeParametersScanActivity] scan_activity: Union[str, ClusterScanRuntimeParametersScanActivity] @@ -10830,6 +12400,13 @@ namespace azure.mgmt.networkcloud.types use_key_vault: Union[str, ClusterSecretArchiveEnabled] + class azure.mgmt.networkcloud.types.ClusterSecretArchivePatch(TypedDict, total=False): + key "keyVaultId": str + key "useKeyVault": Union[str, ClusterSecretArchiveEnabled] + key_vault_id: str + use_key_vault: Union[str, ClusterSecretArchiveEnabled] + + class azure.mgmt.networkcloud.types.ClusterUpdateStrategy(TypedDict, total=False): key "maxUnavailable": int key "strategyType": Required[Union[str, ClusterUpdateStrategyType]] @@ -10843,8 +12420,23 @@ namespace azure.mgmt.networkcloud.types wait_time_minutes: int + class azure.mgmt.networkcloud.types.ClusterUpdateStrategyPatch(TypedDict, total=False): + key "maxUnavailable": int + key "strategyType": Union[str, ClusterUpdateStrategyType] + key "thresholdType": Union[str, ValidationThresholdType] + key "thresholdValue": int + key "waitTimeMinutes": int + max_unavailable: int + strategy_type: Union[str, ClusterUpdateStrategyType] + threshold_type: Union[str, ValidationThresholdType] + threshold_value: int + wait_time_minutes: int + + class azure.mgmt.networkcloud.types.ClusterUpdateVersionParameters(TypedDict, total=False): + key "safeguardMode": Union[str, ClusterUpdateVersionSafeguardMode] key "targetClusterVersion": Required[str] + safeguard_mode: Union[str, ClusterUpdateVersionSafeguardMode] target_cluster_version: str @@ -10894,10 +12486,10 @@ namespace azure.mgmt.networkcloud.types class azure.mgmt.networkcloud.types.ConsolePatchProperties(TypedDict, total=False): key "enabled": Union[str, ConsoleEnabled] key "expiration": str - key "sshPublicKey": ForwardRef('SshPublicKey', module='types') + key "sshPublicKey": ForwardRef('SshPublicKeyPatch', module='types') enabled: Union[str, ConsoleEnabled] expiration: str - ssh_public_key: SshPublicKey + ssh_public_key: SshPublicKeyPatch class azure.mgmt.networkcloud.types.ConsoleProperties(TypedDict, total=False): @@ -10969,6 +12561,13 @@ namespace azure.mgmt.networkcloud.types version: str + class azure.mgmt.networkcloud.types.FilterDevices(TypedDict, total=False): + bareMetalMachineNames: list[str] + bare_metal_machine_names: list[str] + rackNames: list[str] + rack_names: list[str] + + class azure.mgmt.networkcloud.types.HardwareInventory(TypedDict, total=False): key "additionalHostInformation": str additional_host_information: str @@ -11010,6 +12609,15 @@ namespace azure.mgmt.networkcloud.types username: str + class azure.mgmt.networkcloud.types.ImageRepositoryCredentialsPatch(TypedDict, total=False): + key "password": str + key "registryUrl": str + key "username": str + password: str + registry_url: str + username: str + + class azure.mgmt.networkcloud.types.InitialAgentPoolConfiguration(TypedDict, total=False): key "administratorConfiguration": ForwardRef('AdministratorConfiguration', module='types') key "agentOptions": ForwardRef('AgentOptions', module='types') @@ -11228,6 +12836,44 @@ namespace azure.mgmt.networkcloud.types value: str + class azure.mgmt.networkcloud.types.KubernetesVersion(TrackedResource): + key "etag": str + key "extendedLocation": Required[ExtendedLocation] + key "id": str + key "location": Required[str] + key "name": str + key "properties": Required[KubernetesVersionProperties] + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + etag: str + extended_location: ExtendedLocation + id: str + location: str + name: str + properties: KubernetesVersionProperties + system_data: SystemData + tags: dict[str, str] + type: str + + + class azure.mgmt.networkcloud.types.KubernetesVersionPatchParameters(TypedDict, total=False): + tags: dict[str, str] + + + class azure.mgmt.networkcloud.types.KubernetesVersionProperties(TypedDict, total=False): + key "provisioningState": Union[str, KubernetesVersionProvisioningState] + provisioning_state: Union[str, KubernetesVersionProvisioningState] + values: list[KubernetesVersionValue] + values_property: list[KubernetesVersionValue] + + + class azure.mgmt.networkcloud.types.KubernetesVersionValue(TypedDict, total=False): + key "description": str + key "version": str + description: str + version: str + + class azure.mgmt.networkcloud.types.L2Network(TrackedResource): key "etag": str key "extendedLocation": Required[ExtendedLocation] @@ -11478,6 +13124,23 @@ namespace azure.mgmt.networkcloud.types storage_appliance_configuration_data: list[StorageApplianceConfigurationData] + class azure.mgmt.networkcloud.types.RackDefinitionPatch(TypedDict, total=False): + key "availabilityZone": str + key "networkRackId": str + key "rackLocation": str + key "rackSerialNumber": str + key "rackSkuId": str + availability_zone: str + bareMetalMachineConfigurationData: list[BareMetalMachineConfigurationDataPatch] + bare_metal_machine_configuration_data: list[BareMetalMachineConfigurationDataPatch] + network_rack_id: str + rack_location: str + rack_serial_number: str + rack_sku_id: str + storageApplianceConfigurationData: list[StorageApplianceConfigurationDataPatch] + storage_appliance_configuration_data: list[StorageApplianceConfigurationDataPatch] + + class azure.mgmt.networkcloud.types.RackPatchParameters(TypedDict, total=False): key "properties": ForwardRef('RacksPatchProperties', module='types') properties: RacksPatchProperties @@ -11522,18 +13185,37 @@ namespace azure.mgmt.networkcloud.types class azure.mgmt.networkcloud.types.RuntimeProtectionConfiguration(TypedDict, total=False): + key "definitionUpdateMode": Union[str, RuntimeProtectionDefinitionUpdateMode] key "enforcementLevel": Union[str, RuntimeProtectionEnforcementLevel] + definition_update_mode: Union[str, RuntimeProtectionDefinitionUpdateMode] + enforcement_level: Union[str, RuntimeProtectionEnforcementLevel] + + + class azure.mgmt.networkcloud.types.RuntimeProtectionConfigurationPatch(TypedDict, total=False): + key "definitionUpdateMode": Union[str, RuntimeProtectionDefinitionUpdateMode] + key "enforcementLevel": Union[str, RuntimeProtectionEnforcementLevel] + definition_update_mode: Union[str, RuntimeProtectionDefinitionUpdateMode] enforcement_level: Union[str, RuntimeProtectionEnforcementLevel] class azure.mgmt.networkcloud.types.RuntimeProtectionStatus(TypedDict, total=False): + key "agentHealthStatus": Union[str, RuntimeProtectionAgentHealthStatus] + key "agentLicenseStatus": Union[str, RuntimeProtectionAgentLicenseStatus] + key "definitionUpdateMode": Union[str, RuntimeProtectionDefinitionUpdateMode] key "definitionsLastUpdated": str key "definitionsVersion": str + key "enforcementLevel": Union[str, RuntimeProtectionEnforcementLevel] key "scanCompletedTime": str key "scanScheduledTime": str key "scanStartedTime": str + agentHealthStatusIssues: list[str] + agent_health_status: Union[str, RuntimeProtectionAgentHealthStatus] + agent_health_status_issues: list[str] + agent_license_status: Union[str, RuntimeProtectionAgentLicenseStatus] + definition_update_mode: Union[str, RuntimeProtectionDefinitionUpdateMode] definitions_last_updated: str definitions_version: str + enforcement_level: Union[str, RuntimeProtectionEnforcementLevel] scan_completed_time: str scan_scheduled_time: str scan_started_time: str @@ -11604,11 +13286,27 @@ namespace azure.mgmt.networkcloud.types tenant_id: str + class azure.mgmt.networkcloud.types.ServicePrincipalInformationPatch(TypedDict, total=False): + key "applicationId": str + key "password": str + key "principalId": str + key "tenantId": str + application_id: str + password: str + principal_id: str + tenant_id: str + + class azure.mgmt.networkcloud.types.SshPublicKey(TypedDict, total=False): key "keyData": Required[str] key_data: str + class azure.mgmt.networkcloud.types.SshPublicKeyPatch(TypedDict, total=False): + key "keyData": str + key_data: str + + class azure.mgmt.networkcloud.types.StepState(TypedDict, total=False): key "endTime": str key "message": str @@ -11659,11 +13357,36 @@ namespace azure.mgmt.networkcloud.types storage_appliance_name: str + class azure.mgmt.networkcloud.types.StorageApplianceConfigurationDataPatch(TypedDict, total=False): + key "adminCredentials": ForwardRef('AdministrativeCredentialsPatch', module='types') + key "rackSlot": int + key "serialNumber": str + key "storageApplianceName": str + admin_credentials: AdministrativeCredentialsPatch + rack_slot: int + serial_number: str + storage_appliance_name: str + + class azure.mgmt.networkcloud.types.StorageApplianceEnableRemoteVendorManagementParameters(TypedDict, total=False): supportEndpoints: list[str] support_endpoints: list[str] + class azure.mgmt.networkcloud.types.StorageApplianceExpansionShelf(TypedDict, total=False): + key "model": str + key "version": str + model: str + version: str + + + class azure.mgmt.networkcloud.types.StorageApplianceMonitoringConfigurationStatus(TypedDict, total=False): + key "logLevel": Union[str, StorageApplianceMonitoringConfigurationStatusLogLevel] + key "metricsLevel": Union[str, StorageApplianceMonitoringConfigurationStatusMetricsLevel] + log_level: Union[str, StorageApplianceMonitoringConfigurationStatusLogLevel] + metrics_level: Union[str, StorageApplianceMonitoringConfigurationStatusMetricsLevel] + + class azure.mgmt.networkcloud.types.StorageAppliancePatchParameters(TypedDict, total=False): key "properties": ForwardRef('StorageAppliancePatchProperties', module='types') properties: StorageAppliancePatchProperties @@ -11686,6 +13409,7 @@ namespace azure.mgmt.networkcloud.types key "managementIpv4Address": str key "manufacturer": str key "model": str + key "monitoringConfigurationStatus": ForwardRef('StorageApplianceMonitoringConfigurationStatus', module='types') key "provisioningState": Union[str, StorageApplianceProvisioningState] key "rackId": Required[str] key "rackSlot": Required[int] @@ -11701,9 +13425,12 @@ namespace azure.mgmt.networkcloud.types cluster_id: str detailed_status: Union[str, StorageApplianceDetailedStatus] detailed_status_message: str + expansionShelves: list[StorageApplianceExpansionShelf] + expansion_shelves: list[StorageApplianceExpansionShelf] management_ipv4_address: str manufacturer: str model: str + monitoring_configuration_status: StorageApplianceMonitoringConfigurationStatus provisioning_state: Union[str, StorageApplianceProvisioningState] rack_id: str rack_slot: int @@ -11838,6 +13565,15 @@ namespace azure.mgmt.networkcloud.types value: int + class azure.mgmt.networkcloud.types.ValidationThresholdPatch(TypedDict, total=False): + key "grouping": Union[str, ValidationThresholdGrouping] + key "type": Union[str, ValidationThresholdType] + key "value": int + grouping: Union[str, ValidationThresholdGrouping] + type: Union[str, ValidationThresholdType] + value: int + + class azure.mgmt.networkcloud.types.VirtualMachine(TrackedResource): key "etag": str key "extendedLocation": Required[ExtendedLocation] @@ -11876,8 +13612,8 @@ namespace azure.mgmt.networkcloud.types class azure.mgmt.networkcloud.types.VirtualMachinePatchProperties(TypedDict, total=False): - key "vmImageRepositoryCredentials": ForwardRef('ImageRepositoryCredentials', module='types') - vm_image_repository_credentials: ImageRepositoryCredentials + key "vmImageRepositoryCredentials": ForwardRef('ImageRepositoryCredentialsPatch', module='types') + vm_image_repository_credentials: ImageRepositoryCredentialsPatch class azure.mgmt.networkcloud.types.VirtualMachinePlacementHint(TypedDict, total=False): @@ -11978,6 +13714,7 @@ namespace azure.mgmt.networkcloud.types class azure.mgmt.networkcloud.types.VolumeProperties(TypedDict, total=False): key "allocatedSizeMiB": int + key "assignedStorageApplianceId": str key "detailedStatus": Union[str, VolumeDetailedStatus] key "detailedStatusMessage": str key "provisioningState": Union[str, VolumeProvisioningState] @@ -11985,6 +13722,7 @@ namespace azure.mgmt.networkcloud.types key "sizeMiB": Required[int] key "storageApplianceId": str allocated_size_mi_b: int + assigned_storage_appliance_id: str attachedTo: list[str] attached_to: list[str] detailed_status: Union[str, VolumeDetailedStatus] diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/api.metadata.yml b/sdk/networkcloud/azure-mgmt-networkcloud/api.metadata.yml index 8e696ebc8d93..d6fb24d1b8d8 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/api.metadata.yml +++ b/sdk/networkcloud/azure-mgmt-networkcloud/api.metadata.yml @@ -1,3 +1,3 @@ -apiMdSha256: da1a90e6d9fb7a54fe53dd0ff50d4b41174e83aa171dd0e3eacfdddad0d5eeb7 +apiMdSha256: 663d919f3795dc667767eb66a746ef00d90247578cc24f838a4bb1819fff3225 parserVersion: 0.3.28 pythonVersion: 3.13.14 diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/apiview-properties.json b/sdk/networkcloud/azure-mgmt-networkcloud/apiview-properties.json index 7db0988bca34..dba76ac7dee4 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/apiview-properties.json +++ b/sdk/networkcloud/azure-mgmt-networkcloud/apiview-properties.json @@ -2,13 +2,20 @@ "CrossLanguagePackageId": "Microsoft.NetworkCloud", "CrossLanguageDefinitionId": { "azure.mgmt.networkcloud.models.AadConfiguration": "Microsoft.NetworkCloud.AadConfiguration", + "azure.mgmt.networkcloud.models.Resource": "Azure.ResourceManager.CommonTypes.Resource", + "azure.mgmt.networkcloud.models.TrackedResource": "Azure.ResourceManager.CommonTypes.TrackedResource", + "azure.mgmt.networkcloud.models.AccessBridge": "Microsoft.NetworkCloud.AccessBridge", + "azure.mgmt.networkcloud.models.AccessBridgeEndpoint": "Microsoft.NetworkCloud.AccessBridgeEndpoint", + "azure.mgmt.networkcloud.models.AccessBridgePatchParameters": "Microsoft.NetworkCloud.AccessBridgePatchParameters", + "azure.mgmt.networkcloud.models.AccessBridgePatchProperties": "Microsoft.NetworkCloud.AccessBridgePatchProperties", + "azure.mgmt.networkcloud.models.AccessBridgeProperties": "Microsoft.NetworkCloud.AccessBridgeProperties", + "azure.mgmt.networkcloud.models.AccessBridgeSecurityRule": "Microsoft.NetworkCloud.AccessBridgeSecurityRule", "azure.mgmt.networkcloud.models.ActionState": "Microsoft.NetworkCloud.ActionState", "azure.mgmt.networkcloud.models.AdministrativeCredentials": "Microsoft.NetworkCloud.AdministrativeCredentials", + "azure.mgmt.networkcloud.models.AdministrativeCredentialsPatch": "Microsoft.NetworkCloud.AdministrativeCredentialsPatch", "azure.mgmt.networkcloud.models.AdministratorConfiguration": "Microsoft.NetworkCloud.AdministratorConfiguration", "azure.mgmt.networkcloud.models.AdministratorConfigurationPatch": "Microsoft.NetworkCloud.AdministratorConfigurationPatch", "azure.mgmt.networkcloud.models.AgentOptions": "Microsoft.NetworkCloud.AgentOptions", - "azure.mgmt.networkcloud.models.Resource": "Azure.ResourceManager.CommonTypes.Resource", - "azure.mgmt.networkcloud.models.TrackedResource": "Azure.ResourceManager.CommonTypes.TrackedResource", "azure.mgmt.networkcloud.models.AgentPool": "Microsoft.NetworkCloud.AgentPool", "azure.mgmt.networkcloud.models.AgentPoolPatchParameters": "Microsoft.NetworkCloud.AgentPoolPatchParameters", "azure.mgmt.networkcloud.models.AgentPoolPatchProperties": "Microsoft.NetworkCloud.AgentPoolPatchProperties", @@ -20,15 +27,18 @@ "azure.mgmt.networkcloud.models.BareMetalMachine": "Microsoft.NetworkCloud.BareMetalMachine", "azure.mgmt.networkcloud.models.BareMetalMachineCommandSpecification": "Microsoft.NetworkCloud.BareMetalMachineCommandSpecification", "azure.mgmt.networkcloud.models.BareMetalMachineConfigurationData": "Microsoft.NetworkCloud.BareMetalMachineConfigurationData", + "azure.mgmt.networkcloud.models.BareMetalMachineConfigurationDataPatch": "Microsoft.NetworkCloud.BareMetalMachineConfigurationDataPatch", "azure.mgmt.networkcloud.models.BareMetalMachineCordonParameters": "Microsoft.NetworkCloud.BareMetalMachineCordonParameters", "azure.mgmt.networkcloud.models.BareMetalMachineKeySet": "Microsoft.NetworkCloud.BareMetalMachineKeySet", "azure.mgmt.networkcloud.models.BareMetalMachineKeySetPatchParameters": "Microsoft.NetworkCloud.BareMetalMachineKeySetPatchParameters", "azure.mgmt.networkcloud.models.BareMetalMachineKeySetPatchProperties": "Microsoft.NetworkCloud.BareMetalMachineKeySetPatchProperties", "azure.mgmt.networkcloud.models.BareMetalMachineKeySetProperties": "Microsoft.NetworkCloud.BareMetalMachineKeySetProperties", + "azure.mgmt.networkcloud.models.BareMetalMachineMonitoringConfigurationStatus": "Microsoft.NetworkCloud.BareMetalMachineMonitoringConfigurationStatus", "azure.mgmt.networkcloud.models.BareMetalMachinePatchParameters": "Microsoft.NetworkCloud.BareMetalMachinePatchParameters", "azure.mgmt.networkcloud.models.BareMetalMachinePatchProperties": "Microsoft.NetworkCloud.BareMetalMachinePatchProperties", "azure.mgmt.networkcloud.models.BareMetalMachinePowerOffParameters": "Microsoft.NetworkCloud.BareMetalMachinePowerOffParameters", "azure.mgmt.networkcloud.models.BareMetalMachineProperties": "Microsoft.NetworkCloud.BareMetalMachineProperties", + "azure.mgmt.networkcloud.models.BareMetalMachineReimageParameters": "Microsoft.NetworkCloud.BareMetalMachineReimageParameters", "azure.mgmt.networkcloud.models.BareMetalMachineReplaceParameters": "Microsoft.NetworkCloud.BareMetalMachineReplaceParameters", "azure.mgmt.networkcloud.models.BareMetalMachineRunCommandParameters": "Microsoft.NetworkCloud.BareMetalMachineRunCommandParameters", "azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters": "Microsoft.NetworkCloud.BareMetalMachineRunDataExtractsParameters", @@ -53,9 +63,12 @@ "azure.mgmt.networkcloud.models.ClusterCapacity": "Microsoft.NetworkCloud.ClusterCapacity", "azure.mgmt.networkcloud.models.ClusterContinueUpdateVersionParameters": "Microsoft.NetworkCloud.ClusterContinueUpdateVersionParameters", "azure.mgmt.networkcloud.models.ClusterDeployParameters": "Microsoft.NetworkCloud.ClusterDeployParameters", + "azure.mgmt.networkcloud.models.ClusterInspectParameters": "Microsoft.NetworkCloud.ClusterInspectParameters", "azure.mgmt.networkcloud.models.ClusterManager": "Microsoft.NetworkCloud.ClusterManager", "azure.mgmt.networkcloud.models.ClusterManagerPatchParameters": "Microsoft.NetworkCloud.ClusterManagerPatchParameters", "azure.mgmt.networkcloud.models.ClusterManagerProperties": "Microsoft.NetworkCloud.ClusterManagerProperties", + "azure.mgmt.networkcloud.models.ClusterManagerRelayConfiguration": "Microsoft.NetworkCloud.ClusterManagerRelayConfiguration", + "azure.mgmt.networkcloud.models.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters": "Microsoft.NetworkCloud.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters", "azure.mgmt.networkcloud.models.ClusterMetricsConfiguration": "Microsoft.NetworkCloud.ClusterMetricsConfiguration", "azure.mgmt.networkcloud.models.ClusterMetricsConfigurationPatchParameters": "Microsoft.NetworkCloud.ClusterMetricsConfigurationPatchParameters", "azure.mgmt.networkcloud.models.ClusterMetricsConfigurationPatchProperties": "Microsoft.NetworkCloud.ClusterMetricsConfigurationPatchProperties", @@ -63,9 +76,12 @@ "azure.mgmt.networkcloud.models.ClusterPatchParameters": "Microsoft.NetworkCloud.ClusterPatchParameters", "azure.mgmt.networkcloud.models.ClusterPatchProperties": "Microsoft.NetworkCloud.ClusterPatchProperties", "azure.mgmt.networkcloud.models.ClusterProperties": "Microsoft.NetworkCloud.ClusterProperties", + "azure.mgmt.networkcloud.models.ClusterRotateCredentialParameters": "Microsoft.NetworkCloud.ClusterRotateCredentialParameters", "azure.mgmt.networkcloud.models.ClusterScanRuntimeParameters": "Microsoft.NetworkCloud.ClusterScanRuntimeParameters", "azure.mgmt.networkcloud.models.ClusterSecretArchive": "Microsoft.NetworkCloud.ClusterSecretArchive", + "azure.mgmt.networkcloud.models.ClusterSecretArchivePatch": "Microsoft.NetworkCloud.ClusterSecretArchivePatch", "azure.mgmt.networkcloud.models.ClusterUpdateStrategy": "Microsoft.NetworkCloud.ClusterUpdateStrategy", + "azure.mgmt.networkcloud.models.ClusterUpdateStrategyPatch": "Microsoft.NetworkCloud.ClusterUpdateStrategyPatch", "azure.mgmt.networkcloud.models.ClusterUpdateVersionParameters": "Microsoft.NetworkCloud.ClusterUpdateVersionParameters", "azure.mgmt.networkcloud.models.CommandOutputOverride": "Microsoft.NetworkCloud.CommandOutputOverride", "azure.mgmt.networkcloud.models.CommandOutputSettings": "Microsoft.NetworkCloud.CommandOutputSettings", @@ -82,11 +98,13 @@ "azure.mgmt.networkcloud.models.ErrorResponse": "Azure.ResourceManager.CommonTypes.ErrorResponse", "azure.mgmt.networkcloud.models.ExtendedLocation": "Azure.ResourceManager.CommonTypes.ExtendedLocation", "azure.mgmt.networkcloud.models.FeatureStatus": "Microsoft.NetworkCloud.FeatureStatus", + "azure.mgmt.networkcloud.models.FilterDevices": "Microsoft.NetworkCloud.FilterDevices", "azure.mgmt.networkcloud.models.HardwareInventory": "Microsoft.NetworkCloud.HardwareInventory", "azure.mgmt.networkcloud.models.HardwareInventoryNetworkInterface": "Microsoft.NetworkCloud.HardwareInventoryNetworkInterface", "azure.mgmt.networkcloud.models.HardwareValidationStatus": "Microsoft.NetworkCloud.HardwareValidationStatus", "azure.mgmt.networkcloud.models.IdentitySelector": "Microsoft.NetworkCloud.IdentitySelector", "azure.mgmt.networkcloud.models.ImageRepositoryCredentials": "Microsoft.NetworkCloud.ImageRepositoryCredentials", + "azure.mgmt.networkcloud.models.ImageRepositoryCredentialsPatch": "Microsoft.NetworkCloud.ImageRepositoryCredentialsPatch", "azure.mgmt.networkcloud.models.InitialAgentPoolConfiguration": "Microsoft.NetworkCloud.InitialAgentPoolConfiguration", "azure.mgmt.networkcloud.models.IpAddressPool": "Microsoft.NetworkCloud.IpAddressPool", "azure.mgmt.networkcloud.models.KeySetUser": "Microsoft.NetworkCloud.KeySetUser", @@ -102,6 +120,10 @@ "azure.mgmt.networkcloud.models.KubernetesClusterProperties": "Microsoft.NetworkCloud.KubernetesClusterProperties", "azure.mgmt.networkcloud.models.KubernetesClusterRestartNodeParameters": "Microsoft.NetworkCloud.KubernetesClusterRestartNodeParameters", "azure.mgmt.networkcloud.models.KubernetesLabel": "Microsoft.NetworkCloud.KubernetesLabel", + "azure.mgmt.networkcloud.models.KubernetesVersion": "Microsoft.NetworkCloud.KubernetesVersion", + "azure.mgmt.networkcloud.models.KubernetesVersionPatchParameters": "Microsoft.NetworkCloud.KubernetesVersionPatchParameters", + "azure.mgmt.networkcloud.models.KubernetesVersionProperties": "Microsoft.NetworkCloud.KubernetesVersionProperties", + "azure.mgmt.networkcloud.models.KubernetesVersionValue": "Microsoft.NetworkCloud.KubernetesVersionValue", "azure.mgmt.networkcloud.models.L2Network": "Microsoft.NetworkCloud.L2Network", "azure.mgmt.networkcloud.models.L2NetworkAttachmentConfiguration": "Microsoft.NetworkCloud.L2NetworkAttachmentConfiguration", "azure.mgmt.networkcloud.models.L2NetworkPatchParameters": "Microsoft.NetworkCloud.L2NetworkPatchParameters", @@ -130,24 +152,31 @@ "azure.mgmt.networkcloud.models.ProxyResource": "Azure.ResourceManager.CommonTypes.ProxyResource", "azure.mgmt.networkcloud.models.Rack": "Microsoft.NetworkCloud.Rack", "azure.mgmt.networkcloud.models.RackDefinition": "Microsoft.NetworkCloud.RackDefinition", + "azure.mgmt.networkcloud.models.RackDefinitionPatch": "Microsoft.NetworkCloud.RackDefinitionPatch", "azure.mgmt.networkcloud.models.RackPatchParameters": "Microsoft.NetworkCloud.RackPatchParameters", "azure.mgmt.networkcloud.models.RackProperties": "Microsoft.NetworkCloud.RackProperties", "azure.mgmt.networkcloud.models.RackSku": "Microsoft.NetworkCloud.RackSku", "azure.mgmt.networkcloud.models.RackSkuProperties": "Microsoft.NetworkCloud.RackSkuProperties", "azure.mgmt.networkcloud.models.RacksPatchProperties": "Microsoft.NetworkCloud.RacksPatchProperties", "azure.mgmt.networkcloud.models.RuntimeProtectionConfiguration": "Microsoft.NetworkCloud.RuntimeProtectionConfiguration", + "azure.mgmt.networkcloud.models.RuntimeProtectionConfigurationPatch": "Microsoft.NetworkCloud.RuntimeProtectionConfigurationPatch", "azure.mgmt.networkcloud.models.RuntimeProtectionStatus": "Microsoft.NetworkCloud.RuntimeProtectionStatus", "azure.mgmt.networkcloud.models.SecretArchiveReference": "Microsoft.NetworkCloud.SecretArchiveReference", "azure.mgmt.networkcloud.models.SecretArchiveSettings": "Microsoft.NetworkCloud.SecretArchiveSettings", "azure.mgmt.networkcloud.models.SecretRotationStatus": "Microsoft.NetworkCloud.SecretRotationStatus", "azure.mgmt.networkcloud.models.ServiceLoadBalancerBgpPeer": "Microsoft.NetworkCloud.ServiceLoadBalancerBgpPeer", "azure.mgmt.networkcloud.models.ServicePrincipalInformation": "Microsoft.NetworkCloud.ServicePrincipalInformation", + "azure.mgmt.networkcloud.models.ServicePrincipalInformationPatch": "Microsoft.NetworkCloud.ServicePrincipalInformationPatch", "azure.mgmt.networkcloud.models.SshPublicKey": "Microsoft.NetworkCloud.SshPublicKey", + "azure.mgmt.networkcloud.models.SshPublicKeyPatch": "Microsoft.NetworkCloud.SshPublicKeyPatch", "azure.mgmt.networkcloud.models.StepState": "Microsoft.NetworkCloud.StepState", "azure.mgmt.networkcloud.models.StorageAppliance": "Microsoft.NetworkCloud.StorageAppliance", "azure.mgmt.networkcloud.models.StorageApplianceCommandSpecification": "Microsoft.NetworkCloud.StorageApplianceCommandSpecification", "azure.mgmt.networkcloud.models.StorageApplianceConfigurationData": "Microsoft.NetworkCloud.StorageApplianceConfigurationData", + "azure.mgmt.networkcloud.models.StorageApplianceConfigurationDataPatch": "Microsoft.NetworkCloud.StorageApplianceConfigurationDataPatch", "azure.mgmt.networkcloud.models.StorageApplianceEnableRemoteVendorManagementParameters": "Microsoft.NetworkCloud.StorageApplianceEnableRemoteVendorManagementParameters", + "azure.mgmt.networkcloud.models.StorageApplianceExpansionShelf": "Microsoft.NetworkCloud.StorageApplianceExpansionShelf", + "azure.mgmt.networkcloud.models.StorageApplianceMonitoringConfigurationStatus": "Microsoft.NetworkCloud.StorageApplianceMonitoringConfigurationStatus", "azure.mgmt.networkcloud.models.StorageAppliancePatchParameters": "Microsoft.NetworkCloud.StorageAppliancePatchParameters", "azure.mgmt.networkcloud.models.StorageAppliancePatchProperties": "Microsoft.NetworkCloud.StorageAppliancePatchProperties", "azure.mgmt.networkcloud.models.StorageApplianceProperties": "Microsoft.NetworkCloud.StorageApplianceProperties", @@ -163,6 +192,7 @@ "azure.mgmt.networkcloud.models.TrunkedNetworkProperties": "Microsoft.NetworkCloud.TrunkedNetworkProperties", "azure.mgmt.networkcloud.models.UserAssignedIdentity": "Azure.ResourceManager.CommonTypes.UserAssignedIdentity", "azure.mgmt.networkcloud.models.ValidationThreshold": "Microsoft.NetworkCloud.ValidationThreshold", + "azure.mgmt.networkcloud.models.ValidationThresholdPatch": "Microsoft.NetworkCloud.ValidationThresholdPatch", "azure.mgmt.networkcloud.models.VirtualMachine": "Microsoft.NetworkCloud.VirtualMachine", "azure.mgmt.networkcloud.models.VirtualMachineAssignRelayParameters": "Microsoft.NetworkCloud.VirtualMachineAssignRelayParameters", "azure.mgmt.networkcloud.models.VirtualMachinePatchParameters": "Microsoft.NetworkCloud.VirtualMachinePatchParameters", @@ -178,17 +208,29 @@ "azure.mgmt.networkcloud.models.Origin": "Azure.ResourceManager.CommonTypes.Origin", "azure.mgmt.networkcloud.models.ActionType": "Azure.ResourceManager.CommonTypes.ActionType", "azure.mgmt.networkcloud.models.CreatedByType": "Azure.ResourceManager.CommonTypes.createdByType", + "azure.mgmt.networkcloud.models.SecurityRuleDirection": "Microsoft.NetworkCloud.SecurityRuleDirection", + "azure.mgmt.networkcloud.models.AccessBridgeDetailedStatus": "Microsoft.NetworkCloud.AccessBridgeDetailedStatus", + "azure.mgmt.networkcloud.models.TransportProtocol": "Microsoft.NetworkCloud.TransportProtocol", + "azure.mgmt.networkcloud.models.AccessBridgeProvisioningState": "Microsoft.NetworkCloud.AccessBridgeProvisioningState", + "azure.mgmt.networkcloud.models.ExtendedLocationType": "Azure.ResourceManager.CommonTypes.ExtendedLocationType", + "azure.mgmt.networkcloud.models.AccessBridgeAllowedName": "Microsoft.NetworkCloud.AccessBridgeAllowedName", "azure.mgmt.networkcloud.models.ActionStateStatus": "Microsoft.NetworkCloud.ActionStateStatus", "azure.mgmt.networkcloud.models.StepStateStatus": "Microsoft.NetworkCloud.StepStateStatus", "azure.mgmt.networkcloud.models.BareMetalMachineCordonStatus": "Microsoft.NetworkCloud.BareMetalMachineCordonStatus", "azure.mgmt.networkcloud.models.BareMetalMachineDetailedStatus": "Microsoft.NetworkCloud.BareMetalMachineDetailedStatus", "azure.mgmt.networkcloud.models.BareMetalMachineHardwareValidationResult": "Microsoft.NetworkCloud.BareMetalMachineHardwareValidationResult", + "azure.mgmt.networkcloud.models.BareMetalMachineMonitoringConfigurationStatusLogLevel": "Microsoft.NetworkCloud.BareMetalMachineMonitoringConfigurationStatusLogLevel", + "azure.mgmt.networkcloud.models.BareMetalMachineMonitoringConfigurationStatusMetricsLevel": "Microsoft.NetworkCloud.BareMetalMachineMonitoringConfigurationStatusMetricsLevel", "azure.mgmt.networkcloud.models.BareMetalMachinePowerState": "Microsoft.NetworkCloud.BareMetalMachinePowerState", "azure.mgmt.networkcloud.models.BareMetalMachineReadyState": "Microsoft.NetworkCloud.BareMetalMachineReadyState", + "azure.mgmt.networkcloud.models.RuntimeProtectionAgentHealthStatus": "Microsoft.NetworkCloud.RuntimeProtectionAgentHealthStatus", + "azure.mgmt.networkcloud.models.RuntimeProtectionAgentLicenseStatus": "Microsoft.NetworkCloud.RuntimeProtectionAgentLicenseStatus", + "azure.mgmt.networkcloud.models.RuntimeProtectionDefinitionUpdateMode": "Microsoft.NetworkCloud.RuntimeProtectionDefinitionUpdateMode", + "azure.mgmt.networkcloud.models.RuntimeProtectionEnforcementLevel": "Microsoft.NetworkCloud.RuntimeProtectionEnforcementLevel", "azure.mgmt.networkcloud.models.BareMetalMachineProvisioningState": "Microsoft.NetworkCloud.BareMetalMachineProvisioningState", - "azure.mgmt.networkcloud.models.ExtendedLocationType": "Azure.ResourceManager.CommonTypes.ExtendedLocationType", "azure.mgmt.networkcloud.models.BareMetalMachineEvacuate": "Microsoft.NetworkCloud.BareMetalMachineEvacuate", "azure.mgmt.networkcloud.models.BareMetalMachineSkipShutdown": "Microsoft.NetworkCloud.BareMetalMachineSkipShutdown", + "azure.mgmt.networkcloud.models.BareMetalMachineReimageSafeguardMode": "Microsoft.NetworkCloud.BareMetalMachineReimageSafeguardMode", "azure.mgmt.networkcloud.models.BareMetalMachineReplaceSafeguardMode": "Microsoft.NetworkCloud.BareMetalMachineReplaceSafeguardMode", "azure.mgmt.networkcloud.models.BareMetalMachineReplaceStoragePolicy": "Microsoft.NetworkCloud.BareMetalMachineReplaceStoragePolicy", "azure.mgmt.networkcloud.models.CloudServicesNetworkEnableDefaultEgressEndpoints": "Microsoft.NetworkCloud.CloudServicesNetworkEnableDefaultEgressEndpoints", @@ -199,12 +241,13 @@ "azure.mgmt.networkcloud.models.ClusterManagerDetailedStatus": "Microsoft.NetworkCloud.ClusterManagerDetailedStatus", "azure.mgmt.networkcloud.models.ClusterManagerProvisioningState": "Microsoft.NetworkCloud.ClusterManagerProvisioningState", "azure.mgmt.networkcloud.models.ManagedServiceIdentityType": "Azure.ResourceManager.CommonTypes.ManagedServiceIdentityType", + "azure.mgmt.networkcloud.models.DeploymentType": "Microsoft.NetworkCloud.DeploymentType", + "azure.mgmt.networkcloud.models.RelayPrivateEndpointConnectionState": "Microsoft.NetworkCloud.RelayPrivateEndpointConnectionState", "azure.mgmt.networkcloud.models.ManagedServiceIdentitySelectorType": "Microsoft.NetworkCloud.ManagedServiceIdentitySelectorType", "azure.mgmt.networkcloud.models.ClusterType": "Microsoft.NetworkCloud.ClusterType", "azure.mgmt.networkcloud.models.CommandOutputType": "Microsoft.NetworkCloud.CommandOutputType", "azure.mgmt.networkcloud.models.ValidationThresholdGrouping": "Microsoft.NetworkCloud.ValidationThresholdGrouping", "azure.mgmt.networkcloud.models.ValidationThresholdType": "Microsoft.NetworkCloud.ValidationThresholdType", - "azure.mgmt.networkcloud.models.RuntimeProtectionEnforcementLevel": "Microsoft.NetworkCloud.RuntimeProtectionEnforcementLevel", "azure.mgmt.networkcloud.models.ClusterSecretArchiveEnabled": "Microsoft.NetworkCloud.ClusterSecretArchiveEnabled", "azure.mgmt.networkcloud.models.ClusterUpdateStrategyType": "Microsoft.NetworkCloud.ClusterUpdateStrategyType", "azure.mgmt.networkcloud.models.VulnerabilityScanningSettingsContainerScan": "Microsoft.NetworkCloud.VulnerabilityScanningSettingsContainerScan", @@ -215,7 +258,10 @@ "azure.mgmt.networkcloud.models.ClusterDetailedStatus": "Microsoft.NetworkCloud.ClusterDetailedStatus", "azure.mgmt.networkcloud.models.ClusterProvisioningState": "Microsoft.NetworkCloud.ClusterProvisioningState", "azure.mgmt.networkcloud.models.ClusterContinueUpdateVersionMachineGroupTargetingMode": "Microsoft.NetworkCloud.ClusterContinueUpdateVersionMachineGroupTargetingMode", + "azure.mgmt.networkcloud.models.ClusterContinueUpdateVersionSafeguardMode": "Microsoft.NetworkCloud.ClusterContinueUpdateVersionSafeguardMode", + "azure.mgmt.networkcloud.models.ClusterInspectAdditionalAction": "Microsoft.NetworkCloud.ClusterInspectAdditionalAction", "azure.mgmt.networkcloud.models.ClusterScanRuntimeParametersScanActivity": "Microsoft.NetworkCloud.ClusterScanRuntimeParametersScanActivity", + "azure.mgmt.networkcloud.models.ClusterUpdateVersionSafeguardMode": "Microsoft.NetworkCloud.ClusterUpdateVersionSafeguardMode", "azure.mgmt.networkcloud.models.HugepagesSize": "Microsoft.NetworkCloud.HugepagesSize", "azure.mgmt.networkcloud.models.KubernetesPluginType": "Microsoft.NetworkCloud.KubernetesPluginType", "azure.mgmt.networkcloud.models.L3NetworkConfigurationIpamEnabled": "Microsoft.NetworkCloud.L3NetworkConfigurationIpamEnabled", @@ -233,6 +279,7 @@ "azure.mgmt.networkcloud.models.KubernetesNodePowerState": "Microsoft.NetworkCloud.KubernetesNodePowerState", "azure.mgmt.networkcloud.models.KubernetesNodeRole": "Microsoft.NetworkCloud.KubernetesNodeRole", "azure.mgmt.networkcloud.models.KubernetesClusterProvisioningState": "Microsoft.NetworkCloud.KubernetesClusterProvisioningState", + "azure.mgmt.networkcloud.models.KubernetesVersionProvisioningState": "Microsoft.NetworkCloud.KubernetesVersionProvisioningState", "azure.mgmt.networkcloud.models.HybridAksPluginType": "Microsoft.NetworkCloud.HybridAksPluginType", "azure.mgmt.networkcloud.models.L2NetworkDetailedStatus": "Microsoft.NetworkCloud.L2NetworkDetailedStatus", "azure.mgmt.networkcloud.models.L2NetworkProvisioningState": "Microsoft.NetworkCloud.L2NetworkProvisioningState", @@ -249,6 +296,8 @@ "azure.mgmt.networkcloud.models.RackDetailedStatus": "Microsoft.NetworkCloud.RackDetailedStatus", "azure.mgmt.networkcloud.models.RackProvisioningState": "Microsoft.NetworkCloud.RackProvisioningState", "azure.mgmt.networkcloud.models.StorageApplianceDetailedStatus": "Microsoft.NetworkCloud.StorageApplianceDetailedStatus", + "azure.mgmt.networkcloud.models.StorageApplianceMonitoringConfigurationStatusLogLevel": "Microsoft.NetworkCloud.StorageApplianceMonitoringConfigurationStatusLogLevel", + "azure.mgmt.networkcloud.models.StorageApplianceMonitoringConfigurationStatusMetricsLevel": "Microsoft.NetworkCloud.StorageApplianceMonitoringConfigurationStatusMetricsLevel", "azure.mgmt.networkcloud.models.RemoteVendorManagementFeature": "Microsoft.NetworkCloud.RemoteVendorManagementFeature", "azure.mgmt.networkcloud.models.RemoteVendorManagementStatus": "Microsoft.NetworkCloud.RemoteVendorManagementStatus", "azure.mgmt.networkcloud.models.StorageApplianceProvisioningState": "Microsoft.NetworkCloud.StorageApplianceProvisioningState", @@ -290,6 +339,18 @@ "azure.mgmt.networkcloud.models.ClusterMetricsConfigurationProvisioningState": "Microsoft.NetworkCloud.ClusterMetricsConfigurationProvisioningState", "azure.mgmt.networkcloud.operations.Operations.list": "Azure.ResourceManager.Operations.list", "azure.mgmt.networkcloud.aio.operations.Operations.list": "Azure.ResourceManager.Operations.list", + "azure.mgmt.networkcloud.operations.AccessBridgesOperations.get": "Microsoft.NetworkCloud.AccessBridges.get", + "azure.mgmt.networkcloud.aio.operations.AccessBridgesOperations.get": "Microsoft.NetworkCloud.AccessBridges.get", + "azure.mgmt.networkcloud.operations.AccessBridgesOperations.begin_create_or_update": "Microsoft.NetworkCloud.AccessBridges.createOrUpdate", + "azure.mgmt.networkcloud.aio.operations.AccessBridgesOperations.begin_create_or_update": "Microsoft.NetworkCloud.AccessBridges.createOrUpdate", + "azure.mgmt.networkcloud.operations.AccessBridgesOperations.begin_update": "Microsoft.NetworkCloud.AccessBridges.update", + "azure.mgmt.networkcloud.aio.operations.AccessBridgesOperations.begin_update": "Microsoft.NetworkCloud.AccessBridges.update", + "azure.mgmt.networkcloud.operations.AccessBridgesOperations.begin_delete": "Microsoft.NetworkCloud.AccessBridges.delete", + "azure.mgmt.networkcloud.aio.operations.AccessBridgesOperations.begin_delete": "Microsoft.NetworkCloud.AccessBridges.delete", + "azure.mgmt.networkcloud.operations.AccessBridgesOperations.list_by_resource_group": "Microsoft.NetworkCloud.AccessBridges.listByResourceGroup", + "azure.mgmt.networkcloud.aio.operations.AccessBridgesOperations.list_by_resource_group": "Microsoft.NetworkCloud.AccessBridges.listByResourceGroup", + "azure.mgmt.networkcloud.operations.AccessBridgesOperations.list_by_subscription": "Microsoft.NetworkCloud.AccessBridges.listBySubscription", + "azure.mgmt.networkcloud.aio.operations.AccessBridgesOperations.list_by_subscription": "Microsoft.NetworkCloud.AccessBridges.listBySubscription", "azure.mgmt.networkcloud.operations.BareMetalMachinesOperations.get": "Microsoft.NetworkCloud.BareMetalMachines.get", "azure.mgmt.networkcloud.aio.operations.BareMetalMachinesOperations.get": "Microsoft.NetworkCloud.BareMetalMachines.get", "azure.mgmt.networkcloud.operations.BareMetalMachinesOperations.begin_create_or_update": "Microsoft.NetworkCloud.BareMetalMachines.createOrUpdate", @@ -348,6 +409,8 @@ "azure.mgmt.networkcloud.aio.operations.ClusterManagersOperations.list_by_resource_group": "Microsoft.NetworkCloud.ClusterManagers.listByResourceGroup", "azure.mgmt.networkcloud.operations.ClusterManagersOperations.list_by_subscription": "Microsoft.NetworkCloud.ClusterManagers.listBySubscription", "azure.mgmt.networkcloud.aio.operations.ClusterManagersOperations.list_by_subscription": "Microsoft.NetworkCloud.ClusterManagers.listBySubscription", + "azure.mgmt.networkcloud.operations.ClusterManagersOperations.begin_update_relay_private_endpoint_connection": "Microsoft.NetworkCloud.ClusterManagers.updateRelayPrivateEndpointConnection", + "azure.mgmt.networkcloud.aio.operations.ClusterManagersOperations.begin_update_relay_private_endpoint_connection": "Microsoft.NetworkCloud.ClusterManagers.updateRelayPrivateEndpointConnection", "azure.mgmt.networkcloud.operations.ClustersOperations.get": "Microsoft.NetworkCloud.Clusters.get", "azure.mgmt.networkcloud.aio.operations.ClustersOperations.get": "Microsoft.NetworkCloud.Clusters.get", "azure.mgmt.networkcloud.operations.ClustersOperations.begin_create_or_update": "Microsoft.NetworkCloud.Clusters.createOrUpdate", @@ -364,6 +427,10 @@ "azure.mgmt.networkcloud.aio.operations.ClustersOperations.begin_continue_update_version": "Microsoft.NetworkCloud.Clusters.continueUpdateVersion", "azure.mgmt.networkcloud.operations.ClustersOperations.begin_deploy": "Microsoft.NetworkCloud.Clusters.deploy", "azure.mgmt.networkcloud.aio.operations.ClustersOperations.begin_deploy": "Microsoft.NetworkCloud.Clusters.deploy", + "azure.mgmt.networkcloud.operations.ClustersOperations.begin_inspect": "Microsoft.NetworkCloud.Clusters.inspect", + "azure.mgmt.networkcloud.aio.operations.ClustersOperations.begin_inspect": "Microsoft.NetworkCloud.Clusters.inspect", + "azure.mgmt.networkcloud.operations.ClustersOperations.begin_rotate_credential": "Microsoft.NetworkCloud.Clusters.rotateCredential", + "azure.mgmt.networkcloud.aio.operations.ClustersOperations.begin_rotate_credential": "Microsoft.NetworkCloud.Clusters.rotateCredential", "azure.mgmt.networkcloud.operations.ClustersOperations.begin_scan_runtime": "Microsoft.NetworkCloud.Clusters.scanRuntime", "azure.mgmt.networkcloud.aio.operations.ClustersOperations.begin_scan_runtime": "Microsoft.NetworkCloud.Clusters.scanRuntime", "azure.mgmt.networkcloud.operations.ClustersOperations.begin_update_version": "Microsoft.NetworkCloud.Clusters.updateVersion", @@ -382,6 +449,18 @@ "azure.mgmt.networkcloud.aio.operations.KubernetesClustersOperations.list_by_subscription": "Microsoft.NetworkCloud.KubernetesClusters.listBySubscription", "azure.mgmt.networkcloud.operations.KubernetesClustersOperations.begin_restart_node": "Microsoft.NetworkCloud.KubernetesClusters.restartNode", "azure.mgmt.networkcloud.aio.operations.KubernetesClustersOperations.begin_restart_node": "Microsoft.NetworkCloud.KubernetesClusters.restartNode", + "azure.mgmt.networkcloud.operations.KubernetesVersionsOperations.get": "Microsoft.NetworkCloud.KubernetesVersions.get", + "azure.mgmt.networkcloud.aio.operations.KubernetesVersionsOperations.get": "Microsoft.NetworkCloud.KubernetesVersions.get", + "azure.mgmt.networkcloud.operations.KubernetesVersionsOperations.begin_create_or_update": "Microsoft.NetworkCloud.KubernetesVersions.createOrUpdate", + "azure.mgmt.networkcloud.aio.operations.KubernetesVersionsOperations.begin_create_or_update": "Microsoft.NetworkCloud.KubernetesVersions.createOrUpdate", + "azure.mgmt.networkcloud.operations.KubernetesVersionsOperations.begin_update": "Microsoft.NetworkCloud.KubernetesVersions.update", + "azure.mgmt.networkcloud.aio.operations.KubernetesVersionsOperations.begin_update": "Microsoft.NetworkCloud.KubernetesVersions.update", + "azure.mgmt.networkcloud.operations.KubernetesVersionsOperations.begin_delete": "Microsoft.NetworkCloud.KubernetesVersions.delete", + "azure.mgmt.networkcloud.aio.operations.KubernetesVersionsOperations.begin_delete": "Microsoft.NetworkCloud.KubernetesVersions.delete", + "azure.mgmt.networkcloud.operations.KubernetesVersionsOperations.list_by_resource_group": "Microsoft.NetworkCloud.KubernetesVersions.listByResourceGroup", + "azure.mgmt.networkcloud.aio.operations.KubernetesVersionsOperations.list_by_resource_group": "Microsoft.NetworkCloud.KubernetesVersions.listByResourceGroup", + "azure.mgmt.networkcloud.operations.KubernetesVersionsOperations.list_by_subscription": "Microsoft.NetworkCloud.KubernetesVersions.listBySubscription", + "azure.mgmt.networkcloud.aio.operations.KubernetesVersionsOperations.list_by_subscription": "Microsoft.NetworkCloud.KubernetesVersions.listBySubscription", "azure.mgmt.networkcloud.operations.L2NetworksOperations.get": "Microsoft.NetworkCloud.L2Networks.get", "azure.mgmt.networkcloud.aio.operations.L2NetworksOperations.get": "Microsoft.NetworkCloud.L2Networks.get", "azure.mgmt.networkcloud.operations.L2NetworksOperations.begin_create_or_update": "Microsoft.NetworkCloud.L2Networks.createOrUpdate", diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_client.py b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_client.py index 29dae5265476..c237fedb88c9 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_client.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_client.py @@ -20,6 +20,7 @@ from ._configuration import NetworkCloudMgmtClientConfiguration from ._utils.serialization import Deserializer, Serializer from .operations import ( + AccessBridgesOperations, AgentPoolsOperations, BareMetalMachineKeySetsOperations, BareMetalMachinesOperations, @@ -30,6 +31,7 @@ ConsolesOperations, KubernetesClusterFeaturesOperations, KubernetesClustersOperations, + KubernetesVersionsOperations, L2NetworksOperations, L3NetworksOperations, MetricsConfigurationsOperations, @@ -58,6 +60,8 @@ class NetworkCloudMgmtClient: # pylint: disable=too-many-instance-attributes :ivar operations: Operations operations :vartype operations: azure.mgmt.networkcloud.operations.Operations + :ivar access_bridges: AccessBridgesOperations operations + :vartype access_bridges: azure.mgmt.networkcloud.operations.AccessBridgesOperations :ivar bare_metal_machines: BareMetalMachinesOperations operations :vartype bare_metal_machines: azure.mgmt.networkcloud.operations.BareMetalMachinesOperations :ivar cloud_services_networks: CloudServicesNetworksOperations operations @@ -69,6 +73,8 @@ class NetworkCloudMgmtClient: # pylint: disable=too-many-instance-attributes :vartype clusters: azure.mgmt.networkcloud.operations.ClustersOperations :ivar kubernetes_clusters: KubernetesClustersOperations operations :vartype kubernetes_clusters: azure.mgmt.networkcloud.operations.KubernetesClustersOperations + :ivar kubernetes_versions: KubernetesVersionsOperations operations + :vartype kubernetes_versions: azure.mgmt.networkcloud.operations.KubernetesVersionsOperations :ivar l2_networks: L2NetworksOperations operations :vartype l2_networks: azure.mgmt.networkcloud.operations.L2NetworksOperations :ivar l3_networks: L3NetworksOperations operations @@ -109,7 +115,7 @@ class NetworkCloudMgmtClient: # pylint: disable=too-many-instance-attributes :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: The API version to use for this operation. Known values are "2025-09-01" + :keyword api_version: The API version to use for this operation. Known values are "2026-07-01" and None. Default value is None. If not set, the operation's default API version will be used. Note that overriding this default value may result in unsupported behavior. :paramtype api_version: str @@ -165,6 +171,7 @@ def __init__( self._deserialize = Deserializer() self._serialize.client_side_validation = False self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + self.access_bridges = AccessBridgesOperations(self._client, self._config, self._serialize, self._deserialize) self.bare_metal_machines = BareMetalMachinesOperations( self._client, self._config, self._serialize, self._deserialize ) @@ -178,6 +185,9 @@ def __init__( self.kubernetes_clusters = KubernetesClustersOperations( self._client, self._config, self._serialize, self._deserialize ) + self.kubernetes_versions = KubernetesVersionsOperations( + self._client, self._config, self._serialize, self._deserialize + ) self.l2_networks = L2NetworksOperations(self._client, self._config, self._serialize, self._deserialize) self.l3_networks = L3NetworksOperations(self._client, self._config, self._serialize, self._deserialize) self.rack_skus = RackSkusOperations(self._client, self._config, self._serialize, self._deserialize) diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_configuration.py b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_configuration.py index cd166ae86864..4554284f24e6 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_configuration.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_configuration.py @@ -33,7 +33,7 @@ class NetworkCloudMgmtClientConfiguration: # pylint: disable=too-many-instance- :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: The API version to use for this operation. Known values are "2025-09-01" + :keyword api_version: The API version to use for this operation. Known values are "2026-07-01" and None. Default value is None. If not set, the operation's default API version will be used. Note that overriding this default value may result in unsupported behavior. :paramtype api_version: str @@ -47,7 +47,7 @@ def __init__( cloud_setting: Optional["AzureClouds"] = None, **kwargs: Any ) -> None: - api_version: str = kwargs.pop("api_version", "2025-09-01") + api_version: str = kwargs.pop("api_version", "2026-07-01") if credential is None: raise ValueError("Parameter 'credential' must not be None.") diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_utils/model_base.py b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_utils/model_base.py index 0f2c5bdfe70f..1934415c1369 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_utils/model_base.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_utils/model_base.py @@ -1022,6 +1022,10 @@ def __new__(cls, *args: typing.Any, **kwargs: typing.Any) -> Self: if not rf._rest_name_input: rf._rest_name_input = attr cls._attr_to_rest_field: dict[str, _RestField] = dict(attr_to_rest_field.items()) + cls._backcompat_attr_to_rest_field: dict[str, _RestField] = { + Model._get_backcompat_attribute_name(cls._attr_to_rest_field, attr): rf + for attr, rf in cls._attr_to_rest_field.items() + } # Build XML field plan for fast _init_from_xml (only for XML models) if getattr(cls, "_xml", None): cls._xml_field_plan = _build_xml_field_plan(cls, attr_to_rest_field) @@ -1034,6 +1038,16 @@ def __init_subclass__(cls, discriminator: typing.Optional[str] = None) -> None: if hasattr(base, "__mapping__"): base.__mapping__[discriminator or cls.__name__] = cls # type: ignore + @classmethod + def _get_backcompat_attribute_name(cls, attr_to_rest_field: dict[str, "_RestField"], attr_name: str) -> str: + rest_field_obj = attr_to_rest_field.get(attr_name) # pylint: disable=protected-access + if rest_field_obj is None: + return attr_name + original_tsp_name = getattr(rest_field_obj, "_original_tsp_name", None) # pylint: disable=protected-access + if original_tsp_name: + return original_tsp_name + return attr_name + @classmethod def _get_discriminator(cls, exist_discriminators) -> typing.Optional["_RestField"]: for v in cls.__dict__.values(): @@ -1400,6 +1414,7 @@ def __init__( is_multipart_file_input: bool = False, xml: typing.Optional[dict[str, typing.Any]] = None, deserializer: typing.Optional[typing.Callable] = None, + original_tsp_name: typing.Optional[str] = None, ): self._type = type self._rest_name_input = name @@ -1413,6 +1428,7 @@ def __init__( self._is_multipart_file_input = is_multipart_file_input self._xml = xml if xml is not None else {} self._deserializer = deserializer + self._original_tsp_name = original_tsp_name @property def _class_type(self) -> typing.Any: @@ -1499,6 +1515,7 @@ def rest_field( is_multipart_file_input: bool = False, xml: typing.Optional[dict[str, typing.Any]] = None, deserializer: typing.Optional[typing.Callable] = None, + original_tsp_name: typing.Optional[str] = None, ) -> typing.Any: return _RestField( name=name, @@ -1509,6 +1526,7 @@ def rest_field( is_multipart_file_input=is_multipart_file_input, xml=xml, deserializer=deserializer, + original_tsp_name=original_tsp_name, ) diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_validation.py b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_validation.py new file mode 100644 index 000000000000..f5af3a4eb8a2 --- /dev/null +++ b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/_validation.py @@ -0,0 +1,66 @@ +# -------------------------------------------------------------------------- +# 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. +# -------------------------------------------------------------------------- +import functools + + +def api_version_validation(**kwargs): + params_added_on = kwargs.pop("params_added_on", {}) + method_added_on = kwargs.pop("method_added_on", "") + api_versions_list = kwargs.pop("api_versions_list", []) + + def _index_with_default(value: str, default: int = -1) -> int: + """Get the index of value in lst, or return default if not found. + + :param value: The value to search for in the api_versions_list. + :type value: str + :param default: The default value to return if the value is not found. + :type default: int + :return: The index of the value in the list, or the default value if not found. + :rtype: int + """ + try: + return api_versions_list.index(value) + except ValueError: + return default + + def decorator(func): + @functools.wraps(func) + def wrapper(*args, **kwargs): + try: + # this assumes the client has an _api_version attribute + client = args[0] + client_api_version = client._config.api_version # pylint: disable=protected-access + except AttributeError: + return func(*args, **kwargs) + + if _index_with_default(method_added_on) > _index_with_default(client_api_version): + raise ValueError( + f"'{func.__name__}' is not available in API version " + f"{client_api_version}. Pass service API version {method_added_on} or newer to your client." + ) + + unsupported = { + parameter: api_version + for api_version, parameters in params_added_on.items() + for parameter in parameters + if parameter in kwargs and _index_with_default(api_version) > _index_with_default(client_api_version) + } + if unsupported: + raise ValueError( + "".join( + [ + f"'{param}' is not available in API version {client_api_version}. " + f"Use service API version {version} or newer.\n" + for param, version in unsupported.items() + ] + ) + ) + return func(*args, **kwargs) + + return wrapper + + return decorator diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/aio/_client.py b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/aio/_client.py index 2edab6d24f8d..636dfcd608dc 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/aio/_client.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/aio/_client.py @@ -20,6 +20,7 @@ from .._utils.serialization import Deserializer, Serializer from ._configuration import NetworkCloudMgmtClientConfiguration from .operations import ( + AccessBridgesOperations, AgentPoolsOperations, BareMetalMachineKeySetsOperations, BareMetalMachinesOperations, @@ -30,6 +31,7 @@ ConsolesOperations, KubernetesClusterFeaturesOperations, KubernetesClustersOperations, + KubernetesVersionsOperations, L2NetworksOperations, L3NetworksOperations, MetricsConfigurationsOperations, @@ -58,6 +60,8 @@ class NetworkCloudMgmtClient: # pylint: disable=too-many-instance-attributes :ivar operations: Operations operations :vartype operations: azure.mgmt.networkcloud.aio.operations.Operations + :ivar access_bridges: AccessBridgesOperations operations + :vartype access_bridges: azure.mgmt.networkcloud.aio.operations.AccessBridgesOperations :ivar bare_metal_machines: BareMetalMachinesOperations operations :vartype bare_metal_machines: azure.mgmt.networkcloud.aio.operations.BareMetalMachinesOperations @@ -71,6 +75,9 @@ class NetworkCloudMgmtClient: # pylint: disable=too-many-instance-attributes :ivar kubernetes_clusters: KubernetesClustersOperations operations :vartype kubernetes_clusters: azure.mgmt.networkcloud.aio.operations.KubernetesClustersOperations + :ivar kubernetes_versions: KubernetesVersionsOperations operations + :vartype kubernetes_versions: + azure.mgmt.networkcloud.aio.operations.KubernetesVersionsOperations :ivar l2_networks: L2NetworksOperations operations :vartype l2_networks: azure.mgmt.networkcloud.aio.operations.L2NetworksOperations :ivar l3_networks: L3NetworksOperations operations @@ -111,7 +118,7 @@ class NetworkCloudMgmtClient: # pylint: disable=too-many-instance-attributes :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: The API version to use for this operation. Known values are "2025-09-01" + :keyword api_version: The API version to use for this operation. Known values are "2026-07-01" and None. Default value is None. If not set, the operation's default API version will be used. Note that overriding this default value may result in unsupported behavior. :paramtype api_version: str @@ -169,6 +176,7 @@ def __init__( self._deserialize = Deserializer() self._serialize.client_side_validation = False self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + self.access_bridges = AccessBridgesOperations(self._client, self._config, self._serialize, self._deserialize) self.bare_metal_machines = BareMetalMachinesOperations( self._client, self._config, self._serialize, self._deserialize ) @@ -182,6 +190,9 @@ def __init__( self.kubernetes_clusters = KubernetesClustersOperations( self._client, self._config, self._serialize, self._deserialize ) + self.kubernetes_versions = KubernetesVersionsOperations( + self._client, self._config, self._serialize, self._deserialize + ) self.l2_networks = L2NetworksOperations(self._client, self._config, self._serialize, self._deserialize) self.l3_networks = L3NetworksOperations(self._client, self._config, self._serialize, self._deserialize) self.rack_skus = RackSkusOperations(self._client, self._config, self._serialize, self._deserialize) diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/aio/_configuration.py b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/aio/_configuration.py index cc6ef2c756ee..32c197eae02e 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/aio/_configuration.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/aio/_configuration.py @@ -33,7 +33,7 @@ class NetworkCloudMgmtClientConfiguration: # pylint: disable=too-many-instance- :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: The API version to use for this operation. Known values are "2025-09-01" + :keyword api_version: The API version to use for this operation. Known values are "2026-07-01" and None. Default value is None. If not set, the operation's default API version will be used. Note that overriding this default value may result in unsupported behavior. :paramtype api_version: str @@ -47,7 +47,7 @@ def __init__( cloud_setting: Optional["AzureClouds"] = None, **kwargs: Any ) -> None: - api_version: str = kwargs.pop("api_version", "2025-09-01") + api_version: str = kwargs.pop("api_version", "2026-07-01") if credential is None: raise ValueError("Parameter 'credential' must not be None.") diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/aio/operations/__init__.py b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/aio/operations/__init__.py index a3eb236d5878..d49d351ab326 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/aio/operations/__init__.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/aio/operations/__init__.py @@ -13,11 +13,13 @@ from ._patch import * # pylint: disable=unused-wildcard-import from ._operations import Operations # type: ignore +from ._operations import AccessBridgesOperations # type: ignore from ._operations import BareMetalMachinesOperations # type: ignore from ._operations import CloudServicesNetworksOperations # type: ignore from ._operations import ClusterManagersOperations # type: ignore from ._operations import ClustersOperations # type: ignore from ._operations import KubernetesClustersOperations # type: ignore +from ._operations import KubernetesVersionsOperations # type: ignore from ._operations import L2NetworksOperations # type: ignore from ._operations import L3NetworksOperations # type: ignore from ._operations import RackSkusOperations # type: ignore @@ -39,11 +41,13 @@ __all__ = [ "Operations", + "AccessBridgesOperations", "BareMetalMachinesOperations", "CloudServicesNetworksOperations", "ClusterManagersOperations", "ClustersOperations", "KubernetesClustersOperations", + "KubernetesVersionsOperations", "L2NetworksOperations", "L3NetworksOperations", "RackSkusOperations", diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/aio/operations/_operations.py b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/aio/operations/_operations.py index 8703c53f10ae..784058264aae 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/aio/operations/_operations.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/aio/operations/_operations.py @@ -37,7 +37,14 @@ from ... import models as _models, types as _types from ..._utils.model_base import SdkJSONEncoder, _deserialize, _failsafe_deserialize from ..._utils.serialization import Deserializer, Serializer +from ..._validation import api_version_validation from ...operations._operations import ( + build_access_bridges_create_or_update_request, + build_access_bridges_delete_request, + build_access_bridges_get_request, + build_access_bridges_list_by_resource_group_request, + build_access_bridges_list_by_subscription_request, + build_access_bridges_update_request, build_agent_pools_create_or_update_request, build_agent_pools_delete_request, build_agent_pools_get_request, @@ -81,14 +88,17 @@ build_cluster_managers_get_request, build_cluster_managers_list_by_resource_group_request, build_cluster_managers_list_by_subscription_request, + build_cluster_managers_update_relay_private_endpoint_connection_request, build_cluster_managers_update_request, build_clusters_continue_update_version_request, build_clusters_create_or_update_request, build_clusters_delete_request, build_clusters_deploy_request, build_clusters_get_request, + build_clusters_inspect_request, build_clusters_list_by_resource_group_request, build_clusters_list_by_subscription_request, + build_clusters_rotate_credential_request, build_clusters_scan_runtime_request, build_clusters_update_request, build_clusters_update_version_request, @@ -109,6 +119,12 @@ build_kubernetes_clusters_list_by_subscription_request, build_kubernetes_clusters_restart_node_request, build_kubernetes_clusters_update_request, + build_kubernetes_versions_create_or_update_request, + build_kubernetes_versions_delete_request, + build_kubernetes_versions_get_request, + build_kubernetes_versions_list_by_resource_group_request, + build_kubernetes_versions_list_by_subscription_request, + build_kubernetes_versions_update_request, build_l2_networks_create_or_update_request, build_l2_networks_delete_request, build_l2_networks_get_request, @@ -285,14 +301,14 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) -class BareMetalMachinesOperations: # pylint: disable=too-many-public-methods +class AccessBridgesOperations: """ .. warning:: **DO NOT** instantiate this class directly. Instead, you should access the following operations through :class:`~azure.mgmt.networkcloud.aio.NetworkCloudMgmtClient`'s - :attr:`bare_metal_machines` attribute. + :attr:`access_bridges` attribute. """ def __init__(self, *args, **kwargs) -> None: @@ -303,18 +319,32 @@ def __init__(self, *args, **kwargs) -> None: self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @distributed_trace_async + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "access_bridge_name", + "accept", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) async def get( - self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any - ) -> _models.BareMetalMachine: - """Get properties of the provided bare metal machine. + self, resource_group_name: str, access_bridge_name: Union[str, _models.AccessBridgeAllowedName], **kwargs: Any + ) -> _models.AccessBridge: + """Get the properties of the provided access bridge. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :return: BareMetalMachine. The BareMetalMachine is compatible with MutableMapping - :rtype: ~azure.mgmt.networkcloud.models.BareMetalMachine + :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", + "PrivateVault", and "StorageDashboard". Required. + :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName + :return: AccessBridge. The AccessBridge is compatible with MutableMapping + :rtype: ~azure.mgmt.networkcloud.models.AccessBridge :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -328,11 +358,11 @@ async def get( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.BareMetalMachine] = kwargs.pop("cls", None) + cls: ClsType[_models.AccessBridge] = kwargs.pop("cls", None) - _request = build_bare_metal_machines_get_request( + _request = build_access_bridges_get_request( resource_group_name=resource_group_name, - bare_metal_machine_name=bare_metal_machine_name, + access_bridge_name=access_bridge_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -367,21 +397,32 @@ async def get( if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.BareMetalMachine, response.json()) + deserialized = _deserialize(_models.AccessBridge, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "access_bridge_name", + "content_type", + "accept", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) async def _create_or_update_initial( self, resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_parameters: Union[_models.BareMetalMachine, _types.BareMetalMachine, IO[bytes]], - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, + access_bridge_name: Union[str, _models.AccessBridgeAllowedName], + access_bridge: Union[_models.AccessBridge, _types.AccessBridge, IO[bytes]], **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -390,12 +431,6 @@ async def _create_or_update_initial( 409: ResourceExistsError, 304: ResourceNotModifiedError, } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) @@ -406,17 +441,15 @@ async def _create_or_update_initial( content_type = content_type or "application/json" _content = None - if isinstance(bare_metal_machine_parameters, (IOBase, bytes)): - _content = bare_metal_machine_parameters + if isinstance(access_bridge, (IOBase, bytes)): + _content = access_bridge else: - _content = json.dumps(bare_metal_machine_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + _content = json.dumps(access_bridge, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_bare_metal_machines_create_or_update_request( + _request = build_access_bridges_create_or_update_request( resource_group_name=resource_group_name, - bare_metal_machine_name=bare_metal_machine_name, + access_bridge_name=access_bridge_name, subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, content_type=content_type, api_version=self._config.api_version, content=_content, @@ -465,36 +498,28 @@ async def _create_or_update_initial( async def begin_create_or_update( self, resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_parameters: _models.BareMetalMachine, + access_bridge_name: Union[str, _models.AccessBridgeAllowedName], + access_bridge: _models.AccessBridge, *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.BareMetalMachine]: - """Create a new bare metal machine or update the properties of the existing one. All customer - initiated requests will be rejected as the life cycle of this resource is managed by the - system. + ) -> AsyncLROPoller[_models.AccessBridge]: + """Create a new access bridge or update the properties of the existing access bridge. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_parameters: The request body. Required. - :type bare_metal_machine_parameters: ~azure.mgmt.networkcloud.models.BareMetalMachine + :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", + "PrivateVault", and "StorageDashboard". Required. + :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName + :param access_bridge: The access bridge configuration. Required. + :type access_bridge: ~azure.mgmt.networkcloud.models.AccessBridge :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns BareMetalMachine. The BareMetalMachine is + :return: An instance of AsyncLROPoller that returns AccessBridge. The AccessBridge is compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.AccessBridge] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -502,36 +527,28 @@ async def begin_create_or_update( async def begin_create_or_update( self, resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_parameters: _types.BareMetalMachine, + access_bridge_name: Union[str, _models.AccessBridgeAllowedName], + access_bridge: _types.AccessBridge, *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.BareMetalMachine]: - """Create a new bare metal machine or update the properties of the existing one. All customer - initiated requests will be rejected as the life cycle of this resource is managed by the - system. + ) -> AsyncLROPoller[_models.AccessBridge]: + """Create a new access bridge or update the properties of the existing access bridge. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_parameters: The request body. Required. - :type bare_metal_machine_parameters: ~azure.mgmt.networkcloud.types.BareMetalMachine + :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", + "PrivateVault", and "StorageDashboard". Required. + :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName + :param access_bridge: The access bridge configuration. Required. + :type access_bridge: ~azure.mgmt.networkcloud.types.AccessBridge :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns BareMetalMachine. The BareMetalMachine is + :return: An instance of AsyncLROPoller that returns AccessBridge. The AccessBridge is compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.AccessBridge] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -539,88 +556,83 @@ async def begin_create_or_update( async def begin_create_or_update( self, resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_parameters: IO[bytes], + access_bridge_name: Union[str, _models.AccessBridgeAllowedName], + access_bridge: IO[bytes], *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.BareMetalMachine]: - """Create a new bare metal machine or update the properties of the existing one. All customer - initiated requests will be rejected as the life cycle of this resource is managed by the - system. + ) -> AsyncLROPoller[_models.AccessBridge]: + """Create a new access bridge or update the properties of the existing access bridge. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_parameters: The request body. Required. - :type bare_metal_machine_parameters: IO[bytes] + :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", + "PrivateVault", and "StorageDashboard". Required. + :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName + :param access_bridge: The access bridge configuration. Required. + :type access_bridge: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns BareMetalMachine. The BareMetalMachine is + :return: An instance of AsyncLROPoller that returns AccessBridge. The AccessBridge is compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.AccessBridge] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace_async + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "access_bridge_name", + "content_type", + "accept", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) async def begin_create_or_update( self, resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_parameters: Union[_models.BareMetalMachine, _types.BareMetalMachine, IO[bytes]], - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, + access_bridge_name: Union[str, _models.AccessBridgeAllowedName], + access_bridge: Union[_models.AccessBridge, _types.AccessBridge, IO[bytes]], **kwargs: Any - ) -> AsyncLROPoller[_models.BareMetalMachine]: - """Create a new bare metal machine or update the properties of the existing one. All customer - initiated requests will be rejected as the life cycle of this resource is managed by the - system. + ) -> AsyncLROPoller[_models.AccessBridge]: + """Create a new access bridge or update the properties of the existing access bridge. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_parameters: The request body. Is either a BareMetalMachine type or a + :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", + "PrivateVault", and "StorageDashboard". Required. + :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName + :param access_bridge: The access bridge configuration. Is either a AccessBridge type or a IO[bytes] type. Required. - :type bare_metal_machine_parameters: ~azure.mgmt.networkcloud.models.BareMetalMachine or - ~azure.mgmt.networkcloud.types.BareMetalMachine or IO[bytes] - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns BareMetalMachine. The BareMetalMachine is + :type access_bridge: ~azure.mgmt.networkcloud.models.AccessBridge or + ~azure.mgmt.networkcloud.types.AccessBridge or IO[bytes] + :return: An instance of AsyncLROPoller that returns AccessBridge. The AccessBridge is compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.AccessBridge] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.BareMetalMachine] = kwargs.pop("cls", None) + cls: ClsType[_models.AccessBridge] = 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, - bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_parameters=bare_metal_machine_parameters, - etag=etag, - match_condition=match_condition, + access_bridge_name=access_bridge_name, + access_bridge=access_bridge, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -632,7 +644,7 @@ async def begin_create_or_update( def get_long_running_output(pipeline_response): response = pipeline_response.http_response - deserialized = _deserialize(_models.BareMetalMachine, response.json()) + deserialized = _deserialize(_models.AccessBridge, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized @@ -650,22 +662,38 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return AsyncLROPoller[_models.BareMetalMachine].from_continuation_token( + return AsyncLROPoller[_models.AccessBridge].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return AsyncLROPoller[_models.BareMetalMachine]( + return AsyncLROPoller[_models.AccessBridge]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "access_bridge_name", + "content_type", + "accept", + "etag", + "match_condition", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) async def _update_initial( self, resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_update_parameters: Optional[ - Union[_models.BareMetalMachinePatchParameters, _types.BareMetalMachinePatchParameters, IO[bytes]] + access_bridge_name: Union[str, _models.AccessBridgeAllowedName], + access_bridge_update_parameters: Optional[ + Union[_models.AccessBridgePatchParameters, _types.AccessBridgePatchParameters, IO[bytes]] ] = None, *, etag: Optional[str] = None, @@ -690,22 +718,22 @@ async def _update_initial( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if bare_metal_machine_update_parameters else None + content_type = content_type if access_bridge_update_parameters else None cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" if bare_metal_machine_update_parameters else None + content_type = content_type or "application/json" if access_bridge_update_parameters else None _content = None - if isinstance(bare_metal_machine_update_parameters, (IOBase, bytes)): - _content = bare_metal_machine_update_parameters + if isinstance(access_bridge_update_parameters, (IOBase, bytes)): + _content = access_bridge_update_parameters else: - if bare_metal_machine_update_parameters is not None: - _content = json.dumps(bare_metal_machine_update_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + if access_bridge_update_parameters is not None: + _content = json.dumps(access_bridge_update_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore else: _content = None - _request = build_bare_metal_machines_update_request( + _request = build_access_bridges_update_request( resource_group_name=resource_group_name, - bare_metal_machine_name=bare_metal_machine_name, + access_bridge_name=access_bridge_name, subscription_id=self._config.subscription_id, etag=etag, match_condition=match_condition, @@ -758,25 +786,26 @@ async def _update_initial( async def begin_update( self, resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_update_parameters: Optional[_models.BareMetalMachinePatchParameters] = None, + access_bridge_name: Union[str, _models.AccessBridgeAllowedName], + access_bridge_update_parameters: Optional[_models.AccessBridgePatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.BareMetalMachine]: - """Patch properties of the provided bare metal machine, or update tags associated with the bare - metal machine. Properties and tag updates can be done independently. + ) -> AsyncLROPoller[_models.AccessBridge]: + """Update properties of the provided access bridge, or update tags associated with the access + bridge. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_update_parameters: The request body. Default value is None. - :type bare_metal_machine_update_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachinePatchParameters + :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", + "PrivateVault", and "StorageDashboard". Required. + :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName + :param access_bridge_update_parameters: The request body. Default value is None. + :type access_bridge_update_parameters: + ~azure.mgmt.networkcloud.models.AccessBridgePatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -785,9 +814,9 @@ async def begin_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns BareMetalMachine. The BareMetalMachine is + :return: An instance of AsyncLROPoller that returns AccessBridge. The AccessBridge is compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.AccessBridge] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -795,25 +824,26 @@ async def begin_update( async def begin_update( self, resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_update_parameters: Optional[_types.BareMetalMachinePatchParameters] = None, + access_bridge_name: Union[str, _models.AccessBridgeAllowedName], + access_bridge_update_parameters: Optional[_types.AccessBridgePatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.BareMetalMachine]: - """Patch properties of the provided bare metal machine, or update tags associated with the bare - metal machine. Properties and tag updates can be done independently. + ) -> AsyncLROPoller[_models.AccessBridge]: + """Update properties of the provided access bridge, or update tags associated with the access + bridge. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_update_parameters: The request body. Default value is None. - :type bare_metal_machine_update_parameters: - ~azure.mgmt.networkcloud.types.BareMetalMachinePatchParameters + :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", + "PrivateVault", and "StorageDashboard". Required. + :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName + :param access_bridge_update_parameters: The request body. Default value is None. + :type access_bridge_update_parameters: + ~azure.mgmt.networkcloud.types.AccessBridgePatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -822,9 +852,9 @@ async def begin_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns BareMetalMachine. The BareMetalMachine is + :return: An instance of AsyncLROPoller that returns AccessBridge. The AccessBridge is compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.AccessBridge] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -832,24 +862,25 @@ async def begin_update( async def begin_update( self, resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_update_parameters: Optional[IO[bytes]] = None, + access_bridge_name: Union[str, _models.AccessBridgeAllowedName], + access_bridge_update_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.BareMetalMachine]: - """Patch properties of the provided bare metal machine, or update tags associated with the bare - metal machine. Properties and tag updates can be done independently. + ) -> AsyncLROPoller[_models.AccessBridge]: + """Update properties of the provided access bridge, or update tags associated with the access + bridge. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_update_parameters: The request body. Default value is None. - :type bare_metal_machine_update_parameters: IO[bytes] + :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", + "PrivateVault", and "StorageDashboard". Required. + :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName + :param access_bridge_update_parameters: The request body. Default value is None. + :type access_bridge_update_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -858,62 +889,79 @@ async def begin_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns BareMetalMachine. The BareMetalMachine is + :return: An instance of AsyncLROPoller that returns AccessBridge. The AccessBridge is compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.AccessBridge] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace_async + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "access_bridge_name", + "content_type", + "accept", + "etag", + "match_condition", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) async def begin_update( self, resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_update_parameters: Optional[ - Union[_models.BareMetalMachinePatchParameters, _types.BareMetalMachinePatchParameters, IO[bytes]] + access_bridge_name: Union[str, _models.AccessBridgeAllowedName], + access_bridge_update_parameters: Optional[ + Union[_models.AccessBridgePatchParameters, _types.AccessBridgePatchParameters, IO[bytes]] ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.BareMetalMachine]: - """Patch properties of the provided bare metal machine, or update tags associated with the bare - metal machine. Properties and tag updates can be done independently. + ) -> AsyncLROPoller[_models.AccessBridge]: + """Update properties of the provided access bridge, or update tags associated with the access + bridge. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_update_parameters: The request body. Is either a - BareMetalMachinePatchParameters type or a IO[bytes] type. Default value is None. - :type bare_metal_machine_update_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachinePatchParameters or - ~azure.mgmt.networkcloud.types.BareMetalMachinePatchParameters or IO[bytes] + :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", + "PrivateVault", and "StorageDashboard". Required. + :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName + :param access_bridge_update_parameters: The request body. Is either a + AccessBridgePatchParameters type or a IO[bytes] type. Default value is None. + :type access_bridge_update_parameters: + ~azure.mgmt.networkcloud.models.AccessBridgePatchParameters or + ~azure.mgmt.networkcloud.types.AccessBridgePatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns BareMetalMachine. The BareMetalMachine is + :return: An instance of AsyncLROPoller that returns AccessBridge. The AccessBridge is compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.AccessBridge] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if bare_metal_machine_update_parameters else None - cls: ClsType[_models.BareMetalMachine] = kwargs.pop("cls", None) + content_type = content_type if access_bridge_update_parameters else None + cls: ClsType[_models.AccessBridge] = 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._update_initial( resource_group_name=resource_group_name, - bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_update_parameters=bare_metal_machine_update_parameters, + access_bridge_name=access_bridge_name, + access_bridge_update_parameters=access_bridge_update_parameters, etag=etag, match_condition=match_condition, content_type=content_type, @@ -927,7 +975,7 @@ async def begin_update( def get_long_running_output(pipeline_response): response = pipeline_response.http_response - deserialized = _deserialize(_models.BareMetalMachine, response.json()) + deserialized = _deserialize(_models.AccessBridge, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized @@ -945,20 +993,34 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return AsyncLROPoller[_models.BareMetalMachine].from_continuation_token( + return AsyncLROPoller[_models.AccessBridge].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return AsyncLROPoller[_models.BareMetalMachine]( + return AsyncLROPoller[_models.AccessBridge]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "access_bridge_name", + "etag", + "match_condition", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) async def _delete_initial( self, resource_group_name: str, - bare_metal_machine_name: str, + access_bridge_name: Union[str, _models.AccessBridgeAllowedName], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -983,9 +1045,9 @@ async def _delete_initial( cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - _request = build_bare_metal_machines_delete_request( + _request = build_access_bridges_delete_request( resource_group_name=resource_group_name, - bare_metal_machine_name=bare_metal_machine_name, + access_bridge_name=access_bridge_name, subscription_id=self._config.subscription_id, etag=etag, match_condition=match_condition, @@ -1030,23 +1092,37 @@ async def _delete_initial( return deserialized # type: ignore @distributed_trace_async + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "access_bridge_name", + "etag", + "match_condition", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) async def begin_delete( self, resource_group_name: str, - bare_metal_machine_name: str, + access_bridge_name: Union[str, _models.AccessBridgeAllowedName], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Delete the provided bare metal machine. All customer initiated requests will be rejected as the - life cycle of this resource is managed by the system. + """Delete the specified access bridge. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str + :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", + "PrivateVault", and "StorageDashboard". Required. + :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -1068,7 +1144,7 @@ async def begin_delete( if cont_token is None: raw_result = await self._delete_initial( resource_group_name=resource_group_name, - bare_metal_machine_name=bare_metal_machine_name, + access_bridge_name=access_bridge_name, etag=etag, match_condition=match_condition, cls=lambda x, y, z: x, @@ -1113,10 +1189,24 @@ def get_long_running_output(pipeline_response): ) @distributed_trace + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "top", + "skip_token", + "accept", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) def list_by_resource_group( self, resource_group_name: str, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> AsyncItemPaged["_models.BareMetalMachine"]: - """Get a list of bare metal machines in the provided resource group. + ) -> AsyncItemPaged["_models.AccessBridge"]: + """Get a list of access bridges in the provided resource group. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. @@ -1128,15 +1218,14 @@ def list_by_resource_group( listing resources from. This is used for paging through large result sets. Default value is None. :paramtype skip_token: str - :return: An iterator like instance of BareMetalMachine - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.BareMetalMachine] + :return: An iterator like instance of AccessBridge + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.AccessBridge] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.BareMetalMachine]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.AccessBridge]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -1149,7 +1238,7 @@ def list_by_resource_group( def prepare_request(next_link=None): if not next_link: - _request = build_bare_metal_machines_list_by_resource_group_request( + _request = build_access_bridges_list_by_resource_group_request( resource_group_name=resource_group_name, subscription_id=self._config.subscription_id, top=top, @@ -1193,7 +1282,7 @@ def prepare_request(next_link=None): async def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.BareMetalMachine], + List[_models.AccessBridge], deserialized.get("value", []), ) if cls: @@ -1222,10 +1311,15 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) @distributed_trace + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={"2026-01-01-preview": ["api_version", "subscription_id", "top", "skip_token", "accept"]}, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) def list_by_subscription( self, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> AsyncItemPaged["_models.BareMetalMachine"]: - """Get a list of bare metal machines in the provided subscription. + ) -> AsyncItemPaged["_models.AccessBridge"]: + """Get a list of access bridges in the provided subscription. :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. Default value is None. @@ -1234,15 +1328,14 @@ def list_by_subscription( listing resources from. This is used for paging through large result sets. Default value is None. :paramtype skip_token: str - :return: An iterator like instance of BareMetalMachine - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.BareMetalMachine] + :return: An iterator like instance of AccessBridge + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.AccessBridge] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.BareMetalMachine]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.AccessBridge]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -1255,7 +1348,7 @@ def list_by_subscription( def prepare_request(next_link=None): if not next_link: - _request = build_bare_metal_machines_list_by_subscription_request( + _request = build_access_bridges_list_by_subscription_request( subscription_id=self._config.subscription_id, top=top, skip_token=skip_token, @@ -1298,7 +1391,7 @@ def prepare_request(next_link=None): async def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.BareMetalMachine], + List[_models.AccessBridge], deserialized.get("value", []), ) if cls: @@ -1326,44 +1419,139 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) - async def _cordon_initial( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_cordon_parameters: Optional[ - Union[_models.BareMetalMachineCordonParameters, _types.BareMetalMachineCordonParameters, IO[bytes]] - ] = 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 = kwargs.pop("params", {}) or {} +class BareMetalMachinesOperations: # pylint: disable=too-many-public-methods + """ + .. warning:: + **DO NOT** instantiate this class directly. - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if bare_metal_machine_cordon_parameters else None - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + Instead, you should access the following operations through + :class:`~azure.mgmt.networkcloud.aio.NetworkCloudMgmtClient`'s + :attr:`bare_metal_machines` attribute. + """ - content_type = content_type or "application/json" if bare_metal_machine_cordon_parameters else None - _content = None - if isinstance(bare_metal_machine_cordon_parameters, (IOBase, bytes)): - _content = bare_metal_machine_cordon_parameters - else: - if bare_metal_machine_cordon_parameters is not None: - _content = json.dumps(bare_metal_machine_cordon_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - else: - _content = None + 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: NetworkCloudMgmtClientConfiguration = 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") - _request = build_bare_metal_machines_cordon_request( + @distributed_trace_async + async def get( + self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any + ) -> _models.BareMetalMachine: + """Get properties of the provided bare metal machine. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :return: BareMetalMachine. The BareMetalMachine is compatible with MutableMapping + :rtype: ~azure.mgmt.networkcloud.models.BareMetalMachine + :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 = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.BareMetalMachine] = kwargs.pop("cls", None) + + _request = build_bare_metal_machines_get_request( + resource_group_name=resource_group_name, + bare_metal_machine_name=bare_metal_machine_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.BareMetalMachine, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_parameters: Union[_models.BareMetalMachine, _types.BareMetalMachine, IO[bytes]], + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + 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" + _content = None + if isinstance(bare_metal_machine_parameters, (IOBase, bytes)): + _content = bare_metal_machine_parameters + else: + _content = json.dumps(bare_metal_machine_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_bare_metal_machines_create_or_update_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, content_type=content_type, api_version=self._config.api_version, content=_content, @@ -1383,7 +1571,7 @@ async def _cordon_initial( response = pipeline_response.http_response - if response.status_code not in [202]: + if response.status_code not in [200, 201]: try: await response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -1396,8 +1584,10 @@ async def _cordon_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + if response.status_code == 201: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -1407,137 +1597,166 @@ async def _cordon_initial( return deserialized # type: ignore @overload - async def begin_cordon( + async def begin_create_or_update( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_cordon_parameters: Optional[_models.BareMetalMachineCordonParameters] = None, + bare_metal_machine_parameters: _models.BareMetalMachine, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Cordon the provided bare metal machine's Kubernetes node. + ) -> AsyncLROPoller[_models.BareMetalMachine]: + """Create a new bare metal machine or update the properties of the existing one. All customer + initiated requests will be rejected as the life cycle of this resource is managed by the + system. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_cordon_parameters: The request body. Default value is None. - :type bare_metal_machine_cordon_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineCordonParameters + :param bare_metal_machine_parameters: The request body. Required. + :type bare_metal_machine_parameters: ~azure.mgmt.networkcloud.models.BareMetalMachine :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns BareMetalMachine. The BareMetalMachine is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def begin_cordon( + async def begin_create_or_update( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_cordon_parameters: Optional[_types.BareMetalMachineCordonParameters] = None, + bare_metal_machine_parameters: _types.BareMetalMachine, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Cordon the provided bare metal machine's Kubernetes node. + ) -> AsyncLROPoller[_models.BareMetalMachine]: + """Create a new bare metal machine or update the properties of the existing one. All customer + initiated requests will be rejected as the life cycle of this resource is managed by the + system. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_cordon_parameters: The request body. Default value is None. - :type bare_metal_machine_cordon_parameters: - ~azure.mgmt.networkcloud.types.BareMetalMachineCordonParameters + :param bare_metal_machine_parameters: The request body. Required. + :type bare_metal_machine_parameters: ~azure.mgmt.networkcloud.types.BareMetalMachine :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns BareMetalMachine. The BareMetalMachine is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def begin_cordon( + async def begin_create_or_update( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_cordon_parameters: Optional[IO[bytes]] = None, + bare_metal_machine_parameters: IO[bytes], *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Cordon the provided bare metal machine's Kubernetes node. + ) -> AsyncLROPoller[_models.BareMetalMachine]: + """Create a new bare metal machine or update the properties of the existing one. All customer + initiated requests will be rejected as the life cycle of this resource is managed by the + system. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_cordon_parameters: The request body. Default value is None. - :type bare_metal_machine_cordon_parameters: IO[bytes] + :param bare_metal_machine_parameters: The request body. Required. + :type bare_metal_machine_parameters: IO[bytes] :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns BareMetalMachine. The BareMetalMachine is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace_async - async def begin_cordon( + async def begin_create_or_update( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_cordon_parameters: Optional[ - Union[_models.BareMetalMachineCordonParameters, _types.BareMetalMachineCordonParameters, IO[bytes]] - ] = None, + bare_metal_machine_parameters: Union[_models.BareMetalMachine, _types.BareMetalMachine, IO[bytes]], + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Cordon the provided bare metal machine's Kubernetes node. + ) -> AsyncLROPoller[_models.BareMetalMachine]: + """Create a new bare metal machine or update the properties of the existing one. All customer + initiated requests will be rejected as the life cycle of this resource is managed by the + system. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_cordon_parameters: The request body. Is either a - BareMetalMachineCordonParameters type or a IO[bytes] type. Default value is None. - :type bare_metal_machine_cordon_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineCordonParameters or - ~azure.mgmt.networkcloud.types.BareMetalMachineCordonParameters or IO[bytes] - :return: An instance of AsyncLROPoller that returns OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :param bare_metal_machine_parameters: The request body. Is either a BareMetalMachine type or a + IO[bytes] type. Required. + :type bare_metal_machine_parameters: ~azure.mgmt.networkcloud.models.BareMetalMachine or + ~azure.mgmt.networkcloud.types.BareMetalMachine or IO[bytes] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns BareMetalMachine. The BareMetalMachine is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if bare_metal_machine_cordon_parameters else None - cls: ClsType[_models.OperationStatusResult] = kwargs.pop("cls", None) + cls: ClsType[_models.BareMetalMachine] = 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._cordon_initial( + raw_result = await self._create_or_update_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_cordon_parameters=bare_metal_machine_cordon_parameters, - content_type=content_type, + bare_metal_machine_parameters=bare_metal_machine_parameters, + etag=etag, + match_condition=match_condition, + content_type=content_type, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -1547,14 +1766,10 @@ async def begin_cordon( kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - response_headers = {} response = pipeline_response.http_response - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = _deserialize(_models.OperationStatusResult, response.json()) + deserialized = _deserialize(_models.BareMetalMachine, response.json()) if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore + return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized path_format_arguments = { @@ -1570,23 +1785,26 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return AsyncLROPoller[_models.OperationStatusResult].from_continuation_token( + return AsyncLROPoller[_models.BareMetalMachine].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return AsyncLROPoller[_models.OperationStatusResult]( + return AsyncLROPoller[_models.BareMetalMachine]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - async def _power_off_initial( + async def _update_initial( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_power_off_parameters: Optional[ - Union[_models.BareMetalMachinePowerOffParameters, _types.BareMetalMachinePowerOffParameters, IO[bytes]] + bare_metal_machine_update_parameters: Optional[ + Union[_models.BareMetalMachinePatchParameters, _types.BareMetalMachinePatchParameters, IO[bytes]] ] = None, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -1595,29 +1813,37 @@ async def _power_off_initial( 409: ResourceExistsError, 304: ResourceNotModifiedError, } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if bare_metal_machine_power_off_parameters else None + content_type = content_type if bare_metal_machine_update_parameters else None cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" if bare_metal_machine_power_off_parameters else None + content_type = content_type or "application/json" if bare_metal_machine_update_parameters else None _content = None - if isinstance(bare_metal_machine_power_off_parameters, (IOBase, bytes)): - _content = bare_metal_machine_power_off_parameters + if isinstance(bare_metal_machine_update_parameters, (IOBase, bytes)): + _content = bare_metal_machine_update_parameters else: - if bare_metal_machine_power_off_parameters is not None: - _content = json.dumps(bare_metal_machine_power_off_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + if bare_metal_machine_update_parameters is not None: + _content = json.dumps(bare_metal_machine_update_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore else: _content = None - _request = build_bare_metal_machines_power_off_request( + _request = build_bare_metal_machines_update_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, content_type=content_type, api_version=self._config.api_version, content=_content, @@ -1637,7 +1863,7 @@ async def _power_off_initial( response = pipeline_response.http_response - if response.status_code not in [202]: + if response.status_code not in [200, 202]: try: await response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -1650,8 +1876,11 @@ async def _power_off_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -1661,136 +1890,167 @@ async def _power_off_initial( return deserialized # type: ignore @overload - async def begin_power_off( + async def begin_update( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_power_off_parameters: Optional[_models.BareMetalMachinePowerOffParameters] = None, + bare_metal_machine_update_parameters: Optional[_models.BareMetalMachinePatchParameters] = None, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Power off the provided bare metal machine. + ) -> AsyncLROPoller[_models.BareMetalMachine]: + """Patch properties of the provided bare metal machine, or update tags associated with the bare + metal machine. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_power_off_parameters: The request body. Default value is None. - :type bare_metal_machine_power_off_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachinePowerOffParameters + :param bare_metal_machine_update_parameters: The request body. Default value is None. + :type bare_metal_machine_update_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachinePatchParameters :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns BareMetalMachine. The BareMetalMachine is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def begin_power_off( + async def begin_update( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_power_off_parameters: Optional[_types.BareMetalMachinePowerOffParameters] = None, + bare_metal_machine_update_parameters: Optional[_types.BareMetalMachinePatchParameters] = None, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Power off the provided bare metal machine. + ) -> AsyncLROPoller[_models.BareMetalMachine]: + """Patch properties of the provided bare metal machine, or update tags associated with the bare + metal machine. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_power_off_parameters: The request body. Default value is None. - :type bare_metal_machine_power_off_parameters: - ~azure.mgmt.networkcloud.types.BareMetalMachinePowerOffParameters + :param bare_metal_machine_update_parameters: The request body. Default value is None. + :type bare_metal_machine_update_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachinePatchParameters :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns BareMetalMachine. The BareMetalMachine is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def begin_power_off( + async def begin_update( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_power_off_parameters: Optional[IO[bytes]] = None, + bare_metal_machine_update_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Power off the provided bare metal machine. + ) -> AsyncLROPoller[_models.BareMetalMachine]: + """Patch properties of the provided bare metal machine, or update tags associated with the bare + metal machine. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_power_off_parameters: The request body. Default value is None. - :type bare_metal_machine_power_off_parameters: IO[bytes] + :param bare_metal_machine_update_parameters: The request body. Default value is None. + :type bare_metal_machine_update_parameters: IO[bytes] :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns BareMetalMachine. The BareMetalMachine is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace_async - async def begin_power_off( + async def begin_update( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_power_off_parameters: Optional[ - Union[_models.BareMetalMachinePowerOffParameters, _types.BareMetalMachinePowerOffParameters, IO[bytes]] + bare_metal_machine_update_parameters: Optional[ + Union[_models.BareMetalMachinePatchParameters, _types.BareMetalMachinePatchParameters, IO[bytes]] ] = None, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Power off the provided bare metal machine. + ) -> AsyncLROPoller[_models.BareMetalMachine]: + """Patch properties of the provided bare metal machine, or update tags associated with the bare + metal machine. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_power_off_parameters: The request body. Is either a - BareMetalMachinePowerOffParameters type or a IO[bytes] type. Default value is None. - :type bare_metal_machine_power_off_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachinePowerOffParameters or - ~azure.mgmt.networkcloud.types.BareMetalMachinePowerOffParameters or IO[bytes] - :return: An instance of AsyncLROPoller that returns OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :param bare_metal_machine_update_parameters: The request body. Is either a + BareMetalMachinePatchParameters type or a IO[bytes] type. Default value is None. + :type bare_metal_machine_update_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachinePatchParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachinePatchParameters or IO[bytes] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns BareMetalMachine. The BareMetalMachine is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if bare_metal_machine_power_off_parameters else None - cls: ClsType[_models.OperationStatusResult] = kwargs.pop("cls", None) + content_type = content_type if bare_metal_machine_update_parameters else None + cls: ClsType[_models.BareMetalMachine] = 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._power_off_initial( + raw_result = await self._update_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_power_off_parameters=bare_metal_machine_power_off_parameters, + bare_metal_machine_update_parameters=bare_metal_machine_update_parameters, + etag=etag, + match_condition=match_condition, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -1801,14 +2061,10 @@ async def begin_power_off( kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - response_headers = {} response = pipeline_response.http_response - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = _deserialize(_models.OperationStatusResult, response.json()) + deserialized = _deserialize(_models.BareMetalMachine, response.json()) if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore + return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized path_format_arguments = { @@ -1824,18 +2080,24 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return AsyncLROPoller[_models.OperationStatusResult].from_continuation_token( + return AsyncLROPoller[_models.BareMetalMachine].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return AsyncLROPoller[_models.OperationStatusResult]( + return AsyncLROPoller[_models.BareMetalMachine]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - async def _reimage_initial( - self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any + async def _delete_initial( + self, + resource_group_name: str, + bare_metal_machine_name: str, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -1843,6 +2105,12 @@ async def _reimage_initial( 409: ResourceExistsError, 304: ResourceNotModifiedError, } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} @@ -1850,10 +2118,12 @@ async def _reimage_initial( cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - _request = build_bare_metal_machines_reimage_request( + _request = build_bare_metal_machines_delete_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, api_version=self._config.api_version, headers=_headers, params=_params, @@ -1871,7 +2141,7 @@ async def _reimage_initial( response = pipeline_response.http_response - if response.status_code not in [202]: + if response.status_code not in [202, 204]: try: await response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -1884,8 +2154,8 @@ async def _reimage_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -1895,16 +2165,28 @@ async def _reimage_initial( return deserialized # type: ignore @distributed_trace_async - async def begin_reimage( - self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any + async def begin_delete( + self, + resource_group_name: str, + bare_metal_machine_name: str, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Reimage the provided bare metal machine. + """Delete the provided bare metal machine. All customer initiated requests will be rejected as the + life cycle of this resource is managed by the system. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions :return: An instance of AsyncLROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: @@ -1919,9 +2201,11 @@ async def begin_reimage( 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._reimage_initial( + raw_result = await self._delete_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, + etag=etag, + match_condition=match_condition, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -1934,7 +2218,6 @@ def get_long_running_output(pipeline_response): response_headers = {} response = pipeline_response.http_response response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) deserialized = _deserialize(_models.OperationStatusResult, response.json()) if cls: @@ -1964,14 +2247,228 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - async def _replace_initial( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_replace_parameters: Optional[ - Union[_models.BareMetalMachineReplaceParameters, _types.BareMetalMachineReplaceParameters, IO[bytes]] - ] = None, - **kwargs: Any + @distributed_trace + def list_by_resource_group( + self, resource_group_name: str, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any + ) -> AsyncItemPaged["_models.BareMetalMachine"]: + """Get a list of bare metal machines in the provided resource group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. + Default value is None. + :paramtype top: int + :keyword skip_token: The opaque token that the server returns to indicate where to continue + listing resources from. This is used for paging through large result sets. Default value is + None. + :paramtype skip_token: str + :return: An iterator like instance of BareMetalMachine + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.BareMetalMachine] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.BareMetalMachine]] = 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_bare_metal_machines_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + top=top, + skip_token=skip_token, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + 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), + headers=_headers, + params=_next_request_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + async def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.BareMetalMachine], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + @distributed_trace + def list_by_subscription( + self, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any + ) -> AsyncItemPaged["_models.BareMetalMachine"]: + """Get a list of bare metal machines in the provided subscription. + + :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. + Default value is None. + :paramtype top: int + :keyword skip_token: The opaque token that the server returns to indicate where to continue + listing resources from. This is used for paging through large result sets. Default value is + None. + :paramtype skip_token: str + :return: An iterator like instance of BareMetalMachine + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.BareMetalMachine] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.BareMetalMachine]] = 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_bare_metal_machines_list_by_subscription_request( + subscription_id=self._config.subscription_id, + top=top, + skip_token=skip_token, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + 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), + headers=_headers, + params=_next_request_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + async def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.BareMetalMachine], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + async def _cordon_initial( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_cordon_parameters: Optional[ + Union[_models.BareMetalMachineCordonParameters, _types.BareMetalMachineCordonParameters, IO[bytes]] + ] = None, + **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -1985,20 +2482,20 @@ async def _replace_initial( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if bare_metal_machine_replace_parameters else None + content_type = content_type if bare_metal_machine_cordon_parameters else None cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" if bare_metal_machine_replace_parameters else None + content_type = content_type or "application/json" if bare_metal_machine_cordon_parameters else None _content = None - if isinstance(bare_metal_machine_replace_parameters, (IOBase, bytes)): - _content = bare_metal_machine_replace_parameters + if isinstance(bare_metal_machine_cordon_parameters, (IOBase, bytes)): + _content = bare_metal_machine_cordon_parameters else: - if bare_metal_machine_replace_parameters is not None: - _content = json.dumps(bare_metal_machine_replace_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + if bare_metal_machine_cordon_parameters is not None: + _content = json.dumps(bare_metal_machine_cordon_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore else: _content = None - _request = build_bare_metal_machines_replace_request( + _request = build_bare_metal_machines_cordon_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, @@ -2045,25 +2542,25 @@ async def _replace_initial( return deserialized # type: ignore @overload - async def begin_replace( + async def begin_cordon( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_replace_parameters: Optional[_models.BareMetalMachineReplaceParameters] = None, + bare_metal_machine_cordon_parameters: Optional[_models.BareMetalMachineCordonParameters] = None, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Replace the provided bare metal machine. + """Cordon the provided bare metal machine's Kubernetes node. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_replace_parameters: The request body. Default value is None. - :type bare_metal_machine_replace_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineReplaceParameters + :param bare_metal_machine_cordon_parameters: The request body. Default value is None. + :type bare_metal_machine_cordon_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineCordonParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -2075,25 +2572,25 @@ async def begin_replace( """ @overload - async def begin_replace( + async def begin_cordon( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_replace_parameters: Optional[_types.BareMetalMachineReplaceParameters] = None, + bare_metal_machine_cordon_parameters: Optional[_types.BareMetalMachineCordonParameters] = None, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Replace the provided bare metal machine. + """Cordon the provided bare metal machine's Kubernetes node. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_replace_parameters: The request body. Default value is None. - :type bare_metal_machine_replace_parameters: - ~azure.mgmt.networkcloud.types.BareMetalMachineReplaceParameters + :param bare_metal_machine_cordon_parameters: The request body. Default value is None. + :type bare_metal_machine_cordon_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachineCordonParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -2105,24 +2602,24 @@ async def begin_replace( """ @overload - async def begin_replace( + async def begin_cordon( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_replace_parameters: Optional[IO[bytes]] = None, + bare_metal_machine_cordon_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Replace the provided bare metal machine. + """Cordon the provided bare metal machine's Kubernetes node. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_replace_parameters: The request body. Default value is None. - :type bare_metal_machine_replace_parameters: IO[bytes] + :param bare_metal_machine_cordon_parameters: The request body. Default value is None. + :type bare_metal_machine_cordon_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -2134,27 +2631,27 @@ async def begin_replace( """ @distributed_trace_async - async def begin_replace( + async def begin_cordon( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_replace_parameters: Optional[ - Union[_models.BareMetalMachineReplaceParameters, _types.BareMetalMachineReplaceParameters, IO[bytes]] + bare_metal_machine_cordon_parameters: Optional[ + Union[_models.BareMetalMachineCordonParameters, _types.BareMetalMachineCordonParameters, IO[bytes]] ] = None, **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Replace the provided bare metal machine. + """Cordon the provided bare metal machine's Kubernetes node. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_replace_parameters: The request body. Is either a - BareMetalMachineReplaceParameters type or a IO[bytes] type. Default value is None. - :type bare_metal_machine_replace_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineReplaceParameters or - ~azure.mgmt.networkcloud.types.BareMetalMachineReplaceParameters or IO[bytes] + :param bare_metal_machine_cordon_parameters: The request body. Is either a + BareMetalMachineCordonParameters type or a IO[bytes] type. Default value is None. + :type bare_metal_machine_cordon_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineCordonParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachineCordonParameters or IO[bytes] :return: An instance of AsyncLROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: @@ -2165,16 +2662,16 @@ async def begin_replace( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if bare_metal_machine_replace_parameters else None + content_type = content_type if bare_metal_machine_cordon_parameters else None cls: ClsType[_models.OperationStatusResult] = 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._replace_initial( + raw_result = await self._cordon_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_replace_parameters=bare_metal_machine_replace_parameters, + bare_metal_machine_cordon_parameters=bare_metal_machine_cordon_parameters, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -2218,8 +2715,14 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - async def _restart_initial( - self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any + async def _power_off_initial( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_power_off_parameters: Optional[ + Union[_models.BareMetalMachinePowerOffParameters, _types.BareMetalMachinePowerOffParameters, IO[bytes]] + ] = None, + **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -2229,16 +2732,30 @@ async def _restart_initial( } error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = kwargs.pop("headers", {}) or {} + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if bare_metal_machine_power_off_parameters else None cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - _request = build_bare_metal_machines_restart_request( + content_type = content_type or "application/json" if bare_metal_machine_power_off_parameters else None + _content = None + if isinstance(bare_metal_machine_power_off_parameters, (IOBase, bytes)): + _content = bare_metal_machine_power_off_parameters + else: + if bare_metal_machine_power_off_parameters is not None: + _content = json.dumps(bare_metal_machine_power_off_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None + + _request = build_bare_metal_machines_power_off_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, + content_type=content_type, api_version=self._config.api_version, + content=_content, headers=_headers, params=_params, ) @@ -2278,34 +2795,138 @@ async def _restart_initial( return deserialized # type: ignore + @overload + async def begin_power_off( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_power_off_parameters: Optional[_models.BareMetalMachinePowerOffParameters] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Power off the provided bare metal machine. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_power_off_parameters: The request body. Default value is None. + :type bare_metal_machine_power_off_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachinePowerOffParameters + :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 OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_power_off( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_power_off_parameters: Optional[_types.BareMetalMachinePowerOffParameters] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Power off the provided bare metal machine. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_power_off_parameters: The request body. Default value is None. + :type bare_metal_machine_power_off_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachinePowerOffParameters + :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 OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_power_off( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_power_off_parameters: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Power off the provided bare metal machine. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_power_off_parameters: The request body. Default value is None. + :type bare_metal_machine_power_off_parameters: IO[bytes] + :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 OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + @distributed_trace_async - async def begin_restart( - self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any + async def begin_power_off( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_power_off_parameters: Optional[ + Union[_models.BareMetalMachinePowerOffParameters, _types.BareMetalMachinePowerOffParameters, IO[bytes]] + ] = None, + **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Restart the provided bare metal machine. + """Power off the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str + :param bare_metal_machine_power_off_parameters: The request body. Is either a + BareMetalMachinePowerOffParameters type or a IO[bytes] type. Default value is None. + :type bare_metal_machine_power_off_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachinePowerOffParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachinePowerOffParameters or IO[bytes] :return: An instance of AsyncLROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ - _headers = kwargs.pop("headers", {}) or {} + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if bare_metal_machine_power_off_parameters else None cls: ClsType[_models.OperationStatusResult] = 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._restart_initial( + raw_result = await self._power_off_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, + bare_metal_machine_power_off_parameters=bare_metal_machine_power_off_parameters, + content_type=content_type, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -2348,13 +2969,26 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - async def _run_command_initial( + @api_version_validation( + method_added_on="2026-05-01-preview", + params_added_on={ + "2026-05-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "bare_metal_machine_name", + "content_type", + ] + }, + api_versions_list=["2026-05-01-preview", "2026-07-01"], + ) + async def _reimage_initial( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_command_parameters: Union[ - _models.BareMetalMachineRunCommandParameters, _types.BareMetalMachineRunCommandParameters, IO[bytes] - ], + body: Optional[ + Union[_models.BareMetalMachineReimageParameters, _types.BareMetalMachineReimageParameters, IO[bytes]] + ] = None, **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -2369,16 +3003,20 @@ async def _run_command_initial( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if body else None cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" + content_type = content_type or "application/json" if body else None _content = None - if isinstance(bare_metal_machine_run_command_parameters, (IOBase, bytes)): - _content = bare_metal_machine_run_command_parameters + if isinstance(body, (IOBase, bytes)): + _content = body else: - _content = json.dumps(bare_metal_machine_run_command_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + if body is not None: + _content = json.dumps(body, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None - _request = build_bare_metal_machines_run_command_request( + _request = build_bare_metal_machines_reimage_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, @@ -2425,27 +3063,24 @@ async def _run_command_initial( return deserialized # type: ignore @overload - async def begin_run_command( + async def begin_reimage( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_command_parameters: _models.BareMetalMachineRunCommandParameters, + body: Optional[_models.BareMetalMachineReimageParameters] = None, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Run the command or the script on the provided bare metal machine. The URL to storage account - with the command execution results and the command exit code can be retrieved from the - operation status API once available. + """Reimage the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_command_parameters: The request body. Required. - :type bare_metal_machine_run_command_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineRunCommandParameters + :param body: The content of the action request. Default value is None. + :type body: ~azure.mgmt.networkcloud.models.BareMetalMachineReimageParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -2457,27 +3092,24 @@ async def begin_run_command( """ @overload - async def begin_run_command( + async def begin_reimage( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_command_parameters: _types.BareMetalMachineRunCommandParameters, + body: Optional[_types.BareMetalMachineReimageParameters] = None, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Run the command or the script on the provided bare metal machine. The URL to storage account - with the command execution results and the command exit code can be retrieved from the - operation status API once available. + """Reimage the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_command_parameters: The request body. Required. - :type bare_metal_machine_run_command_parameters: - ~azure.mgmt.networkcloud.types.BareMetalMachineRunCommandParameters + :param body: The content of the action request. Default value is None. + :type body: ~azure.mgmt.networkcloud.types.BareMetalMachineReimageParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -2489,26 +3121,24 @@ async def begin_run_command( """ @overload - async def begin_run_command( + async def begin_reimage( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_command_parameters: IO[bytes], + body: Optional[IO[bytes]] = None, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Run the command or the script on the provided bare metal machine. The URL to storage account - with the command execution results and the command exit code can be retrieved from the - operation status API once available. + """Reimage the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_command_parameters: The request body. Required. - :type bare_metal_machine_run_command_parameters: IO[bytes] + :param body: The content of the action request. Default value is None. + :type body: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -2520,29 +3150,39 @@ async def begin_run_command( """ @distributed_trace_async - async def begin_run_command( + @api_version_validation( + method_added_on="2026-05-01-preview", + params_added_on={ + "2026-05-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "bare_metal_machine_name", + "content_type", + ] + }, + api_versions_list=["2026-05-01-preview", "2026-07-01"], + ) + async def begin_reimage( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_command_parameters: Union[ - _models.BareMetalMachineRunCommandParameters, _types.BareMetalMachineRunCommandParameters, IO[bytes] - ], + body: Optional[ + Union[_models.BareMetalMachineReimageParameters, _types.BareMetalMachineReimageParameters, IO[bytes]] + ] = None, **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Run the command or the script on the provided bare metal machine. The URL to storage account - with the command execution results and the command exit code can be retrieved from the - operation status API once available. + """Reimage the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_command_parameters: The request body. Is either a - BareMetalMachineRunCommandParameters type or a IO[bytes] type. Required. - :type bare_metal_machine_run_command_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineRunCommandParameters or - ~azure.mgmt.networkcloud.types.BareMetalMachineRunCommandParameters or IO[bytes] + :param body: The content of the action request. Is either a BareMetalMachineReimageParameters + type or a IO[bytes] type. Default value is None. + :type body: ~azure.mgmt.networkcloud.models.BareMetalMachineReimageParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachineReimageParameters or IO[bytes] :return: An instance of AsyncLROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: @@ -2553,15 +3193,16 @@ async def begin_run_command( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if body else None cls: ClsType[_models.OperationStatusResult] = 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._run_command_initial( + raw_result = await self._reimage_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_run_command_parameters=bare_metal_machine_run_command_parameters, + body=body, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -2605,15 +3246,13 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - async def _run_data_extracts_initial( + async def _replace_initial( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_parameters: Union[ - _models.BareMetalMachineRunDataExtractsParameters, - _types.BareMetalMachineRunDataExtractsParameters, - IO[bytes], - ], + bare_metal_machine_replace_parameters: Optional[ + Union[_models.BareMetalMachineReplaceParameters, _types.BareMetalMachineReplaceParameters, IO[bytes]] + ] = None, **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -2628,16 +3267,20 @@ async def _run_data_extracts_initial( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if bare_metal_machine_replace_parameters else None cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" + content_type = content_type or "application/json" if bare_metal_machine_replace_parameters else None _content = None - if isinstance(bare_metal_machine_run_data_extracts_parameters, (IOBase, bytes)): - _content = bare_metal_machine_run_data_extracts_parameters + if isinstance(bare_metal_machine_replace_parameters, (IOBase, bytes)): + _content = bare_metal_machine_replace_parameters else: - _content = json.dumps(bare_metal_machine_run_data_extracts_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + if bare_metal_machine_replace_parameters is not None: + _content = json.dumps(bare_metal_machine_replace_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None - _request = build_bare_metal_machines_run_data_extracts_request( + _request = build_bare_metal_machines_replace_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, @@ -2684,27 +3327,25 @@ async def _run_data_extracts_initial( return deserialized # type: ignore @overload - async def begin_run_data_extracts( + async def begin_replace( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_parameters: _models.BareMetalMachineRunDataExtractsParameters, + bare_metal_machine_replace_parameters: Optional[_models.BareMetalMachineReplaceParameters] = None, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Run one or more data extractions on the provided bare metal machine. The URL to storage account - with the command execution results and the command exit code can be retrieved from the - operation status API once available. + """Replace the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_data_extracts_parameters: The request body. Required. - :type bare_metal_machine_run_data_extracts_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters + :param bare_metal_machine_replace_parameters: The request body. Default value is None. + :type bare_metal_machine_replace_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineReplaceParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -2716,27 +3357,25 @@ async def begin_run_data_extracts( """ @overload - async def begin_run_data_extracts( + async def begin_replace( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_parameters: _types.BareMetalMachineRunDataExtractsParameters, + bare_metal_machine_replace_parameters: Optional[_types.BareMetalMachineReplaceParameters] = None, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Run one or more data extractions on the provided bare metal machine. The URL to storage account - with the command execution results and the command exit code can be retrieved from the - operation status API once available. + """Replace the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_data_extracts_parameters: The request body. Required. - :type bare_metal_machine_run_data_extracts_parameters: - ~azure.mgmt.networkcloud.types.BareMetalMachineRunDataExtractsParameters + :param bare_metal_machine_replace_parameters: The request body. Default value is None. + :type bare_metal_machine_replace_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachineReplaceParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -2748,26 +3387,24 @@ async def begin_run_data_extracts( """ @overload - async def begin_run_data_extracts( + async def begin_replace( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_parameters: IO[bytes], + bare_metal_machine_replace_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Run one or more data extractions on the provided bare metal machine. The URL to storage account - with the command execution results and the command exit code can be retrieved from the - operation status API once available. + """Replace the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_data_extracts_parameters: The request body. Required. - :type bare_metal_machine_run_data_extracts_parameters: IO[bytes] + :param bare_metal_machine_replace_parameters: The request body. Default value is None. + :type bare_metal_machine_replace_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -2779,31 +3416,27 @@ async def begin_run_data_extracts( """ @distributed_trace_async - async def begin_run_data_extracts( + async def begin_replace( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_parameters: Union[ - _models.BareMetalMachineRunDataExtractsParameters, - _types.BareMetalMachineRunDataExtractsParameters, - IO[bytes], - ], + bare_metal_machine_replace_parameters: Optional[ + Union[_models.BareMetalMachineReplaceParameters, _types.BareMetalMachineReplaceParameters, IO[bytes]] + ] = None, **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Run one or more data extractions on the provided bare metal machine. The URL to storage account - with the command execution results and the command exit code can be retrieved from the - operation status API once available. + """Replace the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_data_extracts_parameters: The request body. Is either a - BareMetalMachineRunDataExtractsParameters type or a IO[bytes] type. Required. - :type bare_metal_machine_run_data_extracts_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters or - ~azure.mgmt.networkcloud.types.BareMetalMachineRunDataExtractsParameters or IO[bytes] + :param bare_metal_machine_replace_parameters: The request body. Is either a + BareMetalMachineReplaceParameters type or a IO[bytes] type. Default value is None. + :type bare_metal_machine_replace_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineReplaceParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachineReplaceParameters or IO[bytes] :return: An instance of AsyncLROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: @@ -2814,15 +3447,16 @@ async def begin_run_data_extracts( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if bare_metal_machine_replace_parameters else None cls: ClsType[_models.OperationStatusResult] = 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._run_data_extracts_initial( + raw_result = await self._replace_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_run_data_extracts_parameters=bare_metal_machine_run_data_extracts_parameters, + bare_metal_machine_replace_parameters=bare_metal_machine_replace_parameters, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -2866,16 +3500,8 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - async def _run_data_extracts_restricted_initial( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_restricted_parameters: Union[ - _models.BareMetalMachineRunDataExtractsParameters, - _types.BareMetalMachineRunDataExtractsParameters, - IO[bytes], - ], - **kwargs: Any + async def _restart_initial( + self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -2885,26 +3511,16 @@ async def _run_data_extracts_restricted_initial( } error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - 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" - _content = None - if isinstance(bare_metal_machine_run_data_extracts_restricted_parameters, (IOBase, bytes)): - _content = bare_metal_machine_run_data_extracts_restricted_parameters - else: - _content = json.dumps(bare_metal_machine_run_data_extracts_restricted_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_bare_metal_machines_run_data_extracts_restricted_request( + _request = build_bare_metal_machines_restart_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, - content_type=content_type, api_version=self._config.api_version, - content=_content, headers=_headers, params=_params, ) @@ -2944,147 +3560,34 @@ async def _run_data_extracts_restricted_initial( return deserialized # type: ignore - @overload - async def begin_run_data_extracts_restricted( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_restricted_parameters: _models.BareMetalMachineRunDataExtractsParameters, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Run one or more restricted data extractions on the provided bare metal machine. The URL to - storage account with the command execution results and the command exit code can be retrieved - from the operation status API once available. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_run_data_extracts_restricted_parameters: The request body. Required. - :type bare_metal_machine_run_data_extracts_restricted_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters - :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_run_data_extracts_restricted( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_restricted_parameters: _types.BareMetalMachineRunDataExtractsParameters, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Run one or more restricted data extractions on the provided bare metal machine. The URL to - storage account with the command execution results and the command exit code can be retrieved - from the operation status API once available. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_run_data_extracts_restricted_parameters: The request body. Required. - :type bare_metal_machine_run_data_extracts_restricted_parameters: - ~azure.mgmt.networkcloud.types.BareMetalMachineRunDataExtractsParameters - :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_run_data_extracts_restricted( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_restricted_parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Run one or more restricted data extractions on the provided bare metal machine. The URL to - storage account with the command execution results and the command exit code can be retrieved - from the operation status API once available. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_run_data_extracts_restricted_parameters: The request body. Required. - :type bare_metal_machine_run_data_extracts_restricted_parameters: IO[bytes] - :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - @distributed_trace_async - async def begin_run_data_extracts_restricted( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_restricted_parameters: Union[ - _models.BareMetalMachineRunDataExtractsParameters, - _types.BareMetalMachineRunDataExtractsParameters, - IO[bytes], - ], - **kwargs: Any + async def begin_restart( + self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Run one or more restricted data extractions on the provided bare metal machine. The URL to - storage account with the command execution results and the command exit code can be retrieved - from the operation status API once available. + """Restart the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_data_extracts_restricted_parameters: The request body. Is either - a BareMetalMachineRunDataExtractsParameters type or a IO[bytes] type. Required. - :type bare_metal_machine_run_data_extracts_restricted_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters or - ~azure.mgmt.networkcloud.types.BareMetalMachineRunDataExtractsParameters or IO[bytes] :return: An instance of AsyncLROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.OperationStatusResult] = 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._run_data_extracts_restricted_initial( + raw_result = await self._restart_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_run_data_extracts_restricted_parameters=bare_metal_machine_run_data_extracts_restricted_parameters, - content_type=content_type, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -3127,14 +3630,12 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - async def _run_read_commands_initial( + async def _run_command_initial( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_read_commands_parameters: Union[ - _models.BareMetalMachineRunReadCommandsParameters, - _types.BareMetalMachineRunReadCommandsParameters, - IO[bytes], + bare_metal_machine_run_command_parameters: Union[ + _models.BareMetalMachineRunCommandParameters, _types.BareMetalMachineRunCommandParameters, IO[bytes] ], **kwargs: Any ) -> AsyncIterator[bytes]: @@ -3154,12 +3655,12 @@ async def _run_read_commands_initial( content_type = content_type or "application/json" _content = None - if isinstance(bare_metal_machine_run_read_commands_parameters, (IOBase, bytes)): - _content = bare_metal_machine_run_read_commands_parameters + if isinstance(bare_metal_machine_run_command_parameters, (IOBase, bytes)): + _content = bare_metal_machine_run_command_parameters else: - _content = json.dumps(bare_metal_machine_run_read_commands_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + _content = json.dumps(bare_metal_machine_run_command_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_bare_metal_machines_run_read_commands_request( + _request = build_bare_metal_machines_run_command_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, @@ -3206,17 +3707,17 @@ async def _run_read_commands_initial( return deserialized # type: ignore @overload - async def begin_run_read_commands( + async def begin_run_command( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_read_commands_parameters: _models.BareMetalMachineRunReadCommandsParameters, + bare_metal_machine_run_command_parameters: _models.BareMetalMachineRunCommandParameters, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Run one or more read-only commands on the provided bare metal machine. The URL to storage - account with the command execution results and the command exit code can be retrieved from the + """Run the command or the script on the provided bare metal machine. The URL to storage account + with the command execution results and the command exit code can be retrieved from the operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -3224,9 +3725,9 @@ async def begin_run_read_commands( :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_read_commands_parameters: The request body. Required. - :type bare_metal_machine_run_read_commands_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineRunReadCommandsParameters + :param bare_metal_machine_run_command_parameters: The request body. Required. + :type bare_metal_machine_run_command_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineRunCommandParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -3238,17 +3739,17 @@ async def begin_run_read_commands( """ @overload - async def begin_run_read_commands( + async def begin_run_command( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_read_commands_parameters: _types.BareMetalMachineRunReadCommandsParameters, + bare_metal_machine_run_command_parameters: _types.BareMetalMachineRunCommandParameters, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Run one or more read-only commands on the provided bare metal machine. The URL to storage - account with the command execution results and the command exit code can be retrieved from the + """Run the command or the script on the provided bare metal machine. The URL to storage account + with the command execution results and the command exit code can be retrieved from the operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -3256,9 +3757,9 @@ async def begin_run_read_commands( :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_read_commands_parameters: The request body. Required. - :type bare_metal_machine_run_read_commands_parameters: - ~azure.mgmt.networkcloud.types.BareMetalMachineRunReadCommandsParameters + :param bare_metal_machine_run_command_parameters: The request body. Required. + :type bare_metal_machine_run_command_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachineRunCommandParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -3270,17 +3771,17 @@ async def begin_run_read_commands( """ @overload - async def begin_run_read_commands( + async def begin_run_command( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_read_commands_parameters: IO[bytes], + bare_metal_machine_run_command_parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Run one or more read-only commands on the provided bare metal machine. The URL to storage - account with the command execution results and the command exit code can be retrieved from the + """Run the command or the script on the provided bare metal machine. The URL to storage account + with the command execution results and the command exit code can be retrieved from the operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -3288,8 +3789,8 @@ async def begin_run_read_commands( :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_read_commands_parameters: The request body. Required. - :type bare_metal_machine_run_read_commands_parameters: IO[bytes] + :param bare_metal_machine_run_command_parameters: The request body. Required. + :type bare_metal_machine_run_command_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -3301,19 +3802,17 @@ async def begin_run_read_commands( """ @distributed_trace_async - async def begin_run_read_commands( + async def begin_run_command( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_read_commands_parameters: Union[ - _models.BareMetalMachineRunReadCommandsParameters, - _types.BareMetalMachineRunReadCommandsParameters, - IO[bytes], + bare_metal_machine_run_command_parameters: Union[ + _models.BareMetalMachineRunCommandParameters, _types.BareMetalMachineRunCommandParameters, IO[bytes] ], **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Run one or more read-only commands on the provided bare metal machine. The URL to storage - account with the command execution results and the command exit code can be retrieved from the + """Run the command or the script on the provided bare metal machine. The URL to storage account + with the command execution results and the command exit code can be retrieved from the operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -3321,11 +3820,11 @@ async def begin_run_read_commands( :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_read_commands_parameters: The request body. Is either a - BareMetalMachineRunReadCommandsParameters type or a IO[bytes] type. Required. - :type bare_metal_machine_run_read_commands_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineRunReadCommandsParameters or - ~azure.mgmt.networkcloud.types.BareMetalMachineRunReadCommandsParameters or IO[bytes] + :param bare_metal_machine_run_command_parameters: The request body. Is either a + BareMetalMachineRunCommandParameters type or a IO[bytes] type. Required. + :type bare_metal_machine_run_command_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineRunCommandParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachineRunCommandParameters or IO[bytes] :return: An instance of AsyncLROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: @@ -3341,10 +3840,10 @@ async def begin_run_read_commands( 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._run_read_commands_initial( + raw_result = await self._run_command_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_run_read_commands_parameters=bare_metal_machine_run_read_commands_parameters, + bare_metal_machine_run_command_parameters=bare_metal_machine_run_command_parameters, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -3388,8 +3887,16 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - async def _start_initial( - self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any + async def _run_data_extracts_initial( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_run_data_extracts_parameters: Union[ + _models.BareMetalMachineRunDataExtractsParameters, + _types.BareMetalMachineRunDataExtractsParameters, + IO[bytes], + ], + **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -3399,16 +3906,26 @@ async def _start_initial( } error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = kwargs.pop("headers", {}) or {} + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - _request = build_bare_metal_machines_start_request( + content_type = content_type or "application/json" + _content = None + if isinstance(bare_metal_machine_run_data_extracts_parameters, (IOBase, bytes)): + _content = bare_metal_machine_run_data_extracts_parameters + else: + _content = json.dumps(bare_metal_machine_run_data_extracts_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_bare_metal_machines_run_data_extracts_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, + content_type=content_type, api_version=self._config.api_version, + content=_content, headers=_headers, params=_params, ) @@ -3448,34 +3965,147 @@ async def _start_initial( return deserialized # type: ignore + @overload + async def begin_run_data_extracts( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_run_data_extracts_parameters: _models.BareMetalMachineRunDataExtractsParameters, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Run one or more data extractions on the provided bare metal machine. The URL to storage account + with the command execution results and the command exit code can be retrieved from the + operation status API once available. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_run_data_extracts_parameters: The request body. Required. + :type bare_metal_machine_run_data_extracts_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters + :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 OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_run_data_extracts( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_run_data_extracts_parameters: _types.BareMetalMachineRunDataExtractsParameters, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Run one or more data extractions on the provided bare metal machine. The URL to storage account + with the command execution results and the command exit code can be retrieved from the + operation status API once available. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_run_data_extracts_parameters: The request body. Required. + :type bare_metal_machine_run_data_extracts_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachineRunDataExtractsParameters + :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 OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_run_data_extracts( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_run_data_extracts_parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Run one or more data extractions on the provided bare metal machine. The URL to storage account + with the command execution results and the command exit code can be retrieved from the + operation status API once available. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_run_data_extracts_parameters: The request body. Required. + :type bare_metal_machine_run_data_extracts_parameters: IO[bytes] + :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 OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + @distributed_trace_async - async def begin_start( - self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any + async def begin_run_data_extracts( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_run_data_extracts_parameters: Union[ + _models.BareMetalMachineRunDataExtractsParameters, + _types.BareMetalMachineRunDataExtractsParameters, + IO[bytes], + ], + **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Start the provided bare metal machine. + """Run one or more data extractions on the provided bare metal machine. The URL to storage account + with the command execution results and the command exit code can be retrieved from the + operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str + :param bare_metal_machine_run_data_extracts_parameters: The request body. Is either a + BareMetalMachineRunDataExtractsParameters type or a IO[bytes] type. Required. + :type bare_metal_machine_run_data_extracts_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachineRunDataExtractsParameters or IO[bytes] :return: An instance of AsyncLROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ - _headers = kwargs.pop("headers", {}) or {} + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.OperationStatusResult] = 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._start_initial( + raw_result = await self._run_data_extracts_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, + bare_metal_machine_run_data_extracts_parameters=bare_metal_machine_run_data_extracts_parameters, + content_type=content_type, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -3518,8 +4148,16 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - async def _uncordon_initial( - self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any + async def _run_data_extracts_restricted_initial( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_run_data_extracts_restricted_parameters: Union[ + _models.BareMetalMachineRunDataExtractsParameters, + _types.BareMetalMachineRunDataExtractsParameters, + IO[bytes], + ], + **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -3529,16 +4167,26 @@ async def _uncordon_initial( } error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = kwargs.pop("headers", {}) or {} + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - _request = build_bare_metal_machines_uncordon_request( + content_type = content_type or "application/json" + _content = None + if isinstance(bare_metal_machine_run_data_extracts_restricted_parameters, (IOBase, bytes)): + _content = bare_metal_machine_run_data_extracts_restricted_parameters + else: + _content = json.dumps(bare_metal_machine_run_data_extracts_restricted_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_bare_metal_machines_run_data_extracts_restricted_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, + content_type=content_type, api_version=self._config.api_version, + content=_content, headers=_headers, params=_params, ) @@ -3578,34 +4226,147 @@ async def _uncordon_initial( return deserialized # type: ignore - @distributed_trace_async - async def begin_uncordon( - self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any + @overload + async def begin_run_data_extracts_restricted( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_run_data_extracts_restricted_parameters: _models.BareMetalMachineRunDataExtractsParameters, + *, + content_type: str = "application/json", + **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Uncordon the provided bare metal machine's Kubernetes node. + """Run one or more restricted data extractions on the provided bare metal machine. The URL to + storage account with the command execution results and the command exit code can be retrieved + from the operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str + :param bare_metal_machine_run_data_extracts_restricted_parameters: The request body. Required. + :type bare_metal_machine_run_data_extracts_restricted_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters + :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 OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.OperationStatusResult] = kwargs.pop("cls", None) + @overload + async def begin_run_data_extracts_restricted( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_run_data_extracts_restricted_parameters: _types.BareMetalMachineRunDataExtractsParameters, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Run one or more restricted data extractions on the provided bare metal machine. The URL to + storage account with the command execution results and the command exit code can be retrieved + from the operation status API once available. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_run_data_extracts_restricted_parameters: The request body. Required. + :type bare_metal_machine_run_data_extracts_restricted_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachineRunDataExtractsParameters + :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 OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_run_data_extracts_restricted( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_run_data_extracts_restricted_parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Run one or more restricted data extractions on the provided bare metal machine. The URL to + storage account with the command execution results and the command exit code can be retrieved + from the operation status API once available. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_run_data_extracts_restricted_parameters: The request body. Required. + :type bare_metal_machine_run_data_extracts_restricted_parameters: IO[bytes] + :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 OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_run_data_extracts_restricted( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_run_data_extracts_restricted_parameters: Union[ + _models.BareMetalMachineRunDataExtractsParameters, + _types.BareMetalMachineRunDataExtractsParameters, + IO[bytes], + ], + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Run one or more restricted data extractions on the provided bare metal machine. The URL to + storage account with the command execution results and the command exit code can be retrieved + from the operation status API once available. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_run_data_extracts_restricted_parameters: The request body. Is either + a BareMetalMachineRunDataExtractsParameters type or a IO[bytes] type. Required. + :type bare_metal_machine_run_data_extracts_restricted_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachineRunDataExtractsParameters or IO[bytes] + :return: An instance of AsyncLROPoller that returns OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.OperationStatusResult] = 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._uncordon_initial( + raw_result = await self._run_data_extracts_restricted_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, + bare_metal_machine_run_data_extracts_restricted_parameters=bare_metal_machine_run_data_extracts_restricted_parameters, + content_type=content_type, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -3648,104 +4409,15 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - -class CloudServicesNetworksOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.networkcloud.aio.NetworkCloudMgmtClient`'s - :attr:`cloud_services_networks` attribute. - """ - - 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: NetworkCloudMgmtClientConfiguration = 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_async - async def get( - self, resource_group_name: str, cloud_services_network_name: str, **kwargs: Any - ) -> _models.CloudServicesNetwork: - """Get properties of the provided cloud services network. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param cloud_services_network_name: The name of the cloud services network. Required. - :type cloud_services_network_name: str - :return: CloudServicesNetwork. The CloudServicesNetwork is compatible with MutableMapping - :rtype: ~azure.mgmt.networkcloud.models.CloudServicesNetwork - :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 = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.CloudServicesNetwork] = kwargs.pop("cls", None) - - _request = build_cloud_services_networks_get_request( - resource_group_name=resource_group_name, - cloud_services_network_name=cloud_services_network_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("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]: - if _stream: - 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.CloudServicesNetwork, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - async def _create_or_update_initial( + async def _run_read_commands_initial( self, resource_group_name: str, - cloud_services_network_name: str, - cloud_services_network_parameters: Union[_models.CloudServicesNetwork, _types.CloudServicesNetwork, IO[bytes]], - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, + bare_metal_machine_name: str, + bare_metal_machine_run_read_commands_parameters: Union[ + _models.BareMetalMachineRunReadCommandsParameters, + _types.BareMetalMachineRunReadCommandsParameters, + IO[bytes], + ], **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -3754,12 +4426,6 @@ async def _create_or_update_initial( 409: ResourceExistsError, 304: ResourceNotModifiedError, } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) @@ -3770,17 +4436,15 @@ async def _create_or_update_initial( content_type = content_type or "application/json" _content = None - if isinstance(cloud_services_network_parameters, (IOBase, bytes)): - _content = cloud_services_network_parameters + if isinstance(bare_metal_machine_run_read_commands_parameters, (IOBase, bytes)): + _content = bare_metal_machine_run_read_commands_parameters else: - _content = json.dumps(cloud_services_network_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + _content = json.dumps(bare_metal_machine_run_read_commands_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_cloud_services_networks_create_or_update_request( + _request = build_bare_metal_machines_run_read_commands_request( resource_group_name=resource_group_name, - cloud_services_network_name=cloud_services_network_name, + bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, content_type=content_type, api_version=self._config.api_version, content=_content, @@ -3800,7 +4464,7 @@ async def _create_or_update_initial( response = pipeline_response.http_response - if response.status_code not in [200, 201]: + if response.status_code not in [202]: try: await response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -3813,10 +4477,8 @@ async def _create_or_update_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - if response.status_code == 201: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -3826,165 +4488,145 @@ async def _create_or_update_initial( return deserialized # type: ignore @overload - async def begin_create_or_update( + async def begin_run_read_commands( self, resource_group_name: str, - cloud_services_network_name: str, - cloud_services_network_parameters: _models.CloudServicesNetwork, + bare_metal_machine_name: str, + bare_metal_machine_run_read_commands_parameters: _models.BareMetalMachineRunReadCommandsParameters, *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.CloudServicesNetwork]: - """Create a new cloud services network or update the properties of the existing cloud services - network. + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Run one or more read-only commands on the provided bare metal machine. The URL to storage + account with the command execution results and the command exit code can be retrieved from the + operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cloud_services_network_name: The name of the cloud services network. Required. - :type cloud_services_network_name: str - :param cloud_services_network_parameters: The request body. Required. - :type cloud_services_network_parameters: ~azure.mgmt.networkcloud.models.CloudServicesNetwork - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns CloudServicesNetwork. The - CloudServicesNetwork is compatible with MutableMapping + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_run_read_commands_parameters: The request body. Required. + :type bare_metal_machine_run_read_commands_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineRunReadCommandsParameters + :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 OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.CloudServicesNetwork] + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def begin_create_or_update( + async def begin_run_read_commands( self, resource_group_name: str, - cloud_services_network_name: str, - cloud_services_network_parameters: _types.CloudServicesNetwork, + bare_metal_machine_name: str, + bare_metal_machine_run_read_commands_parameters: _types.BareMetalMachineRunReadCommandsParameters, *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.CloudServicesNetwork]: - """Create a new cloud services network or update the properties of the existing cloud services - network. + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Run one or more read-only commands on the provided bare metal machine. The URL to storage + account with the command execution results and the command exit code can be retrieved from the + operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cloud_services_network_name: The name of the cloud services network. Required. - :type cloud_services_network_name: str - :param cloud_services_network_parameters: The request body. Required. - :type cloud_services_network_parameters: ~azure.mgmt.networkcloud.types.CloudServicesNetwork + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_run_read_commands_parameters: The request body. Required. + :type bare_metal_machine_run_read_commands_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachineRunReadCommandsParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns CloudServicesNetwork. The - CloudServicesNetwork is compatible with MutableMapping + :return: An instance of AsyncLROPoller that returns OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.CloudServicesNetwork] + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def begin_create_or_update( + async def begin_run_read_commands( self, resource_group_name: str, - cloud_services_network_name: str, - cloud_services_network_parameters: IO[bytes], + bare_metal_machine_name: str, + bare_metal_machine_run_read_commands_parameters: IO[bytes], *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.CloudServicesNetwork]: - """Create a new cloud services network or update the properties of the existing cloud services - network. + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Run one or more read-only commands on the provided bare metal machine. The URL to storage + account with the command execution results and the command exit code can be retrieved from the + operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cloud_services_network_name: The name of the cloud services network. Required. - :type cloud_services_network_name: str - :param cloud_services_network_parameters: The request body. Required. - :type cloud_services_network_parameters: IO[bytes] + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_run_read_commands_parameters: The request body. Required. + :type bare_metal_machine_run_read_commands_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns CloudServicesNetwork. The - CloudServicesNetwork is compatible with MutableMapping + :return: An instance of AsyncLROPoller that returns OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.CloudServicesNetwork] + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace_async - async def begin_create_or_update( + async def begin_run_read_commands( self, resource_group_name: str, - cloud_services_network_name: str, - cloud_services_network_parameters: Union[_models.CloudServicesNetwork, _types.CloudServicesNetwork, IO[bytes]], - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, + bare_metal_machine_name: str, + bare_metal_machine_run_read_commands_parameters: Union[ + _models.BareMetalMachineRunReadCommandsParameters, + _types.BareMetalMachineRunReadCommandsParameters, + IO[bytes], + ], **kwargs: Any - ) -> AsyncLROPoller[_models.CloudServicesNetwork]: - """Create a new cloud services network or update the properties of the existing cloud services - network. + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Run one or more read-only commands on the provided bare metal machine. The URL to storage + account with the command execution results and the command exit code can be retrieved from the + operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cloud_services_network_name: The name of the cloud services network. Required. - :type cloud_services_network_name: str - :param cloud_services_network_parameters: The request body. Is either a CloudServicesNetwork - type or a IO[bytes] type. Required. - :type cloud_services_network_parameters: ~azure.mgmt.networkcloud.models.CloudServicesNetwork - or ~azure.mgmt.networkcloud.types.CloudServicesNetwork or IO[bytes] - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns CloudServicesNetwork. The - CloudServicesNetwork is compatible with MutableMapping + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_run_read_commands_parameters: The request body. Is either a + BareMetalMachineRunReadCommandsParameters type or a IO[bytes] type. Required. + :type bare_metal_machine_run_read_commands_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineRunReadCommandsParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachineRunReadCommandsParameters or IO[bytes] + :return: An instance of AsyncLROPoller that returns OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.CloudServicesNetwork] + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.CloudServicesNetwork] = kwargs.pop("cls", None) + cls: ClsType[_models.OperationStatusResult] = 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( + raw_result = await self._run_read_commands_initial( resource_group_name=resource_group_name, - cloud_services_network_name=cloud_services_network_name, - cloud_services_network_parameters=cloud_services_network_parameters, - etag=etag, - match_condition=match_condition, + bare_metal_machine_name=bare_metal_machine_name, + bare_metal_machine_run_read_commands_parameters=bare_metal_machine_run_read_commands_parameters, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -3995,10 +4637,14 @@ async def begin_create_or_update( kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): + response_headers = {} response = pipeline_response.http_response - deserialized = _deserialize(_models.CloudServicesNetwork, response.json()) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.OperationStatusResult, response.json()) if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + return cls(pipeline_response, deserialized, response_headers) # type: ignore return deserialized path_format_arguments = { @@ -4014,27 +4660,18 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return AsyncLROPoller[_models.CloudServicesNetwork].from_continuation_token( + return AsyncLROPoller[_models.OperationStatusResult].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return AsyncLROPoller[_models.CloudServicesNetwork]( + return AsyncLROPoller[_models.OperationStatusResult]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - async def _update_initial( - self, - resource_group_name: str, - cloud_services_network_name: str, - cloud_services_network_update_parameters: Optional[ - Union[_models.CloudServicesNetworkPatchParameters, _types.CloudServicesNetworkPatchParameters, IO[bytes]] - ] = None, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any + async def _start_initial( + self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -4042,40 +4679,18 @@ async def _update_initial( 409: ResourceExistsError, 304: ResourceNotModifiedError, } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if cloud_services_network_update_parameters else None cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" if cloud_services_network_update_parameters else None - _content = None - if isinstance(cloud_services_network_update_parameters, (IOBase, bytes)): - _content = cloud_services_network_update_parameters - else: - if cloud_services_network_update_parameters is not None: - _content = json.dumps(cloud_services_network_update_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - else: - _content = None - - _request = build_cloud_services_networks_update_request( + _request = build_bare_metal_machines_start_request( resource_group_name=resource_group_name, - cloud_services_network_name=cloud_services_network_name, + bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, - content_type=content_type, api_version=self._config.api_version, - content=_content, headers=_headers, params=_params, ) @@ -4092,7 +4707,7 @@ async def _update_initial( response = pipeline_response.http_response - if response.status_code not in [200, 202]: + if response.status_code not in [202]: try: await response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -4105,11 +4720,8 @@ async def _update_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - if response.status_code == 202: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -4118,173 +4730,34 @@ async def _update_initial( return deserialized # type: ignore - @overload - async def begin_update( - self, - resource_group_name: str, - cloud_services_network_name: str, - cloud_services_network_update_parameters: Optional[_models.CloudServicesNetworkPatchParameters] = None, - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> AsyncLROPoller[_models.CloudServicesNetwork]: - """Update properties of the provided cloud services network, or update the tags associated with - it. Properties and tag updates can be done independently. + @distributed_trace_async + async def begin_start( + self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Start the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cloud_services_network_name: The name of the cloud services network. Required. - :type cloud_services_network_name: str - :param cloud_services_network_update_parameters: The request body. Default value is None. - :type cloud_services_network_update_parameters: - ~azure.mgmt.networkcloud.models.CloudServicesNetworkPatchParameters - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns CloudServicesNetwork. The - CloudServicesNetwork is compatible with MutableMapping + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :return: An instance of AsyncLROPoller that returns OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.CloudServicesNetwork] + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} - @overload - async def begin_update( - self, - resource_group_name: str, - cloud_services_network_name: str, - cloud_services_network_update_parameters: Optional[_types.CloudServicesNetworkPatchParameters] = None, - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> AsyncLROPoller[_models.CloudServicesNetwork]: - """Update properties of the provided cloud services network, or update the tags associated with - it. Properties and tag updates can be done independently. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param cloud_services_network_name: The name of the cloud services network. Required. - :type cloud_services_network_name: str - :param cloud_services_network_update_parameters: The request body. Default value is None. - :type cloud_services_network_update_parameters: - ~azure.mgmt.networkcloud.types.CloudServicesNetworkPatchParameters - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns CloudServicesNetwork. The - CloudServicesNetwork is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.CloudServicesNetwork] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_update( - self, - resource_group_name: str, - cloud_services_network_name: str, - cloud_services_network_update_parameters: Optional[IO[bytes]] = None, - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> AsyncLROPoller[_models.CloudServicesNetwork]: - """Update properties of the provided cloud services network, or update the tags associated with - it. Properties and tag updates can be done independently. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param cloud_services_network_name: The name of the cloud services network. Required. - :type cloud_services_network_name: str - :param cloud_services_network_update_parameters: The request body. Default value is None. - :type cloud_services_network_update_parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns CloudServicesNetwork. The - CloudServicesNetwork is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.CloudServicesNetwork] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def begin_update( - self, - resource_group_name: str, - cloud_services_network_name: str, - cloud_services_network_update_parameters: Optional[ - Union[_models.CloudServicesNetworkPatchParameters, _types.CloudServicesNetworkPatchParameters, IO[bytes]] - ] = None, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> AsyncLROPoller[_models.CloudServicesNetwork]: - """Update properties of the provided cloud services network, or update the tags associated with - it. Properties and tag updates can be done independently. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param cloud_services_network_name: The name of the cloud services network. Required. - :type cloud_services_network_name: str - :param cloud_services_network_update_parameters: The request body. Is either a - CloudServicesNetworkPatchParameters type or a IO[bytes] type. Default value is None. - :type cloud_services_network_update_parameters: - ~azure.mgmt.networkcloud.models.CloudServicesNetworkPatchParameters or - ~azure.mgmt.networkcloud.types.CloudServicesNetworkPatchParameters or IO[bytes] - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns CloudServicesNetwork. The - CloudServicesNetwork is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.CloudServicesNetwork] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if cloud_services_network_update_parameters else None - cls: ClsType[_models.CloudServicesNetwork] = kwargs.pop("cls", None) + cls: ClsType[_models.OperationStatusResult] = 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._update_initial( + raw_result = await self._start_initial( resource_group_name=resource_group_name, - cloud_services_network_name=cloud_services_network_name, - cloud_services_network_update_parameters=cloud_services_network_update_parameters, - etag=etag, - match_condition=match_condition, - content_type=content_type, + bare_metal_machine_name=bare_metal_machine_name, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -4294,10 +4767,14 @@ async def begin_update( kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): + response_headers = {} response = pipeline_response.http_response - deserialized = _deserialize(_models.CloudServicesNetwork, response.json()) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.OperationStatusResult, response.json()) if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + return cls(pipeline_response, deserialized, response_headers) # type: ignore return deserialized path_format_arguments = { @@ -4313,24 +4790,18 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return AsyncLROPoller[_models.CloudServicesNetwork].from_continuation_token( + return AsyncLROPoller[_models.OperationStatusResult].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return AsyncLROPoller[_models.CloudServicesNetwork]( + return AsyncLROPoller[_models.OperationStatusResult]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - async def _delete_initial( - self, - resource_group_name: str, - cloud_services_network_name: str, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any + async def _uncordon_initial( + self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -4338,12 +4809,6 @@ async def _delete_initial( 409: ResourceExistsError, 304: ResourceNotModifiedError, } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} @@ -4351,12 +4816,10 @@ async def _delete_initial( cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - _request = build_cloud_services_networks_delete_request( + _request = build_bare_metal_machines_uncordon_request( resource_group_name=resource_group_name, - cloud_services_network_name=cloud_services_network_name, + bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, api_version=self._config.api_version, headers=_headers, params=_params, @@ -4374,7 +4837,7 @@ async def _delete_initial( response = pipeline_response.http_response - if response.status_code not in [202, 204]: + if response.status_code not in [202]: try: await response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -4387,8 +4850,8 @@ async def _delete_initial( 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["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -4398,27 +4861,16 @@ async def _delete_initial( return deserialized # type: ignore @distributed_trace_async - async def begin_delete( - self, - resource_group_name: str, - cloud_services_network_name: str, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any + async def begin_uncordon( + self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Delete the provided cloud services network. + """Uncordon the provided bare metal machine's Kubernetes node. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cloud_services_network_name: The name of the cloud services network. Required. - :type cloud_services_network_name: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str :return: An instance of AsyncLROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: @@ -4433,11 +4885,9 @@ async def begin_delete( 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( + raw_result = await self._uncordon_initial( resource_group_name=resource_group_name, - cloud_services_network_name=cloud_services_network_name, - etag=etag, - match_condition=match_condition, + bare_metal_machine_name=bare_metal_machine_name, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -4450,6 +4900,7 @@ def get_long_running_output(pipeline_response): response_headers = {} response = pipeline_response.http_response response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) deserialized = _deserialize(_models.OperationStatusResult, response.json()) if cls: @@ -4479,32 +4930,39 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - @distributed_trace - def list_by_resource_group( - self, resource_group_name: str, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> AsyncItemPaged["_models.CloudServicesNetwork"]: - """Get a list of cloud services networks in the provided resource group. + +class CloudServicesNetworksOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.networkcloud.aio.NetworkCloudMgmtClient`'s + :attr:`cloud_services_networks` attribute. + """ + + 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: NetworkCloudMgmtClientConfiguration = 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_async + async def get( + self, resource_group_name: str, cloud_services_network_name: str, **kwargs: Any + ) -> _models.CloudServicesNetwork: + """Get properties of the provided cloud services network. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. - Default value is None. - :paramtype top: int - :keyword skip_token: The opaque token that the server returns to indicate where to continue - listing resources from. This is used for paging through large result sets. Default value is - None. - :paramtype skip_token: str - :return: An iterator like instance of CloudServicesNetwork - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.CloudServicesNetwork] + :param cloud_services_network_name: The name of the cloud services network. Required. + :type cloud_services_network_name: str + :return: CloudServicesNetwork. The CloudServicesNetwork is compatible with MutableMapping + :rtype: ~azure.mgmt.networkcloud.models.CloudServicesNetwork :raises ~azure.core.exceptions.HttpResponseError: """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.CloudServicesNetwork]] = kwargs.pop("cls", None) - error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -4513,233 +4971,14 @@ def list_by_resource_group( } error_map.update(kwargs.pop("error_map", {}) or {}) - def prepare_request(next_link=None): - if not next_link: + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} - _request = build_cloud_services_networks_list_by_resource_group_request( - resource_group_name=resource_group_name, - subscription_id=self._config.subscription_id, - top=top, - skip_token=skip_token, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) + cls: ClsType[_models.CloudServicesNetwork] = kwargs.pop("cls", None) - 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), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - async def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.CloudServicesNetwork], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - @distributed_trace - def list_by_subscription( - self, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> AsyncItemPaged["_models.CloudServicesNetwork"]: - """Get a list of cloud services networks in the provided subscription. - - :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. - Default value is None. - :paramtype top: int - :keyword skip_token: The opaque token that the server returns to indicate where to continue - listing resources from. This is used for paging through large result sets. Default value is - None. - :paramtype skip_token: str - :return: An iterator like instance of CloudServicesNetwork - :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.CloudServicesNetwork] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.CloudServicesNetwork]] = 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_cloud_services_networks_list_by_subscription_request( - subscription_id=self._config.subscription_id, - top=top, - skip_token=skip_token, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - 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), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - async def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.CloudServicesNetwork], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return AsyncItemPaged(get_next, extract_data) - - -class ClusterManagersOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.networkcloud.aio.NetworkCloudMgmtClient`'s - :attr:`cluster_managers` attribute. - """ - - 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: NetworkCloudMgmtClientConfiguration = 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_async - async def get(self, resource_group_name: str, cluster_manager_name: str, **kwargs: Any) -> _models.ClusterManager: - """Get the properties of the provided cluster manager. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param cluster_manager_name: The name of the cluster manager. Required. - :type cluster_manager_name: str - :return: ClusterManager. The ClusterManager is compatible with MutableMapping - :rtype: ~azure.mgmt.networkcloud.models.ClusterManager - :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 = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.ClusterManager] = kwargs.pop("cls", None) - - _request = build_cluster_managers_get_request( + _request = build_cloud_services_networks_get_request( resource_group_name=resource_group_name, - cluster_manager_name=cluster_manager_name, + cloud_services_network_name=cloud_services_network_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -4774,7 +5013,7 @@ async def get(self, resource_group_name: str, cluster_manager_name: str, **kwarg if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.ClusterManager, response.json()) + deserialized = _deserialize(_models.CloudServicesNetwork, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore @@ -4784,8 +5023,8 @@ async def get(self, resource_group_name: str, cluster_manager_name: str, **kwarg async def _create_or_update_initial( self, resource_group_name: str, - cluster_manager_name: str, - cluster_manager_parameters: Union[_models.ClusterManager, _types.ClusterManager, IO[bytes]], + cloud_services_network_name: str, + cloud_services_network_parameters: Union[_models.CloudServicesNetwork, _types.CloudServicesNetwork, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -4813,14 +5052,14 @@ async def _create_or_update_initial( content_type = content_type or "application/json" _content = None - if isinstance(cluster_manager_parameters, (IOBase, bytes)): - _content = cluster_manager_parameters + if isinstance(cloud_services_network_parameters, (IOBase, bytes)): + _content = cloud_services_network_parameters else: - _content = json.dumps(cluster_manager_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + _content = json.dumps(cloud_services_network_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_cluster_managers_create_or_update_request( + _request = build_cloud_services_networks_create_or_update_request( resource_group_name=resource_group_name, - cluster_manager_name=cluster_manager_name, + cloud_services_network_name=cloud_services_network_name, subscription_id=self._config.subscription_id, etag=etag, match_condition=match_condition, @@ -4872,23 +5111,24 @@ async def _create_or_update_initial( async def begin_create_or_update( self, resource_group_name: str, - cluster_manager_name: str, - cluster_manager_parameters: _models.ClusterManager, + cloud_services_network_name: str, + cloud_services_network_parameters: _models.CloudServicesNetwork, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.ClusterManager]: - """Create a new cluster manager or update properties of the cluster manager if it exists. + ) -> AsyncLROPoller[_models.CloudServicesNetwork]: + """Create a new cloud services network or update the properties of the existing cloud services + network. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_manager_name: The name of the cluster manager. Required. - :type cluster_manager_name: str - :param cluster_manager_parameters: The request body. Required. - :type cluster_manager_parameters: ~azure.mgmt.networkcloud.models.ClusterManager + :param cloud_services_network_name: The name of the cloud services network. Required. + :type cloud_services_network_name: str + :param cloud_services_network_parameters: The request body. Required. + :type cloud_services_network_parameters: ~azure.mgmt.networkcloud.models.CloudServicesNetwork :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -4897,9 +5137,10 @@ async def begin_create_or_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns ClusterManager. The ClusterManager is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.ClusterManager] + :return: An instance of AsyncLROPoller that returns CloudServicesNetwork. The + CloudServicesNetwork is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.CloudServicesNetwork] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -4907,23 +5148,24 @@ async def begin_create_or_update( async def begin_create_or_update( self, resource_group_name: str, - cluster_manager_name: str, - cluster_manager_parameters: _types.ClusterManager, + cloud_services_network_name: str, + cloud_services_network_parameters: _types.CloudServicesNetwork, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.ClusterManager]: - """Create a new cluster manager or update properties of the cluster manager if it exists. + ) -> AsyncLROPoller[_models.CloudServicesNetwork]: + """Create a new cloud services network or update the properties of the existing cloud services + network. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_manager_name: The name of the cluster manager. Required. - :type cluster_manager_name: str - :param cluster_manager_parameters: The request body. Required. - :type cluster_manager_parameters: ~azure.mgmt.networkcloud.types.ClusterManager + :param cloud_services_network_name: The name of the cloud services network. Required. + :type cloud_services_network_name: str + :param cloud_services_network_parameters: The request body. Required. + :type cloud_services_network_parameters: ~azure.mgmt.networkcloud.types.CloudServicesNetwork :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -4932,9 +5174,10 @@ async def begin_create_or_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns ClusterManager. The ClusterManager is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.ClusterManager] + :return: An instance of AsyncLROPoller that returns CloudServicesNetwork. The + CloudServicesNetwork is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.CloudServicesNetwork] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -4942,23 +5185,24 @@ async def begin_create_or_update( async def begin_create_or_update( self, resource_group_name: str, - cluster_manager_name: str, - cluster_manager_parameters: IO[bytes], + cloud_services_network_name: str, + cloud_services_network_parameters: IO[bytes], *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.ClusterManager]: - """Create a new cluster manager or update properties of the cluster manager if it exists. + ) -> AsyncLROPoller[_models.CloudServicesNetwork]: + """Create a new cloud services network or update the properties of the existing cloud services + network. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_manager_name: The name of the cluster manager. Required. - :type cluster_manager_name: str - :param cluster_manager_parameters: The request body. Required. - :type cluster_manager_parameters: IO[bytes] + :param cloud_services_network_name: The name of the cloud services network. Required. + :type cloud_services_network_name: str + :param cloud_services_network_parameters: The request body. Required. + :type cloud_services_network_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -4967,9 +5211,10 @@ async def begin_create_or_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns ClusterManager. The ClusterManager is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.ClusterManager] + :return: An instance of AsyncLROPoller that returns CloudServicesNetwork. The + CloudServicesNetwork is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.CloudServicesNetwork] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -4977,47 +5222,49 @@ async def begin_create_or_update( async def begin_create_or_update( self, resource_group_name: str, - cluster_manager_name: str, - cluster_manager_parameters: Union[_models.ClusterManager, _types.ClusterManager, IO[bytes]], + cloud_services_network_name: str, + cloud_services_network_parameters: Union[_models.CloudServicesNetwork, _types.CloudServicesNetwork, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.ClusterManager]: - """Create a new cluster manager or update properties of the cluster manager if it exists. + ) -> AsyncLROPoller[_models.CloudServicesNetwork]: + """Create a new cloud services network or update the properties of the existing cloud services + network. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_manager_name: The name of the cluster manager. Required. - :type cluster_manager_name: str - :param cluster_manager_parameters: The request body. Is either a ClusterManager type or a - IO[bytes] type. Required. - :type cluster_manager_parameters: ~azure.mgmt.networkcloud.models.ClusterManager or - ~azure.mgmt.networkcloud.types.ClusterManager or IO[bytes] + :param cloud_services_network_name: The name of the cloud services network. Required. + :type cloud_services_network_name: str + :param cloud_services_network_parameters: The request body. Is either a CloudServicesNetwork + type or a IO[bytes] type. Required. + :type cloud_services_network_parameters: ~azure.mgmt.networkcloud.models.CloudServicesNetwork + or ~azure.mgmt.networkcloud.types.CloudServicesNetwork or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns ClusterManager. The ClusterManager is - compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.ClusterManager] + :return: An instance of AsyncLROPoller that returns CloudServicesNetwork. The + CloudServicesNetwork is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.CloudServicesNetwork] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.ClusterManager] = kwargs.pop("cls", None) + cls: ClsType[_models.CloudServicesNetwork] = 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, - cluster_manager_name=cluster_manager_name, - cluster_manager_parameters=cluster_manager_parameters, + cloud_services_network_name=cloud_services_network_name, + cloud_services_network_parameters=cloud_services_network_parameters, etag=etag, match_condition=match_condition, content_type=content_type, @@ -5031,7 +5278,7 @@ async def begin_create_or_update( def get_long_running_output(pipeline_response): response = pipeline_response.http_response - deserialized = _deserialize(_models.ClusterManager, response.json()) + deserialized = _deserialize(_models.CloudServicesNetwork, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized @@ -5049,39 +5296,133 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return AsyncLROPoller[_models.ClusterManager].from_continuation_token( + return AsyncLROPoller[_models.CloudServicesNetwork].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return AsyncLROPoller[_models.ClusterManager]( + return AsyncLROPoller[_models.CloudServicesNetwork]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) + async def _update_initial( + self, + resource_group_name: str, + cloud_services_network_name: str, + cloud_services_network_update_parameters: Optional[ + Union[_models.CloudServicesNetworkPatchParameters, _types.CloudServicesNetworkPatchParameters, IO[bytes]] + ] = None, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if cloud_services_network_update_parameters else None + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" if cloud_services_network_update_parameters else None + _content = None + if isinstance(cloud_services_network_update_parameters, (IOBase, bytes)): + _content = cloud_services_network_update_parameters + else: + if cloud_services_network_update_parameters is not None: + _content = json.dumps(cloud_services_network_update_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None + + _request = build_cloud_services_networks_update_request( + resource_group_name=resource_group_name, + cloud_services_network_name=cloud_services_network_name, + subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + @overload - async def update( + async def begin_update( self, resource_group_name: str, - cluster_manager_name: str, - cluster_manager_update_parameters: Optional[_models.ClusterManagerPatchParameters] = None, + cloud_services_network_name: str, + cloud_services_network_update_parameters: Optional[_models.CloudServicesNetworkPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> _models.ClusterManager: - """Patch properties of the provided cluster manager, or update the tags assigned to the cluster - manager. Properties and tag updates can be done independently. + ) -> AsyncLROPoller[_models.CloudServicesNetwork]: + """Update properties of the provided cloud services network, or update the tags associated with + it. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_manager_name: The name of the cluster manager. Required. - :type cluster_manager_name: str - :param cluster_manager_update_parameters: The request body. Default value is None. - :type cluster_manager_update_parameters: - ~azure.mgmt.networkcloud.models.ClusterManagerPatchParameters + :param cloud_services_network_name: The name of the cloud services network. Required. + :type cloud_services_network_name: str + :param cloud_services_network_update_parameters: The request body. Default value is None. + :type cloud_services_network_update_parameters: + ~azure.mgmt.networkcloud.models.CloudServicesNetworkPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -5090,34 +5431,36 @@ async def update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: ClusterManager. The ClusterManager is compatible with MutableMapping - :rtype: ~azure.mgmt.networkcloud.models.ClusterManager + :return: An instance of AsyncLROPoller that returns CloudServicesNetwork. The + CloudServicesNetwork is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.CloudServicesNetwork] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def update( + async def begin_update( self, resource_group_name: str, - cluster_manager_name: str, - cluster_manager_update_parameters: Optional[_types.ClusterManagerPatchParameters] = None, + cloud_services_network_name: str, + cloud_services_network_update_parameters: Optional[_types.CloudServicesNetworkPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> _models.ClusterManager: - """Patch properties of the provided cluster manager, or update the tags assigned to the cluster - manager. Properties and tag updates can be done independently. + ) -> AsyncLROPoller[_models.CloudServicesNetwork]: + """Update properties of the provided cloud services network, or update the tags associated with + it. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_manager_name: The name of the cluster manager. Required. - :type cluster_manager_name: str - :param cluster_manager_update_parameters: The request body. Default value is None. - :type cluster_manager_update_parameters: - ~azure.mgmt.networkcloud.types.ClusterManagerPatchParameters + :param cloud_services_network_name: The name of the cloud services network. Required. + :type cloud_services_network_name: str + :param cloud_services_network_update_parameters: The request body. Default value is None. + :type cloud_services_network_update_parameters: + ~azure.mgmt.networkcloud.types.CloudServicesNetworkPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -5126,33 +5469,35 @@ async def update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: ClusterManager. The ClusterManager is compatible with MutableMapping - :rtype: ~azure.mgmt.networkcloud.models.ClusterManager + :return: An instance of AsyncLROPoller that returns CloudServicesNetwork. The + CloudServicesNetwork is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.CloudServicesNetwork] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def update( + async def begin_update( self, resource_group_name: str, - cluster_manager_name: str, - cluster_manager_update_parameters: Optional[IO[bytes]] = None, + cloud_services_network_name: str, + cloud_services_network_update_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> _models.ClusterManager: - """Patch properties of the provided cluster manager, or update the tags assigned to the cluster - manager. Properties and tag updates can be done independently. + ) -> AsyncLROPoller[_models.CloudServicesNetwork]: + """Update properties of the provided cloud services network, or update the tags associated with + it. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_manager_name: The name of the cluster manager. Required. - :type cluster_manager_name: str - :param cluster_manager_update_parameters: The request body. Default value is None. - :type cluster_manager_update_parameters: IO[bytes] + :param cloud_services_network_name: The name of the cloud services network. Required. + :type cloud_services_network_name: str + :param cloud_services_network_update_parameters: The request body. Default value is None. + :type cloud_services_network_update_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -5161,129 +5506,109 @@ async def update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: ClusterManager. The ClusterManager is compatible with MutableMapping - :rtype: ~azure.mgmt.networkcloud.models.ClusterManager + :return: An instance of AsyncLROPoller that returns CloudServicesNetwork. The + CloudServicesNetwork is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.CloudServicesNetwork] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace_async - async def update( + async def begin_update( self, resource_group_name: str, - cluster_manager_name: str, - cluster_manager_update_parameters: Optional[ - Union[_models.ClusterManagerPatchParameters, _types.ClusterManagerPatchParameters, IO[bytes]] + cloud_services_network_name: str, + cloud_services_network_update_parameters: Optional[ + Union[_models.CloudServicesNetworkPatchParameters, _types.CloudServicesNetworkPatchParameters, IO[bytes]] ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> _models.ClusterManager: - """Patch properties of the provided cluster manager, or update the tags assigned to the cluster - manager. Properties and tag updates can be done independently. + ) -> AsyncLROPoller[_models.CloudServicesNetwork]: + """Update properties of the provided cloud services network, or update the tags associated with + it. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_manager_name: The name of the cluster manager. Required. - :type cluster_manager_name: str - :param cluster_manager_update_parameters: The request body. Is either a - ClusterManagerPatchParameters type or a IO[bytes] type. Default value is None. - :type cluster_manager_update_parameters: - ~azure.mgmt.networkcloud.models.ClusterManagerPatchParameters or - ~azure.mgmt.networkcloud.types.ClusterManagerPatchParameters or IO[bytes] + :param cloud_services_network_name: The name of the cloud services network. Required. + :type cloud_services_network_name: str + :param cloud_services_network_update_parameters: The request body. Is either a + CloudServicesNetworkPatchParameters type or a IO[bytes] type. Default value is None. + :type cloud_services_network_update_parameters: + ~azure.mgmt.networkcloud.models.CloudServicesNetworkPatchParameters or + ~azure.mgmt.networkcloud.types.CloudServicesNetworkPatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: ClusterManager. The ClusterManager is compatible with MutableMapping - :rtype: ~azure.mgmt.networkcloud.models.ClusterManager + :return: An instance of AsyncLROPoller that returns CloudServicesNetwork. The + CloudServicesNetwork is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.CloudServicesNetwork] :raises ~azure.core.exceptions.HttpResponseError: """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError - error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if cluster_manager_update_parameters else None - cls: ClsType[_models.ClusterManager] = kwargs.pop("cls", None) + content_type = content_type if cloud_services_network_update_parameters else None + cls: ClsType[_models.CloudServicesNetwork] = 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._update_initial( + resource_group_name=resource_group_name, + cloud_services_network_name=cloud_services_network_name, + cloud_services_network_update_parameters=cloud_services_network_update_parameters, + etag=etag, + match_condition=match_condition, + 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) - content_type = content_type or "application/json" if cluster_manager_update_parameters else None - _content = None - if isinstance(cluster_manager_update_parameters, (IOBase, bytes)): - _content = cluster_manager_update_parameters - else: - if cluster_manager_update_parameters is not None: - _content = json.dumps(cluster_manager_update_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - else: - _content = None + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = _deserialize(_models.CloudServicesNetwork, response.json()) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized - _request = build_cluster_managers_update_request( - resource_group_name=resource_group_name, - cluster_manager_name=cluster_manager_name, - subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) path_format_arguments = { "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("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]: - if _stream: - 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) else: - deserialized = _deserialize(_models.ClusterManager, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.CloudServicesNetwork].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.CloudServicesNetwork]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) async def _delete_initial( self, resource_group_name: str, - cluster_manager_name: str, + cloud_services_network_name: str, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -5308,9 +5633,9 @@ async def _delete_initial( cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - _request = build_cluster_managers_delete_request( + _request = build_cloud_services_networks_delete_request( resource_group_name=resource_group_name, - cluster_manager_name=cluster_manager_name, + cloud_services_network_name=cloud_services_network_name, subscription_id=self._config.subscription_id, etag=etag, match_condition=match_condition, @@ -5358,19 +5683,19 @@ async def _delete_initial( async def begin_delete( self, resource_group_name: str, - cluster_manager_name: str, + cloud_services_network_name: str, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Delete the provided cluster manager. + """Delete the provided cloud services network. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_manager_name: The name of the cluster manager. Required. - :type cluster_manager_name: str + :param cloud_services_network_name: The name of the cloud services network. Required. + :type cloud_services_network_name: str :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -5392,7 +5717,7 @@ async def begin_delete( if cont_token is None: raw_result = await self._delete_initial( resource_group_name=resource_group_name, - cluster_manager_name=cluster_manager_name, + cloud_services_network_name=cloud_services_network_name, etag=etag, match_condition=match_condition, cls=lambda x, y, z: x, @@ -5439,8 +5764,8 @@ def get_long_running_output(pipeline_response): @distributed_trace def list_by_resource_group( self, resource_group_name: str, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> AsyncItemPaged["_models.ClusterManager"]: - """Get a list of cluster managers in the provided resource group. + ) -> AsyncItemPaged["_models.CloudServicesNetwork"]: + """Get a list of cloud services networks in the provided resource group. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. @@ -5452,14 +5777,15 @@ def list_by_resource_group( listing resources from. This is used for paging through large result sets. Default value is None. :paramtype skip_token: str - :return: An iterator like instance of ClusterManager - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.ClusterManager] + :return: An iterator like instance of CloudServicesNetwork + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.CloudServicesNetwork] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.ClusterManager]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.CloudServicesNetwork]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -5472,7 +5798,7 @@ def list_by_resource_group( def prepare_request(next_link=None): if not next_link: - _request = build_cluster_managers_list_by_resource_group_request( + _request = build_cloud_services_networks_list_by_resource_group_request( resource_group_name=resource_group_name, subscription_id=self._config.subscription_id, top=top, @@ -5516,7 +5842,7 @@ def prepare_request(next_link=None): async def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.ClusterManager], + List[_models.CloudServicesNetwork], deserialized.get("value", []), ) if cls: @@ -5547,8 +5873,8 @@ async def get_next(next_link=None): @distributed_trace def list_by_subscription( self, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> AsyncItemPaged["_models.ClusterManager"]: - """Get a list of cluster managers in the provided subscription. + ) -> AsyncItemPaged["_models.CloudServicesNetwork"]: + """Get a list of cloud services networks in the provided subscription. :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. Default value is None. @@ -5557,14 +5883,15 @@ def list_by_subscription( listing resources from. This is used for paging through large result sets. Default value is None. :paramtype skip_token: str - :return: An iterator like instance of ClusterManager - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.ClusterManager] + :return: An iterator like instance of CloudServicesNetwork + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.CloudServicesNetwork] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.ClusterManager]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.CloudServicesNetwork]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -5577,7 +5904,7 @@ def list_by_subscription( def prepare_request(next_link=None): if not next_link: - _request = build_cluster_managers_list_by_subscription_request( + _request = build_cloud_services_networks_list_by_subscription_request( subscription_id=self._config.subscription_id, top=top, skip_token=skip_token, @@ -5620,7 +5947,7 @@ def prepare_request(next_link=None): async def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.ClusterManager], + List[_models.CloudServicesNetwork], deserialized.get("value", []), ) if cls: @@ -5649,14 +5976,14 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) -class ClustersOperations: +class ClusterManagersOperations: """ .. warning:: **DO NOT** instantiate this class directly. Instead, you should access the following operations through :class:`~azure.mgmt.networkcloud.aio.NetworkCloudMgmtClient`'s - :attr:`clusters` attribute. + :attr:`cluster_managers` attribute. """ def __init__(self, *args, **kwargs) -> None: @@ -5667,16 +5994,16 @@ def __init__(self, *args, **kwargs) -> None: self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @distributed_trace_async - async def get(self, resource_group_name: str, cluster_name: str, **kwargs: Any) -> _models.Cluster: - """Get properties of the provided cluster. + async def get(self, resource_group_name: str, cluster_manager_name: str, **kwargs: Any) -> _models.ClusterManager: + """Get the properties of the provided cluster manager. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :return: Cluster. The Cluster is compatible with MutableMapping - :rtype: ~azure.mgmt.networkcloud.models.Cluster + :param cluster_manager_name: The name of the cluster manager. Required. + :type cluster_manager_name: str + :return: ClusterManager. The ClusterManager is compatible with MutableMapping + :rtype: ~azure.mgmt.networkcloud.models.ClusterManager :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -5690,11 +6017,11 @@ async def get(self, resource_group_name: str, cluster_name: str, **kwargs: Any) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.Cluster] = kwargs.pop("cls", None) + cls: ClsType[_models.ClusterManager] = kwargs.pop("cls", None) - _request = build_clusters_get_request( + _request = build_cluster_managers_get_request( resource_group_name=resource_group_name, - cluster_name=cluster_name, + cluster_manager_name=cluster_manager_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -5729,7 +6056,7 @@ async def get(self, resource_group_name: str, cluster_name: str, **kwargs: Any) if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.Cluster, response.json()) + deserialized = _deserialize(_models.ClusterManager, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore @@ -5739,8 +6066,8 @@ async def get(self, resource_group_name: str, cluster_name: str, **kwargs: Any) async def _create_or_update_initial( self, resource_group_name: str, - cluster_name: str, - cluster_parameters: Union[_models.Cluster, _types.Cluster, IO[bytes]], + cluster_manager_name: str, + cluster_manager_parameters: Union[_models.ClusterManager, _types.ClusterManager, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -5768,14 +6095,14 @@ async def _create_or_update_initial( content_type = content_type or "application/json" _content = None - if isinstance(cluster_parameters, (IOBase, bytes)): - _content = cluster_parameters + if isinstance(cluster_manager_parameters, (IOBase, bytes)): + _content = cluster_manager_parameters else: - _content = json.dumps(cluster_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + _content = json.dumps(cluster_manager_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_clusters_create_or_update_request( + _request = build_cluster_managers_create_or_update_request( resource_group_name=resource_group_name, - cluster_name=cluster_name, + cluster_manager_name=cluster_manager_name, subscription_id=self._config.subscription_id, etag=etag, match_condition=match_condition, @@ -5827,23 +6154,23 @@ async def _create_or_update_initial( async def begin_create_or_update( self, resource_group_name: str, - cluster_name: str, - cluster_parameters: _models.Cluster, + cluster_manager_name: str, + cluster_manager_parameters: _models.ClusterManager, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.Cluster]: - """Create a new cluster or update the properties of the cluster if it exists. + ) -> AsyncLROPoller[_models.ClusterManager]: + """Create a new cluster manager or update properties of the cluster manager if it exists. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_parameters: The request body. Required. - :type cluster_parameters: ~azure.mgmt.networkcloud.models.Cluster + :param cluster_manager_name: The name of the cluster manager. Required. + :type cluster_manager_name: str + :param cluster_manager_parameters: The request body. Required. + :type cluster_manager_parameters: ~azure.mgmt.networkcloud.models.ClusterManager :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -5852,9 +6179,9 @@ async def begin_create_or_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns Cluster. The Cluster is compatible with - MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.Cluster] + :return: An instance of AsyncLROPoller that returns ClusterManager. The ClusterManager is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.ClusterManager] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -5862,24 +6189,24 @@ async def begin_create_or_update( async def begin_create_or_update( self, resource_group_name: str, - cluster_name: str, - cluster_parameters: _types.Cluster, + cluster_manager_name: str, + cluster_manager_parameters: _types.ClusterManager, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.Cluster]: - """Create a new cluster or update the properties of the cluster if it exists. + ) -> AsyncLROPoller[_models.ClusterManager]: + """Create a new cluster manager or update properties of the cluster manager if it exists. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_parameters: The request body. Required. - :type cluster_parameters: ~azure.mgmt.networkcloud.types.Cluster - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + :param cluster_manager_name: The name of the cluster manager. Required. + :type cluster_manager_name: str + :param cluster_manager_parameters: The request body. Required. + :type cluster_manager_parameters: ~azure.mgmt.networkcloud.types.ClusterManager + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is @@ -5887,9 +6214,9 @@ async def begin_create_or_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns Cluster. The Cluster is compatible with - MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.Cluster] + :return: An instance of AsyncLROPoller that returns ClusterManager. The ClusterManager is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.ClusterManager] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -5897,23 +6224,23 @@ async def begin_create_or_update( async def begin_create_or_update( self, resource_group_name: str, - cluster_name: str, - cluster_parameters: IO[bytes], + cluster_manager_name: str, + cluster_manager_parameters: IO[bytes], *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.Cluster]: - """Create a new cluster or update the properties of the cluster if it exists. + ) -> AsyncLROPoller[_models.ClusterManager]: + """Create a new cluster manager or update properties of the cluster manager if it exists. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_parameters: The request body. Required. - :type cluster_parameters: IO[bytes] + :param cluster_manager_name: The name of the cluster manager. Required. + :type cluster_manager_name: str + :param cluster_manager_parameters: The request body. Required. + :type cluster_manager_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -5922,9 +6249,9 @@ async def begin_create_or_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns Cluster. The Cluster is compatible with - MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.Cluster] + :return: An instance of AsyncLROPoller that returns ClusterManager. The ClusterManager is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.ClusterManager] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -5932,47 +6259,47 @@ async def begin_create_or_update( async def begin_create_or_update( self, resource_group_name: str, - cluster_name: str, - cluster_parameters: Union[_models.Cluster, _types.Cluster, IO[bytes]], + cluster_manager_name: str, + cluster_manager_parameters: Union[_models.ClusterManager, _types.ClusterManager, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.Cluster]: - """Create a new cluster or update the properties of the cluster if it exists. + ) -> AsyncLROPoller[_models.ClusterManager]: + """Create a new cluster manager or update properties of the cluster manager if it exists. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_parameters: The request body. Is either a Cluster type or a IO[bytes] type. - Required. - :type cluster_parameters: ~azure.mgmt.networkcloud.models.Cluster or - ~azure.mgmt.networkcloud.types.Cluster or IO[bytes] + :param cluster_manager_name: The name of the cluster manager. Required. + :type cluster_manager_name: str + :param cluster_manager_parameters: The request body. Is either a ClusterManager type or a + IO[bytes] type. Required. + :type cluster_manager_parameters: ~azure.mgmt.networkcloud.models.ClusterManager or + ~azure.mgmt.networkcloud.types.ClusterManager or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns Cluster. The Cluster is compatible with - MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.Cluster] + :return: An instance of AsyncLROPoller that returns ClusterManager. The ClusterManager is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.ClusterManager] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.Cluster] = kwargs.pop("cls", None) + cls: ClsType[_models.ClusterManager] = 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, - cluster_name=cluster_name, - cluster_parameters=cluster_parameters, + cluster_manager_name=cluster_manager_name, + cluster_manager_parameters=cluster_manager_parameters, etag=etag, match_condition=match_condition, content_type=content_type, @@ -5986,7 +6313,7 @@ async def begin_create_or_update( def get_long_running_output(pipeline_response): response = pipeline_response.http_response - deserialized = _deserialize(_models.Cluster, response.json()) + deserialized = _deserialize(_models.ClusterManager, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized @@ -6004,132 +6331,39 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return AsyncLROPoller[_models.Cluster].from_continuation_token( + return AsyncLROPoller[_models.ClusterManager].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return AsyncLROPoller[_models.Cluster]( + return AsyncLROPoller[_models.ClusterManager]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - async def _update_initial( - self, - resource_group_name: str, - cluster_name: str, - cluster_update_parameters: Optional[ - Union[_models.ClusterPatchParameters, _types.ClusterPatchParameters, IO[bytes]] - ] = None, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> AsyncIterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if cluster_update_parameters else None - cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" if cluster_update_parameters else None - _content = None - if isinstance(cluster_update_parameters, (IOBase, bytes)): - _content = cluster_update_parameters - else: - if cluster_update_parameters is not None: - _content = json.dumps(cluster_update_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - else: - _content = None - - _request = build_clusters_update_request( - resource_group_name=resource_group_name, - cluster_name=cluster_name, - subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 202: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - @overload - async def begin_update( + async def update( self, resource_group_name: str, - cluster_name: str, - cluster_update_parameters: Optional[_models.ClusterPatchParameters] = None, + cluster_manager_name: str, + cluster_manager_update_parameters: Optional[_models.ClusterManagerPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.Cluster]: - """Patch the properties of the provided cluster, or update the tags associated with the cluster. - Properties and tag updates can be done independently. + ) -> _models.ClusterManager: + """Patch properties of the provided cluster manager, or update the tags assigned to the cluster + manager. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_update_parameters: The request body. Default value is None. - :type cluster_update_parameters: ~azure.mgmt.networkcloud.models.ClusterPatchParameters + :param cluster_manager_name: The name of the cluster manager. Required. + :type cluster_manager_name: str + :param cluster_manager_update_parameters: The request body. Default value is None. + :type cluster_manager_update_parameters: + ~azure.mgmt.networkcloud.models.ClusterManagerPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -6138,34 +6372,34 @@ async def begin_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns Cluster. The Cluster is compatible with - MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.Cluster] + :return: ClusterManager. The ClusterManager is compatible with MutableMapping + :rtype: ~azure.mgmt.networkcloud.models.ClusterManager :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def begin_update( + async def update( self, resource_group_name: str, - cluster_name: str, - cluster_update_parameters: Optional[_types.ClusterPatchParameters] = None, + cluster_manager_name: str, + cluster_manager_update_parameters: Optional[_types.ClusterManagerPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.Cluster]: - """Patch the properties of the provided cluster, or update the tags associated with the cluster. - Properties and tag updates can be done independently. + ) -> _models.ClusterManager: + """Patch properties of the provided cluster manager, or update the tags assigned to the cluster + manager. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_update_parameters: The request body. Default value is None. - :type cluster_update_parameters: ~azure.mgmt.networkcloud.types.ClusterPatchParameters + :param cluster_manager_name: The name of the cluster manager. Required. + :type cluster_manager_name: str + :param cluster_manager_update_parameters: The request body. Default value is None. + :type cluster_manager_update_parameters: + ~azure.mgmt.networkcloud.types.ClusterManagerPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -6174,34 +6408,33 @@ async def begin_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns Cluster. The Cluster is compatible with - MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.Cluster] + :return: ClusterManager. The ClusterManager is compatible with MutableMapping + :rtype: ~azure.mgmt.networkcloud.models.ClusterManager :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def begin_update( + async def update( self, resource_group_name: str, - cluster_name: str, - cluster_update_parameters: Optional[IO[bytes]] = None, + cluster_manager_name: str, + cluster_manager_update_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.Cluster]: - """Patch the properties of the provided cluster, or update the tags associated with the cluster. - Properties and tag updates can be done independently. + ) -> _models.ClusterManager: + """Patch properties of the provided cluster manager, or update the tags assigned to the cluster + manager. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_update_parameters: The request body. Default value is None. - :type cluster_update_parameters: IO[bytes] + :param cluster_manager_name: The name of the cluster manager. Required. + :type cluster_manager_name: str + :param cluster_manager_update_parameters: The request body. Default value is None. + :type cluster_manager_update_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -6210,106 +6443,129 @@ async def begin_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns Cluster. The Cluster is compatible with - MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.Cluster] + :return: ClusterManager. The ClusterManager is compatible with MutableMapping + :rtype: ~azure.mgmt.networkcloud.models.ClusterManager :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace_async - async def begin_update( + async def update( self, resource_group_name: str, - cluster_name: str, - cluster_update_parameters: Optional[ - Union[_models.ClusterPatchParameters, _types.ClusterPatchParameters, IO[bytes]] + cluster_manager_name: str, + cluster_manager_update_parameters: Optional[ + Union[_models.ClusterManagerPatchParameters, _types.ClusterManagerPatchParameters, IO[bytes]] ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.Cluster]: - """Patch the properties of the provided cluster, or update the tags associated with the cluster. - Properties and tag updates can be done independently. + ) -> _models.ClusterManager: + """Patch properties of the provided cluster manager, or update the tags assigned to the cluster + manager. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_update_parameters: The request body. Is either a ClusterPatchParameters type or - a IO[bytes] type. Default value is None. - :type cluster_update_parameters: ~azure.mgmt.networkcloud.models.ClusterPatchParameters or - ~azure.mgmt.networkcloud.types.ClusterPatchParameters or IO[bytes] + :param cluster_manager_name: The name of the cluster manager. Required. + :type cluster_manager_name: str + :param cluster_manager_update_parameters: The request body. Is either a + ClusterManagerPatchParameters type or a IO[bytes] type. Default value is None. + :type cluster_manager_update_parameters: + ~azure.mgmt.networkcloud.models.ClusterManagerPatchParameters or + ~azure.mgmt.networkcloud.types.ClusterManagerPatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns Cluster. The Cluster is compatible with - MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.Cluster] + :return: ClusterManager. The ClusterManager is compatible with MutableMapping + :rtype: ~azure.mgmt.networkcloud.models.ClusterManager :raises ~azure.core.exceptions.HttpResponseError: """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError + error_map.update(kwargs.pop("error_map", {}) or {}) + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if cluster_update_parameters else None - cls: ClsType[_models.Cluster] = 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._update_initial( - resource_group_name=resource_group_name, - cluster_name=cluster_name, - cluster_update_parameters=cluster_update_parameters, - etag=etag, - match_condition=match_condition, - 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) + content_type = content_type if cluster_manager_update_parameters else None + cls: ClsType[_models.ClusterManager] = kwargs.pop("cls", None) - def get_long_running_output(pipeline_response): - response = pipeline_response.http_response - deserialized = _deserialize(_models.Cluster, response.json()) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized + content_type = content_type or "application/json" if cluster_manager_update_parameters else None + _content = None + if isinstance(cluster_manager_update_parameters, (IOBase, bytes)): + _content = cluster_manager_update_parameters + else: + if cluster_manager_update_parameters is not None: + _content = json.dumps(cluster_manager_update_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None + _request = build_cluster_managers_update_request( + resource_group_name=resource_group_name, + cluster_manager_name=cluster_manager_name, + subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) path_format_arguments = { "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), } + _request.url = self._client.format_url(_request.url, **path_format_arguments) - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.Cluster].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.Cluster]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) + deserialized = _deserialize(_models.ClusterManager, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore async def _delete_initial( self, resource_group_name: str, - cluster_name: str, + cluster_manager_name: str, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -6334,9 +6590,9 @@ async def _delete_initial( cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - _request = build_clusters_delete_request( + _request = build_cluster_managers_delete_request( resource_group_name=resource_group_name, - cluster_name=cluster_name, + cluster_manager_name=cluster_manager_name, subscription_id=self._config.subscription_id, etag=etag, match_condition=match_condition, @@ -6384,19 +6640,19 @@ async def _delete_initial( async def begin_delete( self, resource_group_name: str, - cluster_name: str, + cluster_manager_name: str, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Delete the provided cluster. + """Delete the provided cluster manager. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str + :param cluster_manager_name: The name of the cluster manager. Required. + :type cluster_manager_name: str :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -6418,7 +6674,7 @@ async def begin_delete( if cont_token is None: raw_result = await self._delete_initial( resource_group_name=resource_group_name, - cluster_name=cluster_name, + cluster_manager_name=cluster_manager_name, etag=etag, match_condition=match_condition, cls=lambda x, y, z: x, @@ -6465,8 +6721,8 @@ def get_long_running_output(pipeline_response): @distributed_trace def list_by_resource_group( self, resource_group_name: str, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> AsyncItemPaged["_models.Cluster"]: - """Get a list of clusters in the provided resource group. + ) -> AsyncItemPaged["_models.ClusterManager"]: + """Get a list of cluster managers in the provided resource group. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. @@ -6478,14 +6734,14 @@ def list_by_resource_group( listing resources from. This is used for paging through large result sets. Default value is None. :paramtype skip_token: str - :return: An iterator like instance of Cluster - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.Cluster] + :return: An iterator like instance of ClusterManager + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.ClusterManager] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.Cluster]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.ClusterManager]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -6498,7 +6754,7 @@ def list_by_resource_group( def prepare_request(next_link=None): if not next_link: - _request = build_clusters_list_by_resource_group_request( + _request = build_cluster_managers_list_by_resource_group_request( resource_group_name=resource_group_name, subscription_id=self._config.subscription_id, top=top, @@ -6542,7 +6798,7 @@ def prepare_request(next_link=None): async def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.Cluster], + List[_models.ClusterManager], deserialized.get("value", []), ) if cls: @@ -6573,8 +6829,8 @@ async def get_next(next_link=None): @distributed_trace def list_by_subscription( self, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> AsyncItemPaged["_models.Cluster"]: - """Get a list of clusters in the provided subscription. + ) -> AsyncItemPaged["_models.ClusterManager"]: + """Get a list of cluster managers in the provided subscription. :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. Default value is None. @@ -6583,14 +6839,14 @@ def list_by_subscription( listing resources from. This is used for paging through large result sets. Default value is None. :paramtype skip_token: str - :return: An iterator like instance of Cluster - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.Cluster] + :return: An iterator like instance of ClusterManager + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.ClusterManager] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.Cluster]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.ClusterManager]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -6603,7 +6859,7 @@ def list_by_subscription( def prepare_request(next_link=None): if not next_link: - _request = build_clusters_list_by_subscription_request( + _request = build_cluster_managers_list_by_subscription_request( subscription_id=self._config.subscription_id, top=top, skip_token=skip_token, @@ -6646,7 +6902,7 @@ def prepare_request(next_link=None): async def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.Cluster], + List[_models.ClusterManager], deserialized.get("value", []), ) if cls: @@ -6674,13 +6930,30 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) - async def _continue_update_version_initial( + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "cluster_manager_name", + "content_type", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) + async def _update_relay_private_endpoint_connection_initial( # pylint: disable=name-too-long self, resource_group_name: str, - cluster_name: str, - cluster_continue_update_version_parameters: Union[ - _models.ClusterContinueUpdateVersionParameters, _types.ClusterContinueUpdateVersionParameters, IO[bytes] - ], + cluster_manager_name: str, + cluster_manager_update_relay_private_endpoint_connection_parameters: Optional[ + Union[ + _models.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters, + _types.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters, + IO[bytes], + ] + ] = None, **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -6695,18 +6968,26 @@ async def _continue_update_version_initial( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if cluster_manager_update_relay_private_endpoint_connection_parameters else None cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" + content_type = ( + content_type or "application/json" + if cluster_manager_update_relay_private_endpoint_connection_parameters + else None + ) _content = None - if isinstance(cluster_continue_update_version_parameters, (IOBase, bytes)): - _content = cluster_continue_update_version_parameters + if isinstance(cluster_manager_update_relay_private_endpoint_connection_parameters, (IOBase, bytes)): + _content = cluster_manager_update_relay_private_endpoint_connection_parameters else: - _content = json.dumps(cluster_continue_update_version_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + if cluster_manager_update_relay_private_endpoint_connection_parameters is not None: + _content = json.dumps(cluster_manager_update_relay_private_endpoint_connection_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None - _request = build_clusters_continue_update_version_request( + _request = build_cluster_managers_update_relay_private_endpoint_connection_request( resource_group_name=resource_group_name, - cluster_name=cluster_name, + cluster_manager_name=cluster_manager_name, subscription_id=self._config.subscription_id, content_type=content_type, api_version=self._config.api_version, @@ -6751,26 +7032,30 @@ async def _continue_update_version_initial( return deserialized # type: ignore @overload - async def begin_continue_update_version( + async def begin_update_relay_private_endpoint_connection( # pylint: disable=name-too-long self, resource_group_name: str, - cluster_name: str, - cluster_continue_update_version_parameters: _models.ClusterContinueUpdateVersionParameters, + cluster_manager_name: str, + cluster_manager_update_relay_private_endpoint_connection_parameters: Optional[ + _models.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters + ] = None, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Trigger the continuation of an update for a cluster with a matching update strategy that has - paused after completing a segment of the update. + """Update the private endpoint connection for the Azure Relay namespace managed by the specified + cluster manager. Use this operation to approve or reject a pending private endpoint connection + request for the relay namespace managed by the cluster manager. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_continue_update_version_parameters: The request body. Required. - :type cluster_continue_update_version_parameters: - ~azure.mgmt.networkcloud.models.ClusterContinueUpdateVersionParameters + :param cluster_manager_name: The name of the cluster manager. Required. + :type cluster_manager_name: str + :param cluster_manager_update_relay_private_endpoint_connection_parameters: The request body. + Default value is None. + :type cluster_manager_update_relay_private_endpoint_connection_parameters: + ~azure.mgmt.networkcloud.models.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -6782,26 +7067,30 @@ async def begin_continue_update_version( """ @overload - async def begin_continue_update_version( + async def begin_update_relay_private_endpoint_connection( # pylint: disable=name-too-long self, resource_group_name: str, - cluster_name: str, - cluster_continue_update_version_parameters: _types.ClusterContinueUpdateVersionParameters, + cluster_manager_name: str, + cluster_manager_update_relay_private_endpoint_connection_parameters: Optional[ + _types.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters + ] = None, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Trigger the continuation of an update for a cluster with a matching update strategy that has - paused after completing a segment of the update. + """Update the private endpoint connection for the Azure Relay namespace managed by the specified + cluster manager. Use this operation to approve or reject a pending private endpoint connection + request for the relay namespace managed by the cluster manager. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_continue_update_version_parameters: The request body. Required. - :type cluster_continue_update_version_parameters: - ~azure.mgmt.networkcloud.types.ClusterContinueUpdateVersionParameters + :param cluster_manager_name: The name of the cluster manager. Required. + :type cluster_manager_name: str + :param cluster_manager_update_relay_private_endpoint_connection_parameters: The request body. + Default value is None. + :type cluster_manager_update_relay_private_endpoint_connection_parameters: + ~azure.mgmt.networkcloud.types.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -6813,25 +7102,27 @@ async def begin_continue_update_version( """ @overload - async def begin_continue_update_version( + async def begin_update_relay_private_endpoint_connection( # pylint: disable=name-too-long self, resource_group_name: str, - cluster_name: str, - cluster_continue_update_version_parameters: IO[bytes], + cluster_manager_name: str, + cluster_manager_update_relay_private_endpoint_connection_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Trigger the continuation of an update for a cluster with a matching update strategy that has - paused after completing a segment of the update. + """Update the private endpoint connection for the Azure Relay namespace managed by the specified + cluster manager. Use this operation to approve or reject a pending private endpoint connection + request for the relay namespace managed by the cluster manager. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_continue_update_version_parameters: The request body. Required. - :type cluster_continue_update_version_parameters: IO[bytes] + :param cluster_manager_name: The name of the cluster manager. Required. + :type cluster_manager_name: str + :param cluster_manager_update_relay_private_endpoint_connection_parameters: The request body. + Default value is None. + :type cluster_manager_update_relay_private_endpoint_connection_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -6843,29 +7134,49 @@ async def begin_continue_update_version( """ @distributed_trace_async - async def begin_continue_update_version( + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "cluster_manager_name", + "content_type", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) + async def begin_update_relay_private_endpoint_connection( # pylint: disable=name-too-long self, resource_group_name: str, - cluster_name: str, - cluster_continue_update_version_parameters: Union[ - _models.ClusterContinueUpdateVersionParameters, _types.ClusterContinueUpdateVersionParameters, IO[bytes] - ], + cluster_manager_name: str, + cluster_manager_update_relay_private_endpoint_connection_parameters: Optional[ + Union[ + _models.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters, + _types.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters, + IO[bytes], + ] + ] = None, **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Trigger the continuation of an update for a cluster with a matching update strategy that has - paused after completing a segment of the update. + """Update the private endpoint connection for the Azure Relay namespace managed by the specified + cluster manager. Use this operation to approve or reject a pending private endpoint connection + request for the relay namespace managed by the cluster manager. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_continue_update_version_parameters: The request body. Is either a - ClusterContinueUpdateVersionParameters type or a IO[bytes] type. Required. - :type cluster_continue_update_version_parameters: - ~azure.mgmt.networkcloud.models.ClusterContinueUpdateVersionParameters or - ~azure.mgmt.networkcloud.types.ClusterContinueUpdateVersionParameters or IO[bytes] - :return: An instance of AsyncLROPoller that returns OperationStatusResult. The + :param cluster_manager_name: The name of the cluster manager. Required. + :type cluster_manager_name: str + :param cluster_manager_update_relay_private_endpoint_connection_parameters: The request body. + Is either a ClusterManagerUpdateRelayPrivateEndpointConnectionParameters type or a IO[bytes] + type. Default value is None. + :type cluster_manager_update_relay_private_endpoint_connection_parameters: + ~azure.mgmt.networkcloud.models.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters or + ~azure.mgmt.networkcloud.types.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters or + IO[bytes] + :return: An instance of AsyncLROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] @@ -6875,15 +7186,16 @@ async def begin_continue_update_version( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if cluster_manager_update_relay_private_endpoint_connection_parameters else None cls: ClsType[_models.OperationStatusResult] = 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._continue_update_version_initial( + raw_result = await self._update_relay_private_endpoint_connection_initial( resource_group_name=resource_group_name, - cluster_name=cluster_name, - cluster_continue_update_version_parameters=cluster_continue_update_version_parameters, + cluster_manager_name=cluster_manager_name, + cluster_manager_update_relay_private_endpoint_connection_parameters=cluster_manager_update_relay_private_endpoint_connection_parameters, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -6927,13 +7239,102 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - async def _deploy_initial( + +class ClustersOperations: # pylint: disable=too-many-public-methods + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.networkcloud.aio.NetworkCloudMgmtClient`'s + :attr:`clusters` attribute. + """ + + 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: NetworkCloudMgmtClientConfiguration = 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_async + async def get(self, resource_group_name: str, cluster_name: str, **kwargs: Any) -> _models.Cluster: + """Get properties of the provided cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :return: Cluster. The Cluster is compatible with MutableMapping + :rtype: ~azure.mgmt.networkcloud.models.Cluster + :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 = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.Cluster] = kwargs.pop("cls", None) + + _request = build_clusters_get_request( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.Cluster, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + async def _create_or_update_initial( self, resource_group_name: str, cluster_name: str, - cluster_deploy_parameters: Optional[ - Union[_models.ClusterDeployParameters, _types.ClusterDeployParameters, IO[bytes]] - ] = None, + cluster_parameters: Union[_models.Cluster, _types.Cluster, IO[bytes]], + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -6942,29 +7343,33 @@ async def _deploy_initial( 409: ResourceExistsError, 304: ResourceNotModifiedError, } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if cluster_deploy_parameters else None cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" if cluster_deploy_parameters else None + content_type = content_type or "application/json" _content = None - if isinstance(cluster_deploy_parameters, (IOBase, bytes)): - _content = cluster_deploy_parameters + if isinstance(cluster_parameters, (IOBase, bytes)): + _content = cluster_parameters else: - if cluster_deploy_parameters is not None: - _content = json.dumps(cluster_deploy_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - else: - _content = None + _content = json.dumps(cluster_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_clusters_deploy_request( + _request = build_clusters_create_or_update_request( resource_group_name=resource_group_name, cluster_name=cluster_name, subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, content_type=content_type, api_version=self._config.api_version, content=_content, @@ -6984,7 +7389,7 @@ async def _deploy_initial( response = pipeline_response.http_response - if response.status_code not in [202]: + if response.status_code not in [200, 201]: try: await response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -6997,8 +7402,10 @@ async def _deploy_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + if response.status_code == 201: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -7008,133 +7415,157 @@ async def _deploy_initial( return deserialized # type: ignore @overload - async def begin_deploy( + async def begin_create_or_update( self, resource_group_name: str, cluster_name: str, - cluster_deploy_parameters: Optional[_models.ClusterDeployParameters] = None, + cluster_parameters: _models.Cluster, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Deploy the cluster using the rack configuration provided during creation. + ) -> AsyncLROPoller[_models.Cluster]: + """Create a new cluster or update the properties of the cluster if it exists. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param cluster_deploy_parameters: The request body. Default value is None. - :type cluster_deploy_parameters: ~azure.mgmt.networkcloud.models.ClusterDeployParameters + :param cluster_parameters: The request body. Required. + :type cluster_parameters: ~azure.mgmt.networkcloud.models.Cluster :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns Cluster. The Cluster is compatible with + MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.Cluster] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def begin_deploy( + async def begin_create_or_update( self, resource_group_name: str, cluster_name: str, - cluster_deploy_parameters: Optional[_types.ClusterDeployParameters] = None, + cluster_parameters: _types.Cluster, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Deploy the cluster using the rack configuration provided during creation. + ) -> AsyncLROPoller[_models.Cluster]: + """Create a new cluster or update the properties of the cluster if it exists. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param cluster_deploy_parameters: The request body. Default value is None. - :type cluster_deploy_parameters: ~azure.mgmt.networkcloud.types.ClusterDeployParameters + :param cluster_parameters: The request body. Required. + :type cluster_parameters: ~azure.mgmt.networkcloud.types.Cluster :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns Cluster. The Cluster is compatible with + MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.Cluster] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def begin_deploy( + async def begin_create_or_update( self, resource_group_name: str, cluster_name: str, - cluster_deploy_parameters: Optional[IO[bytes]] = None, + cluster_parameters: IO[bytes], *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Deploy the cluster using the rack configuration provided during creation. + ) -> AsyncLROPoller[_models.Cluster]: + """Create a new cluster or update the properties of the cluster if it exists. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param cluster_deploy_parameters: The request body. Default value is None. - :type cluster_deploy_parameters: IO[bytes] + :param cluster_parameters: The request body. Required. + :type cluster_parameters: IO[bytes] :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns Cluster. The Cluster is compatible with + MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.Cluster] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace_async - async def begin_deploy( + async def begin_create_or_update( self, resource_group_name: str, cluster_name: str, - cluster_deploy_parameters: Optional[ - Union[_models.ClusterDeployParameters, _types.ClusterDeployParameters, IO[bytes]] - ] = None, + cluster_parameters: Union[_models.Cluster, _types.Cluster, IO[bytes]], + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Deploy the cluster using the rack configuration provided during creation. + ) -> AsyncLROPoller[_models.Cluster]: + """Create a new cluster or update the properties of the cluster if it exists. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param cluster_deploy_parameters: The request body. Is either a ClusterDeployParameters type or - a IO[bytes] type. Default value is None. - :type cluster_deploy_parameters: ~azure.mgmt.networkcloud.models.ClusterDeployParameters or - ~azure.mgmt.networkcloud.types.ClusterDeployParameters or IO[bytes] - :return: An instance of AsyncLROPoller that returns OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :param cluster_parameters: The request body. Is either a Cluster type or a IO[bytes] type. + Required. + :type cluster_parameters: ~azure.mgmt.networkcloud.models.Cluster or + ~azure.mgmt.networkcloud.types.Cluster or IO[bytes] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns Cluster. The Cluster is compatible with + MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.Cluster] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if cluster_deploy_parameters else None - cls: ClsType[_models.OperationStatusResult] = kwargs.pop("cls", None) + cls: ClsType[_models.Cluster] = 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._deploy_initial( + raw_result = await self._create_or_update_initial( resource_group_name=resource_group_name, cluster_name=cluster_name, - cluster_deploy_parameters=cluster_deploy_parameters, + cluster_parameters=cluster_parameters, + etag=etag, + match_condition=match_condition, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -7145,14 +7576,10 @@ async def begin_deploy( kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - response_headers = {} response = pipeline_response.http_response - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = _deserialize(_models.OperationStatusResult, response.json()) + deserialized = _deserialize(_models.Cluster, response.json()) if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore + return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized path_format_arguments = { @@ -7168,23 +7595,26 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return AsyncLROPoller[_models.OperationStatusResult].from_continuation_token( + return AsyncLROPoller[_models.Cluster].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return AsyncLROPoller[_models.OperationStatusResult]( + return AsyncLROPoller[_models.Cluster]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - async def _scan_runtime_initial( + async def _update_initial( self, resource_group_name: str, cluster_name: str, - cluster_scan_runtime_parameters: Optional[ - Union[_models.ClusterScanRuntimeParameters, _types.ClusterScanRuntimeParameters, IO[bytes]] + cluster_update_parameters: Optional[ + Union[_models.ClusterPatchParameters, _types.ClusterPatchParameters, IO[bytes]] ] = None, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any ) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -7193,29 +7623,37 @@ async def _scan_runtime_initial( 409: ResourceExistsError, 304: ResourceNotModifiedError, } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if cluster_scan_runtime_parameters else None + content_type = content_type if cluster_update_parameters else None cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" if cluster_scan_runtime_parameters else None + content_type = content_type or "application/json" if cluster_update_parameters else None _content = None - if isinstance(cluster_scan_runtime_parameters, (IOBase, bytes)): - _content = cluster_scan_runtime_parameters + if isinstance(cluster_update_parameters, (IOBase, bytes)): + _content = cluster_update_parameters else: - if cluster_scan_runtime_parameters is not None: - _content = json.dumps(cluster_scan_runtime_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + if cluster_update_parameters is not None: + _content = json.dumps(cluster_update_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore else: _content = None - _request = build_clusters_scan_runtime_request( + _request = build_clusters_update_request( resource_group_name=resource_group_name, cluster_name=cluster_name, subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, content_type=content_type, api_version=self._config.api_version, content=_content, @@ -7235,7 +7673,7 @@ async def _scan_runtime_initial( response = pipeline_response.http_response - if response.status_code not in [202]: + if response.status_code not in [200, 202]: try: await response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -7248,8 +7686,11 @@ async def _scan_runtime_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -7259,140 +7700,164 @@ async def _scan_runtime_initial( return deserialized # type: ignore @overload - async def begin_scan_runtime( + async def begin_update( self, resource_group_name: str, cluster_name: str, - cluster_scan_runtime_parameters: Optional[_models.ClusterScanRuntimeParameters] = None, + cluster_update_parameters: Optional[_models.ClusterPatchParameters] = None, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Triggers the execution of a runtime protection scan to detect and remediate detected issues, in - accordance with the cluster configuration. + ) -> AsyncLROPoller[_models.Cluster]: + """Patch the properties of the provided cluster, or update the tags associated with the cluster. + Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param cluster_scan_runtime_parameters: The request body. Default value is None. - :type cluster_scan_runtime_parameters: - ~azure.mgmt.networkcloud.models.ClusterScanRuntimeParameters + :param cluster_update_parameters: The request body. Default value is None. + :type cluster_update_parameters: ~azure.mgmt.networkcloud.models.ClusterPatchParameters :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns Cluster. The Cluster is compatible with + MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.Cluster] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def begin_scan_runtime( + async def begin_update( self, resource_group_name: str, cluster_name: str, - cluster_scan_runtime_parameters: Optional[_types.ClusterScanRuntimeParameters] = None, + cluster_update_parameters: Optional[_types.ClusterPatchParameters] = None, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Triggers the execution of a runtime protection scan to detect and remediate detected issues, in - accordance with the cluster configuration. + ) -> AsyncLROPoller[_models.Cluster]: + """Patch the properties of the provided cluster, or update the tags associated with the cluster. + Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param cluster_scan_runtime_parameters: The request body. Default value is None. - :type cluster_scan_runtime_parameters: - ~azure.mgmt.networkcloud.types.ClusterScanRuntimeParameters + :param cluster_update_parameters: The request body. Default value is None. + :type cluster_update_parameters: ~azure.mgmt.networkcloud.types.ClusterPatchParameters :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns Cluster. The Cluster is compatible with + MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.Cluster] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def begin_scan_runtime( + async def begin_update( self, resource_group_name: str, cluster_name: str, - cluster_scan_runtime_parameters: Optional[IO[bytes]] = None, + cluster_update_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Triggers the execution of a runtime protection scan to detect and remediate detected issues, in - accordance with the cluster configuration. + ) -> AsyncLROPoller[_models.Cluster]: + """Patch the properties of the provided cluster, or update the tags associated with the cluster. + Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param cluster_scan_runtime_parameters: The request body. Default value is None. - :type cluster_scan_runtime_parameters: IO[bytes] + :param cluster_update_parameters: The request body. Default value is None. + :type cluster_update_parameters: IO[bytes] :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns Cluster. The Cluster is compatible with + MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.Cluster] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace_async - async def begin_scan_runtime( + async def begin_update( self, resource_group_name: str, cluster_name: str, - cluster_scan_runtime_parameters: Optional[ - Union[_models.ClusterScanRuntimeParameters, _types.ClusterScanRuntimeParameters, IO[bytes]] + cluster_update_parameters: Optional[ + Union[_models.ClusterPatchParameters, _types.ClusterPatchParameters, IO[bytes]] ] = None, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Triggers the execution of a runtime protection scan to detect and remediate detected issues, in - accordance with the cluster configuration. + ) -> AsyncLROPoller[_models.Cluster]: + """Patch the properties of the provided cluster, or update the tags associated with the cluster. + Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param cluster_scan_runtime_parameters: The request body. Is either a - ClusterScanRuntimeParameters type or a IO[bytes] type. Default value is None. - :type cluster_scan_runtime_parameters: - ~azure.mgmt.networkcloud.models.ClusterScanRuntimeParameters or - ~azure.mgmt.networkcloud.types.ClusterScanRuntimeParameters or IO[bytes] - :return: An instance of AsyncLROPoller that returns OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :param cluster_update_parameters: The request body. Is either a ClusterPatchParameters type or + a IO[bytes] type. Default value is None. + :type cluster_update_parameters: ~azure.mgmt.networkcloud.models.ClusterPatchParameters or + ~azure.mgmt.networkcloud.types.ClusterPatchParameters or IO[bytes] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns Cluster. The Cluster is compatible with + MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.Cluster] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if cluster_scan_runtime_parameters else None - cls: ClsType[_models.OperationStatusResult] = kwargs.pop("cls", None) + content_type = content_type if cluster_update_parameters else None + cls: ClsType[_models.Cluster] = 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._scan_runtime_initial( + raw_result = await self._update_initial( resource_group_name=resource_group_name, cluster_name=cluster_name, - cluster_scan_runtime_parameters=cluster_scan_runtime_parameters, + cluster_update_parameters=cluster_update_parameters, + etag=etag, + match_condition=match_condition, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -7403,14 +7868,10 @@ async def begin_scan_runtime( kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - response_headers = {} response = pipeline_response.http_response - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = _deserialize(_models.OperationStatusResult, response.json()) + deserialized = _deserialize(_models.Cluster, response.json()) if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore + return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized path_format_arguments = { @@ -7426,22 +7887,2983 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return AsyncLROPoller[_models.OperationStatusResult].from_continuation_token( + return AsyncLROPoller[_models.Cluster].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return AsyncLROPoller[_models.OperationStatusResult]( + return AsyncLROPoller[_models.Cluster]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - async def _update_version_initial( + async def _delete_initial( + self, + resource_group_name: str, + cluster_name: str, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + _request = build_clusters_delete_request( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _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 = _failsafe_deserialize( + _models.ErrorResponse, + 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")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + 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, + cluster_name: str, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Delete the provided cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.OperationStatusResult] = 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, + cluster_name=cluster_name, + etag=etag, + match_condition=match_condition, + 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): + response_headers = {} + response = pipeline_response.http_response + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + + deserialized = _deserialize(_models.OperationStatusResult, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.OperationStatusResult].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.OperationStatusResult]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @distributed_trace + def list_by_resource_group( + self, resource_group_name: str, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any + ) -> AsyncItemPaged["_models.Cluster"]: + """Get a list of clusters in the provided resource group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. + Default value is None. + :paramtype top: int + :keyword skip_token: The opaque token that the server returns to indicate where to continue + listing resources from. This is used for paging through large result sets. Default value is + None. + :paramtype skip_token: str + :return: An iterator like instance of Cluster + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.Cluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.Cluster]] = 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_clusters_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + top=top, + skip_token=skip_token, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + 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), + headers=_headers, + params=_next_request_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + async def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.Cluster], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + @distributed_trace + def list_by_subscription( + self, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any + ) -> AsyncItemPaged["_models.Cluster"]: + """Get a list of clusters in the provided subscription. + + :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. + Default value is None. + :paramtype top: int + :keyword skip_token: The opaque token that the server returns to indicate where to continue + listing resources from. This is used for paging through large result sets. Default value is + None. + :paramtype skip_token: str + :return: An iterator like instance of Cluster + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.Cluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.Cluster]] = 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_clusters_list_by_subscription_request( + subscription_id=self._config.subscription_id, + top=top, + skip_token=skip_token, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + 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), + headers=_headers, + params=_next_request_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + async def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.Cluster], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + async def _continue_update_version_initial( + self, + resource_group_name: str, + cluster_name: str, + cluster_continue_update_version_parameters: Union[ + _models.ClusterContinueUpdateVersionParameters, _types.ClusterContinueUpdateVersionParameters, IO[bytes] + ], + **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 = kwargs.pop("params", {}) or {} + + 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" + _content = None + if isinstance(cluster_continue_update_version_parameters, (IOBase, bytes)): + _content = cluster_continue_update_version_parameters + else: + _content = json.dumps(cluster_continue_update_version_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_clusters_continue_update_version_request( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _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]: + 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_continue_update_version( + self, + resource_group_name: str, + cluster_name: str, + cluster_continue_update_version_parameters: _models.ClusterContinueUpdateVersionParameters, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Trigger the continuation of an update for a cluster with a matching update strategy that has + paused after completing a segment of the update. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_continue_update_version_parameters: The request body. Required. + :type cluster_continue_update_version_parameters: + ~azure.mgmt.networkcloud.models.ClusterContinueUpdateVersionParameters + :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 OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_continue_update_version( + self, + resource_group_name: str, + cluster_name: str, + cluster_continue_update_version_parameters: _types.ClusterContinueUpdateVersionParameters, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Trigger the continuation of an update for a cluster with a matching update strategy that has + paused after completing a segment of the update. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_continue_update_version_parameters: The request body. Required. + :type cluster_continue_update_version_parameters: + ~azure.mgmt.networkcloud.types.ClusterContinueUpdateVersionParameters + :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 OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_continue_update_version( + self, + resource_group_name: str, + cluster_name: str, + cluster_continue_update_version_parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Trigger the continuation of an update for a cluster with a matching update strategy that has + paused after completing a segment of the update. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_continue_update_version_parameters: The request body. Required. + :type cluster_continue_update_version_parameters: IO[bytes] + :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 OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_continue_update_version( + self, + resource_group_name: str, + cluster_name: str, + cluster_continue_update_version_parameters: Union[ + _models.ClusterContinueUpdateVersionParameters, _types.ClusterContinueUpdateVersionParameters, IO[bytes] + ], + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Trigger the continuation of an update for a cluster with a matching update strategy that has + paused after completing a segment of the update. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_continue_update_version_parameters: The request body. Is either a + ClusterContinueUpdateVersionParameters type or a IO[bytes] type. Required. + :type cluster_continue_update_version_parameters: + ~azure.mgmt.networkcloud.models.ClusterContinueUpdateVersionParameters or + ~azure.mgmt.networkcloud.types.ClusterContinueUpdateVersionParameters or IO[bytes] + :return: An instance of AsyncLROPoller that returns OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.OperationStatusResult] = 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._continue_update_version_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + cluster_continue_update_version_parameters=cluster_continue_update_version_parameters, + 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): + response_headers = {} + response = pipeline_response.http_response + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.OperationStatusResult, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.OperationStatusResult].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.OperationStatusResult]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + async def _deploy_initial( + self, + resource_group_name: str, + cluster_name: str, + cluster_deploy_parameters: Optional[ + Union[_models.ClusterDeployParameters, _types.ClusterDeployParameters, IO[bytes]] + ] = 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if cluster_deploy_parameters else None + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" if cluster_deploy_parameters else None + _content = None + if isinstance(cluster_deploy_parameters, (IOBase, bytes)): + _content = cluster_deploy_parameters + else: + if cluster_deploy_parameters is not None: + _content = json.dumps(cluster_deploy_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None + + _request = build_clusters_deploy_request( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _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]: + 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_deploy( + self, + resource_group_name: str, + cluster_name: str, + cluster_deploy_parameters: Optional[_models.ClusterDeployParameters] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Deploy the cluster using the rack configuration provided during creation. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_deploy_parameters: The request body. Default value is None. + :type cluster_deploy_parameters: ~azure.mgmt.networkcloud.models.ClusterDeployParameters + :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 OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_deploy( + self, + resource_group_name: str, + cluster_name: str, + cluster_deploy_parameters: Optional[_types.ClusterDeployParameters] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Deploy the cluster using the rack configuration provided during creation. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_deploy_parameters: The request body. Default value is None. + :type cluster_deploy_parameters: ~azure.mgmt.networkcloud.types.ClusterDeployParameters + :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 OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_deploy( + self, + resource_group_name: str, + cluster_name: str, + cluster_deploy_parameters: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Deploy the cluster using the rack configuration provided during creation. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_deploy_parameters: The request body. Default value is None. + :type cluster_deploy_parameters: IO[bytes] + :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 OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_deploy( + self, + resource_group_name: str, + cluster_name: str, + cluster_deploy_parameters: Optional[ + Union[_models.ClusterDeployParameters, _types.ClusterDeployParameters, IO[bytes]] + ] = None, + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Deploy the cluster using the rack configuration provided during creation. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_deploy_parameters: The request body. Is either a ClusterDeployParameters type or + a IO[bytes] type. Default value is None. + :type cluster_deploy_parameters: ~azure.mgmt.networkcloud.models.ClusterDeployParameters or + ~azure.mgmt.networkcloud.types.ClusterDeployParameters or IO[bytes] + :return: An instance of AsyncLROPoller that returns OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if cluster_deploy_parameters else None + cls: ClsType[_models.OperationStatusResult] = 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._deploy_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + cluster_deploy_parameters=cluster_deploy_parameters, + 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): + response_headers = {} + response = pipeline_response.http_response + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.OperationStatusResult, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.OperationStatusResult].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.OperationStatusResult]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "cluster_name", + "content_type", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) + async def _inspect_initial( + self, + resource_group_name: str, + cluster_name: str, + cluster_inspect_parameters: Optional[ + Union[_models.ClusterInspectParameters, _types.ClusterInspectParameters, IO[bytes]] + ] = 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if cluster_inspect_parameters else None + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" if cluster_inspect_parameters else None + _content = None + if isinstance(cluster_inspect_parameters, (IOBase, bytes)): + _content = cluster_inspect_parameters + else: + if cluster_inspect_parameters is not None: + _content = json.dumps(cluster_inspect_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None + + _request = build_clusters_inspect_request( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _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]: + 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_inspect( + self, + resource_group_name: str, + cluster_name: str, + cluster_inspect_parameters: Optional[_models.ClusterInspectParameters] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Trigger an inspection of the cluster to perform validation and optional corrective actions + based on the supplied additional actions and filters. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_inspect_parameters: The request body. Default value is None. + :type cluster_inspect_parameters: ~azure.mgmt.networkcloud.models.ClusterInspectParameters + :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 OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_inspect( + self, + resource_group_name: str, + cluster_name: str, + cluster_inspect_parameters: Optional[_types.ClusterInspectParameters] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Trigger an inspection of the cluster to perform validation and optional corrective actions + based on the supplied additional actions and filters. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_inspect_parameters: The request body. Default value is None. + :type cluster_inspect_parameters: ~azure.mgmt.networkcloud.types.ClusterInspectParameters + :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 OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_inspect( + self, + resource_group_name: str, + cluster_name: str, + cluster_inspect_parameters: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Trigger an inspection of the cluster to perform validation and optional corrective actions + based on the supplied additional actions and filters. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_inspect_parameters: The request body. Default value is None. + :type cluster_inspect_parameters: IO[bytes] + :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 OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "cluster_name", + "content_type", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) + async def begin_inspect( + self, + resource_group_name: str, + cluster_name: str, + cluster_inspect_parameters: Optional[ + Union[_models.ClusterInspectParameters, _types.ClusterInspectParameters, IO[bytes]] + ] = None, + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Trigger an inspection of the cluster to perform validation and optional corrective actions + based on the supplied additional actions and filters. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_inspect_parameters: The request body. Is either a ClusterInspectParameters type + or a IO[bytes] type. Default value is None. + :type cluster_inspect_parameters: ~azure.mgmt.networkcloud.models.ClusterInspectParameters or + ~azure.mgmt.networkcloud.types.ClusterInspectParameters or IO[bytes] + :return: An instance of AsyncLROPoller that returns OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if cluster_inspect_parameters else None + cls: ClsType[_models.OperationStatusResult] = 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._inspect_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + cluster_inspect_parameters=cluster_inspect_parameters, + 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): + response_headers = {} + response = pipeline_response.http_response + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.OperationStatusResult, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.OperationStatusResult].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.OperationStatusResult]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @api_version_validation( + method_added_on="2026-05-01-preview", + params_added_on={ + "2026-05-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "cluster_name", + "content_type", + ] + }, + api_versions_list=["2026-05-01-preview", "2026-07-01"], + ) + async def _rotate_credential_initial( + self, + resource_group_name: str, + cluster_name: str, + body: Union[_models.ClusterRotateCredentialParameters, _types.ClusterRotateCredentialParameters, IO[bytes]], + **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 = kwargs.pop("params", {}) or {} + + 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" + _content = None + if isinstance(body, (IOBase, bytes)): + _content = body + else: + _content = json.dumps(body, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_clusters_rotate_credential_request( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _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]: + 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_rotate_credential( + self, + resource_group_name: str, + cluster_name: str, + body: _models.ClusterRotateCredentialParameters, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Rotate the specified cluster credential. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param body: The content of the action request. Required. + :type body: ~azure.mgmt.networkcloud.models.ClusterRotateCredentialParameters + :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 OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_rotate_credential( + self, + resource_group_name: str, + cluster_name: str, + body: _types.ClusterRotateCredentialParameters, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Rotate the specified cluster credential. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param body: The content of the action request. Required. + :type body: ~azure.mgmt.networkcloud.types.ClusterRotateCredentialParameters + :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 OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_rotate_credential( + self, + resource_group_name: str, + cluster_name: str, + body: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Rotate the specified cluster credential. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param body: The content of the action request. Required. + :type body: IO[bytes] + :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 OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + @api_version_validation( + method_added_on="2026-05-01-preview", + params_added_on={ + "2026-05-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "cluster_name", + "content_type", + ] + }, + api_versions_list=["2026-05-01-preview", "2026-07-01"], + ) + async def begin_rotate_credential( + self, + resource_group_name: str, + cluster_name: str, + body: Union[_models.ClusterRotateCredentialParameters, _types.ClusterRotateCredentialParameters, IO[bytes]], + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Rotate the specified cluster credential. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param body: The content of the action request. Is either a ClusterRotateCredentialParameters + type or a IO[bytes] type. Required. + :type body: ~azure.mgmt.networkcloud.models.ClusterRotateCredentialParameters or + ~azure.mgmt.networkcloud.types.ClusterRotateCredentialParameters or IO[bytes] + :return: An instance of AsyncLROPoller that returns OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.OperationStatusResult] = 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._rotate_credential_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + body=body, + 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): + response_headers = {} + response = pipeline_response.http_response + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.OperationStatusResult, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.OperationStatusResult].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.OperationStatusResult]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + async def _scan_runtime_initial( + self, + resource_group_name: str, + cluster_name: str, + cluster_scan_runtime_parameters: Optional[ + Union[_models.ClusterScanRuntimeParameters, _types.ClusterScanRuntimeParameters, IO[bytes]] + ] = 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if cluster_scan_runtime_parameters else None + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" if cluster_scan_runtime_parameters else None + _content = None + if isinstance(cluster_scan_runtime_parameters, (IOBase, bytes)): + _content = cluster_scan_runtime_parameters + else: + if cluster_scan_runtime_parameters is not None: + _content = json.dumps(cluster_scan_runtime_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None + + _request = build_clusters_scan_runtime_request( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _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]: + 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_scan_runtime( + self, + resource_group_name: str, + cluster_name: str, + cluster_scan_runtime_parameters: Optional[_models.ClusterScanRuntimeParameters] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Triggers the execution of a runtime protection scan to detect and remediate detected issues, in + accordance with the cluster configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_scan_runtime_parameters: The request body. Default value is None. + :type cluster_scan_runtime_parameters: + ~azure.mgmt.networkcloud.models.ClusterScanRuntimeParameters + :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 OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_scan_runtime( + self, + resource_group_name: str, + cluster_name: str, + cluster_scan_runtime_parameters: Optional[_types.ClusterScanRuntimeParameters] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Triggers the execution of a runtime protection scan to detect and remediate detected issues, in + accordance with the cluster configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_scan_runtime_parameters: The request body. Default value is None. + :type cluster_scan_runtime_parameters: + ~azure.mgmt.networkcloud.types.ClusterScanRuntimeParameters + :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 OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_scan_runtime( + self, + resource_group_name: str, + cluster_name: str, + cluster_scan_runtime_parameters: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Triggers the execution of a runtime protection scan to detect and remediate detected issues, in + accordance with the cluster configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_scan_runtime_parameters: The request body. Default value is None. + :type cluster_scan_runtime_parameters: IO[bytes] + :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 OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_scan_runtime( + self, + resource_group_name: str, + cluster_name: str, + cluster_scan_runtime_parameters: Optional[ + Union[_models.ClusterScanRuntimeParameters, _types.ClusterScanRuntimeParameters, IO[bytes]] + ] = None, + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Triggers the execution of a runtime protection scan to detect and remediate detected issues, in + accordance with the cluster configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_scan_runtime_parameters: The request body. Is either a + ClusterScanRuntimeParameters type or a IO[bytes] type. Default value is None. + :type cluster_scan_runtime_parameters: + ~azure.mgmt.networkcloud.models.ClusterScanRuntimeParameters or + ~azure.mgmt.networkcloud.types.ClusterScanRuntimeParameters or IO[bytes] + :return: An instance of AsyncLROPoller that returns OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if cluster_scan_runtime_parameters else None + cls: ClsType[_models.OperationStatusResult] = 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._scan_runtime_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + cluster_scan_runtime_parameters=cluster_scan_runtime_parameters, + 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): + response_headers = {} + response = pipeline_response.http_response + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.OperationStatusResult, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.OperationStatusResult].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.OperationStatusResult]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + async def _update_version_initial( + self, + resource_group_name: str, + cluster_name: str, + cluster_update_version_parameters: Union[ + _models.ClusterUpdateVersionParameters, _types.ClusterUpdateVersionParameters, IO[bytes] + ], + **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 = kwargs.pop("params", {}) or {} + + 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" + _content = None + if isinstance(cluster_update_version_parameters, (IOBase, bytes)): + _content = cluster_update_version_parameters + else: + _content = json.dumps(cluster_update_version_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_clusters_update_version_request( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _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]: + 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_update_version( + self, + resource_group_name: str, + cluster_name: str, + cluster_update_version_parameters: _models.ClusterUpdateVersionParameters, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Update the version of the provided cluster to one of the available supported versions. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_update_version_parameters: The request body. Required. + :type cluster_update_version_parameters: + ~azure.mgmt.networkcloud.models.ClusterUpdateVersionParameters + :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 OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_update_version( + self, + resource_group_name: str, + cluster_name: str, + cluster_update_version_parameters: _types.ClusterUpdateVersionParameters, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Update the version of the provided cluster to one of the available supported versions. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_update_version_parameters: The request body. Required. + :type cluster_update_version_parameters: + ~azure.mgmt.networkcloud.types.ClusterUpdateVersionParameters + :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 OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_update_version( + self, + resource_group_name: str, + cluster_name: str, + cluster_update_version_parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Update the version of the provided cluster to one of the available supported versions. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_update_version_parameters: The request body. Required. + :type cluster_update_version_parameters: IO[bytes] + :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 OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_update_version( + self, + resource_group_name: str, + cluster_name: str, + cluster_update_version_parameters: Union[ + _models.ClusterUpdateVersionParameters, _types.ClusterUpdateVersionParameters, IO[bytes] + ], + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Update the version of the provided cluster to one of the available supported versions. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_update_version_parameters: The request body. Is either a + ClusterUpdateVersionParameters type or a IO[bytes] type. Required. + :type cluster_update_version_parameters: + ~azure.mgmt.networkcloud.models.ClusterUpdateVersionParameters or + ~azure.mgmt.networkcloud.types.ClusterUpdateVersionParameters or IO[bytes] + :return: An instance of AsyncLROPoller that returns OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.OperationStatusResult] = 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._update_version_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + cluster_update_version_parameters=cluster_update_version_parameters, + 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): + response_headers = {} + response = pipeline_response.http_response + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.OperationStatusResult, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.OperationStatusResult].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.OperationStatusResult]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + +class KubernetesClustersOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.networkcloud.aio.NetworkCloudMgmtClient`'s + :attr:`kubernetes_clusters` attribute. + """ + + 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: NetworkCloudMgmtClientConfiguration = 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_async + async def get( + self, resource_group_name: str, kubernetes_cluster_name: str, **kwargs: Any + ) -> _models.KubernetesCluster: + """Get properties of the provided the Kubernetes cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :return: KubernetesCluster. The KubernetesCluster is compatible with MutableMapping + :rtype: ~azure.mgmt.networkcloud.models.KubernetesCluster + :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 = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.KubernetesCluster] = kwargs.pop("cls", None) + + _request = build_kubernetes_clusters_get_request( + resource_group_name=resource_group_name, + kubernetes_cluster_name=kubernetes_cluster_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.KubernetesCluster, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + kubernetes_cluster_parameters: Union[_models.KubernetesCluster, _types.KubernetesCluster, IO[bytes]], + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + 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" + _content = None + if isinstance(kubernetes_cluster_parameters, (IOBase, bytes)): + _content = kubernetes_cluster_parameters + else: + _content = json.dumps(kubernetes_cluster_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_kubernetes_clusters_create_or_update_request( + resource_group_name=resource_group_name, + kubernetes_cluster_name=kubernetes_cluster_name, + subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 201: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + 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, + kubernetes_cluster_name: str, + kubernetes_cluster_parameters: _models.KubernetesCluster, + *, + content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> AsyncLROPoller[_models.KubernetesCluster]: + """Create a new Kubernetes cluster or update the properties of the existing one. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_parameters: The request body. Required. + :type kubernetes_cluster_parameters: ~azure.mgmt.networkcloud.models.KubernetesCluster + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns KubernetesCluster. The KubernetesCluster is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_create_or_update( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + kubernetes_cluster_parameters: _types.KubernetesCluster, + *, + content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> AsyncLROPoller[_models.KubernetesCluster]: + """Create a new Kubernetes cluster or update the properties of the existing one. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_parameters: The request body. Required. + :type kubernetes_cluster_parameters: ~azure.mgmt.networkcloud.types.KubernetesCluster + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns KubernetesCluster. The KubernetesCluster is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_create_or_update( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + kubernetes_cluster_parameters: IO[bytes], + *, + content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> AsyncLROPoller[_models.KubernetesCluster]: + """Create a new Kubernetes cluster or update the properties of the existing one. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_parameters: The request body. Required. + :type kubernetes_cluster_parameters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns KubernetesCluster. The KubernetesCluster is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_create_or_update( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + kubernetes_cluster_parameters: Union[_models.KubernetesCluster, _types.KubernetesCluster, IO[bytes]], + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> AsyncLROPoller[_models.KubernetesCluster]: + """Create a new Kubernetes cluster or update the properties of the existing one. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_parameters: The request body. Is either a KubernetesCluster type or a + IO[bytes] type. Required. + :type kubernetes_cluster_parameters: ~azure.mgmt.networkcloud.models.KubernetesCluster or + ~azure.mgmt.networkcloud.types.KubernetesCluster or IO[bytes] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns KubernetesCluster. The KubernetesCluster is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.KubernetesCluster] = 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, + kubernetes_cluster_name=kubernetes_cluster_name, + kubernetes_cluster_parameters=kubernetes_cluster_parameters, + etag=etag, + match_condition=match_condition, + 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): + response = pipeline_response.http_response + deserialized = _deserialize(_models.KubernetesCluster, response.json()) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.KubernetesCluster].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.KubernetesCluster]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + async def _update_initial( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + kubernetes_cluster_update_parameters: Optional[ + Union[_models.KubernetesClusterPatchParameters, _types.KubernetesClusterPatchParameters, IO[bytes]] + ] = None, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if kubernetes_cluster_update_parameters else None + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" if kubernetes_cluster_update_parameters else None + _content = None + if isinstance(kubernetes_cluster_update_parameters, (IOBase, bytes)): + _content = kubernetes_cluster_update_parameters + else: + if kubernetes_cluster_update_parameters is not None: + _content = json.dumps(kubernetes_cluster_update_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None + + _request = build_kubernetes_clusters_update_request( + resource_group_name=resource_group_name, + kubernetes_cluster_name=kubernetes_cluster_name, + subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + async def begin_update( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + kubernetes_cluster_update_parameters: Optional[_models.KubernetesClusterPatchParameters] = None, + *, + content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> AsyncLROPoller[_models.KubernetesCluster]: + """Patch the properties of the provided Kubernetes cluster, or update the tags associated with the + Kubernetes cluster. Properties and tag updates can be done independently. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_update_parameters: The request body. Default value is None. + :type kubernetes_cluster_update_parameters: + ~azure.mgmt.networkcloud.models.KubernetesClusterPatchParameters + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns KubernetesCluster. The KubernetesCluster is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_update( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + kubernetes_cluster_update_parameters: Optional[_types.KubernetesClusterPatchParameters] = None, + *, + content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> AsyncLROPoller[_models.KubernetesCluster]: + """Patch the properties of the provided Kubernetes cluster, or update the tags associated with the + Kubernetes cluster. Properties and tag updates can be done independently. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_update_parameters: The request body. Default value is None. + :type kubernetes_cluster_update_parameters: + ~azure.mgmt.networkcloud.types.KubernetesClusterPatchParameters + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns KubernetesCluster. The KubernetesCluster is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def begin_update( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + kubernetes_cluster_update_parameters: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> AsyncLROPoller[_models.KubernetesCluster]: + """Patch the properties of the provided Kubernetes cluster, or update the tags associated with the + Kubernetes cluster. Properties and tag updates can be done independently. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_update_parameters: The request body. Default value is None. + :type kubernetes_cluster_update_parameters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns KubernetesCluster. The KubernetesCluster is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + async def begin_update( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + kubernetes_cluster_update_parameters: Optional[ + Union[_models.KubernetesClusterPatchParameters, _types.KubernetesClusterPatchParameters, IO[bytes]] + ] = None, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> AsyncLROPoller[_models.KubernetesCluster]: + """Patch the properties of the provided Kubernetes cluster, or update the tags associated with the + Kubernetes cluster. Properties and tag updates can be done independently. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_update_parameters: The request body. Is either a + KubernetesClusterPatchParameters type or a IO[bytes] type. Default value is None. + :type kubernetes_cluster_update_parameters: + ~azure.mgmt.networkcloud.models.KubernetesClusterPatchParameters or + ~azure.mgmt.networkcloud.types.KubernetesClusterPatchParameters or IO[bytes] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns KubernetesCluster. The KubernetesCluster is + compatible with MutableMapping + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if kubernetes_cluster_update_parameters else None + cls: ClsType[_models.KubernetesCluster] = 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._update_initial( + resource_group_name=resource_group_name, + kubernetes_cluster_name=kubernetes_cluster_name, + kubernetes_cluster_update_parameters=kubernetes_cluster_update_parameters, + etag=etag, + match_condition=match_condition, + 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): + response = pipeline_response.http_response + deserialized = _deserialize(_models.KubernetesCluster, response.json()) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.KubernetesCluster].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.KubernetesCluster]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + async def _delete_initial( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> AsyncIterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) + + _request = build_kubernetes_clusters_delete_request( + resource_group_name=resource_group_name, + kubernetes_cluster_name=kubernetes_cluster_name, + subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _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 = _failsafe_deserialize( + _models.ErrorResponse, + 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")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + 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, + kubernetes_cluster_name: str, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> AsyncLROPoller[_models.OperationStatusResult]: + """Delete the provided Kubernetes cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of AsyncLROPoller that returns OperationStatusResult. The + OperationStatusResult is compatible with MutableMapping + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.OperationStatusResult] = 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, + kubernetes_cluster_name=kubernetes_cluster_name, + etag=etag, + match_condition=match_condition, + 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): + response_headers = {} + response = pipeline_response.http_response + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + + deserialized = _deserialize(_models.OperationStatusResult, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: AsyncPollingMethod = cast( + AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling + if cont_token: + return AsyncLROPoller[_models.OperationStatusResult].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return AsyncLROPoller[_models.OperationStatusResult]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @distributed_trace + def list_by_resource_group( + self, resource_group_name: str, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any + ) -> AsyncItemPaged["_models.KubernetesCluster"]: + """Get a list of Kubernetes clusters in the provided resource group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. + Default value is None. + :paramtype top: int + :keyword skip_token: The opaque token that the server returns to indicate where to continue + listing resources from. This is used for paging through large result sets. Default value is + None. + :paramtype skip_token: str + :return: An iterator like instance of KubernetesCluster + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.KubernetesCluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.KubernetesCluster]] = 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_kubernetes_clusters_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + top=top, + skip_token=skip_token, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + 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), + headers=_headers, + params=_next_request_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + async def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.KubernetesCluster], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + @distributed_trace + def list_by_subscription( + self, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any + ) -> AsyncItemPaged["_models.KubernetesCluster"]: + """Get a list of Kubernetes clusters in the provided subscription. + + :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. + Default value is None. + :paramtype top: int + :keyword skip_token: The opaque token that the server returns to indicate where to continue + listing resources from. This is used for paging through large result sets. Default value is + None. + :paramtype skip_token: str + :return: An iterator like instance of KubernetesCluster + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.KubernetesCluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.KubernetesCluster]] = 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_kubernetes_clusters_list_by_subscription_request( + subscription_id=self._config.subscription_id, + top=top, + skip_token=skip_token, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + 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), + headers=_headers, + params=_next_request_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + async def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.KubernetesCluster], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + async def _restart_node_initial( self, resource_group_name: str, - cluster_name: str, - cluster_update_version_parameters: Union[ - _models.ClusterUpdateVersionParameters, _types.ClusterUpdateVersionParameters, IO[bytes] + kubernetes_cluster_name: str, + kubernetes_cluster_restart_node_parameters: Union[ + _models.KubernetesClusterRestartNodeParameters, _types.KubernetesClusterRestartNodeParameters, IO[bytes] ], **kwargs: Any ) -> AsyncIterator[bytes]: @@ -7461,14 +10883,14 @@ async def _update_version_initial( content_type = content_type or "application/json" _content = None - if isinstance(cluster_update_version_parameters, (IOBase, bytes)): - _content = cluster_update_version_parameters + if isinstance(kubernetes_cluster_restart_node_parameters, (IOBase, bytes)): + _content = kubernetes_cluster_restart_node_parameters else: - _content = json.dumps(cluster_update_version_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + _content = json.dumps(kubernetes_cluster_restart_node_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_clusters_update_version_request( + _request = build_kubernetes_clusters_restart_node_request( resource_group_name=resource_group_name, - cluster_name=cluster_name, + kubernetes_cluster_name=kubernetes_cluster_name, subscription_id=self._config.subscription_id, content_type=content_type, api_version=self._config.api_version, @@ -7513,25 +10935,25 @@ async def _update_version_initial( return deserialized # type: ignore @overload - async def begin_update_version( + async def begin_restart_node( self, resource_group_name: str, - cluster_name: str, - cluster_update_version_parameters: _models.ClusterUpdateVersionParameters, + kubernetes_cluster_name: str, + kubernetes_cluster_restart_node_parameters: _models.KubernetesClusterRestartNodeParameters, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Update the version of the provided cluster to one of the available supported versions. + """Restart a targeted node of a Kubernetes cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_update_version_parameters: The request body. Required. - :type cluster_update_version_parameters: - ~azure.mgmt.networkcloud.models.ClusterUpdateVersionParameters + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_restart_node_parameters: The request body. Required. + :type kubernetes_cluster_restart_node_parameters: + ~azure.mgmt.networkcloud.models.KubernetesClusterRestartNodeParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -7543,25 +10965,25 @@ async def begin_update_version( """ @overload - async def begin_update_version( + async def begin_restart_node( self, resource_group_name: str, - cluster_name: str, - cluster_update_version_parameters: _types.ClusterUpdateVersionParameters, + kubernetes_cluster_name: str, + kubernetes_cluster_restart_node_parameters: _types.KubernetesClusterRestartNodeParameters, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Update the version of the provided cluster to one of the available supported versions. + """Restart a targeted node of a Kubernetes cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_update_version_parameters: The request body. Required. - :type cluster_update_version_parameters: - ~azure.mgmt.networkcloud.types.ClusterUpdateVersionParameters + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_restart_node_parameters: The request body. Required. + :type kubernetes_cluster_restart_node_parameters: + ~azure.mgmt.networkcloud.types.KubernetesClusterRestartNodeParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -7573,24 +10995,24 @@ async def begin_update_version( """ @overload - async def begin_update_version( + async def begin_restart_node( self, resource_group_name: str, - cluster_name: str, - cluster_update_version_parameters: IO[bytes], + kubernetes_cluster_name: str, + kubernetes_cluster_restart_node_parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Update the version of the provided cluster to one of the available supported versions. + """Restart a targeted node of a Kubernetes cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_update_version_parameters: The request body. Required. - :type cluster_update_version_parameters: IO[bytes] + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_restart_node_parameters: The request body. Required. + :type kubernetes_cluster_restart_node_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -7602,27 +11024,27 @@ async def begin_update_version( """ @distributed_trace_async - async def begin_update_version( + async def begin_restart_node( self, resource_group_name: str, - cluster_name: str, - cluster_update_version_parameters: Union[ - _models.ClusterUpdateVersionParameters, _types.ClusterUpdateVersionParameters, IO[bytes] + kubernetes_cluster_name: str, + kubernetes_cluster_restart_node_parameters: Union[ + _models.KubernetesClusterRestartNodeParameters, _types.KubernetesClusterRestartNodeParameters, IO[bytes] ], **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Update the version of the provided cluster to one of the available supported versions. + """Restart a targeted node of a Kubernetes cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_update_version_parameters: The request body. Is either a - ClusterUpdateVersionParameters type or a IO[bytes] type. Required. - :type cluster_update_version_parameters: - ~azure.mgmt.networkcloud.models.ClusterUpdateVersionParameters or - ~azure.mgmt.networkcloud.types.ClusterUpdateVersionParameters or IO[bytes] + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_restart_node_parameters: The request body. Is either a + KubernetesClusterRestartNodeParameters type or a IO[bytes] type. Required. + :type kubernetes_cluster_restart_node_parameters: + ~azure.mgmt.networkcloud.models.KubernetesClusterRestartNodeParameters or + ~azure.mgmt.networkcloud.types.KubernetesClusterRestartNodeParameters or IO[bytes] :return: An instance of AsyncLROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: @@ -7638,10 +11060,10 @@ async def begin_update_version( 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._update_version_initial( + raw_result = await self._restart_node_initial( resource_group_name=resource_group_name, - cluster_name=cluster_name, - cluster_update_version_parameters=cluster_update_version_parameters, + kubernetes_cluster_name=kubernetes_cluster_name, + kubernetes_cluster_restart_node_parameters=kubernetes_cluster_restart_node_parameters, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -7686,14 +11108,14 @@ def get_long_running_output(pipeline_response): ) -class KubernetesClustersOperations: +class KubernetesVersionsOperations: """ .. warning:: **DO NOT** instantiate this class directly. Instead, you should access the following operations through :class:`~azure.mgmt.networkcloud.aio.NetworkCloudMgmtClient`'s - :attr:`kubernetes_clusters` attribute. + :attr:`kubernetes_versions` attribute. """ def __init__(self, *args, **kwargs) -> None: @@ -7704,18 +11126,32 @@ def __init__(self, *args, **kwargs) -> None: self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @distributed_trace_async + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "kubernetes_version_name", + "accept", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) async def get( - self, resource_group_name: str, kubernetes_cluster_name: str, **kwargs: Any - ) -> _models.KubernetesCluster: - """Get properties of the provided the Kubernetes cluster. + self, resource_group_name: str, kubernetes_version_name: str, **kwargs: Any + ) -> _models.KubernetesVersion: + """Retrieve the Kubernetes version resource that describes the available Kubernetes versions for + deployment. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :return: KubernetesCluster. The KubernetesCluster is compatible with MutableMapping - :rtype: ~azure.mgmt.networkcloud.models.KubernetesCluster + :param kubernetes_version_name: The name of the Kubernetes version resource. Required. + :type kubernetes_version_name: str + :return: KubernetesVersion. The KubernetesVersion is compatible with MutableMapping + :rtype: ~azure.mgmt.networkcloud.models.KubernetesVersion :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -7729,11 +11165,11 @@ async def get( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.KubernetesCluster] = kwargs.pop("cls", None) + cls: ClsType[_models.KubernetesVersion] = kwargs.pop("cls", None) - _request = build_kubernetes_clusters_get_request( + _request = build_kubernetes_versions_get_request( resource_group_name=resource_group_name, - kubernetes_cluster_name=kubernetes_cluster_name, + kubernetes_version_name=kubernetes_version_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -7768,18 +11204,34 @@ async def get( if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.KubernetesCluster, response.json()) + deserialized = _deserialize(_models.KubernetesVersion, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "kubernetes_version_name", + "content_type", + "accept", + "etag", + "match_condition", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) async def _create_or_update_initial( self, resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_parameters: Union[_models.KubernetesCluster, _types.KubernetesCluster, IO[bytes]], + kubernetes_version_name: str, + kubernetes_version_parameters: Union[_models.KubernetesVersion, _types.KubernetesVersion, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -7807,14 +11259,14 @@ async def _create_or_update_initial( content_type = content_type or "application/json" _content = None - if isinstance(kubernetes_cluster_parameters, (IOBase, bytes)): - _content = kubernetes_cluster_parameters + if isinstance(kubernetes_version_parameters, (IOBase, bytes)): + _content = kubernetes_version_parameters else: - _content = json.dumps(kubernetes_cluster_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + _content = json.dumps(kubernetes_version_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_kubernetes_clusters_create_or_update_request( + _request = build_kubernetes_versions_create_or_update_request( resource_group_name=resource_group_name, - kubernetes_cluster_name=kubernetes_cluster_name, + kubernetes_version_name=kubernetes_version_name, subscription_id=self._config.subscription_id, etag=etag, match_condition=match_condition, @@ -7866,23 +11318,24 @@ async def _create_or_update_initial( async def begin_create_or_update( self, resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_parameters: _models.KubernetesCluster, + kubernetes_version_name: str, + kubernetes_version_parameters: _models.KubernetesVersion, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.KubernetesCluster]: - """Create a new Kubernetes cluster or update the properties of the existing one. + ) -> AsyncLROPoller[_models.KubernetesVersion]: + """Create the Kubernetes version resource or update its tags. This resource is system managed and + should only be created with the name "default". :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_parameters: The request body. Required. - :type kubernetes_cluster_parameters: ~azure.mgmt.networkcloud.models.KubernetesCluster + :param kubernetes_version_name: The name of the Kubernetes version resource. Required. + :type kubernetes_version_name: str + :param kubernetes_version_parameters: The request body. Required. + :type kubernetes_version_parameters: ~azure.mgmt.networkcloud.models.KubernetesVersion :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -7891,9 +11344,9 @@ async def begin_create_or_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns KubernetesCluster. The KubernetesCluster is + :return: An instance of AsyncLROPoller that returns KubernetesVersion. The KubernetesVersion is compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesVersion] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -7901,23 +11354,24 @@ async def begin_create_or_update( async def begin_create_or_update( self, resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_parameters: _types.KubernetesCluster, + kubernetes_version_name: str, + kubernetes_version_parameters: _types.KubernetesVersion, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.KubernetesCluster]: - """Create a new Kubernetes cluster or update the properties of the existing one. + ) -> AsyncLROPoller[_models.KubernetesVersion]: + """Create the Kubernetes version resource or update its tags. This resource is system managed and + should only be created with the name "default". :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_parameters: The request body. Required. - :type kubernetes_cluster_parameters: ~azure.mgmt.networkcloud.types.KubernetesCluster + :param kubernetes_version_name: The name of the Kubernetes version resource. Required. + :type kubernetes_version_name: str + :param kubernetes_version_parameters: The request body. Required. + :type kubernetes_version_parameters: ~azure.mgmt.networkcloud.types.KubernetesVersion :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -7926,9 +11380,9 @@ async def begin_create_or_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns KubernetesCluster. The KubernetesCluster is + :return: An instance of AsyncLROPoller that returns KubernetesVersion. The KubernetesVersion is compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesVersion] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -7936,23 +11390,24 @@ async def begin_create_or_update( async def begin_create_or_update( self, resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_parameters: IO[bytes], + kubernetes_version_name: str, + kubernetes_version_parameters: IO[bytes], *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.KubernetesCluster]: - """Create a new Kubernetes cluster or update the properties of the existing one. + ) -> AsyncLROPoller[_models.KubernetesVersion]: + """Create the Kubernetes version resource or update its tags. This resource is system managed and + should only be created with the name "default". :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_parameters: The request body. Required. - :type kubernetes_cluster_parameters: IO[bytes] + :param kubernetes_version_name: The name of the Kubernetes version resource. Required. + :type kubernetes_version_name: str + :param kubernetes_version_parameters: The request body. Required. + :type kubernetes_version_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -7961,57 +11416,74 @@ async def begin_create_or_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns KubernetesCluster. The KubernetesCluster is + :return: An instance of AsyncLROPoller that returns KubernetesVersion. The KubernetesVersion is compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesVersion] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace_async + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "kubernetes_version_name", + "content_type", + "accept", + "etag", + "match_condition", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) async def begin_create_or_update( self, resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_parameters: Union[_models.KubernetesCluster, _types.KubernetesCluster, IO[bytes]], + kubernetes_version_name: str, + kubernetes_version_parameters: Union[_models.KubernetesVersion, _types.KubernetesVersion, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.KubernetesCluster]: - """Create a new Kubernetes cluster or update the properties of the existing one. + ) -> AsyncLROPoller[_models.KubernetesVersion]: + """Create the Kubernetes version resource or update its tags. This resource is system managed and + should only be created with the name "default". :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_parameters: The request body. Is either a KubernetesCluster type or a + :param kubernetes_version_name: The name of the Kubernetes version resource. Required. + :type kubernetes_version_name: str + :param kubernetes_version_parameters: The request body. Is either a KubernetesVersion type or a IO[bytes] type. Required. - :type kubernetes_cluster_parameters: ~azure.mgmt.networkcloud.models.KubernetesCluster or - ~azure.mgmt.networkcloud.types.KubernetesCluster or IO[bytes] + :type kubernetes_version_parameters: ~azure.mgmt.networkcloud.models.KubernetesVersion or + ~azure.mgmt.networkcloud.types.KubernetesVersion or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns KubernetesCluster. The KubernetesCluster is + :return: An instance of AsyncLROPoller that returns KubernetesVersion. The KubernetesVersion is compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesVersion] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.KubernetesCluster] = kwargs.pop("cls", None) + cls: ClsType[_models.KubernetesVersion] = 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, - kubernetes_cluster_name=kubernetes_cluster_name, - kubernetes_cluster_parameters=kubernetes_cluster_parameters, + kubernetes_version_name=kubernetes_version_name, + kubernetes_version_parameters=kubernetes_version_parameters, etag=etag, match_condition=match_condition, content_type=content_type, @@ -8025,7 +11497,7 @@ async def begin_create_or_update( def get_long_running_output(pipeline_response): response = pipeline_response.http_response - deserialized = _deserialize(_models.KubernetesCluster, response.json()) + deserialized = _deserialize(_models.KubernetesVersion, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized @@ -8043,22 +11515,38 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return AsyncLROPoller[_models.KubernetesCluster].from_continuation_token( + return AsyncLROPoller[_models.KubernetesVersion].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return AsyncLROPoller[_models.KubernetesCluster]( + return AsyncLROPoller[_models.KubernetesVersion]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "kubernetes_version_name", + "content_type", + "accept", + "etag", + "match_condition", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) async def _update_initial( self, resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_update_parameters: Optional[ - Union[_models.KubernetesClusterPatchParameters, _types.KubernetesClusterPatchParameters, IO[bytes]] + kubernetes_version_name: str, + kubernetes_version_patch_parameters: Optional[ + Union[_models.KubernetesVersionPatchParameters, _types.KubernetesVersionPatchParameters, IO[bytes]] ] = None, *, etag: Optional[str] = None, @@ -8083,22 +11571,22 @@ async def _update_initial( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if kubernetes_cluster_update_parameters else None + content_type = content_type if kubernetes_version_patch_parameters else None cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" if kubernetes_cluster_update_parameters else None + content_type = content_type or "application/json" if kubernetes_version_patch_parameters else None _content = None - if isinstance(kubernetes_cluster_update_parameters, (IOBase, bytes)): - _content = kubernetes_cluster_update_parameters + if isinstance(kubernetes_version_patch_parameters, (IOBase, bytes)): + _content = kubernetes_version_patch_parameters else: - if kubernetes_cluster_update_parameters is not None: - _content = json.dumps(kubernetes_cluster_update_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + if kubernetes_version_patch_parameters is not None: + _content = json.dumps(kubernetes_version_patch_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore else: _content = None - _request = build_kubernetes_clusters_update_request( + _request = build_kubernetes_versions_update_request( resource_group_name=resource_group_name, - kubernetes_cluster_name=kubernetes_cluster_name, + kubernetes_version_name=kubernetes_version_name, subscription_id=self._config.subscription_id, etag=etag, match_condition=match_condition, @@ -8151,25 +11639,25 @@ async def _update_initial( async def begin_update( self, resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_update_parameters: Optional[_models.KubernetesClusterPatchParameters] = None, + kubernetes_version_name: str, + kubernetes_version_patch_parameters: Optional[_models.KubernetesVersionPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.KubernetesCluster]: - """Patch the properties of the provided Kubernetes cluster, or update the tags associated with the - Kubernetes cluster. Properties and tag updates can be done independently. + ) -> AsyncLROPoller[_models.KubernetesVersion]: + """Update tags associated with the Kubernetes version resource. No other properties are supported + for update. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_update_parameters: The request body. Default value is None. - :type kubernetes_cluster_update_parameters: - ~azure.mgmt.networkcloud.models.KubernetesClusterPatchParameters + :param kubernetes_version_name: The name of the Kubernetes version resource. Required. + :type kubernetes_version_name: str + :param kubernetes_version_patch_parameters: The request body. Default value is None. + :type kubernetes_version_patch_parameters: + ~azure.mgmt.networkcloud.models.KubernetesVersionPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -8178,9 +11666,9 @@ async def begin_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns KubernetesCluster. The KubernetesCluster is + :return: An instance of AsyncLROPoller that returns KubernetesVersion. The KubernetesVersion is compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesVersion] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -8188,25 +11676,25 @@ async def begin_update( async def begin_update( self, resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_update_parameters: Optional[_types.KubernetesClusterPatchParameters] = None, + kubernetes_version_name: str, + kubernetes_version_patch_parameters: Optional[_types.KubernetesVersionPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.KubernetesCluster]: - """Patch the properties of the provided Kubernetes cluster, or update the tags associated with the - Kubernetes cluster. Properties and tag updates can be done independently. + ) -> AsyncLROPoller[_models.KubernetesVersion]: + """Update tags associated with the Kubernetes version resource. No other properties are supported + for update. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_update_parameters: The request body. Default value is None. - :type kubernetes_cluster_update_parameters: - ~azure.mgmt.networkcloud.types.KubernetesClusterPatchParameters + :param kubernetes_version_name: The name of the Kubernetes version resource. Required. + :type kubernetes_version_name: str + :param kubernetes_version_patch_parameters: The request body. Default value is None. + :type kubernetes_version_patch_parameters: + ~azure.mgmt.networkcloud.types.KubernetesVersionPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -8215,9 +11703,9 @@ async def begin_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns KubernetesCluster. The KubernetesCluster is + :return: An instance of AsyncLROPoller that returns KubernetesVersion. The KubernetesVersion is compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesVersion] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -8225,24 +11713,24 @@ async def begin_update( async def begin_update( self, resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_update_parameters: Optional[IO[bytes]] = None, + kubernetes_version_name: str, + kubernetes_version_patch_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.KubernetesCluster]: - """Patch the properties of the provided Kubernetes cluster, or update the tags associated with the - Kubernetes cluster. Properties and tag updates can be done independently. + ) -> AsyncLROPoller[_models.KubernetesVersion]: + """Update tags associated with the Kubernetes version resource. No other properties are supported + for update. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_update_parameters: The request body. Default value is None. - :type kubernetes_cluster_update_parameters: IO[bytes] + :param kubernetes_version_name: The name of the Kubernetes version resource. Required. + :type kubernetes_version_name: str + :param kubernetes_version_patch_parameters: The request body. Default value is None. + :type kubernetes_version_patch_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -8251,62 +11739,78 @@ async def begin_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns KubernetesCluster. The KubernetesCluster is + :return: An instance of AsyncLROPoller that returns KubernetesVersion. The KubernetesVersion is compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesVersion] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace_async + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "kubernetes_version_name", + "content_type", + "accept", + "etag", + "match_condition", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) async def begin_update( self, resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_update_parameters: Optional[ - Union[_models.KubernetesClusterPatchParameters, _types.KubernetesClusterPatchParameters, IO[bytes]] + kubernetes_version_name: str, + kubernetes_version_patch_parameters: Optional[ + Union[_models.KubernetesVersionPatchParameters, _types.KubernetesVersionPatchParameters, IO[bytes]] ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> AsyncLROPoller[_models.KubernetesCluster]: - """Patch the properties of the provided Kubernetes cluster, or update the tags associated with the - Kubernetes cluster. Properties and tag updates can be done independently. + ) -> AsyncLROPoller[_models.KubernetesVersion]: + """Update tags associated with the Kubernetes version resource. No other properties are supported + for update. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_update_parameters: The request body. Is either a - KubernetesClusterPatchParameters type or a IO[bytes] type. Default value is None. - :type kubernetes_cluster_update_parameters: - ~azure.mgmt.networkcloud.models.KubernetesClusterPatchParameters or - ~azure.mgmt.networkcloud.types.KubernetesClusterPatchParameters or IO[bytes] + :param kubernetes_version_name: The name of the Kubernetes version resource. Required. + :type kubernetes_version_name: str + :param kubernetes_version_patch_parameters: The request body. Is either a + KubernetesVersionPatchParameters type or a IO[bytes] type. Default value is None. + :type kubernetes_version_patch_parameters: + ~azure.mgmt.networkcloud.models.KubernetesVersionPatchParameters or + ~azure.mgmt.networkcloud.types.KubernetesVersionPatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of AsyncLROPoller that returns KubernetesCluster. The KubernetesCluster is + :return: An instance of AsyncLROPoller that returns KubernetesVersion. The KubernetesVersion is compatible with MutableMapping - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.KubernetesVersion] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if kubernetes_cluster_update_parameters else None - cls: ClsType[_models.KubernetesCluster] = kwargs.pop("cls", None) + content_type = content_type if kubernetes_version_patch_parameters else None + cls: ClsType[_models.KubernetesVersion] = 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._update_initial( resource_group_name=resource_group_name, - kubernetes_cluster_name=kubernetes_cluster_name, - kubernetes_cluster_update_parameters=kubernetes_cluster_update_parameters, + kubernetes_version_name=kubernetes_version_name, + kubernetes_version_patch_parameters=kubernetes_version_patch_parameters, etag=etag, match_condition=match_condition, content_type=content_type, @@ -8320,7 +11824,7 @@ async def begin_update( def get_long_running_output(pipeline_response): response = pipeline_response.http_response - deserialized = _deserialize(_models.KubernetesCluster, response.json()) + deserialized = _deserialize(_models.KubernetesVersion, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized @@ -8338,20 +11842,34 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return AsyncLROPoller[_models.KubernetesCluster].from_continuation_token( + return AsyncLROPoller[_models.KubernetesVersion].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return AsyncLROPoller[_models.KubernetesCluster]( + return AsyncLROPoller[_models.KubernetesVersion]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "kubernetes_version_name", + "etag", + "match_condition", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) async def _delete_initial( self, resource_group_name: str, - kubernetes_cluster_name: str, + kubernetes_version_name: str, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -8376,9 +11894,9 @@ async def _delete_initial( cls: ClsType[AsyncIterator[bytes]] = kwargs.pop("cls", None) - _request = build_kubernetes_clusters_delete_request( + _request = build_kubernetes_versions_delete_request( resource_group_name=resource_group_name, - kubernetes_cluster_name=kubernetes_cluster_name, + kubernetes_version_name=kubernetes_version_name, subscription_id=self._config.subscription_id, etag=etag, match_condition=match_condition, @@ -8423,22 +11941,36 @@ async def _delete_initial( return deserialized # type: ignore @distributed_trace_async + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "kubernetes_version_name", + "etag", + "match_condition", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) async def begin_delete( self, resource_group_name: str, - kubernetes_cluster_name: str, + kubernetes_version_name: str, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Delete the provided Kubernetes cluster. + """Delete the specified Kubernetes version resource. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str + :param kubernetes_version_name: The name of the Kubernetes version resource. Required. + :type kubernetes_version_name: str :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -8460,7 +11992,7 @@ async def begin_delete( if cont_token is None: raw_result = await self._delete_initial( resource_group_name=resource_group_name, - kubernetes_cluster_name=kubernetes_cluster_name, + kubernetes_version_name=kubernetes_version_name, etag=etag, match_condition=match_condition, cls=lambda x, y, z: x, @@ -8505,10 +12037,24 @@ def get_long_running_output(pipeline_response): ) @distributed_trace + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "top", + "skip_token", + "accept", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) def list_by_resource_group( self, resource_group_name: str, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> AsyncItemPaged["_models.KubernetesCluster"]: - """Get a list of Kubernetes clusters in the provided resource group. + ) -> AsyncItemPaged["_models.KubernetesVersion"]: + """Get a list of Kubernetes version resources in the provided resource group. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. @@ -8520,15 +12066,15 @@ def list_by_resource_group( listing resources from. This is used for paging through large result sets. Default value is None. :paramtype skip_token: str - :return: An iterator like instance of KubernetesCluster + :return: An iterator like instance of KubernetesVersion :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.KubernetesCluster] + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.KubernetesVersion] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.KubernetesCluster]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.KubernetesVersion]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -8541,7 +12087,7 @@ def list_by_resource_group( def prepare_request(next_link=None): if not next_link: - _request = build_kubernetes_clusters_list_by_resource_group_request( + _request = build_kubernetes_versions_list_by_resource_group_request( resource_group_name=resource_group_name, subscription_id=self._config.subscription_id, top=top, @@ -8585,7 +12131,7 @@ def prepare_request(next_link=None): async def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.KubernetesCluster], + List[_models.KubernetesVersion], deserialized.get("value", []), ) if cls: @@ -8614,10 +12160,15 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) @distributed_trace + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={"2026-01-01-preview": ["api_version", "subscription_id", "top", "skip_token", "accept"]}, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) def list_by_subscription( self, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> AsyncItemPaged["_models.KubernetesCluster"]: - """Get a list of Kubernetes clusters in the provided subscription. + ) -> AsyncItemPaged["_models.KubernetesVersion"]: + """Get a list of Kubernetes version resources in the provided subscription. :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. Default value is None. @@ -8626,15 +12177,15 @@ def list_by_subscription( listing resources from. This is used for paging through large result sets. Default value is None. :paramtype skip_token: str - :return: An iterator like instance of KubernetesCluster + :return: An iterator like instance of KubernetesVersion :rtype: - ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.KubernetesCluster] + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.networkcloud.models.KubernetesVersion] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.KubernetesCluster]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.KubernetesVersion]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -8647,7 +12198,7 @@ def list_by_subscription( def prepare_request(next_link=None): if not next_link: - _request = build_kubernetes_clusters_list_by_subscription_request( + _request = build_kubernetes_versions_list_by_subscription_request( subscription_id=self._config.subscription_id, top=top, skip_token=skip_token, @@ -8690,7 +12241,7 @@ def prepare_request(next_link=None): async def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.KubernetesCluster], + List[_models.KubernetesVersion], deserialized.get("value", []), ) if cls: @@ -8718,255 +12269,6 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) - async def _restart_node_initial( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_restart_node_parameters: Union[ - _models.KubernetesClusterRestartNodeParameters, _types.KubernetesClusterRestartNodeParameters, IO[bytes] - ], - **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 = kwargs.pop("params", {}) or {} - - 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" - _content = None - if isinstance(kubernetes_cluster_restart_node_parameters, (IOBase, bytes)): - _content = kubernetes_cluster_restart_node_parameters - else: - _content = json.dumps(kubernetes_cluster_restart_node_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_kubernetes_clusters_restart_node_request( - resource_group_name=resource_group_name, - kubernetes_cluster_name=kubernetes_cluster_name, - subscription_id=self._config.subscription_id, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _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]: - 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - async def begin_restart_node( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_restart_node_parameters: _models.KubernetesClusterRestartNodeParameters, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Restart a targeted node of a Kubernetes cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_restart_node_parameters: The request body. Required. - :type kubernetes_cluster_restart_node_parameters: - ~azure.mgmt.networkcloud.models.KubernetesClusterRestartNodeParameters - :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_restart_node( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_restart_node_parameters: _types.KubernetesClusterRestartNodeParameters, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Restart a targeted node of a Kubernetes cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_restart_node_parameters: The request body. Required. - :type kubernetes_cluster_restart_node_parameters: - ~azure.mgmt.networkcloud.types.KubernetesClusterRestartNodeParameters - :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - async def begin_restart_node( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_restart_node_parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Restart a targeted node of a Kubernetes cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_restart_node_parameters: The request body. Required. - :type kubernetes_cluster_restart_node_parameters: IO[bytes] - :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 OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace_async - async def begin_restart_node( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_restart_node_parameters: Union[ - _models.KubernetesClusterRestartNodeParameters, _types.KubernetesClusterRestartNodeParameters, IO[bytes] - ], - **kwargs: Any - ) -> AsyncLROPoller[_models.OperationStatusResult]: - """Restart a targeted node of a Kubernetes cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_restart_node_parameters: The request body. Is either a - KubernetesClusterRestartNodeParameters type or a IO[bytes] type. Required. - :type kubernetes_cluster_restart_node_parameters: - ~azure.mgmt.networkcloud.models.KubernetesClusterRestartNodeParameters or - ~azure.mgmt.networkcloud.types.KubernetesClusterRestartNodeParameters or IO[bytes] - :return: An instance of AsyncLROPoller that returns OperationStatusResult. The - OperationStatusResult is compatible with MutableMapping - :rtype: - ~azure.core.polling.AsyncLROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.OperationStatusResult] = 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._restart_node_initial( - resource_group_name=resource_group_name, - kubernetes_cluster_name=kubernetes_cluster_name, - kubernetes_cluster_restart_node_parameters=kubernetes_cluster_restart_node_parameters, - 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): - response_headers = {} - response = pipeline_response.http_response - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = _deserialize(_models.OperationStatusResult, response.json()) - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - return deserialized - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: AsyncPollingMethod = cast( - AsyncPollingMethod, AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: - polling_method = polling - if cont_token: - return AsyncLROPoller[_models.OperationStatusResult].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return AsyncLROPoller[_models.OperationStatusResult]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - class L2NetworksOperations: """ diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/models/__init__.py b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/models/__init__.py index 6e71f11bab4a..1badc7d4b4d1 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/models/__init__.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/models/__init__.py @@ -15,8 +15,15 @@ from ._models import ( # type: ignore AadConfiguration, + AccessBridge, + AccessBridgeEndpoint, + AccessBridgePatchParameters, + AccessBridgePatchProperties, + AccessBridgeProperties, + AccessBridgeSecurityRule, ActionState, AdministrativeCredentials, + AdministrativeCredentialsPatch, AdministratorConfiguration, AdministratorConfigurationPatch, AgentOptions, @@ -31,15 +38,18 @@ BareMetalMachine, BareMetalMachineCommandSpecification, BareMetalMachineConfigurationData, + BareMetalMachineConfigurationDataPatch, BareMetalMachineCordonParameters, BareMetalMachineKeySet, BareMetalMachineKeySetPatchParameters, BareMetalMachineKeySetPatchProperties, BareMetalMachineKeySetProperties, + BareMetalMachineMonitoringConfigurationStatus, BareMetalMachinePatchParameters, BareMetalMachinePatchProperties, BareMetalMachinePowerOffParameters, BareMetalMachineProperties, + BareMetalMachineReimageParameters, BareMetalMachineReplaceParameters, BareMetalMachineRunCommandParameters, BareMetalMachineRunDataExtractsParameters, @@ -64,9 +74,12 @@ ClusterCapacity, ClusterContinueUpdateVersionParameters, ClusterDeployParameters, + ClusterInspectParameters, ClusterManager, ClusterManagerPatchParameters, ClusterManagerProperties, + ClusterManagerRelayConfiguration, + ClusterManagerUpdateRelayPrivateEndpointConnectionParameters, ClusterMetricsConfiguration, ClusterMetricsConfigurationPatchParameters, ClusterMetricsConfigurationPatchProperties, @@ -74,9 +87,12 @@ ClusterPatchParameters, ClusterPatchProperties, ClusterProperties, + ClusterRotateCredentialParameters, ClusterScanRuntimeParameters, ClusterSecretArchive, + ClusterSecretArchivePatch, ClusterUpdateStrategy, + ClusterUpdateStrategyPatch, ClusterUpdateVersionParameters, CommandOutputOverride, CommandOutputSettings, @@ -93,11 +109,13 @@ ErrorResponse, ExtendedLocation, FeatureStatus, + FilterDevices, HardwareInventory, HardwareInventoryNetworkInterface, HardwareValidationStatus, IdentitySelector, ImageRepositoryCredentials, + ImageRepositoryCredentialsPatch, InitialAgentPoolConfiguration, IpAddressPool, KeySetUser, @@ -113,6 +131,10 @@ KubernetesClusterProperties, KubernetesClusterRestartNodeParameters, KubernetesLabel, + KubernetesVersion, + KubernetesVersionPatchParameters, + KubernetesVersionProperties, + KubernetesVersionValue, L2Network, L2NetworkAttachmentConfiguration, L2NetworkPatchParameters, @@ -141,6 +163,7 @@ ProxyResource, Rack, RackDefinition, + RackDefinitionPatch, RackPatchParameters, RackProperties, RackSku, @@ -148,18 +171,24 @@ RacksPatchProperties, Resource, RuntimeProtectionConfiguration, + RuntimeProtectionConfigurationPatch, RuntimeProtectionStatus, SecretArchiveReference, SecretArchiveSettings, SecretRotationStatus, ServiceLoadBalancerBgpPeer, ServicePrincipalInformation, + ServicePrincipalInformationPatch, SshPublicKey, + SshPublicKeyPatch, StepState, StorageAppliance, StorageApplianceCommandSpecification, StorageApplianceConfigurationData, + StorageApplianceConfigurationDataPatch, StorageApplianceEnableRemoteVendorManagementParameters, + StorageApplianceExpansionShelf, + StorageApplianceMonitoringConfigurationStatus, StorageAppliancePatchParameters, StorageAppliancePatchProperties, StorageApplianceProperties, @@ -176,6 +205,7 @@ TrunkedNetworkProperties, UserAssignedIdentity, ValidationThreshold, + ValidationThresholdPatch, VirtualMachine, VirtualMachineAssignRelayParameters, VirtualMachinePatchParameters, @@ -191,6 +221,9 @@ ) from ._enums import ( # type: ignore + AccessBridgeAllowedName, + AccessBridgeDetailedStatus, + AccessBridgeProvisioningState, ActionStateStatus, ActionType, AdvertiseToFabric, @@ -206,9 +239,12 @@ BareMetalMachineKeySetPrivilegeLevel, BareMetalMachineKeySetProvisioningState, BareMetalMachineKeySetUserSetupStatus, + BareMetalMachineMonitoringConfigurationStatusLogLevel, + BareMetalMachineMonitoringConfigurationStatusMetricsLevel, BareMetalMachinePowerState, BareMetalMachineProvisioningState, BareMetalMachineReadyState, + BareMetalMachineReimageSafeguardMode, BareMetalMachineReplaceSafeguardMode, BareMetalMachineReplaceStoragePolicy, BareMetalMachineSkipShutdown, @@ -225,7 +261,9 @@ CloudServicesNetworkStorageStatusStatus, ClusterConnectionStatus, ClusterContinueUpdateVersionMachineGroupTargetingMode, + ClusterContinueUpdateVersionSafeguardMode, ClusterDetailedStatus, + ClusterInspectAdditionalAction, ClusterManagerConnectionStatus, ClusterManagerDetailedStatus, ClusterManagerProvisioningState, @@ -236,6 +274,7 @@ ClusterSecretArchiveEnabled, ClusterType, ClusterUpdateStrategyType, + ClusterUpdateVersionSafeguardMode, CommandOutputType, ConsoleDetailedStatus, ConsoleEnabled, @@ -243,6 +282,7 @@ ControlImpact, CreatedByType, DefaultGateway, + DeploymentType, DeviceConnectionType, DiskType, ExtendedLocationType, @@ -262,6 +302,7 @@ KubernetesNodePowerState, KubernetesNodeRole, KubernetesPluginType, + KubernetesVersionProvisioningState, L2NetworkDetailedStatus, L2NetworkProvisioningState, L3NetworkConfigurationIpamEnabled, @@ -277,14 +318,22 @@ RackProvisioningState, RackSkuProvisioningState, RackSkuType, + RelayPrivateEndpointConnectionState, RelayType, RemoteVendorManagementFeature, RemoteVendorManagementStatus, + RuntimeProtectionAgentHealthStatus, + RuntimeProtectionAgentLicenseStatus, + RuntimeProtectionDefinitionUpdateMode, RuntimeProtectionEnforcementLevel, + SecurityRuleDirection, SkipShutdown, StepStateStatus, StorageApplianceDetailedStatus, + StorageApplianceMonitoringConfigurationStatusLogLevel, + StorageApplianceMonitoringConfigurationStatusMetricsLevel, StorageApplianceProvisioningState, + TransportProtocol, TrunkedNetworkDetailedStatus, TrunkedNetworkProvisioningState, ValidationThresholdGrouping, @@ -311,8 +360,15 @@ __all__ = [ "AadConfiguration", + "AccessBridge", + "AccessBridgeEndpoint", + "AccessBridgePatchParameters", + "AccessBridgePatchProperties", + "AccessBridgeProperties", + "AccessBridgeSecurityRule", "ActionState", "AdministrativeCredentials", + "AdministrativeCredentialsPatch", "AdministratorConfiguration", "AdministratorConfigurationPatch", "AgentOptions", @@ -327,15 +383,18 @@ "BareMetalMachine", "BareMetalMachineCommandSpecification", "BareMetalMachineConfigurationData", + "BareMetalMachineConfigurationDataPatch", "BareMetalMachineCordonParameters", "BareMetalMachineKeySet", "BareMetalMachineKeySetPatchParameters", "BareMetalMachineKeySetPatchProperties", "BareMetalMachineKeySetProperties", + "BareMetalMachineMonitoringConfigurationStatus", "BareMetalMachinePatchParameters", "BareMetalMachinePatchProperties", "BareMetalMachinePowerOffParameters", "BareMetalMachineProperties", + "BareMetalMachineReimageParameters", "BareMetalMachineReplaceParameters", "BareMetalMachineRunCommandParameters", "BareMetalMachineRunDataExtractsParameters", @@ -360,9 +419,12 @@ "ClusterCapacity", "ClusterContinueUpdateVersionParameters", "ClusterDeployParameters", + "ClusterInspectParameters", "ClusterManager", "ClusterManagerPatchParameters", "ClusterManagerProperties", + "ClusterManagerRelayConfiguration", + "ClusterManagerUpdateRelayPrivateEndpointConnectionParameters", "ClusterMetricsConfiguration", "ClusterMetricsConfigurationPatchParameters", "ClusterMetricsConfigurationPatchProperties", @@ -370,9 +432,12 @@ "ClusterPatchParameters", "ClusterPatchProperties", "ClusterProperties", + "ClusterRotateCredentialParameters", "ClusterScanRuntimeParameters", "ClusterSecretArchive", + "ClusterSecretArchivePatch", "ClusterUpdateStrategy", + "ClusterUpdateStrategyPatch", "ClusterUpdateVersionParameters", "CommandOutputOverride", "CommandOutputSettings", @@ -389,11 +454,13 @@ "ErrorResponse", "ExtendedLocation", "FeatureStatus", + "FilterDevices", "HardwareInventory", "HardwareInventoryNetworkInterface", "HardwareValidationStatus", "IdentitySelector", "ImageRepositoryCredentials", + "ImageRepositoryCredentialsPatch", "InitialAgentPoolConfiguration", "IpAddressPool", "KeySetUser", @@ -409,6 +476,10 @@ "KubernetesClusterProperties", "KubernetesClusterRestartNodeParameters", "KubernetesLabel", + "KubernetesVersion", + "KubernetesVersionPatchParameters", + "KubernetesVersionProperties", + "KubernetesVersionValue", "L2Network", "L2NetworkAttachmentConfiguration", "L2NetworkPatchParameters", @@ -437,6 +508,7 @@ "ProxyResource", "Rack", "RackDefinition", + "RackDefinitionPatch", "RackPatchParameters", "RackProperties", "RackSku", @@ -444,18 +516,24 @@ "RacksPatchProperties", "Resource", "RuntimeProtectionConfiguration", + "RuntimeProtectionConfigurationPatch", "RuntimeProtectionStatus", "SecretArchiveReference", "SecretArchiveSettings", "SecretRotationStatus", "ServiceLoadBalancerBgpPeer", "ServicePrincipalInformation", + "ServicePrincipalInformationPatch", "SshPublicKey", + "SshPublicKeyPatch", "StepState", "StorageAppliance", "StorageApplianceCommandSpecification", "StorageApplianceConfigurationData", + "StorageApplianceConfigurationDataPatch", "StorageApplianceEnableRemoteVendorManagementParameters", + "StorageApplianceExpansionShelf", + "StorageApplianceMonitoringConfigurationStatus", "StorageAppliancePatchParameters", "StorageAppliancePatchProperties", "StorageApplianceProperties", @@ -472,6 +550,7 @@ "TrunkedNetworkProperties", "UserAssignedIdentity", "ValidationThreshold", + "ValidationThresholdPatch", "VirtualMachine", "VirtualMachineAssignRelayParameters", "VirtualMachinePatchParameters", @@ -484,6 +563,9 @@ "VolumeProperties", "VulnerabilityScanningSettings", "VulnerabilityScanningSettingsPatch", + "AccessBridgeAllowedName", + "AccessBridgeDetailedStatus", + "AccessBridgeProvisioningState", "ActionStateStatus", "ActionType", "AdvertiseToFabric", @@ -499,9 +581,12 @@ "BareMetalMachineKeySetPrivilegeLevel", "BareMetalMachineKeySetProvisioningState", "BareMetalMachineKeySetUserSetupStatus", + "BareMetalMachineMonitoringConfigurationStatusLogLevel", + "BareMetalMachineMonitoringConfigurationStatusMetricsLevel", "BareMetalMachinePowerState", "BareMetalMachineProvisioningState", "BareMetalMachineReadyState", + "BareMetalMachineReimageSafeguardMode", "BareMetalMachineReplaceSafeguardMode", "BareMetalMachineReplaceStoragePolicy", "BareMetalMachineSkipShutdown", @@ -518,7 +603,9 @@ "CloudServicesNetworkStorageStatusStatus", "ClusterConnectionStatus", "ClusterContinueUpdateVersionMachineGroupTargetingMode", + "ClusterContinueUpdateVersionSafeguardMode", "ClusterDetailedStatus", + "ClusterInspectAdditionalAction", "ClusterManagerConnectionStatus", "ClusterManagerDetailedStatus", "ClusterManagerProvisioningState", @@ -529,6 +616,7 @@ "ClusterSecretArchiveEnabled", "ClusterType", "ClusterUpdateStrategyType", + "ClusterUpdateVersionSafeguardMode", "CommandOutputType", "ConsoleDetailedStatus", "ConsoleEnabled", @@ -536,6 +624,7 @@ "ControlImpact", "CreatedByType", "DefaultGateway", + "DeploymentType", "DeviceConnectionType", "DiskType", "ExtendedLocationType", @@ -555,6 +644,7 @@ "KubernetesNodePowerState", "KubernetesNodeRole", "KubernetesPluginType", + "KubernetesVersionProvisioningState", "L2NetworkDetailedStatus", "L2NetworkProvisioningState", "L3NetworkConfigurationIpamEnabled", @@ -570,14 +660,22 @@ "RackProvisioningState", "RackSkuProvisioningState", "RackSkuType", + "RelayPrivateEndpointConnectionState", "RelayType", "RemoteVendorManagementFeature", "RemoteVendorManagementStatus", + "RuntimeProtectionAgentHealthStatus", + "RuntimeProtectionAgentLicenseStatus", + "RuntimeProtectionDefinitionUpdateMode", "RuntimeProtectionEnforcementLevel", + "SecurityRuleDirection", "SkipShutdown", "StepStateStatus", "StorageApplianceDetailedStatus", + "StorageApplianceMonitoringConfigurationStatusLogLevel", + "StorageApplianceMonitoringConfigurationStatusMetricsLevel", "StorageApplianceProvisioningState", + "TransportProtocol", "TrunkedNetworkDetailedStatus", "TrunkedNetworkProvisioningState", "ValidationThresholdGrouping", diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/models/_enums.py b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/models/_enums.py index 1b6cfa435c8b..bab086e67db8 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/models/_enums.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/models/_enums.py @@ -11,6 +11,43 @@ from azure.core import CaseInsensitiveEnumMeta +class AccessBridgeAllowedName(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The allowed names for the access bridge.""" + + BASTION = "Bastion" + """The access bridge for bare metal machine bastion access.""" + PRIVATE_VAULT = "PrivateVault" + """The access bridge for cluster access to private vault.""" + STORAGE_DASHBOARD = "StorageDashboard" + """The access bridge for access to the storage dashboard.""" + + +class AccessBridgeDetailedStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The detailed status reported by the access bridge.""" + + RUNNING = "Running" + """The access bridge is healthy and operating normally.""" + DEGRADED = "Degraded" + """The access bridge is experiencing degraded performance or partial outages.""" + FAILED = "Failed" + """The access bridge is not operational.""" + + +class AccessBridgeProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The provisioning state of the access bridge.""" + + ACCEPTED = "Accepted" + """The Accepted status.""" + CANCELED = "Canceled" + """The Canceled status.""" + FAILED = "Failed" + """The Failed status.""" + PROVISIONING = "Provisioning" + """The Provisioning status.""" + SUCCEEDED = "Succeeded" + """The Succeeded status.""" + + class ActionStateStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The status of the action.""" @@ -188,6 +225,28 @@ class BareMetalMachineKeySetUserSetupStatus(str, Enum, metaclass=CaseInsensitive """The user is not valid and has no access.""" +class BareMetalMachineMonitoringConfigurationStatusLogLevel( # pylint: disable=name-too-long + str, Enum, metaclass=CaseInsensitiveEnumMeta +): + """The log level for the monitoring configuration status of the bare metal machine.""" + + DEFAULT = "Default" + """Logs are emitted at the default log level.""" + NEXUS = "Nexus" + """Logs are emitted at the Nexus log level.""" + + +class BareMetalMachineMonitoringConfigurationStatusMetricsLevel( # pylint: disable=name-too-long + str, Enum, metaclass=CaseInsensitiveEnumMeta +): + """The metrics level for the monitoring configuration status of the bare metal machine.""" + + DEFAULT = "Default" + """Metrics are emitted at the default metrics level.""" + NEXUS = "Nexus" + """Metrics are emitted at the Nexus metrics level.""" + + class BareMetalMachinePowerState(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The power state derived from the baseboard management controller.""" @@ -223,6 +282,18 @@ class BareMetalMachineReadyState(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The bare metal machine is not ready to receive workloads.""" +class BareMetalMachineReimageSafeguardMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The safeguard mode to use for the reimage action, where None indicates to bypass safeguards and + All indicates to utilize all safeguards. + """ + + ALL = "All" + """Run all pre‑operation validation checks before performing the reimage. If any check fails, the + request is rejected and no changes are made.""" + NONE = "None" + """Skip all safeguards and perform the reimage without running pre‑operation validation checks.""" + + class BareMetalMachineReplaceSafeguardMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The safeguard mode to use for the replace action, where None indicates to bypass safeguards and All indicates to utilize all safeguards. @@ -373,6 +444,12 @@ class CloudServicesNetworkStorageStatusStatus(str, Enum, metaclass=CaseInsensiti """The storage allocation is expanding the volume.""" EXPANSION_FAILED = "ExpansionFailed" """The expansion of the storage allocation has failed.""" + INITIALIZING = "Initializing" + """The storage allocation is initializing.""" + NONE = "None" + """The storage allocation has no status.""" + REPAIRING = "Repairing" + """The storage allocation is being repaired.""" class ClusterConnectionStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): @@ -397,6 +474,21 @@ class ClusterContinueUpdateVersionMachineGroupTargetingMode( # pylint: disable= """Racks will be targeted for update in alphabetical order based on the rack name.""" +class ClusterContinueUpdateVersionSafeguardMode( # pylint: disable=name-too-long + str, Enum, metaclass=CaseInsensitiveEnumMeta +): + """ClusterContinueUpdateVersionSafeguardMode represents the mode of the cluster continue update + safeguards. + """ + + ALL = "All" + """Run all pre‑operation validation checks before continuing the version update. If any check + fails, the request is rejected and no changes are made.""" + NONE = "None" + """Skip all safeguards and continue the version update without running pre‑operation validation + checks.""" + + class ClusterDetailedStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The current detailed status of the cluster.""" @@ -420,6 +512,15 @@ class ClusterDetailedStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The Failed status.""" +class ClusterInspectAdditionalAction(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Additional actions supplement the default non-disruptive cluster inspection. Additional actions + may be disallowed if the cluster is in a deployed and running state. + """ + + RESET_HARDWARE = "ResetHardware" + """Indicates that hardware reset should be performed during inspection.""" + + class ClusterManagerConnectionStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The latest connectivity status between cluster manager and the cluster.""" @@ -546,6 +647,17 @@ class ClusterUpdateStrategyType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Pause after each rack is updated.""" +class ClusterUpdateVersionSafeguardMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """ClusterUpdateVersionSafeguardMode represents the mode of the cluster update safeguards.""" + + ALL = "All" + """Run all pre‑operation validation checks before performing the version update. If any check + fails, the request is rejected and no changes are made.""" + NONE = "None" + """Skip all safeguards and perform the version update without running pre‑operation validation + checks.""" + + class CommandOutputType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The type of command output for the override.""" @@ -555,6 +667,9 @@ class CommandOutputType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """BareMetalMachineRunDataExtracts output type.""" BARE_METAL_MACHINE_RUN_READ_COMMANDS = "BareMetalMachineRunReadCommands" """BareMetalMachineRunReadCommands output type.""" + CLUSTER_SUPPORT_ADMINISTRATIVE_ACTIONS = "ClusterSupportAdministrativeActions" + """ClusterSupportAdministrativeActions output type supporting administrative actions that can be + run on a cluster for support purposes.""" STORAGE_RUN_READ_COMMANDS = "StorageRunReadCommands" """StorageRunReadCommands output type.""" BARE_METAL_MACHINE_RUN_DATA_EXTRACTS_RESTRICTED = "BareMetalMachineRunDataExtractsRestricted" @@ -627,6 +742,18 @@ class DefaultGateway(str, Enum, metaclass=CaseInsensitiveEnumMeta): """This is not the default gateway.""" +class DeploymentType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The type (kind) of the cluster. When specified, the value must exactly match the kind + configured on the cluster manager that manages the cluster. If omitted, the service will + default the value to the kind value of the cluster manager. + """ + + NEXUS = "Nexus" + """Azure Operator Nexus.""" + AZURE_LOCAL = "AzureLocal" + """Azure Local.""" + + class DeviceConnectionType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The connection type of the device.""" @@ -857,6 +984,19 @@ class KubernetesPluginType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """IPVLAN plugin type.""" +class KubernetesVersionProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The provisioning state of the Kubernetes version resource.""" + + ACCEPTED = "Accepted" + """The Accepted status.""" + CANCELED = "Canceled" + """The Canceled status.""" + FAILED = "Failed" + """The Failed status.""" + SUCCEEDED = "Succeeded" + """The Succeeded status.""" + + class L2NetworkDetailedStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The more detailed status of the L2 network.""" @@ -1034,6 +1174,15 @@ class RackSkuType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Combination of Aggregator Rack and Compute Rack for a single rack cluster.""" +class RelayPrivateEndpointConnectionState(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The state to set for the private endpoint connection.""" + + APPROVED = "Approved" + """The private endpoint connection is approved.""" + REJECTED = "Rejected" + """The private endpoint connection is rejected.""" + + class RelayType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The indicator of which relay type the machine should be assigned to use. Platform indicates the use of a platform-dedicated relay. Public indicates the use of the standard public relay for @@ -1068,6 +1217,33 @@ class RemoteVendorManagementStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta) """Remote vendor management is unsupported.""" +class RuntimeProtectionAgentHealthStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The runtime protection agent health status.""" + + HEALTHY = "Healthy" + """The runtime protection agent is healthy.""" + UNHEALTHY = "Unhealthy" + """The runtime protection agent has health issues.""" + + +class RuntimeProtectionAgentLicenseStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The runtime protection agent license status.""" + + LICENSED = "Licensed" + """The runtime protection agent license is valid.""" + UNLICENSED = "Unlicensed" + """The runtime protection agent license is not valid.""" + + +class RuntimeProtectionDefinitionUpdateMode(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The definition update mode for runtime protection.""" + + AUTOMATIC = "Automatic" + """Update definitions automatically through the connected runtime protection agent.""" + NONE = "None" + """Do not update definitions.""" + + class RuntimeProtectionEnforcementLevel(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The mode of operation for runtime protection.""" @@ -1083,6 +1259,15 @@ class RuntimeProtectionEnforcementLevel(str, Enum, metaclass=CaseInsensitiveEnum """Real-time scans detect and remediate detected issues.""" +class SecurityRuleDirection(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The direction of allowed network traffic based on the rule.""" + + INBOUND = "Inbound" + """Inbound traffic toward the on-premsises cluster.""" + OUTBOUND = "Outbound" + """Outbound traffic from the on-premises cluster.""" + + class SkipShutdown(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The indicator of whether to skip the graceful OS shutdown and power off the virtual machine immediately. @@ -1120,6 +1305,28 @@ class StorageApplianceDetailedStatus(str, Enum, metaclass=CaseInsensitiveEnumMet """The Provisioning status.""" +class StorageApplianceMonitoringConfigurationStatusLogLevel( # pylint: disable=name-too-long + str, Enum, metaclass=CaseInsensitiveEnumMeta +): + """The log level for the monitoring configuration status of the storage appliance.""" + + DEFAULT = "Default" + """Logs are emitted at the default log level.""" + NEXUS = "Nexus" + """Logs are emitted at the Nexus log level.""" + + +class StorageApplianceMonitoringConfigurationStatusMetricsLevel( # pylint: disable=name-too-long + str, Enum, metaclass=CaseInsensitiveEnumMeta +): + """The metrics level for the monitoring configuration status of the storage appliance.""" + + DEFAULT = "Default" + """Metrics are emitted at the default metrics level.""" + NEXUS = "Nexus" + """Metrics are emitted at the Nexus metrics level.""" + + class StorageApplianceProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The provisioning state of the storage appliance.""" @@ -1135,6 +1342,15 @@ class StorageApplianceProvisioningState(str, Enum, metaclass=CaseInsensitiveEnum """The Accepted status.""" +class TransportProtocol(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The protocol advertised by the access bridge endpoints.""" + + TCP = "TCP" + """The TCP transport protocol.""" + UDP = "UDP" + """The UDP transport protocol.""" + + class TrunkedNetworkDetailedStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The more detailed status of the trunked network.""" diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/models/_models.py b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/models/_models.py index 399060fd413b..0cf25f954ac9 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/models/_models.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/models/_models.py @@ -47,6 +47,409 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) +class Resource(_Model): + """Resource. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /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.networkcloud.models.SystemData + """ + + id: Optional[str] = rest_field(visibility=["read"]) + """Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.""" + name: Optional[str] = rest_field(visibility=["read"]) + """The name of the resource.""" + type: Optional[str] = rest_field(visibility=["read"]) + """The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or + \"Microsoft.Storage/storageAccounts\".""" + system_data: Optional["_models.SystemData"] = rest_field(name="systemData", visibility=["read"]) + """Azure Resource Manager metadata containing createdBy and modifiedBy information.""" + + +class TrackedResource(Resource): + """Tracked Resource. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /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.networkcloud.models.SystemData + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + """ + + tags: Optional[dict[str, str]] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Resource tags.""" + location: str = rest_field(visibility=["read", "create"]) + """The geo-location where the resource lives. Required.""" + + @overload + def __init__( + self, + *, + location: str, + tags: Optional[dict[str, str]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class AccessBridge(TrackedResource): + """AccessBridge represents a managed access bridge resource. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /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.networkcloud.models.SystemData + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: The list of the resource properties. Required. + :vartype properties: ~azure.mgmt.networkcloud.models.AccessBridgeProperties + :ivar etag: "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 etag: str + :ivar extended_location: The extended location of the resource. This property is required when + creating the resource. Required. + :vartype extended_location: ~azure.mgmt.networkcloud.models.ExtendedLocation + """ + + properties: "_models.AccessBridgeProperties" = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """The list of the resource properties. Required.""" + etag: Optional[str] = rest_field(visibility=["read"]) + """\"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.\").""" + extended_location: "_models.ExtendedLocation" = rest_field(name="extendedLocation", visibility=["read", "create"]) + """The extended location of the resource. This property is required when creating the resource. + Required.""" + + __flattened_items = [ + "ipv4_connected_prefix", + "ipv6_connected_prefix", + "network_id", + "security_rules", + "detailed_status", + "detailed_status_message", + "endpoints", + "protocol", + "provisioning_state", + ] + + @overload + def __init__( + self, + *, + location: str, + properties: "_models.AccessBridgeProperties", + extended_location: "_models.ExtendedLocation", + tags: Optional[dict[str, str]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + _flattened_input = {k: kwargs.pop(k) for k in kwargs.keys() & self.__flattened_items} + super().__init__(*args, **kwargs) + for k, v in _flattened_input.items(): + setattr(self, k, v) + + def __getattr__(self, name: str) -> Any: + if name in self.__flattened_items: + if self.properties is None: + return None + return getattr(self.properties, name) + raise AttributeError(f"'{self.__class__.__name__}' object has no attribute '{name}'") + + def __setattr__(self, key: str, value: Any) -> None: + if key in self.__flattened_items: + if self.properties is None: + self.properties = self._attr_to_rest_field["properties"]._class_type() + setattr(self.properties, key, value) + else: + super().__setattr__(key, value) + + +class AccessBridgeEndpoint(_Model): + """AccessBridgeEndpoint describes a single advertised service endpoint. + + :ivar fqdn: The fully qualified domain name used to describe the certificate name for the + endpoint. + :vartype fqdn: str + :ivar ipv4_address: The IPv4 address associated with the endpoint. + :vartype ipv4_address: str + :ivar ipv6_address: The IPv6 address associated with the endpoint. + :vartype ipv6_address: str + :ivar name: The name that identifies the type of endpoint (for example VIP or host). + :vartype name: str + """ + + fqdn: Optional[str] = rest_field(visibility=["read"]) + """The fully qualified domain name used to describe the certificate name for the endpoint.""" + ipv4_address: Optional[str] = rest_field(name="ipv4Address", visibility=["read"]) + """The IPv4 address associated with the endpoint.""" + ipv6_address: Optional[str] = rest_field(name="ipv6Address", visibility=["read"]) + """The IPv6 address associated with the endpoint.""" + name: Optional[str] = rest_field(visibility=["read"]) + """The name that identifies the type of endpoint (for example VIP or host).""" + + +class AccessBridgePatchParameters(_Model): + """AccessBridgePatchParameters represents the payload for a PATCH request to an access bridge. + + :ivar properties: The list of the resource properties. + :vartype properties: ~azure.mgmt.networkcloud.models.AccessBridgePatchProperties + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + """ + + properties: Optional["_models.AccessBridgePatchProperties"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """The list of the resource properties.""" + tags: Optional[dict[str, str]] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Resource tags.""" + + @overload + def __init__( + self, + *, + properties: Optional["_models.AccessBridgePatchProperties"] = None, + tags: Optional[dict[str, str]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class AccessBridgePatchProperties(_Model): + """AccessBridgePatchProperties identifies the mutable properties for patch operations. + + :ivar security_rules: The list of security rules enforced by the access bridge. + :vartype security_rules: list[~azure.mgmt.networkcloud.models.AccessBridgeSecurityRule] + """ + + security_rules: Optional[list["_models.AccessBridgeSecurityRule"]] = rest_field( + name="securityRules", visibility=["read", "create", "update", "delete", "query"] + ) + """The list of security rules enforced by the access bridge.""" + + @overload + def __init__( + self, + *, + security_rules: Optional[list["_models.AccessBridgeSecurityRule"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class AccessBridgeProperties(_Model): + """AccessBridgeProperties captures the input and status for an access bridge. + + :ivar ipv4_connected_prefix: The IPv4 subnet from which the access bridge allocates an address. + This subnet must be part of the internal network specified by networkId. + :vartype ipv4_connected_prefix: str + :ivar ipv6_connected_prefix: The IPv6 subnet from which the access bridge allocates an address. + This subnet must be part of the internal network specified by networkId. + :vartype ipv6_connected_prefix: str + :ivar network_id: The resource ID of the internal network in a layer 3 isolation domain + containing the IP subnets to use. Required. + :vartype network_id: str + :ivar security_rules: The list of security rules enforced by the access bridge. + :vartype security_rules: list[~azure.mgmt.networkcloud.models.AccessBridgeSecurityRule] + :ivar detailed_status: The detailed status reported by the access bridge. Known values are: + "Running", "Degraded", and "Failed". + :vartype detailed_status: str or ~azure.mgmt.networkcloud.models.AccessBridgeDetailedStatus + :ivar detailed_status_message: The descriptive message that accompanies the detailed status. + :vartype detailed_status_message: str + :ivar endpoints: The observed endpoints that clients should use to reach the access bridge. + :vartype endpoints: list[~azure.mgmt.networkcloud.models.AccessBridgeEndpoint] + :ivar protocol: The protocol advertised by the access bridge endpoints. Known values are: "TCP" + and "UDP". + :vartype protocol: str or ~azure.mgmt.networkcloud.models.TransportProtocol + :ivar provisioning_state: The provisioning state of the access bridge. Known values are: + "Accepted", "Canceled", "Failed", "Provisioning", and "Succeeded". + :vartype provisioning_state: str or + ~azure.mgmt.networkcloud.models.AccessBridgeProvisioningState + """ + + ipv4_connected_prefix: Optional[str] = rest_field(name="ipv4ConnectedPrefix", visibility=["read", "create"]) + """The IPv4 subnet from which the access bridge allocates an address. This subnet must be part of + the internal network specified by networkId.""" + ipv6_connected_prefix: Optional[str] = rest_field(name="ipv6ConnectedPrefix", visibility=["read", "create"]) + """The IPv6 subnet from which the access bridge allocates an address. This subnet must be part of + the internal network specified by networkId.""" + network_id: str = rest_field(name="networkId", visibility=["read", "create"]) + """The resource ID of the internal network in a layer 3 isolation domain containing the IP subnets + to use. Required.""" + security_rules: Optional[list["_models.AccessBridgeSecurityRule"]] = rest_field( + name="securityRules", visibility=["read", "create", "update", "delete", "query"] + ) + """The list of security rules enforced by the access bridge.""" + detailed_status: Optional[Union[str, "_models.AccessBridgeDetailedStatus"]] = rest_field( + name="detailedStatus", visibility=["read"] + ) + """The detailed status reported by the access bridge. Known values are: \"Running\", \"Degraded\", + and \"Failed\".""" + detailed_status_message: Optional[str] = rest_field(name="detailedStatusMessage", visibility=["read"]) + """The descriptive message that accompanies the detailed status.""" + endpoints: Optional[list["_models.AccessBridgeEndpoint"]] = rest_field(visibility=["read"]) + """The observed endpoints that clients should use to reach the access bridge.""" + protocol: Optional[Union[str, "_models.TransportProtocol"]] = rest_field(visibility=["read"]) + """The protocol advertised by the access bridge endpoints. Known values are: \"TCP\" and \"UDP\".""" + provisioning_state: Optional[Union[str, "_models.AccessBridgeProvisioningState"]] = rest_field( + name="provisioningState", visibility=["read"] + ) + """The provisioning state of the access bridge. Known values are: \"Accepted\", \"Canceled\", + \"Failed\", \"Provisioning\", and \"Succeeded\".""" + + @overload + def __init__( + self, + *, + network_id: str, + ipv4_connected_prefix: Optional[str] = None, + ipv6_connected_prefix: Optional[str] = None, + security_rules: Optional[list["_models.AccessBridgeSecurityRule"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class AccessBridgeSecurityRule(_Model): + """AccessBridgeSecurityRule captures an individual access rule enforced by the bridge. + + :ivar description: The user provided value describing this rule. + :vartype description: str + :ivar direction: The direction of allowed network traffic based on the rule. Required. Known + values are: "Inbound" and "Outbound". + :vartype direction: str or ~azure.mgmt.networkcloud.models.SecurityRuleDirection + :ivar ipv4_addresses: The set of IPv4 addresses permitted as the source or destination of the + security rule. For as single address, utilize a /32 (CIDR notation). One or both Ipv4Addresses + and Ipv6Addresses must be specified. Example formats: 10.10.10.10-10.10.10.20 or + 10.10.10.10/24. + :vartype ipv4_addresses: list[str] + :ivar ipv6_addresses: The set of IPv6 addresses permitted as the source or destination of the + security rule. For as single address, utilize a /128 (CIDR notation). One or both Ipv4Addresses + and Ipv6Addresses must be specified. Example formats: 2001:db8:abcd::1-2001:db8:abcd::ff or + 2001:db8:abcd::1/64. + :vartype ipv6_addresses: list[str] + :ivar port: The source or destination port or port range. Example 24562 or 24562-24570. + Required. + :vartype port: str + """ + + description: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The user provided value describing this rule.""" + direction: Union[str, "_models.SecurityRuleDirection"] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """The direction of allowed network traffic based on the rule. Required. Known values are: + \"Inbound\" and \"Outbound\".""" + ipv4_addresses: Optional[list[str]] = rest_field( + name="ipv4Addresses", visibility=["read", "create", "update", "delete", "query"] + ) + """The set of IPv4 addresses permitted as the source or destination of the security rule. For as + single address, utilize a /32 (CIDR notation). One or both Ipv4Addresses and Ipv6Addresses must + be specified. Example formats: 10.10.10.10-10.10.10.20 or 10.10.10.10/24.""" + ipv6_addresses: Optional[list[str]] = rest_field( + name="ipv6Addresses", visibility=["read", "create", "update", "delete", "query"] + ) + """The set of IPv6 addresses permitted as the source or destination of the security rule. For as + single address, utilize a /128 (CIDR notation). One or both Ipv4Addresses and Ipv6Addresses + must be specified. Example formats: 2001:db8:abcd::1-2001:db8:abcd::ff or 2001:db8:abcd::1/64.""" + port: str = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The source or destination port or port range. Example 24562 or 24562-24570. Required.""" + + @overload + def __init__( + self, + *, + direction: Union[str, "_models.SecurityRuleDirection"], + port: str, + description: Optional[str] = None, + ipv4_addresses: Optional[list[str]] = None, + ipv6_addresses: Optional[list[str]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + class ActionState(_Model): """ActionState represents the state of an action taken against a resource. This can be used to represent both explicitly and implicitly defined action types. @@ -127,6 +530,40 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) +class AdministrativeCredentialsPatch(_Model): + """AdministrativeCredentialsPatch represents the admin credentials for the device requiring + password-based authentication. + + :ivar password: The password of the administrator of the device used during initialization. + :vartype password: str + :ivar username: The username of the administrator of the device used during initialization. + :vartype username: str + """ + + password: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The password of the administrator of the device used during initialization.""" + username: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The username of the administrator of the device used during initialization.""" + + @overload + def __init__( + self, + *, + password: Optional[str] = None, + username: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + class AdministratorConfiguration(_Model): """AdministratorConfiguration represents the administrative credentials that will be applied to the control plane and agent pool nodes in Kubernetes clusters. @@ -235,78 +672,6 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) -class Resource(_Model): - """Resource. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /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.networkcloud.models.SystemData - """ - - id: Optional[str] = rest_field(visibility=["read"]) - """Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.""" - name: Optional[str] = rest_field(visibility=["read"]) - """The name of the resource.""" - type: Optional[str] = rest_field(visibility=["read"]) - """The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or - \"Microsoft.Storage/storageAccounts\".""" - system_data: Optional["_models.SystemData"] = rest_field(name="systemData", visibility=["read"]) - """Azure Resource Manager metadata containing createdBy and modifiedBy information.""" - - -class TrackedResource(Resource): - """Tracked Resource. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /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.networkcloud.models.SystemData - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - :ivar location: The geo-location where the resource lives. Required. - :vartype location: str - """ - - tags: Optional[dict[str, str]] = rest_field(visibility=["read", "create", "update", "delete", "query"]) - """Resource tags.""" - location: str = rest_field(visibility=["read", "create"]) - """The geo-location where the resource lives. Required.""" - - @overload - def __init__( - self, - *, - location: str, - tags: Optional[dict[str, str]] = None, - ) -> None: ... - - @overload - def __init__(self, mapping: Mapping[str, Any]) -> None: - """ - :param mapping: raw JSON to initialize the model. - :type mapping: Mapping[str, Any] - """ - - def __init__(self, *args: Any, **kwargs: Any) -> None: - super().__init__(*args, **kwargs) - - class AgentPool(TrackedResource): """AgentPool represents the agent pool of Kubernetes cluster. @@ -845,6 +1210,8 @@ class BareMetalMachine(TrackedResource): "serial_number", "action_states", "associated_resource_ids", + "bmc_ipv4_address", + "bmc_ipv6_address", "ca_certificate", "cluster_id", "cordon_status", @@ -857,6 +1224,7 @@ class BareMetalMachine(TrackedResource): "kubernetes_version", "machine_cluster_version", "machine_roles", + "monitoring_configuration_status", "oam_ipv4_address", "oam_ipv6_address", "os_image", @@ -1027,6 +1395,94 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) +class BareMetalMachineConfigurationDataPatch(_Model): + """BareMetalMachineConfigurationDataPatch represents configuration for the bare metal machine for + patch operations. + + :ivar bmc_connection_string: The connection string for the baseboard management controller + including IP address and protocol. + :vartype bmc_connection_string: str + :ivar bmc_credentials: The credentials of the baseboard management controller on this bare + metal machine. The password field is expected to be an Azure Key Vault key URL. Until the + cluster is converted to utilize managed identity by setting the secret archive settings, the + actual password value should be provided instead. + :vartype bmc_credentials: ~azure.mgmt.networkcloud.models.AdministrativeCredentialsPatch + :ivar bmc_mac_address: The MAC address of the BMC for this machine. + :vartype bmc_mac_address: str + :ivar boot_mac_address: The MAC address associated with the PXE NIC card. + :vartype boot_mac_address: str + :ivar machine_details: The free-form additional information about the machine, e.g. an asset + tag. + :vartype machine_details: str + :ivar machine_name: The user-provided name for the bare metal machine created from this + specification. If not provided, the machine name will be generated programmatically. + :vartype machine_name: str + :ivar rack_slot: The slot the physical machine is in the rack based on the BOM configuration. + :vartype rack_slot: int + :ivar serial_number: The serial number of the machine. Hardware suppliers may use an alternate + value. For example, service tag. + :vartype serial_number: str + """ + + bmc_connection_string: Optional[str] = rest_field(name="bmcConnectionString", visibility=["read"]) + """The connection string for the baseboard management controller including IP address and + protocol.""" + bmc_credentials: Optional["_models.AdministrativeCredentialsPatch"] = rest_field( + name="bmcCredentials", visibility=["read", "create", "update", "delete", "query"] + ) + """The credentials of the baseboard management controller on this bare metal machine. The password + field is expected to be an Azure Key Vault key URL. Until the cluster is converted to utilize + managed identity by setting the secret archive settings, the actual password value should be + provided instead.""" + bmc_mac_address: Optional[str] = rest_field( + name="bmcMacAddress", visibility=["read", "create", "update", "delete", "query"] + ) + """The MAC address of the BMC for this machine.""" + boot_mac_address: Optional[str] = rest_field( + name="bootMacAddress", visibility=["read", "create", "update", "delete", "query"] + ) + """The MAC address associated with the PXE NIC card.""" + machine_details: Optional[str] = rest_field( + name="machineDetails", visibility=["read", "create", "update", "delete", "query"] + ) + """The free-form additional information about the machine, e.g. an asset tag.""" + machine_name: Optional[str] = rest_field( + name="machineName", visibility=["read", "create", "update", "delete", "query"] + ) + """The user-provided name for the bare metal machine created from this specification. If not + provided, the machine name will be generated programmatically.""" + rack_slot: Optional[int] = rest_field(name="rackSlot", visibility=["read", "create", "update", "delete", "query"]) + """The slot the physical machine is in the rack based on the BOM configuration.""" + serial_number: Optional[str] = rest_field( + name="serialNumber", visibility=["read", "create", "update", "delete", "query"] + ) + """The serial number of the machine. Hardware suppliers may use an alternate value. For example, + service tag.""" + + @overload + def __init__( + self, + *, + bmc_credentials: Optional["_models.AdministrativeCredentialsPatch"] = None, + bmc_mac_address: Optional[str] = None, + boot_mac_address: Optional[str] = None, + machine_details: Optional[str] = None, + machine_name: Optional[str] = None, + rack_slot: Optional[int] = None, + serial_number: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + class BareMetalMachineCordonParameters(_Model): """BareMetalMachineCordonParameters represents the body of the request to evacuate workloads from node on a bare metal machine. @@ -1374,6 +1830,50 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) +class BareMetalMachineMonitoringConfigurationStatus(_Model): # pylint: disable=name-too-long + """BareMetalMachineMonitoringConfigurationStatus represents the monitoring configuration status of + the bare metal machine. + + :ivar log_level: The log level for the monitoring configuration status of the bare metal + machine. Known values are: "Default" and "Nexus". + :vartype log_level: str or + ~azure.mgmt.networkcloud.models.BareMetalMachineMonitoringConfigurationStatusLogLevel + :ivar metrics_level: The metrics level for the monitoring configuration status of the bare + metal machine. Known values are: "Default" and "Nexus". + :vartype metrics_level: str or + ~azure.mgmt.networkcloud.models.BareMetalMachineMonitoringConfigurationStatusMetricsLevel + """ + + log_level: Optional[Union[str, "_models.BareMetalMachineMonitoringConfigurationStatusLogLevel"]] = rest_field( + name="logLevel", visibility=["read", "create", "update", "delete", "query"] + ) + """The log level for the monitoring configuration status of the bare metal machine. Known values + are: \"Default\" and \"Nexus\".""" + metrics_level: Optional[Union[str, "_models.BareMetalMachineMonitoringConfigurationStatusMetricsLevel"]] = ( + rest_field(name="metricsLevel", visibility=["read", "create", "update", "delete", "query"]) + ) + """The metrics level for the monitoring configuration status of the bare metal machine. Known + values are: \"Default\" and \"Nexus\".""" + + @overload + def __init__( + self, + *, + log_level: Optional[Union[str, "_models.BareMetalMachineMonitoringConfigurationStatusLogLevel"]] = None, + metrics_level: Optional[Union[str, "_models.BareMetalMachineMonitoringConfigurationStatusMetricsLevel"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + class BareMetalMachinePatchParameters(_Model): """BareMetalMachinePatchParameters represents the body of the request to patch bare metal machine properties. @@ -1528,6 +2028,10 @@ class BareMetalMachineProperties(_Model): :ivar associated_resource_ids: The list of resource IDs for the other Microsoft.NetworkCloud resources that have attached this network. :vartype associated_resource_ids: list[str] + :ivar bmc_ipv4_address: The IPv4 address of the BMC interface for the bare metal machine. + :vartype bmc_ipv4_address: str + :ivar bmc_ipv6_address: The IPv6 address of the BMC interface for the bare metal machine. + :vartype bmc_ipv6_address: str :ivar ca_certificate: The CA certificate information issued by the platform for connecting to TLS interfaces for the bare metal machine. Callers add this certificate to the trusted CA store on the Kubernetes control plane nodes to allow secure communication with the bare metal @@ -1564,6 +2068,10 @@ class BareMetalMachineProperties(_Model): :ivar machine_roles: The list of roles that are assigned to the cluster node running on this machine. :vartype machine_roles: list[str] + :ivar monitoring_configuration_status: The monitoring configuration status of the bare metal + machine. + :vartype monitoring_configuration_status: + ~azure.mgmt.networkcloud.models.BareMetalMachineMonitoringConfigurationStatus :ivar oam_ipv4_address: The IPv4 address that is assigned to the bare metal machine during the cluster deployment. :vartype oam_ipv4_address: str @@ -1628,6 +2136,10 @@ class BareMetalMachineProperties(_Model): associated_resource_ids: Optional[list[str]] = rest_field(name="associatedResourceIds", visibility=["read"]) """The list of resource IDs for the other Microsoft.NetworkCloud resources that have attached this network.""" + bmc_ipv4_address: Optional[str] = rest_field(name="bmcIpv4Address", visibility=["read"]) + """The IPv4 address of the BMC interface for the bare metal machine.""" + bmc_ipv6_address: Optional[str] = rest_field(name="bmcIpv6Address", visibility=["read"]) + """The IPv6 address of the BMC interface for the bare metal machine.""" ca_certificate: Optional["_models.CertificateInfo"] = rest_field(name="caCertificate", visibility=["read"]) """The CA certificate information issued by the platform for connecting to TLS interfaces for the bare metal machine. Callers add this certificate to the trusted CA store on the Kubernetes @@ -1671,6 +2183,10 @@ class BareMetalMachineProperties(_Model): update.""" machine_roles: Optional[list[str]] = rest_field(name="machineRoles", visibility=["read"]) """The list of roles that are assigned to the cluster node running on this machine.""" + monitoring_configuration_status: Optional["_models.BareMetalMachineMonitoringConfigurationStatus"] = rest_field( + name="monitoringConfigurationStatus", visibility=["read"] + ) + """The monitoring configuration status of the bare metal machine.""" oam_ipv4_address: Optional[str] = rest_field(name="oamIpv4Address", visibility=["read"]) """The IPv4 address that is assigned to the bare metal machine during the cluster deployment.""" oam_ipv6_address: Optional[str] = rest_field(name="oamIpv6Address", visibility=["read"]) @@ -1736,6 +2252,42 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) +class BareMetalMachineReimageParameters(_Model): + """BareMetalMachineReimageParameters represents the body of the request to reimage a bare metal + machine. + + :ivar safeguard_mode: The safeguard mode to use for the reimage action, where None indicates to + bypass safeguards and All indicates to utilize all safeguards. If not specified, the default is + All. Known values are: "All" and "None". + :vartype safeguard_mode: str or + ~azure.mgmt.networkcloud.models.BareMetalMachineReimageSafeguardMode + """ + + safeguard_mode: Optional[Union[str, "_models.BareMetalMachineReimageSafeguardMode"]] = rest_field( + name="safeguardMode", visibility=["read", "create", "update", "delete", "query"] + ) + """The safeguard mode to use for the reimage action, where None indicates to bypass safeguards and + All indicates to utilize all safeguards. If not specified, the default is All. Known values + are: \"All\" and \"None\".""" + + @overload + def __init__( + self, + *, + safeguard_mode: Optional[Union[str, "_models.BareMetalMachineReimageSafeguardMode"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + class BareMetalMachineReplaceParameters(_Model): """BareMetalMachineReplaceParameters represents the body of the request to physically swap a bare metal machine for another. @@ -2792,7 +3344,8 @@ class CloudServicesNetworkStorageStatus(_Model): :ivar size_mi_b: The size in Mebibytes of the storage allocation. :vartype size_mi_b: int :ivar status: The status of the storage allocation for the cloud services network. Known values - are: "Available", "ExpandingVolume", and "ExpansionFailed". + are: "Available", "ExpandingVolume", "ExpansionFailed", "Initializing", "None", and + "Repairing". :vartype status: str or ~azure.mgmt.networkcloud.models.CloudServicesNetworkStorageStatusStatus :ivar status_message: The description for the status of the shared storage. :vartype status_message: str @@ -2807,7 +3360,8 @@ class CloudServicesNetworkStorageStatus(_Model): """The size in Mebibytes of the storage allocation.""" status: Optional[Union[str, "_models.CloudServicesNetworkStorageStatusStatus"]] = rest_field(visibility=["read"]) """The status of the storage allocation for the cloud services network. Known values are: - \"Available\", \"ExpandingVolume\", and \"ExpansionFailed\".""" + \"Available\", \"ExpandingVolume\", \"ExpansionFailed\", \"Initializing\", \"None\", and + \"Repairing\".""" status_message: Optional[str] = rest_field(name="statusMessage", visibility=["read"]) """The description for the status of the shared storage.""" volume_id: Optional[str] = rest_field(name="volumeId", visibility=["read"]) @@ -2844,6 +3398,11 @@ class Cluster(TrackedResource): :vartype extended_location: ~azure.mgmt.networkcloud.models.ExtendedLocation :ivar identity: The managed service identities assigned to this resource. :vartype identity: ~azure.mgmt.networkcloud.models.ManagedServiceIdentity + :ivar kind: The type (kind) of the cluster. When specified, the value must exactly match the + kind configured on the cluster manager that manages the cluster. If omitted, the service will + default the value to the kind value of the cluster manager. Known values are: "Nexus" and + "AzureLocal". + :vartype kind: str or ~azure.mgmt.networkcloud.models.DeploymentType """ properties: "_models.ClusterProperties" = rest_field(visibility=["read", "create", "update", "delete", "query"]) @@ -2860,6 +3419,11 @@ class Cluster(TrackedResource): visibility=["read", "create", "update", "delete", "query"] ) """The managed service identities assigned to this resource.""" + kind: Optional[Union[str, "_models.DeploymentType"]] = rest_field(visibility=["read", "create"]) + """The type (kind) of the cluster. When specified, the value must exactly match the kind + configured on the cluster manager that manages the cluster. If omitted, the service will + default the value to the kind value of the cluster manager. Known values are: \"Nexus\" and + \"AzureLocal\".""" __flattened_items = [ "aggregator_or_single_rack_definition", @@ -2889,6 +3453,8 @@ class Cluster(TrackedResource): "detailed_status", "detailed_status_message", "hybrid_aks_extended_location", + "last_successful_version_update_time", + "managed_credentials", "manual_action_count", "support_expiry_date", "workload_resource_ids", @@ -2904,6 +3470,7 @@ def __init__( extended_location: "_models.ExtendedLocation", tags: Optional[dict[str, str]] = None, identity: Optional["_models.ManagedServiceIdentity"] = None, + kind: Optional[Union[str, "_models.DeploymentType"]] = None, ) -> None: ... @overload @@ -3090,6 +3657,11 @@ class ClusterContinueUpdateVersionParameters(_Model): of servers to continue the update. "AlphaByRack" :vartype machine_group_targeting_mode: str or ~azure.mgmt.networkcloud.models.ClusterContinueUpdateVersionMachineGroupTargetingMode + :ivar safeguard_mode: Specifies how safeguards are applied during the continue update version + operation. Use All to run all pre‑operation validation checks. Use None to bypass safeguards. + If not specified, the default is All. Known values are: "All" and "None". + :vartype safeguard_mode: str or + ~azure.mgmt.networkcloud.models.ClusterContinueUpdateVersionSafeguardMode """ machine_group_targeting_mode: Optional[ @@ -3097,6 +3669,12 @@ class ClusterContinueUpdateVersionParameters(_Model): ] = rest_field(name="machineGroupTargetingMode", visibility=["read", "create", "update", "delete", "query"]) """The mode by which the cluster will target the next grouping of servers to continue the update. \"AlphaByRack\"""" + safeguard_mode: Optional[Union[str, "_models.ClusterContinueUpdateVersionSafeguardMode"]] = rest_field( + name="safeguardMode", visibility=["read", "create", "update", "delete", "query"] + ) + """Specifies how safeguards are applied during the continue update version operation. Use All to + run all pre‑operation validation checks. Use None to bypass safeguards. If not specified, the + default is All. Known values are: \"All\" and \"None\".""" @overload def __init__( @@ -3105,6 +3683,7 @@ def __init__( machine_group_targeting_mode: Optional[ Union[str, "_models.ClusterContinueUpdateVersionMachineGroupTargetingMode"] ] = None, + safeguard_mode: Optional[Union[str, "_models.ClusterContinueUpdateVersionSafeguardMode"]] = None, ) -> None: ... @overload @@ -3150,6 +3729,49 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) +class ClusterInspectParameters(_Model): + """ClusterInspectParameters represents the body of the request to inspect the cluster. + + :ivar additional_actions: Additional actions supplement the default non-disruptive cluster + inspection. Additional actions may be disallowed if the cluster is in a deployed and running + state. + :vartype additional_actions: list[str or + ~azure.mgmt.networkcloud.models.ClusterInspectAdditionalAction] + :ivar filter_devices: Indicates which devices are included in the inspection. By default, all + devices that can be targeted will be included in the inspection. + :vartype filter_devices: ~azure.mgmt.networkcloud.models.FilterDevices + """ + + additional_actions: Optional[list[Union[str, "_models.ClusterInspectAdditionalAction"]]] = rest_field( + name="additionalActions", visibility=["read", "create", "update", "delete", "query"] + ) + """Additional actions supplement the default non-disruptive cluster inspection. Additional actions + may be disallowed if the cluster is in a deployed and running state.""" + filter_devices: Optional["_models.FilterDevices"] = rest_field( + name="filterDevices", visibility=["read", "create", "update", "delete", "query"] + ) + """Indicates which devices are included in the inspection. By default, all devices that can be + targeted will be included in the inspection.""" + + @overload + def __init__( + self, + *, + additional_actions: Optional[list[Union[str, "_models.ClusterInspectAdditionalAction"]]] = None, + filter_devices: Optional["_models.FilterDevices"] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + class ClusterManager(TrackedResource): """ClusterManager represents a control-plane to manage one or more on-premises clusters. @@ -3177,6 +3799,8 @@ class ClusterManager(TrackedResource): :vartype etag: str :ivar identity: The managed service identities assigned to this resource. :vartype identity: ~azure.mgmt.networkcloud.models.ManagedServiceIdentity + :ivar kind: The kind of the cluster manager. Known values are: "Nexus" and "AzureLocal". + :vartype kind: str or ~azure.mgmt.networkcloud.models.DeploymentType """ properties: "_models.ClusterManagerProperties" = rest_field( @@ -3192,6 +3816,8 @@ class ClusterManager(TrackedResource): visibility=["read", "create", "update", "delete", "query"] ) """The managed service identities assigned to this resource.""" + kind: Optional[Union[str, "_models.DeploymentType"]] = rest_field(visibility=["read", "create"]) + """The kind of the cluster manager. Known values are: \"Nexus\" and \"AzureLocal\".""" __flattened_items = [ "analytics_workspace_id", @@ -3203,6 +3829,7 @@ class ClusterManager(TrackedResource): "managed_resource_group_configuration", "manager_extended_location", "provisioning_state", + "relay_configuration", "vm_size", ] @@ -3214,6 +3841,7 @@ def __init__( properties: "_models.ClusterManagerProperties", tags: Optional[dict[str, str]] = None, identity: Optional["_models.ManagedServiceIdentity"] = None, + kind: Optional[Union[str, "_models.DeploymentType"]] = None, ) -> None: ... @overload @@ -3314,6 +3942,8 @@ class ClusterManagerProperties(_Model): "Succeeded", "Failed", "Canceled", "Provisioning", "Accepted", and "Updating". :vartype provisioning_state: str or ~azure.mgmt.networkcloud.models.ClusterManagerProvisioningState + :ivar relay_configuration: The relay configuration for the cluster manager. + :vartype relay_configuration: ~azure.mgmt.networkcloud.models.ClusterManagerRelayConfiguration :ivar vm_size: The size of the Azure virtual machines to use for hosting the cluster manager resource. :vartype vm_size: str @@ -3354,6 +3984,10 @@ class ClusterManagerProperties(_Model): ) """The provisioning state of the cluster manager. Known values are: \"Succeeded\", \"Failed\", \"Canceled\", \"Provisioning\", \"Accepted\", and \"Updating\".""" + relay_configuration: Optional["_models.ClusterManagerRelayConfiguration"] = rest_field( + name="relayConfiguration", visibility=["read"] + ) + """The relay configuration for the cluster manager.""" vm_size: Optional[str] = rest_field(name="vmSize", visibility=["read", "create"]) """The size of the Azure virtual machines to use for hosting the cluster manager resource.""" @@ -3379,6 +4013,86 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) +class ClusterManagerRelayConfiguration(_Model): + """ClusterManagerRelayConfiguration represents the relay configuration for the cluster manager. + + :ivar relay_namespace_id: The resource ID of the Azure relay namespace managed by the cluster + manager. + :vartype relay_namespace_id: str + """ + + relay_namespace_id: Optional[str] = rest_field( + name="relayNamespaceId", visibility=["read", "create", "update", "delete", "query"] + ) + """The resource ID of the Azure relay namespace managed by the cluster manager.""" + + @overload + def __init__( + self, + *, + relay_namespace_id: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class ClusterManagerUpdateRelayPrivateEndpointConnectionParameters(_Model): # pylint: disable=name-too-long + """ClusterManagerUpdateRelayPrivateEndpointConnectionParameters represents the body of the request + to approve or reject the relay private endpoint connection for the private relay managed by a + cluster manager. + + :ivar connection_state: The state to set for the private endpoint connection. Required. Known + values are: "Approved" and "Rejected". + :vartype connection_state: str or + ~azure.mgmt.networkcloud.models.RelayPrivateEndpointConnectionState + :ivar description: The description to associate with the private endpoint connection. + :vartype description: str + :ivar private_endpoint_resource_id: The resource ID of private endpoint to be permitted or + denied connection to the relay namespace. Required. + :vartype private_endpoint_resource_id: str + """ + + connection_state: Union[str, "_models.RelayPrivateEndpointConnectionState"] = rest_field( + name="connectionState", visibility=["read", "create", "update", "delete", "query"] + ) + """The state to set for the private endpoint connection. Required. Known values are: \"Approved\" + and \"Rejected\".""" + description: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The description to associate with the private endpoint connection.""" + private_endpoint_resource_id: str = rest_field( + name="privateEndpointResourceId", visibility=["read", "create", "update", "delete", "query"] + ) + """The resource ID of private endpoint to be permitted or denied connection to the relay + namespace. Required.""" + + @overload + def __init__( + self, + *, + connection_state: Union[str, "_models.RelayPrivateEndpointConnectionState"], + private_endpoint_resource_id: str, + description: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + class ClusterMetricsConfiguration(TrackedResource): """ClusterMetricsConfiguration represents the metrics configuration of an on-premises Network Cloud cluster. @@ -3715,7 +4429,8 @@ class ClusterPatchProperties(_Model): :ivar aggregator_or_single_rack_definition: The rack definition that is intended to reflect only a single rack in a single rack cluster, or an aggregator rack in a multi-rack cluster. - :vartype aggregator_or_single_rack_definition: ~azure.mgmt.networkcloud.models.RackDefinition + :vartype aggregator_or_single_rack_definition: + ~azure.mgmt.networkcloud.models.RackDefinitionPatch :ivar analytics_output_settings: The settings for the log analytics workspace used for output of logs from this cluster. :vartype analytics_output_settings: ~azure.mgmt.networkcloud.models.AnalyticsOutputSettings @@ -3724,34 +4439,35 @@ class ClusterPatchProperties(_Model): :vartype cluster_location: str :ivar cluster_service_principal: Field Deprecated: Use managed identity to provide cluster privileges. The service principal to be used by the cluster during Arc Appliance installation. - :vartype cluster_service_principal: ~azure.mgmt.networkcloud.models.ServicePrincipalInformation + :vartype cluster_service_principal: + ~azure.mgmt.networkcloud.models.ServicePrincipalInformationPatch :ivar command_output_settings: The settings for commands run in this cluster, such as bare metal machine run read only commands and data extracts. :vartype command_output_settings: ~azure.mgmt.networkcloud.models.CommandOutputSettings :ivar compute_deployment_threshold: The validation threshold indicating the allowable failures of compute machines during environment validation and deployment. - :vartype compute_deployment_threshold: ~azure.mgmt.networkcloud.models.ValidationThreshold + :vartype compute_deployment_threshold: ~azure.mgmt.networkcloud.models.ValidationThresholdPatch :ivar compute_rack_definitions: The list of rack definitions for the compute racks in a multi-rack cluster, or an empty list in a single-rack cluster. - :vartype compute_rack_definitions: list[~azure.mgmt.networkcloud.models.RackDefinition] + :vartype compute_rack_definitions: list[~azure.mgmt.networkcloud.models.RackDefinitionPatch] :ivar runtime_protection_configuration: The settings for cluster runtime protection. :vartype runtime_protection_configuration: - ~azure.mgmt.networkcloud.models.RuntimeProtectionConfiguration + ~azure.mgmt.networkcloud.models.RuntimeProtectionConfigurationPatch :ivar secret_archive: The configuration for use of a key vault to store secrets for later retrieval by the operator. - :vartype secret_archive: ~azure.mgmt.networkcloud.models.ClusterSecretArchive + :vartype secret_archive: ~azure.mgmt.networkcloud.models.ClusterSecretArchivePatch :ivar secret_archive_settings: The settings for the secret archive used to hold credentials for the cluster. :vartype secret_archive_settings: ~azure.mgmt.networkcloud.models.SecretArchiveSettings :ivar update_strategy: The strategy for updating the cluster. - :vartype update_strategy: ~azure.mgmt.networkcloud.models.ClusterUpdateStrategy + :vartype update_strategy: ~azure.mgmt.networkcloud.models.ClusterUpdateStrategyPatch :ivar vulnerability_scanning_settings: The settings for how security vulnerability scanning is applied to the cluster. :vartype vulnerability_scanning_settings: ~azure.mgmt.networkcloud.models.VulnerabilityScanningSettingsPatch """ - aggregator_or_single_rack_definition: Optional["_models.RackDefinition"] = rest_field( + aggregator_or_single_rack_definition: Optional["_models.RackDefinitionPatch"] = rest_field( name="aggregatorOrSingleRackDefinition", visibility=["read", "create", "update", "delete", "query"] ) """The rack definition that is intended to reflect only a single rack in a single rack cluster, or @@ -3764,7 +4480,7 @@ class ClusterPatchProperties(_Model): name="clusterLocation", visibility=["read", "create", "update", "delete", "query"] ) """The customer-provided location information to identify where the cluster resides.""" - cluster_service_principal: Optional["_models.ServicePrincipalInformation"] = rest_field( + cluster_service_principal: Optional["_models.ServicePrincipalInformationPatch"] = rest_field( name="clusterServicePrincipal", visibility=["read", "create", "update", "delete", "query"] ) """Field Deprecated: Use managed identity to provide cluster privileges. The service principal to @@ -3774,21 +4490,21 @@ class ClusterPatchProperties(_Model): ) """The settings for commands run in this cluster, such as bare metal machine run read only commands and data extracts.""" - compute_deployment_threshold: Optional["_models.ValidationThreshold"] = rest_field( + compute_deployment_threshold: Optional["_models.ValidationThresholdPatch"] = rest_field( name="computeDeploymentThreshold", visibility=["read", "create", "update", "delete", "query"] ) """The validation threshold indicating the allowable failures of compute machines during environment validation and deployment.""" - compute_rack_definitions: Optional[list["_models.RackDefinition"]] = rest_field( + compute_rack_definitions: Optional[list["_models.RackDefinitionPatch"]] = rest_field( name="computeRackDefinitions", visibility=["read", "create", "update", "delete", "query"] ) """The list of rack definitions for the compute racks in a multi-rack cluster, or an empty list in a single-rack cluster.""" - runtime_protection_configuration: Optional["_models.RuntimeProtectionConfiguration"] = rest_field( + runtime_protection_configuration: Optional["_models.RuntimeProtectionConfigurationPatch"] = rest_field( name="runtimeProtectionConfiguration", visibility=["read", "create", "update", "delete", "query"] ) """The settings for cluster runtime protection.""" - secret_archive: Optional["_models.ClusterSecretArchive"] = rest_field( + secret_archive: Optional["_models.ClusterSecretArchivePatch"] = rest_field( name="secretArchive", visibility=["read", "create", "update", "delete", "query"] ) """The configuration for use of a key vault to store secrets for later retrieval by the operator.""" @@ -3796,7 +4512,7 @@ class ClusterPatchProperties(_Model): name="secretArchiveSettings", visibility=["read", "create", "update", "delete", "query"] ) """The settings for the secret archive used to hold credentials for the cluster.""" - update_strategy: Optional["_models.ClusterUpdateStrategy"] = rest_field( + update_strategy: Optional["_models.ClusterUpdateStrategyPatch"] = rest_field( name="updateStrategy", visibility=["read", "create", "update", "delete", "query"] ) """The strategy for updating the cluster.""" @@ -3809,17 +4525,17 @@ class ClusterPatchProperties(_Model): def __init__( self, *, - aggregator_or_single_rack_definition: Optional["_models.RackDefinition"] = None, + aggregator_or_single_rack_definition: Optional["_models.RackDefinitionPatch"] = None, analytics_output_settings: Optional["_models.AnalyticsOutputSettings"] = None, cluster_location: Optional[str] = None, - cluster_service_principal: Optional["_models.ServicePrincipalInformation"] = None, + cluster_service_principal: Optional["_models.ServicePrincipalInformationPatch"] = None, command_output_settings: Optional["_models.CommandOutputSettings"] = None, - compute_deployment_threshold: Optional["_models.ValidationThreshold"] = None, - compute_rack_definitions: Optional[list["_models.RackDefinition"]] = None, - runtime_protection_configuration: Optional["_models.RuntimeProtectionConfiguration"] = None, - secret_archive: Optional["_models.ClusterSecretArchive"] = None, + compute_deployment_threshold: Optional["_models.ValidationThresholdPatch"] = None, + compute_rack_definitions: Optional[list["_models.RackDefinitionPatch"]] = None, + runtime_protection_configuration: Optional["_models.RuntimeProtectionConfigurationPatch"] = None, + secret_archive: Optional["_models.ClusterSecretArchivePatch"] = None, secret_archive_settings: Optional["_models.SecretArchiveSettings"] = None, - update_strategy: Optional["_models.ClusterUpdateStrategy"] = None, + update_strategy: Optional["_models.ClusterUpdateStrategyPatch"] = None, vulnerability_scanning_settings: Optional["_models.VulnerabilityScanningSettingsPatch"] = None, ) -> None: ... @@ -3924,6 +4640,12 @@ class ClusterProperties(_Model): control plane location. This extended location is used when creating provisioned clusters (Hybrid AKS clusters). :vartype hybrid_aks_extended_location: ~azure.mgmt.networkcloud.models.ExtendedLocation + :ivar last_successful_version_update_time: The date and time of the end of the last successful + version update for the cluster. + :vartype last_successful_version_update_time: ~datetime.datetime + :ivar managed_credentials: The list of credentials that are managed for the cluster and can be + rotated on-demand. + :vartype managed_credentials: list[str] :ivar manual_action_count: The count of Manual Action Taken (MAT) events that have not been validated. :vartype manual_action_count: int @@ -4048,6 +4770,12 @@ class ClusterProperties(_Model): """Field Deprecated. This field will not be populated in an upcoming version. The extended location (custom location) that represents the Hybrid AKS control plane location. This extended location is used when creating provisioned clusters (Hybrid AKS clusters).""" + last_successful_version_update_time: Optional[datetime.datetime] = rest_field( + name="lastSuccessfulVersionUpdateTime", visibility=["read"], format="rfc3339" + ) + """The date and time of the end of the last successful version update for the cluster.""" + managed_credentials: Optional[list[str]] = rest_field(name="managedCredentials", visibility=["read"]) + """The list of credentials that are managed for the cluster and can be rotated on-demand.""" manual_action_count: Optional[int] = rest_field(name="manualActionCount", visibility=["read"]) """The count of Manual Action Taken (MAT) events that have not been validated.""" support_expiry_date: Optional[str] = rest_field(name="supportExpiryDate", visibility=["read"]) @@ -4094,6 +4822,35 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) +class ClusterRotateCredentialParameters(_Model): + """ClusterRotateCredentialParameters represents the body of the request to rotate cluster + credentials. + + :ivar credentials: The list of credential names for the credentials to rotate. Required. + :vartype credentials: list[str] + """ + + credentials: list[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The list of credential names for the credentials to rotate. Required.""" + + @overload + def __init__( + self, + *, + credentials: list[str], + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + class ClusterScanRuntimeParameters(_Model): """ClusterScanRuntimeParameters defines the parameters for the cluster scan runtime operation. @@ -4166,6 +4923,46 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) +class ClusterSecretArchivePatch(_Model): + """ClusterSecretArchivePatch configures the key vault to archive the secrets of the cluster for + later retrieval for patch operations. + + :ivar key_vault_id: The resource ID of the key vault to archive the secrets of the cluster. + :vartype key_vault_id: str + :ivar use_key_vault: The indicator if the specified key vault should be used to archive the + secrets of the cluster. Known values are: "True" and "False". + :vartype use_key_vault: str or ~azure.mgmt.networkcloud.models.ClusterSecretArchiveEnabled + """ + + key_vault_id: Optional[str] = rest_field( + name="keyVaultId", visibility=["read", "create", "update", "delete", "query"] + ) + """The resource ID of the key vault to archive the secrets of the cluster.""" + use_key_vault: Optional[Union[str, "_models.ClusterSecretArchiveEnabled"]] = rest_field( + name="useKeyVault", visibility=["read", "create", "update", "delete", "query"] + ) + """The indicator if the specified key vault should be used to archive the secrets of the cluster. + Known values are: \"True\" and \"False\".""" + + @overload + def __init__( + self, + *, + key_vault_id: Optional[str] = None, + use_key_vault: Optional[Union[str, "_models.ClusterSecretArchiveEnabled"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + class ClusterUpdateStrategy(_Model): """ClusterUpdateStrategy represents the strategy for updating the cluster. @@ -4231,13 +5028,92 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) +class ClusterUpdateStrategyPatch(_Model): + """ClusterUpdateStrategyPatch represents the strategy for updating the cluster for patch + operations. + + :ivar max_unavailable: The maximum number of worker nodes that can be offline within the + increment of update, e.g., rack-by-rack. Limited by the maximum number of machines in the + increment. Defaults to the whole increment size. + :vartype max_unavailable: int + :ivar strategy_type: The mode of operation for runtime protection. Known values are: "Rack" and + "PauseAfterRack". + :vartype strategy_type: str or ~azure.mgmt.networkcloud.models.ClusterUpdateStrategyType + :ivar threshold_type: Selection of how the threshold should be evaluated. Known values are: + "CountSuccess" and "PercentSuccess". + :vartype threshold_type: str or ~azure.mgmt.networkcloud.models.ValidationThresholdType + :ivar threshold_value: The numeric threshold value. + :vartype threshold_value: int + :ivar wait_time_minutes: The time to wait between the increments of update defined by the + strategy. + :vartype wait_time_minutes: int + """ + + max_unavailable: Optional[int] = rest_field( + name="maxUnavailable", visibility=["read", "create", "update", "delete", "query"] + ) + """The maximum number of worker nodes that can be offline within the increment of update, e.g., + rack-by-rack. Limited by the maximum number of machines in the increment. Defaults to the whole + increment size.""" + strategy_type: Optional[Union[str, "_models.ClusterUpdateStrategyType"]] = rest_field( + name="strategyType", visibility=["read", "create", "update", "delete", "query"] + ) + """The mode of operation for runtime protection. Known values are: \"Rack\" and + \"PauseAfterRack\".""" + threshold_type: Optional[Union[str, "_models.ValidationThresholdType"]] = rest_field( + name="thresholdType", visibility=["read", "create", "update", "delete", "query"] + ) + """Selection of how the threshold should be evaluated. Known values are: \"CountSuccess\" and + \"PercentSuccess\".""" + threshold_value: Optional[int] = rest_field( + name="thresholdValue", visibility=["read", "create", "update", "delete", "query"] + ) + """The numeric threshold value.""" + wait_time_minutes: Optional[int] = rest_field( + name="waitTimeMinutes", visibility=["read", "create", "update", "delete", "query"] + ) + """The time to wait between the increments of update defined by the strategy.""" + + @overload + def __init__( + self, + *, + max_unavailable: Optional[int] = None, + strategy_type: Optional[Union[str, "_models.ClusterUpdateStrategyType"]] = None, + threshold_type: Optional[Union[str, "_models.ValidationThresholdType"]] = None, + threshold_value: Optional[int] = None, + wait_time_minutes: Optional[int] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + class ClusterUpdateVersionParameters(_Model): """ClusterUpdateVersionParameters represents the body of the request to update cluster version. + :ivar safeguard_mode: Specifies how safeguards are applied during the update version operation. + Use All to run all pre‑operation validation checks. Use None to bypass safeguards. If not + specified, the default is All. Known values are: "All" and "None". + :vartype safeguard_mode: str or + ~azure.mgmt.networkcloud.models.ClusterUpdateVersionSafeguardMode :ivar target_cluster_version: The version to be applied to the cluster during update. Required. :vartype target_cluster_version: str """ + safeguard_mode: Optional[Union[str, "_models.ClusterUpdateVersionSafeguardMode"]] = rest_field( + name="safeguardMode", visibility=["read", "create", "update", "delete", "query"] + ) + """Specifies how safeguards are applied during the update version operation. Use All to run all + pre‑operation validation checks. Use None to bypass safeguards. If not specified, the default + is All. Known values are: \"All\" and \"None\".""" target_cluster_version: str = rest_field( name="targetClusterVersion", visibility=["read", "create", "update", "delete", "query"] ) @@ -4248,6 +5124,7 @@ def __init__( self, *, target_cluster_version: str, + safeguard_mode: Optional[Union[str, "_models.ClusterUpdateVersionSafeguardMode"]] = None, ) -> None: ... @overload @@ -4269,8 +5146,8 @@ class CommandOutputOverride(_Model): :vartype associated_identity: ~azure.mgmt.networkcloud.models.IdentitySelector :ivar command_output_type: The type of command output for the override. Known values are: "BareMetalMachineRunCommand", "BareMetalMachineRunDataExtracts", - "BareMetalMachineRunReadCommands", "StorageRunReadCommands", and - "BareMetalMachineRunDataExtractsRestricted". + "BareMetalMachineRunReadCommands", "ClusterSupportAdministrativeActions", + "StorageRunReadCommands", and "BareMetalMachineRunDataExtractsRestricted". :vartype command_output_type: str or ~azure.mgmt.networkcloud.models.CommandOutputType :ivar container_url: The URL of the storage account container that is to be used by the specified identities. @@ -4287,7 +5164,8 @@ class CommandOutputOverride(_Model): ) """The type of command output for the override. Known values are: \"BareMetalMachineRunCommand\", \"BareMetalMachineRunDataExtracts\", \"BareMetalMachineRunReadCommands\", - \"StorageRunReadCommands\", and \"BareMetalMachineRunDataExtractsRestricted\".""" + \"ClusterSupportAdministrativeActions\", \"StorageRunReadCommands\", and + \"BareMetalMachineRunDataExtractsRestricted\".""" container_url: Optional[str] = rest_field( name="containerUrl", visibility=["read", "create", "update", "delete", "query"] ) @@ -4522,7 +5400,7 @@ class ConsolePatchProperties(_Model): :vartype expiration: ~datetime.datetime :ivar ssh_public_key: The SSH public key that will be provisioned for user access. The user is expected to have the corresponding SSH private key for logging in. - :vartype ssh_public_key: ~azure.mgmt.networkcloud.models.SshPublicKey + :vartype ssh_public_key: ~azure.mgmt.networkcloud.models.SshPublicKeyPatch """ enabled: Optional[Union[str, "_models.ConsoleEnabled"]] = rest_field( @@ -4534,7 +5412,7 @@ class ConsolePatchProperties(_Model): visibility=["read", "create", "update", "delete", "query"], format="rfc3339" ) """The date and time after which the key will be disallowed access.""" - ssh_public_key: Optional["_models.SshPublicKey"] = rest_field( + ssh_public_key: Optional["_models.SshPublicKeyPatch"] = rest_field( name="sshPublicKey", visibility=["read", "create", "update", "delete", "query"] ) """The SSH public key that will be provisioned for user access. The user is expected to have the @@ -4546,7 +5424,7 @@ def __init__( *, enabled: Optional[Union[str, "_models.ConsoleEnabled"]] = None, expiration: Optional[datetime.datetime] = None, - ssh_public_key: Optional["_models.SshPublicKey"] = None, + ssh_public_key: Optional["_models.SshPublicKeyPatch"] = None, ) -> None: ... @overload @@ -4936,6 +5814,44 @@ class FeatureStatus(_Model): """The version of the feature.""" +class FilterDevices(_Model): + """FilterDevices defines the filtered target of the inspection. + + :ivar bare_metal_machine_names: The list of bare metal machine names to include in the + inspection. + :vartype bare_metal_machine_names: list[str] + :ivar rack_names: The list of rack names to include in the inspection. + :vartype rack_names: list[str] + """ + + bare_metal_machine_names: Optional[list[str]] = rest_field( + name="bareMetalMachineNames", visibility=["read", "create", "update", "delete", "query"] + ) + """The list of bare metal machine names to include in the inspection.""" + rack_names: Optional[list[str]] = rest_field( + name="rackNames", visibility=["read", "create", "update", "delete", "query"] + ) + """The list of rack names to include in the inspection.""" + + @overload + def __init__( + self, + *, + bare_metal_machine_names: Optional[list[str]] = None, + rack_names: Optional[list[str]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + class HardwareInventory(_Model): """HardwareInventory represents the hardware configuration of this machine as exposed to the customer, including information acquired from the model/sku information and from the ironic @@ -5089,6 +6005,48 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) +class ImageRepositoryCredentialsPatch(_Model): + """ImageRepositoryCredentialsPatch represents the credentials used to login to the image + repository for patch operations. + + :ivar password: The password or token used to access an image in the target repository. + :vartype password: str + :ivar registry_url: The URL of the authentication server used to validate the repository + credentials. + :vartype registry_url: str + :ivar username: The username used to access an image in the target repository. + :vartype username: str + """ + + password: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The password or token used to access an image in the target repository.""" + registry_url: Optional[str] = rest_field( + name="registryUrl", visibility=["read", "create", "update", "delete", "query"] + ) + """The URL of the authentication server used to validate the repository credentials.""" + username: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The username used to access an image in the target repository.""" + + @overload + def __init__( + self, + *, + password: Optional[str] = None, + registry_url: Optional[str] = None, + username: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + class InitialAgentPoolConfiguration(_Model): """InitialAgentPoolConfiguration specifies the configuration of a pool of virtual machines that are initially defined with a Kubernetes cluster. @@ -6088,6 +7046,156 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) +class KubernetesVersion(TrackedResource): + """KubernetesVersion represents the available Kubernetes versions for a cluster. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /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.networkcloud.models.SystemData + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: The list of the resource properties. Required. + :vartype properties: ~azure.mgmt.networkcloud.models.KubernetesVersionProperties + :ivar etag: "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 etag: str + :ivar extended_location: The extended location of the resource. This property is required when + creating the resource. Required. + :vartype extended_location: ~azure.mgmt.networkcloud.models.ExtendedLocation + """ + + properties: "_models.KubernetesVersionProperties" = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """The list of the resource properties. Required.""" + etag: Optional[str] = rest_field(visibility=["read"]) + """\"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.\").""" + extended_location: "_models.ExtendedLocation" = rest_field(name="extendedLocation", visibility=["read", "create"]) + """The extended location of the resource. This property is required when creating the resource. + Required.""" + + __flattened_items = ["values_property", "provisioning_state"] + + @overload + def __init__( + self, + *, + location: str, + properties: "_models.KubernetesVersionProperties", + extended_location: "_models.ExtendedLocation", + tags: Optional[dict[str, str]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + _flattened_input = {k: kwargs.pop(k) for k in kwargs.keys() & self.__flattened_items} + super().__init__(*args, **kwargs) + for k, v in _flattened_input.items(): + setattr(self, k, v) + + def __getattr__(self, name: str) -> Any: + if name in self.__flattened_items: + if self.properties is None: + return None + return getattr(self.properties, name) + raise AttributeError(f"'{self.__class__.__name__}' object has no attribute '{name}'") + + def __setattr__(self, key: str, value: Any) -> None: + if key in self.__flattened_items: + if self.properties is None: + self.properties = self._attr_to_rest_field["properties"]._class_type() + setattr(self.properties, key, value) + else: + super().__setattr__(key, value) + + +class KubernetesVersionPatchParameters(_Model): + """KubernetesVersionPatchParameters represents the body of the request to patch Kubernetes version + tags. + + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + """ + + tags: Optional[dict[str, str]] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """Resource tags.""" + + @overload + def __init__( + self, + *, + tags: Optional[dict[str, str]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class KubernetesVersionProperties(_Model): + """KubernetesVersionProperties contains the read-only properties describing available versions. + + :ivar values_property: The list of available Kubernetes versions. + :vartype values_property: list[~azure.mgmt.networkcloud.models.KubernetesVersionValue] + :ivar provisioning_state: The provisioning state of the Kubernetes version resource. Known + values are: "Accepted", "Canceled", "Failed", and "Succeeded". + :vartype provisioning_state: str or + ~azure.mgmt.networkcloud.models.KubernetesVersionProvisioningState + """ + + values_property: Optional[list["_models.KubernetesVersionValue"]] = rest_field( + name="values", visibility=["read"], original_tsp_name="values" + ) + """The list of available Kubernetes versions.""" + provisioning_state: Optional[Union[str, "_models.KubernetesVersionProvisioningState"]] = rest_field( + name="provisioningState", visibility=["read"] + ) + """The provisioning state of the Kubernetes version resource. Known values are: \"Accepted\", + \"Canceled\", \"Failed\", and \"Succeeded\".""" + + +class KubernetesVersionValue(_Model): + """KubernetesVersionValue describes a specific Kubernetes version that can be deployed. + + :ivar description: Additional description for the Kubernetes version. + :vartype description: str + :ivar version: The Kubernetes version identifier. + :vartype version: str + """ + + description: Optional[str] = rest_field(visibility=["read"]) + """Additional description for the Kubernetes version.""" + version: Optional[str] = rest_field(visibility=["read"]) + """The Kubernetes version identifier.""" + + class L2Network(TrackedResource): """L2Network represents a network that utilizes a single isolation domain set up for layer-2 resources. @@ -7579,17 +8687,95 @@ def __getattr__(self, name: str) -> Any: return getattr(self.properties, name) raise AttributeError(f"'{self.__class__.__name__}' object has no attribute '{name}'") - def __setattr__(self, key: str, value: Any) -> None: - if key in self.__flattened_items: - if self.properties is None: - self.properties = self._attr_to_rest_field["properties"]._class_type() - setattr(self.properties, key, value) - else: - super().__setattr__(key, value) + def __setattr__(self, key: str, value: Any) -> None: + if key in self.__flattened_items: + if self.properties is None: + self.properties = self._attr_to_rest_field["properties"]._class_type() + setattr(self.properties, key, value) + else: + super().__setattr__(key, value) + + +class RackDefinition(_Model): + """RackDefinition represents details regarding the rack. + + :ivar availability_zone: The zone name used for this rack when created. Availability zones are + used for workload placement. + :vartype availability_zone: str + :ivar bare_metal_machine_configuration_data: The unordered list of bare metal machine + configuration. + :vartype bare_metal_machine_configuration_data: + list[~azure.mgmt.networkcloud.models.BareMetalMachineConfigurationData] + :ivar network_rack_id: The resource ID of the network rack that matches this rack definition. + Required. + :vartype network_rack_id: str + :ivar rack_location: The free-form description of the rack's location. + :vartype rack_location: str + :ivar rack_serial_number: The unique identifier for the rack within Network Cloud cluster. An + alternate unique alphanumeric value other than a serial number may be provided if desired. + Required. + :vartype rack_serial_number: str + :ivar rack_sku_id: The resource ID of the sku for the rack being added. Required. + :vartype rack_sku_id: str + :ivar storage_appliance_configuration_data: The list of storage appliance configuration data + for this rack. + :vartype storage_appliance_configuration_data: + list[~azure.mgmt.networkcloud.models.StorageApplianceConfigurationData] + """ + + availability_zone: Optional[str] = rest_field( + name="availabilityZone", visibility=["read", "create", "update", "delete", "query"] + ) + """The zone name used for this rack when created. Availability zones are used for workload + placement.""" + bare_metal_machine_configuration_data: Optional[list["_models.BareMetalMachineConfigurationData"]] = rest_field( + name="bareMetalMachineConfigurationData", visibility=["read", "create", "update", "delete", "query"] + ) + """The unordered list of bare metal machine configuration.""" + network_rack_id: str = rest_field(name="networkRackId", visibility=["read", "create", "update", "delete", "query"]) + """The resource ID of the network rack that matches this rack definition. Required.""" + rack_location: Optional[str] = rest_field( + name="rackLocation", visibility=["read", "create", "update", "delete", "query"] + ) + """The free-form description of the rack's location.""" + rack_serial_number: str = rest_field( + name="rackSerialNumber", visibility=["read", "create", "update", "delete", "query"] + ) + """The unique identifier for the rack within Network Cloud cluster. An alternate unique + alphanumeric value other than a serial number may be provided if desired. Required.""" + rack_sku_id: str = rest_field(name="rackSkuId", visibility=["read", "create", "update", "delete", "query"]) + """The resource ID of the sku for the rack being added. Required.""" + storage_appliance_configuration_data: Optional[list["_models.StorageApplianceConfigurationData"]] = rest_field( + name="storageApplianceConfigurationData", visibility=["read", "create", "update", "delete", "query"] + ) + """The list of storage appliance configuration data for this rack.""" + + @overload + def __init__( + self, + *, + network_rack_id: str, + rack_serial_number: str, + rack_sku_id: str, + availability_zone: Optional[str] = None, + bare_metal_machine_configuration_data: Optional[list["_models.BareMetalMachineConfigurationData"]] = None, + rack_location: Optional[str] = None, + storage_appliance_configuration_data: Optional[list["_models.StorageApplianceConfigurationData"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) -class RackDefinition(_Model): - """RackDefinition represents details regarding the rack. +class RackDefinitionPatch(_Model): + """RackDefinitionPatch represents details regarding the rack for patch operations. :ivar availability_zone: The zone name used for this rack when created. Availability zones are used for workload placement. @@ -7597,22 +8783,20 @@ class RackDefinition(_Model): :ivar bare_metal_machine_configuration_data: The unordered list of bare metal machine configuration. :vartype bare_metal_machine_configuration_data: - list[~azure.mgmt.networkcloud.models.BareMetalMachineConfigurationData] + list[~azure.mgmt.networkcloud.models.BareMetalMachineConfigurationDataPatch] :ivar network_rack_id: The resource ID of the network rack that matches this rack definition. - Required. :vartype network_rack_id: str :ivar rack_location: The free-form description of the rack's location. :vartype rack_location: str :ivar rack_serial_number: The unique identifier for the rack within Network Cloud cluster. An alternate unique alphanumeric value other than a serial number may be provided if desired. - Required. :vartype rack_serial_number: str - :ivar rack_sku_id: The resource ID of the sku for the rack being added. Required. + :ivar rack_sku_id: The resource ID of the sku for the rack being added. :vartype rack_sku_id: str :ivar storage_appliance_configuration_data: The list of storage appliance configuration data for this rack. :vartype storage_appliance_configuration_data: - list[~azure.mgmt.networkcloud.models.StorageApplianceConfigurationData] + list[~azure.mgmt.networkcloud.models.StorageApplianceConfigurationDataPatch] """ availability_zone: Optional[str] = rest_field( @@ -7620,24 +8804,28 @@ class RackDefinition(_Model): ) """The zone name used for this rack when created. Availability zones are used for workload placement.""" - bare_metal_machine_configuration_data: Optional[list["_models.BareMetalMachineConfigurationData"]] = rest_field( - name="bareMetalMachineConfigurationData", visibility=["read", "create", "update", "delete", "query"] + bare_metal_machine_configuration_data: Optional[list["_models.BareMetalMachineConfigurationDataPatch"]] = ( + rest_field(name="bareMetalMachineConfigurationData", visibility=["read", "create", "update", "delete", "query"]) ) """The unordered list of bare metal machine configuration.""" - network_rack_id: str = rest_field(name="networkRackId", visibility=["read", "create", "update", "delete", "query"]) - """The resource ID of the network rack that matches this rack definition. Required.""" + network_rack_id: Optional[str] = rest_field( + name="networkRackId", visibility=["read", "create", "update", "delete", "query"] + ) + """The resource ID of the network rack that matches this rack definition.""" rack_location: Optional[str] = rest_field( name="rackLocation", visibility=["read", "create", "update", "delete", "query"] ) """The free-form description of the rack's location.""" - rack_serial_number: str = rest_field( + rack_serial_number: Optional[str] = rest_field( name="rackSerialNumber", visibility=["read", "create", "update", "delete", "query"] ) """The unique identifier for the rack within Network Cloud cluster. An alternate unique - alphanumeric value other than a serial number may be provided if desired. Required.""" - rack_sku_id: str = rest_field(name="rackSkuId", visibility=["read", "create", "update", "delete", "query"]) - """The resource ID of the sku for the rack being added. Required.""" - storage_appliance_configuration_data: Optional[list["_models.StorageApplianceConfigurationData"]] = rest_field( + alphanumeric value other than a serial number may be provided if desired.""" + rack_sku_id: Optional[str] = rest_field( + name="rackSkuId", visibility=["read", "create", "update", "delete", "query"] + ) + """The resource ID of the sku for the rack being added.""" + storage_appliance_configuration_data: Optional[list["_models.StorageApplianceConfigurationDataPatch"]] = rest_field( name="storageApplianceConfigurationData", visibility=["read", "create", "update", "delete", "query"] ) """The list of storage appliance configuration data for this rack.""" @@ -7646,13 +8834,13 @@ class RackDefinition(_Model): def __init__( self, *, - network_rack_id: str, - rack_serial_number: str, - rack_sku_id: str, availability_zone: Optional[str] = None, - bare_metal_machine_configuration_data: Optional[list["_models.BareMetalMachineConfigurationData"]] = None, + bare_metal_machine_configuration_data: Optional[list["_models.BareMetalMachineConfigurationDataPatch"]] = None, + network_rack_id: Optional[str] = None, rack_location: Optional[str] = None, - storage_appliance_configuration_data: Optional[list["_models.StorageApplianceConfigurationData"]] = None, + rack_serial_number: Optional[str] = None, + rack_sku_id: Optional[str] = None, + storage_appliance_configuration_data: Optional[list["_models.StorageApplianceConfigurationDataPatch"]] = None, ) -> None: ... @overload @@ -7826,6 +9014,7 @@ class RackSku(ProxyResource): __flattened_items = [ "compute_machines", "controller_machines", + "deployment_type", "description", "max_cluster_slots", "provisioning_state", @@ -7880,6 +9069,9 @@ class RackSkuProperties(_Model): :ivar controller_machines: The list of machine SKUs and associated rack slot for the control-plane dedicated machines in this rack model. :vartype controller_machines: list[~azure.mgmt.networkcloud.models.MachineSkuSlot] + :ivar deployment_type: The deployment type supported by the rack SKU. Known values are: "Nexus" + and "AzureLocal". + :vartype deployment_type: str or ~azure.mgmt.networkcloud.models.DeploymentType :ivar description: The free-form text describing the rack. :vartype description: str :ivar max_cluster_slots: The maximum number of compute racks supported by an aggregator rack. 0 @@ -7905,6 +9097,10 @@ class RackSkuProperties(_Model): ) """The list of machine SKUs and associated rack slot for the control-plane dedicated machines in this rack model.""" + deployment_type: Optional[Union[str, "_models.DeploymentType"]] = rest_field( + name="deploymentType", visibility=["read"] + ) + """The deployment type supported by the rack SKU. Known values are: \"Nexus\" and \"AzureLocal\".""" description: Optional[str] = rest_field(visibility=["read"]) """The free-form text describing the rack.""" max_cluster_slots: Optional[int] = rest_field(name="maxClusterSlots", visibility=["read"]) @@ -7968,12 +9164,65 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: class RuntimeProtectionConfiguration(_Model): """RuntimeProtectionConfiguration represents the runtime protection configuration for the cluster. + :ivar definition_update_mode: The definition update mode for runtime protection. Known values + are: "Automatic" and "None". + :vartype definition_update_mode: str or + ~azure.mgmt.networkcloud.models.RuntimeProtectionDefinitionUpdateMode + :ivar enforcement_level: The mode of operation for runtime protection. Known values are: + "Audit", "Disabled", "OnDemand", "Passive", and "RealTime". + :vartype enforcement_level: str or + ~azure.mgmt.networkcloud.models.RuntimeProtectionEnforcementLevel + """ + + definition_update_mode: Optional[Union[str, "_models.RuntimeProtectionDefinitionUpdateMode"]] = rest_field( + name="definitionUpdateMode", visibility=["read", "create", "update", "delete", "query"] + ) + """The definition update mode for runtime protection. Known values are: \"Automatic\" and + \"None\".""" + enforcement_level: Optional[Union[str, "_models.RuntimeProtectionEnforcementLevel"]] = rest_field( + name="enforcementLevel", visibility=["read", "create", "update", "delete", "query"] + ) + """The mode of operation for runtime protection. Known values are: \"Audit\", \"Disabled\", + \"OnDemand\", \"Passive\", and \"RealTime\".""" + + @overload + def __init__( + self, + *, + definition_update_mode: Optional[Union[str, "_models.RuntimeProtectionDefinitionUpdateMode"]] = None, + enforcement_level: Optional[Union[str, "_models.RuntimeProtectionEnforcementLevel"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class RuntimeProtectionConfigurationPatch(_Model): + """RuntimeProtectionConfigurationPatch represents the runtime protection configuration for the + cluster for patch operations. + + :ivar definition_update_mode: The definition update mode for runtime protection. Known values + are: "Automatic" and "None". + :vartype definition_update_mode: str or + ~azure.mgmt.networkcloud.models.RuntimeProtectionDefinitionUpdateMode :ivar enforcement_level: The mode of operation for runtime protection. Known values are: "Audit", "Disabled", "OnDemand", "Passive", and "RealTime". :vartype enforcement_level: str or ~azure.mgmt.networkcloud.models.RuntimeProtectionEnforcementLevel """ + definition_update_mode: Optional[Union[str, "_models.RuntimeProtectionDefinitionUpdateMode"]] = rest_field( + name="definitionUpdateMode", visibility=["read", "create", "update", "delete", "query"] + ) + """The definition update mode for runtime protection. Known values are: \"Automatic\" and + \"None\".""" enforcement_level: Optional[Union[str, "_models.RuntimeProtectionEnforcementLevel"]] = rest_field( name="enforcementLevel", visibility=["read", "create", "update", "delete", "query"] ) @@ -7984,6 +9233,7 @@ class RuntimeProtectionConfiguration(_Model): def __init__( self, *, + definition_update_mode: Optional[Union[str, "_models.RuntimeProtectionDefinitionUpdateMode"]] = None, enforcement_level: Optional[Union[str, "_models.RuntimeProtectionEnforcementLevel"]] = None, ) -> None: ... @@ -8001,10 +9251,29 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: class RuntimeProtectionStatus(_Model): """RuntimeProtectionStatus represents the runtime protection status of the bare metal machine. + :ivar agent_health_status: The runtime protection agent health status. Known values are: + "Healthy" and "Unhealthy". + :vartype agent_health_status: str or + ~azure.mgmt.networkcloud.models.RuntimeProtectionAgentHealthStatus + :ivar agent_health_status_issues: The runtime protection agent health status issues, if + present. + :vartype agent_health_status_issues: list[str] + :ivar agent_license_status: The runtime protection agent license status. Known values are: + "Licensed" and "Unlicensed". + :vartype agent_license_status: str or + ~azure.mgmt.networkcloud.models.RuntimeProtectionAgentLicenseStatus + :ivar definition_update_mode: The definition update mode for runtime protection. Known values + are: "Automatic" and "None". + :vartype definition_update_mode: str or + ~azure.mgmt.networkcloud.models.RuntimeProtectionDefinitionUpdateMode :ivar definitions_last_updated: The timestamp when the malware definitions were last updated. :vartype definitions_last_updated: ~datetime.datetime :ivar definitions_version: The version of the malware definitions. :vartype definitions_version: str + :ivar enforcement_level: The enforcement level set for the runtime protection on the bare metal + machine. Known values are: "Audit", "Disabled", "OnDemand", "Passive", and "RealTime". + :vartype enforcement_level: str or + ~azure.mgmt.networkcloud.models.RuntimeProtectionEnforcementLevel :ivar scan_completed_time: The timestamp of the most recently completed scan, or empty if there has never been a scan. :vartype scan_completed_time: ~datetime.datetime @@ -8016,12 +9285,32 @@ class RuntimeProtectionStatus(_Model): :vartype scan_started_time: ~datetime.datetime """ + agent_health_status: Optional[Union[str, "_models.RuntimeProtectionAgentHealthStatus"]] = rest_field( + name="agentHealthStatus", visibility=["read"] + ) + """The runtime protection agent health status. Known values are: \"Healthy\" and \"Unhealthy\".""" + agent_health_status_issues: Optional[list[str]] = rest_field(name="agentHealthStatusIssues", visibility=["read"]) + """The runtime protection agent health status issues, if present.""" + agent_license_status: Optional[Union[str, "_models.RuntimeProtectionAgentLicenseStatus"]] = rest_field( + name="agentLicenseStatus", visibility=["read"] + ) + """The runtime protection agent license status. Known values are: \"Licensed\" and \"Unlicensed\".""" + definition_update_mode: Optional[Union[str, "_models.RuntimeProtectionDefinitionUpdateMode"]] = rest_field( + name="definitionUpdateMode", visibility=["read"] + ) + """The definition update mode for runtime protection. Known values are: \"Automatic\" and + \"None\".""" definitions_last_updated: Optional[datetime.datetime] = rest_field( name="definitionsLastUpdated", visibility=["read"], format="rfc3339" ) """The timestamp when the malware definitions were last updated.""" definitions_version: Optional[str] = rest_field(name="definitionsVersion", visibility=["read"]) """The version of the malware definitions.""" + enforcement_level: Optional[Union[str, "_models.RuntimeProtectionEnforcementLevel"]] = rest_field( + name="enforcementLevel", visibility=["read"] + ) + """The enforcement level set for the runtime protection on the bare metal machine. Known values + are: \"Audit\", \"Disabled\", \"OnDemand\", \"Passive\", and \"RealTime\".""" scan_completed_time: Optional[datetime.datetime] = rest_field( name="scanCompletedTime", visibility=["read"], format="rfc3339" ) @@ -8269,6 +9558,56 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) +class ServicePrincipalInformationPatch(_Model): + """ServicePrincipalInformationPatch represents the details of the service principal to be used by + the cluster during Arc Appliance installation for patch operations. + + :ivar application_id: The application ID, also known as client ID, of the service principal. + :vartype application_id: str + :ivar password: The password of the service principal. + :vartype password: str + :ivar principal_id: The principal ID, also known as the object ID, of the service principal. + :vartype principal_id: str + :ivar tenant_id: The tenant ID, also known as the directory ID, of the tenant in which the + service principal is created. + :vartype tenant_id: str + """ + + application_id: Optional[str] = rest_field( + name="applicationId", visibility=["read", "create", "update", "delete", "query"] + ) + """The application ID, also known as client ID, of the service principal.""" + password: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The password of the service principal.""" + principal_id: Optional[str] = rest_field( + name="principalId", visibility=["read", "create", "update", "delete", "query"] + ) + """The principal ID, also known as the object ID, of the service principal.""" + tenant_id: Optional[str] = rest_field(name="tenantId", visibility=["read", "create", "update", "delete", "query"]) + """The tenant ID, also known as the directory ID, of the tenant in which the service principal is + created.""" + + @overload + def __init__( + self, + *, + application_id: Optional[str] = None, + password: Optional[str] = None, + principal_id: Optional[str] = None, + tenant_id: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + class SshPublicKey(_Model): """SshPublicKey represents the public key used to authenticate with a resource through SSH. @@ -8297,6 +9636,34 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) +class SshPublicKeyPatch(_Model): + """SshPublicKeyPatch represents the public key used to authenticate with a resource through SSH. + + :ivar key_data: The SSH public key data. + :vartype key_data: str + """ + + key_data: Optional[str] = rest_field(name="keyData", visibility=["read", "create", "update", "delete", "query"]) + """The SSH public key data.""" + + @overload + def __init__( + self, + *, + key_data: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + class StepState(_Model): """StepState represents the state of a step in an action. @@ -8384,9 +9751,11 @@ class StorageAppliance(TrackedResource): "cluster_id", "detailed_status", "detailed_status_message", + "expansion_shelves", "management_ipv4_address", "manufacturer", "model", + "monitoring_configuration_status", "remote_vendor_management_feature", "remote_vendor_management_status", "secret_rotation_status", @@ -8522,6 +9891,63 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) +class StorageApplianceConfigurationDataPatch(_Model): + """StorageApplianceConfigurationDataPatch represents configuration for the storage application for + patch operations. + + :ivar admin_credentials: The credentials of the administrative interface on this storage + appliance. The password field is expected to be an Azure Key Vault key URL. Until the cluster + is converted to utilize managed identity by setting the secret archive settings, the actual + password value should be provided instead. + :vartype admin_credentials: ~azure.mgmt.networkcloud.models.AdministrativeCredentialsPatch + :ivar rack_slot: The slot that storage appliance is in the rack based on the BOM configuration. + :vartype rack_slot: int + :ivar serial_number: The serial number of the appliance. + :vartype serial_number: str + :ivar storage_appliance_name: The user-provided name for the storage appliance that will be + created from this specification. + :vartype storage_appliance_name: str + """ + + admin_credentials: Optional["_models.AdministrativeCredentialsPatch"] = rest_field( + name="adminCredentials", visibility=["read", "create", "update", "delete", "query"] + ) + """The credentials of the administrative interface on this storage appliance. The password field + is expected to be an Azure Key Vault key URL. Until the cluster is converted to utilize managed + identity by setting the secret archive settings, the actual password value should be provided + instead.""" + rack_slot: Optional[int] = rest_field(name="rackSlot", visibility=["read", "create", "update", "delete", "query"]) + """The slot that storage appliance is in the rack based on the BOM configuration.""" + serial_number: Optional[str] = rest_field( + name="serialNumber", visibility=["read", "create", "update", "delete", "query"] + ) + """The serial number of the appliance.""" + storage_appliance_name: Optional[str] = rest_field( + name="storageApplianceName", visibility=["read", "create", "update", "delete", "query"] + ) + """The user-provided name for the storage appliance that will be created from this specification.""" + + @overload + def __init__( + self, + *, + admin_credentials: Optional["_models.AdministrativeCredentialsPatch"] = None, + rack_slot: Optional[int] = None, + serial_number: Optional[str] = None, + storage_appliance_name: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + class StorageApplianceEnableRemoteVendorManagementParameters(_Model): # pylint: disable=name-too-long """StorageApplianceEnableRemoteVendorManagementParameters represents the body of the request to enable remote vendor management of a storage appliance. @@ -8558,6 +9984,82 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) +class StorageApplianceExpansionShelf(_Model): + """StorageApplianceExpansionShelf represents an expansion shelf connected to a storage appliance. + + :ivar model: The model of the expansion shelf. + :vartype model: str + :ivar version: The version of the expansion shelf. + :vartype version: str + """ + + model: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The model of the expansion shelf.""" + version: Optional[str] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The version of the expansion shelf.""" + + @overload + def __init__( + self, + *, + model: Optional[str] = None, + version: Optional[str] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + +class StorageApplianceMonitoringConfigurationStatus(_Model): # pylint: disable=name-too-long + """The monitoring configuration status of the storage appliance. + + :ivar log_level: The log level for the monitoring configuration status of the storage + appliance. Known values are: "Default" and "Nexus". + :vartype log_level: str or + ~azure.mgmt.networkcloud.models.StorageApplianceMonitoringConfigurationStatusLogLevel + :ivar metrics_level: The metrics level for the monitoring configuration status of the storage + appliance. Known values are: "Default" and "Nexus". + :vartype metrics_level: str or + ~azure.mgmt.networkcloud.models.StorageApplianceMonitoringConfigurationStatusMetricsLevel + """ + + log_level: Optional[Union[str, "_models.StorageApplianceMonitoringConfigurationStatusLogLevel"]] = rest_field( + name="logLevel", visibility=["read", "create", "update", "delete", "query"] + ) + """The log level for the monitoring configuration status of the storage appliance. Known values + are: \"Default\" and \"Nexus\".""" + metrics_level: Optional[Union[str, "_models.StorageApplianceMonitoringConfigurationStatusMetricsLevel"]] = ( + rest_field(name="metricsLevel", visibility=["read", "create", "update", "delete", "query"]) + ) + """The metrics level for the monitoring configuration status of the storage appliance. Known + values are: \"Default\" and \"Nexus\".""" + + @overload + def __init__( + self, + *, + log_level: Optional[Union[str, "_models.StorageApplianceMonitoringConfigurationStatusLogLevel"]] = None, + metrics_level: Optional[Union[str, "_models.StorageApplianceMonitoringConfigurationStatusMetricsLevel"]] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + class StorageAppliancePatchParameters(_Model): """StorageAppliancePatchParameters represents the body of the request to patch storage appliance properties. @@ -8675,6 +10177,9 @@ class StorageApplianceProperties(_Model): :vartype detailed_status: str or ~azure.mgmt.networkcloud.models.StorageApplianceDetailedStatus :ivar detailed_status_message: The descriptive message about the current detailed status. :vartype detailed_status_message: str + :ivar expansion_shelves: The list of expansion shelves connected to the storage appliance. + :vartype expansion_shelves: + list[~azure.mgmt.networkcloud.models.StorageApplianceExpansionShelf] :ivar management_ipv4_address: The endpoint for the management interface of the storage appliance. :vartype management_ipv4_address: str @@ -8682,6 +10187,10 @@ class StorageApplianceProperties(_Model): :vartype manufacturer: str :ivar model: The model of the storage appliance. :vartype model: str + :ivar monitoring_configuration_status: The monitoring configuration status of the storage + appliance. + :vartype monitoring_configuration_status: + ~azure.mgmt.networkcloud.models.StorageApplianceMonitoringConfigurationStatus :ivar remote_vendor_management_feature: The indicator of whether the storage appliance supports remote vendor management. Known values are: "Supported" and "Unsupported". :vartype remote_vendor_management_feature: str or @@ -8730,12 +10239,20 @@ class StorageApplianceProperties(_Model): \"Error\", and \"Provisioning\".""" detailed_status_message: Optional[str] = rest_field(name="detailedStatusMessage", visibility=["read"]) """The descriptive message about the current detailed status.""" + expansion_shelves: Optional[list["_models.StorageApplianceExpansionShelf"]] = rest_field( + name="expansionShelves", visibility=["read"] + ) + """The list of expansion shelves connected to the storage appliance.""" management_ipv4_address: Optional[str] = rest_field(name="managementIpv4Address", visibility=["read"]) """The endpoint for the management interface of the storage appliance.""" manufacturer: Optional[str] = rest_field(visibility=["read"]) """The manufacturer of the storage appliance.""" model: Optional[str] = rest_field(visibility=["read"]) """The model of the storage appliance.""" + monitoring_configuration_status: Optional["_models.StorageApplianceMonitoringConfigurationStatus"] = rest_field( + name="monitoringConfigurationStatus", visibility=["read"] + ) + """The monitoring configuration status of the storage appliance.""" remote_vendor_management_feature: Optional[Union[str, "_models.RemoteVendorManagementFeature"]] = rest_field( name="remoteVendorManagementFeature", visibility=["read"] ) @@ -9358,6 +10875,53 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) +class ValidationThresholdPatch(_Model): + """ValidationThresholdPatch indicates allowed machine and node hardware and deployment failures + for patch operations. + + :ivar grouping: Selection of how the type evaluation is applied to the cluster calculation. + Known values are: "PerCluster" and "PerRack". + :vartype grouping: str or ~azure.mgmt.networkcloud.models.ValidationThresholdGrouping + :ivar type: Selection of how the threshold should be evaluated. Known values are: + "CountSuccess" and "PercentSuccess". + :vartype type: str or ~azure.mgmt.networkcloud.models.ValidationThresholdType + :ivar value: The numeric threshold value. + :vartype value: int + """ + + grouping: Optional[Union[str, "_models.ValidationThresholdGrouping"]] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """Selection of how the type evaluation is applied to the cluster calculation. Known values are: + \"PerCluster\" and \"PerRack\".""" + type: Optional[Union[str, "_models.ValidationThresholdType"]] = rest_field( + visibility=["read", "create", "update", "delete", "query"] + ) + """Selection of how the threshold should be evaluated. Known values are: \"CountSuccess\" and + \"PercentSuccess\".""" + value: Optional[int] = rest_field(visibility=["read", "create", "update", "delete", "query"]) + """The numeric threshold value.""" + + @overload + def __init__( + self, + *, + grouping: Optional[Union[str, "_models.ValidationThresholdGrouping"]] = None, + type: Optional[Union[str, "_models.ValidationThresholdType"]] = None, + value: Optional[int] = None, + ) -> None: ... + + @overload + def __init__(self, mapping: Mapping[str, Any]) -> None: + """ + :param mapping: raw JSON to initialize the model. + :type mapping: Mapping[str, Any] + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + class VirtualMachine(TrackedResource): """VirtualMachine represents the on-premises Network Cloud virtual machine. @@ -9587,10 +11151,10 @@ class VirtualMachinePatchProperties(_Model): :ivar vm_image_repository_credentials: The credentials used to login to the image repository that has access to the specified image. :vartype vm_image_repository_credentials: - ~azure.mgmt.networkcloud.models.ImageRepositoryCredentials + ~azure.mgmt.networkcloud.models.ImageRepositoryCredentialsPatch """ - vm_image_repository_credentials: Optional["_models.ImageRepositoryCredentials"] = rest_field( + vm_image_repository_credentials: Optional["_models.ImageRepositoryCredentialsPatch"] = rest_field( name="vmImageRepositoryCredentials", visibility=["read", "create", "update", "delete", "query"] ) """The credentials used to login to the image repository that has access to the specified image.""" @@ -9599,7 +11163,7 @@ class VirtualMachinePatchProperties(_Model): def __init__( self, *, - vm_image_repository_credentials: Optional["_models.ImageRepositoryCredentials"] = None, + vm_image_repository_credentials: Optional["_models.ImageRepositoryCredentialsPatch"] = None, ) -> None: ... @overload @@ -9961,6 +11525,7 @@ class Volume(TrackedResource): "size_mi_b", "storage_appliance_id", "allocated_size_mi_b", + "assigned_storage_appliance_id", "attached_to", "detailed_status", "detailed_status_message", @@ -10044,6 +11609,9 @@ class VolumeProperties(_Model): :vartype storage_appliance_id: str :ivar allocated_size_mi_b: The allocated size of the volume in Mebibytes. :vartype allocated_size_mi_b: int + :ivar assigned_storage_appliance_id: The assigned resource ID of the storage appliance that + hosts the volume. + :vartype assigned_storage_appliance_id: str :ivar attached_to: The list of resource IDs that attach the volume. It may include virtual machines and Hybrid AKS clusters. :vartype attached_to: list[str] @@ -10067,6 +11635,8 @@ class VolumeProperties(_Model): """The resource ID of the storage appliance that hosts the volume.""" allocated_size_mi_b: Optional[int] = rest_field(name="allocatedSizeMiB", visibility=["read"]) """The allocated size of the volume in Mebibytes.""" + assigned_storage_appliance_id: Optional[str] = rest_field(name="assignedStorageApplianceId", visibility=["read"]) + """The assigned resource ID of the storage appliance that hosts the volume.""" attached_to: Optional[list[str]] = rest_field(name="attachedTo", visibility=["read"]) """The list of resource IDs that attach the volume. It may include virtual machines and Hybrid AKS clusters.""" diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/operations/__init__.py b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/operations/__init__.py index a3eb236d5878..d49d351ab326 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/operations/__init__.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/operations/__init__.py @@ -13,11 +13,13 @@ from ._patch import * # pylint: disable=unused-wildcard-import from ._operations import Operations # type: ignore +from ._operations import AccessBridgesOperations # type: ignore from ._operations import BareMetalMachinesOperations # type: ignore from ._operations import CloudServicesNetworksOperations # type: ignore from ._operations import ClusterManagersOperations # type: ignore from ._operations import ClustersOperations # type: ignore from ._operations import KubernetesClustersOperations # type: ignore +from ._operations import KubernetesVersionsOperations # type: ignore from ._operations import L2NetworksOperations # type: ignore from ._operations import L3NetworksOperations # type: ignore from ._operations import RackSkusOperations # type: ignore @@ -39,11 +41,13 @@ __all__ = [ "Operations", + "AccessBridgesOperations", "BareMetalMachinesOperations", "CloudServicesNetworksOperations", "ClusterManagersOperations", "ClustersOperations", "KubernetesClustersOperations", + "KubernetesVersionsOperations", "L2NetworksOperations", "L3NetworksOperations", "RackSkusOperations", diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/operations/_operations.py b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/operations/_operations.py index b891156846c6..d6e90a7b88c0 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/operations/_operations.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/operations/_operations.py @@ -38,6 +38,7 @@ from .._utils.model_base import SdkJSONEncoder, _deserialize, _failsafe_deserialize from .._utils.serialization import Deserializer, Serializer from .._utils.utils import prep_if_match, prep_if_none_match +from .._validation import api_version_validation T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, dict[str, Any]], Any]] @@ -51,7 +52,7 @@ def build_operations_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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -66,13 +67,224 @@ def build_operations_list_request(**kwargs: Any) -> HttpRequest: return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) +def build_access_bridges_get_request( + resource_group_name: str, + access_bridge_name: Union[str, _models.AccessBridgeAllowedName], + 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-07-01")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/accessBridges/{accessBridgeName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "accessBridgeName": _SERIALIZER.url("access_bridge_name", access_bridge_name, "str"), + } + + _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_access_bridges_create_or_update_request( # pylint: disable=name-too-long + resource_group_name: str, + access_bridge_name: Union[str, _models.AccessBridgeAllowedName], + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/accessBridges/{accessBridgeName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "accessBridgeName": _SERIALIZER.url("access_bridge_name", access_bridge_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + 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_access_bridges_update_request( + resource_group_name: str, + access_bridge_name: Union[str, _models.AccessBridgeAllowedName], + subscription_id: str, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/accessBridges/{accessBridgeName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "accessBridgeName": _SERIALIZER.url("access_bridge_name", access_bridge_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + if content_type is not None: + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + if_match = prep_if_match(etag, match_condition) + if if_match is not None: + _headers["If-Match"] = _SERIALIZER.header("if_match", if_match, "str") + if_none_match = prep_if_none_match(etag, match_condition) + if if_none_match is not None: + _headers["If-None-Match"] = _SERIALIZER.header("if_none_match", if_none_match, "str") + + return HttpRequest(method="PATCH", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_access_bridges_delete_request( + resource_group_name: str, + access_bridge_name: Union[str, _models.AccessBridgeAllowedName], + subscription_id: str, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = 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-07-01")) + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/accessBridges/{accessBridgeName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "accessBridgeName": _SERIALIZER.url("access_bridge_name", access_bridge_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + if_match = prep_if_match(etag, match_condition) + if if_match is not None: + _headers["If-Match"] = _SERIALIZER.header("if_match", if_match, "str") + if_none_match = prep_if_none_match(etag, match_condition) + if if_none_match is not None: + _headers["If-None-Match"] = _SERIALIZER.header("if_none_match", if_none_match, "str") + + return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_access_bridges_list_by_resource_group_request( # pylint: disable=name-too-long + resource_group_name: str, + subscription_id: str, + *, + top: Optional[int] = None, + skip_token: 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-07-01")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/accessBridges" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + if top is not None: + _params["$top"] = _SERIALIZER.query("top", top, "int") + if skip_token is not None: + _params["$skipToken"] = _SERIALIZER.query("skip_token", skip_token, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_access_bridges_list_by_subscription_request( # pylint: disable=name-too-long + subscription_id: str, *, top: Optional[int] = None, skip_token: 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-07-01")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/providers/Microsoft.NetworkCloud/accessBridges" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + if top is not None: + _params["$top"] = _SERIALIZER.query("top", top, "int") + if skip_token is not None: + _params["$skipToken"] = _SERIALIZER.query("skip_token", skip_token, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + def build_bare_metal_machines_get_request( resource_group_name: str, bare_metal_machine_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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -107,7 +319,7 @@ def build_bare_metal_machines_create_or_update_request( # pylint: disable=name- _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -150,7 +362,7 @@ def build_bare_metal_machines_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -192,7 +404,7 @@ def build_bare_metal_machines_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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}" path_format_arguments = { @@ -228,7 +440,7 @@ def build_bare_metal_machines_list_by_resource_group_request( # pylint: disable _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -259,7 +471,7 @@ def build_bare_metal_machines_list_by_subscription_request( # pylint: disable=n _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -290,7 +502,7 @@ def build_bare_metal_machines_cordon_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}/cordon" path_format_arguments = { @@ -318,7 +530,7 @@ def build_bare_metal_machines_power_off_request( # pylint: disable=name-too-lon _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}/powerOff" path_format_arguments = { @@ -342,9 +554,11 @@ def build_bare_metal_machines_power_off_request( # pylint: disable=name-too-lon def build_bare_metal_machines_reimage_request( # pylint: disable=name-too-long resource_group_name: str, bare_metal_machine_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", "2025-09-01")) + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}/reimage" path_format_arguments = { @@ -358,7 +572,11 @@ def build_bare_metal_machines_reimage_request( # pylint: disable=name-too-long # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") - return HttpRequest(method="POST", url=_url, params=_params, **kwargs) + # Construct headers + if content_type is not None: + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) def build_bare_metal_machines_replace_request( # pylint: disable=name-too-long @@ -368,7 +586,7 @@ def build_bare_metal_machines_replace_request( # pylint: disable=name-too-long _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}/replace" path_format_arguments = { @@ -394,7 +612,7 @@ def build_bare_metal_machines_restart_request( # pylint: disable=name-too-long ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}/restart" path_format_arguments = { @@ -418,7 +636,7 @@ def build_bare_metal_machines_run_command_request( # pylint: disable=name-too-l _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}/runCommand" path_format_arguments = { @@ -446,7 +664,7 @@ def build_bare_metal_machines_run_data_extracts_request( # pylint: disable=name _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}/runDataExtracts" path_format_arguments = { @@ -474,7 +692,7 @@ def build_bare_metal_machines_run_data_extracts_restricted_request( # pylint: d _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}/runDataExtractsRestricted" path_format_arguments = { @@ -502,7 +720,7 @@ def build_bare_metal_machines_run_read_commands_request( # pylint: disable=name _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}/runReadCommands" path_format_arguments = { @@ -528,7 +746,7 @@ def build_bare_metal_machines_start_request( ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}/start" path_format_arguments = { @@ -550,7 +768,7 @@ def build_bare_metal_machines_uncordon_request( # pylint: disable=name-too-long ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/bareMetalMachines/{bareMetalMachineName}/uncordon" path_format_arguments = { @@ -573,7 +791,7 @@ def build_cloud_services_networks_get_request( # pylint: disable=name-too-long _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -608,7 +826,7 @@ def build_cloud_services_networks_create_or_update_request( # pylint: disable=n _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -651,7 +869,7 @@ def build_cloud_services_networks_update_request( # pylint: disable=name-too-lo _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -693,7 +911,7 @@ def build_cloud_services_networks_delete_request( # pylint: disable=name-too-lo _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/cloudServicesNetworks/{cloudServicesNetworkName}" path_format_arguments = { @@ -729,7 +947,7 @@ def build_cloud_services_networks_list_by_resource_group_request( # pylint: dis _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -760,7 +978,7 @@ def build_cloud_services_networks_list_by_subscription_request( # pylint: disab _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -790,7 +1008,7 @@ def build_cluster_managers_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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -825,7 +1043,7 @@ def build_cluster_managers_create_or_update_request( # pylint: disable=name-too _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -868,7 +1086,7 @@ def build_cluster_managers_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -910,7 +1128,7 @@ def build_cluster_managers_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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusterManagers/{clusterManagerName}" path_format_arguments = { @@ -946,7 +1164,7 @@ def build_cluster_managers_list_by_resource_group_request( # pylint: disable=na _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -977,7 +1195,7 @@ def build_cluster_managers_list_by_subscription_request( # pylint: disable=name _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1001,13 +1219,41 @@ def build_cluster_managers_list_by_subscription_request( # pylint: disable=name return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) +def build_cluster_managers_update_relay_private_endpoint_connection_request( # pylint: disable=name-too-long + resource_group_name: str, cluster_manager_name: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusterManagers/{clusterManagerName}/updateRelayPrivateEndpointConnection" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "clusterManagerName": _SERIALIZER.url("cluster_manager_name", cluster_manager_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + if content_type is not None: + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) + + def build_clusters_get_request( resource_group_name: str, cluster_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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1042,7 +1288,7 @@ def build_clusters_create_or_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1085,7 +1331,7 @@ def build_clusters_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1127,7 +1373,7 @@ def build_clusters_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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}" path_format_arguments = { @@ -1163,7 +1409,7 @@ def build_clusters_list_by_resource_group_request( # pylint: disable=name-too-l _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1196,7 +1442,7 @@ def build_clusters_list_by_subscription_request( # pylint: disable=name-too-lon _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1227,7 +1473,7 @@ def build_clusters_continue_update_version_request( # pylint: disable=name-too- _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}/continueUpdateVersion" path_format_arguments = { @@ -1255,7 +1501,7 @@ def build_clusters_deploy_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}/deploy" path_format_arguments = { @@ -1276,16 +1522,16 @@ def build_clusters_deploy_request( return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_clusters_scan_runtime_request( +def build_clusters_inspect_request( resource_group_name: str, cluster_name: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}/scanRuntime" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}/inspect" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), @@ -1304,16 +1550,16 @@ def build_clusters_scan_runtime_request( return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_clusters_update_version_request( +def build_clusters_rotate_credential_request( resource_group_name: str, cluster_name: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}/updateVersion" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}/rotateCredential" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), @@ -1332,21 +1578,20 @@ def build_clusters_update_version_request( return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_kubernetes_clusters_get_request( - resource_group_name: str, kubernetes_cluster_name: str, subscription_id: str, **kwargs: Any +def build_clusters_scan_runtime_request( + resource_group_name: str, cluster_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", "2025-09-01")) - accept = _headers.pop("Accept", "application/json") - + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/kubernetesClusters/{kubernetesClusterName}" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}/scanRuntime" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "kubernetesClusterName": _SERIALIZER.url("kubernetes_cluster_name", kubernetes_cluster_name, "str"), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), } _url: str = _url.format(**path_format_arguments) # type: ignore @@ -1355,33 +1600,26 @@ def build_kubernetes_clusters_get_request( _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + if content_type is not None: + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") - return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_kubernetes_clusters_create_or_update_request( # pylint: disable=name-too-long - resource_group_name: str, - kubernetes_cluster_name: str, - subscription_id: str, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any +def build_clusters_update_version_request( + resource_group_name: str, cluster_name: str, subscription_id: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) - accept = _headers.pop("Accept", "application/json") - + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL - _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/kubernetesClusters/{kubernetesClusterName}" + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}/updateVersion" path_format_arguments = { "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), - "kubernetesClusterName": _SERIALIZER.url("kubernetes_cluster_name", kubernetes_cluster_name, "str"), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, "str"), } _url: str = _url.format(**path_format_arguments) # type: ignore @@ -1392,8 +1630,72 @@ def build_kubernetes_clusters_create_or_update_request( # pylint: disable=name- # Construct headers if content_type is not None: _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") - _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - if_match = prep_if_match(etag, match_condition) + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_kubernetes_clusters_get_request( + resource_group_name: str, kubernetes_cluster_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-07-01")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/kubernetesClusters/{kubernetesClusterName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "kubernetesClusterName": _SERIALIZER.url("kubernetes_cluster_name", kubernetes_cluster_name, "str"), + } + + _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_kubernetes_clusters_create_or_update_request( # pylint: disable=name-too-long + resource_group_name: str, + kubernetes_cluster_name: str, + subscription_id: str, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/kubernetesClusters/{kubernetesClusterName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "kubernetesClusterName": _SERIALIZER.url("kubernetes_cluster_name", kubernetes_cluster_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + if content_type is not None: + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + if_match = prep_if_match(etag, match_condition) if if_match is not None: _headers["If-Match"] = _SERIALIZER.header("if_match", if_match, "str") if_none_match = prep_if_none_match(etag, match_condition) @@ -1416,7 +1718,7 @@ def build_kubernetes_clusters_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1458,7 +1760,7 @@ def build_kubernetes_clusters_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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/kubernetesClusters/{kubernetesClusterName}" path_format_arguments = { @@ -1494,7 +1796,7 @@ def build_kubernetes_clusters_list_by_resource_group_request( # pylint: disable _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1525,7 +1827,7 @@ def build_kubernetes_clusters_list_by_subscription_request( # pylint: disable=n _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1556,7 +1858,7 @@ def build_kubernetes_clusters_restart_node_request( # pylint: disable=name-too- _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/kubernetesClusters/{kubernetesClusterName}/restartNode" path_format_arguments = { @@ -1577,13 +1879,230 @@ def build_kubernetes_clusters_restart_node_request( # pylint: disable=name-too- return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) +def build_kubernetes_versions_get_request( + resource_group_name: str, kubernetes_version_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-07-01")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/kubernetesVersions/{kubernetesVersionName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "kubernetesVersionName": _SERIALIZER.url("kubernetes_version_name", kubernetes_version_name, "str"), + } + + _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_kubernetes_versions_create_or_update_request( # pylint: disable=name-too-long + resource_group_name: str, + kubernetes_version_name: str, + subscription_id: str, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/kubernetesVersions/{kubernetesVersionName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "kubernetesVersionName": _SERIALIZER.url("kubernetes_version_name", kubernetes_version_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + if content_type is not None: + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + if_match = prep_if_match(etag, match_condition) + if if_match is not None: + _headers["If-Match"] = _SERIALIZER.header("if_match", if_match, "str") + if_none_match = prep_if_none_match(etag, match_condition) + if if_none_match is not None: + _headers["If-None-Match"] = _SERIALIZER.header("if_none_match", if_none_match, "str") + + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_kubernetes_versions_update_request( + resource_group_name: str, + kubernetes_version_name: str, + subscription_id: str, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/kubernetesVersions/{kubernetesVersionName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "kubernetesVersionName": _SERIALIZER.url("kubernetes_version_name", kubernetes_version_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + if content_type is not None: + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + if_match = prep_if_match(etag, match_condition) + if if_match is not None: + _headers["If-Match"] = _SERIALIZER.header("if_match", if_match, "str") + if_none_match = prep_if_none_match(etag, match_condition) + if if_none_match is not None: + _headers["If-None-Match"] = _SERIALIZER.header("if_none_match", if_none_match, "str") + + return HttpRequest(method="PATCH", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_kubernetes_versions_delete_request( + resource_group_name: str, + kubernetes_version_name: str, + subscription_id: str, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = 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-07-01")) + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/kubernetesVersions/{kubernetesVersionName}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + "kubernetesVersionName": _SERIALIZER.url("kubernetes_version_name", kubernetes_version_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + if_match = prep_if_match(etag, match_condition) + if if_match is not None: + _headers["If-Match"] = _SERIALIZER.header("if_match", if_match, "str") + if_none_match = prep_if_none_match(etag, match_condition) + if if_none_match is not None: + _headers["If-None-Match"] = _SERIALIZER.header("if_none_match", if_none_match, "str") + + return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_kubernetes_versions_list_by_resource_group_request( # pylint: disable=name-too-long + resource_group_name: str, + subscription_id: str, + *, + top: Optional[int] = None, + skip_token: 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-07-01")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/kubernetesVersions" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + if top is not None: + _params["$top"] = _SERIALIZER.query("top", top, "int") + if skip_token is not None: + _params["$skipToken"] = _SERIALIZER.query("skip_token", skip_token, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_kubernetes_versions_list_by_subscription_request( # pylint: disable=name-too-long + subscription_id: str, *, top: Optional[int] = None, skip_token: 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-07-01")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/providers/Microsoft.NetworkCloud/kubernetesVersions" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + if top is not None: + _params["$top"] = _SERIALIZER.query("top", top, "int") + if skip_token is not None: + _params["$skipToken"] = _SERIALIZER.query("skip_token", skip_token, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + def build_l2_networks_get_request( resource_group_name: str, l2_network_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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1618,7 +2137,7 @@ def build_l2_networks_create_or_update_request( # pylint: disable=name-too-long _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1661,7 +2180,7 @@ def build_l2_networks_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1703,7 +2222,7 @@ def build_l2_networks_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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/l2Networks/{l2NetworkName}" path_format_arguments = { @@ -1739,7 +2258,7 @@ def build_l2_networks_list_by_resource_group_request( # pylint: disable=name-to _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1772,7 +2291,7 @@ def build_l2_networks_list_by_subscription_request( # pylint: disable=name-too- _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1802,7 +2321,7 @@ def build_l3_networks_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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1837,7 +2356,7 @@ def build_l3_networks_create_or_update_request( # pylint: disable=name-too-long _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1880,7 +2399,7 @@ def build_l3_networks_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1922,7 +2441,7 @@ def build_l3_networks_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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/l3Networks/{l3NetworkName}" path_format_arguments = { @@ -1958,7 +2477,7 @@ def build_l3_networks_list_by_resource_group_request( # pylint: disable=name-to _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1991,7 +2510,7 @@ def build_l3_networks_list_by_subscription_request( # pylint: disable=name-too- _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2019,7 +2538,7 @@ def build_rack_skus_get_request(rack_sku_name: str, subscription_id: str, **kwar _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2046,7 +2565,7 @@ def build_rack_skus_list_by_subscription_request( # pylint: disable=name-too-lo _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2072,7 +2591,7 @@ def build_racks_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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2107,7 +2626,7 @@ def build_racks_create_or_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2150,7 +2669,7 @@ def build_racks_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2192,7 +2711,7 @@ def build_racks_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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/racks/{rackName}" path_format_arguments = { @@ -2228,7 +2747,7 @@ def build_racks_list_by_resource_group_request( # pylint: disable=name-too-long _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2259,7 +2778,7 @@ def build_racks_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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2289,7 +2808,7 @@ def build_storage_appliances_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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2324,7 +2843,7 @@ def build_storage_appliances_create_or_update_request( # pylint: disable=name-t _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2367,7 +2886,7 @@ def build_storage_appliances_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2409,7 +2928,7 @@ def build_storage_appliances_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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/storageAppliances/{storageApplianceName}" path_format_arguments = { @@ -2445,7 +2964,7 @@ def build_storage_appliances_list_by_resource_group_request( # pylint: disable= _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2476,7 +2995,7 @@ def build_storage_appliances_list_by_subscription_request( # pylint: disable=na _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2505,7 +3024,7 @@ def build_storage_appliances_disable_remote_vendor_management_request( # pylint ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/storageAppliances/{storageApplianceName}/disableRemoteVendorManagement" path_format_arguments = { @@ -2529,7 +3048,7 @@ def build_storage_appliances_enable_remote_vendor_management_request( # pylint: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/storageAppliances/{storageApplianceName}/enableRemoteVendorManagement" path_format_arguments = { @@ -2557,7 +3076,7 @@ def build_storage_appliances_run_read_commands_request( # pylint: disable=name- _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/storageAppliances/{storageApplianceName}/runReadCommands" path_format_arguments = { @@ -2584,7 +3103,7 @@ def build_trunked_networks_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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2619,7 +3138,7 @@ def build_trunked_networks_create_or_update_request( # pylint: disable=name-too _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2662,7 +3181,7 @@ def build_trunked_networks_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2704,7 +3223,7 @@ def build_trunked_networks_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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/trunkedNetworks/{trunkedNetworkName}" path_format_arguments = { @@ -2740,7 +3259,7 @@ def build_trunked_networks_list_by_resource_group_request( # pylint: disable=na _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2771,7 +3290,7 @@ def build_trunked_networks_list_by_subscription_request( # pylint: disable=name _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2801,7 +3320,7 @@ def build_virtual_machines_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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2836,7 +3355,7 @@ def build_virtual_machines_create_or_update_request( # pylint: disable=name-too _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2879,7 +3398,7 @@ def build_virtual_machines_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2921,7 +3440,7 @@ def build_virtual_machines_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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/virtualMachines/{virtualMachineName}" path_format_arguments = { @@ -2957,7 +3476,7 @@ def build_virtual_machines_list_by_resource_group_request( # pylint: disable=na _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -2988,7 +3507,7 @@ def build_virtual_machines_list_by_subscription_request( # pylint: disable=name _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3019,7 +3538,7 @@ def build_virtual_machines_assign_relay_request( # pylint: disable=name-too-lon _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/virtualMachines/{virtualMachineName}/assignRelay" path_format_arguments = { @@ -3047,7 +3566,7 @@ def build_virtual_machines_power_off_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/virtualMachines/{virtualMachineName}/powerOff" path_format_arguments = { @@ -3073,7 +3592,7 @@ def build_virtual_machines_reimage_request( ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/virtualMachines/{virtualMachineName}/reimage" path_format_arguments = { @@ -3095,7 +3614,7 @@ def build_virtual_machines_restart_request( ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/virtualMachines/{virtualMachineName}/restart" path_format_arguments = { @@ -3117,7 +3636,7 @@ def build_virtual_machines_start_request( ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/virtualMachines/{virtualMachineName}/start" path_format_arguments = { @@ -3140,7 +3659,7 @@ def build_volumes_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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3175,7 +3694,7 @@ def build_volumes_create_or_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3218,7 +3737,7 @@ def build_volumes_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3260,7 +3779,7 @@ def build_volumes_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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/volumes/{volumeName}" path_format_arguments = { @@ -3296,7 +3815,7 @@ def build_volumes_list_by_resource_group_request( # pylint: disable=name-too-lo _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3327,7 +3846,7 @@ def build_volumes_list_by_subscription_request( # pylint: disable=name-too-long _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3361,7 +3880,7 @@ def build_bare_metal_machine_key_sets_get_request( # pylint: disable=name-too-l _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3400,7 +3919,7 @@ def build_bare_metal_machine_key_sets_create_or_update_request( # pylint: disab _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3447,7 +3966,7 @@ def build_bare_metal_machine_key_sets_update_request( # pylint: disable=name-to _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3493,7 +4012,7 @@ def build_bare_metal_machine_key_sets_delete_request( # pylint: disable=name-to _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}/bareMetalMachineKeySets/{bareMetalMachineKeySetName}" path_format_arguments = { @@ -3533,7 +4052,7 @@ def build_bare_metal_machine_key_sets_list_by_cluster_request( # pylint: disabl _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3565,7 +4084,7 @@ def build_bmc_key_sets_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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3602,7 +4121,7 @@ def build_bmc_key_sets_create_or_update_request( # pylint: disable=name-too-lon _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3647,7 +4166,7 @@ def build_bmc_key_sets_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3691,7 +4210,7 @@ def build_bmc_key_sets_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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}/bmcKeySets/{bmcKeySetName}" path_format_arguments = { @@ -3729,7 +4248,7 @@ def build_bmc_key_sets_list_by_cluster_request( # pylint: disable=name-too-long _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3761,7 +4280,7 @@ def build_agent_pools_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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3798,7 +4317,7 @@ def build_agent_pools_create_or_update_request( # pylint: disable=name-too-long _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3843,7 +4362,7 @@ def build_agent_pools_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3887,7 +4406,7 @@ def build_agent_pools_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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/kubernetesClusters/{kubernetesClusterName}/agentPools/{agentPoolName}" path_format_arguments = { @@ -3925,7 +4444,7 @@ def build_agent_pools_list_by_kubernetes_cluster_request( # pylint: disable=nam _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3957,7 +4476,7 @@ def build_kubernetes_cluster_features_get_request( # pylint: disable=name-too-l _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -3994,7 +4513,7 @@ def build_kubernetes_cluster_features_create_or_update_request( # pylint: disab _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -4039,7 +4558,7 @@ def build_kubernetes_cluster_features_update_request( # pylint: disable=name-to _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -4083,7 +4602,7 @@ def build_kubernetes_cluster_features_delete_request( # pylint: disable=name-to _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/kubernetesClusters/{kubernetesClusterName}/features/{featureName}" path_format_arguments = { @@ -4121,7 +4640,7 @@ def build_kubernetes_cluster_features_list_by_kubernetes_cluster_request( # pyl _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -4153,7 +4672,7 @@ def build_consoles_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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -4190,7 +4709,7 @@ def build_consoles_create_or_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -4235,7 +4754,7 @@ def build_consoles_update_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -4279,7 +4798,7 @@ def build_consoles_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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/virtualMachines/{virtualMachineName}/consoles/{consoleName}" path_format_arguments = { @@ -4317,7 +4836,7 @@ def build_consoles_list_by_virtual_machine_request( # pylint: disable=name-too- _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -4349,7 +4868,7 @@ def build_metrics_configurations_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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -4386,7 +4905,7 @@ def build_metrics_configurations_create_or_update_request( # pylint: disable=na _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -4431,7 +4950,7 @@ def build_metrics_configurations_update_request( # pylint: disable=name-too-lon _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -4475,7 +4994,7 @@ def build_metrics_configurations_delete_request( # pylint: disable=name-too-lon _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) # Construct URL _url = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkCloud/clusters/{clusterName}/metricsConfigurations/{metricsConfigurationName}" path_format_arguments = { @@ -4513,7 +5032,7 @@ def build_metrics_configurations_list_by_cluster_request( # pylint: disable=nam _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", "2025-09-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -4649,14 +5168,14 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) -class BareMetalMachinesOperations: # pylint: disable=too-many-public-methods +class AccessBridgesOperations: """ .. warning:: **DO NOT** instantiate this class directly. Instead, you should access the following operations through :class:`~azure.mgmt.networkcloud.NetworkCloudMgmtClient`'s - :attr:`bare_metal_machines` attribute. + :attr:`access_bridges` attribute. """ def __init__(self, *args, **kwargs) -> None: @@ -4667,16 +5186,32 @@ def __init__(self, *args, **kwargs) -> None: self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @distributed_trace - def get(self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any) -> _models.BareMetalMachine: - """Get properties of the provided bare metal machine. + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "access_bridge_name", + "accept", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) + def get( + self, resource_group_name: str, access_bridge_name: Union[str, _models.AccessBridgeAllowedName], **kwargs: Any + ) -> _models.AccessBridge: + """Get the properties of the provided access bridge. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :return: BareMetalMachine. The BareMetalMachine is compatible with MutableMapping - :rtype: ~azure.mgmt.networkcloud.models.BareMetalMachine + :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", + "PrivateVault", and "StorageDashboard". Required. + :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName + :return: AccessBridge. The AccessBridge is compatible with MutableMapping + :rtype: ~azure.mgmt.networkcloud.models.AccessBridge :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -4690,11 +5225,11 @@ def get(self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.BareMetalMachine] = kwargs.pop("cls", None) + cls: ClsType[_models.AccessBridge] = kwargs.pop("cls", None) - _request = build_bare_metal_machines_get_request( + _request = build_access_bridges_get_request( resource_group_name=resource_group_name, - bare_metal_machine_name=bare_metal_machine_name, + access_bridge_name=access_bridge_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -4729,21 +5264,32 @@ def get(self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.BareMetalMachine, response.json()) + deserialized = _deserialize(_models.AccessBridge, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "access_bridge_name", + "content_type", + "accept", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) def _create_or_update_initial( self, resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_parameters: Union[_models.BareMetalMachine, _types.BareMetalMachine, IO[bytes]], - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, + access_bridge_name: Union[str, _models.AccessBridgeAllowedName], + access_bridge: Union[_models.AccessBridge, _types.AccessBridge, IO[bytes]], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -4752,12 +5298,6 @@ def _create_or_update_initial( 409: ResourceExistsError, 304: ResourceNotModifiedError, } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) @@ -4768,17 +5308,15 @@ def _create_or_update_initial( content_type = content_type or "application/json" _content = None - if isinstance(bare_metal_machine_parameters, (IOBase, bytes)): - _content = bare_metal_machine_parameters + if isinstance(access_bridge, (IOBase, bytes)): + _content = access_bridge else: - _content = json.dumps(bare_metal_machine_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + _content = json.dumps(access_bridge, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_bare_metal_machines_create_or_update_request( + _request = build_access_bridges_create_or_update_request( resource_group_name=resource_group_name, - bare_metal_machine_name=bare_metal_machine_name, + access_bridge_name=access_bridge_name, subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, content_type=content_type, api_version=self._config.api_version, content=_content, @@ -4827,36 +5365,28 @@ def _create_or_update_initial( def begin_create_or_update( self, resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_parameters: _models.BareMetalMachine, + access_bridge_name: Union[str, _models.AccessBridgeAllowedName], + access_bridge: _models.AccessBridge, *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.BareMetalMachine]: - """Create a new bare metal machine or update the properties of the existing one. All customer - initiated requests will be rejected as the life cycle of this resource is managed by the - system. + ) -> LROPoller[_models.AccessBridge]: + """Create a new access bridge or update the properties of the existing access bridge. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_parameters: The request body. Required. - :type bare_metal_machine_parameters: ~azure.mgmt.networkcloud.models.BareMetalMachine + :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", + "PrivateVault", and "StorageDashboard". Required. + :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName + :param access_bridge: The access bridge configuration. Required. + :type access_bridge: ~azure.mgmt.networkcloud.models.AccessBridge :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns BareMetalMachine. The BareMetalMachine is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] + :return: An instance of LROPoller that returns AccessBridge. The AccessBridge is compatible + with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.AccessBridge] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -4864,36 +5394,28 @@ def begin_create_or_update( def begin_create_or_update( self, resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_parameters: _types.BareMetalMachine, + access_bridge_name: Union[str, _models.AccessBridgeAllowedName], + access_bridge: _types.AccessBridge, *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.BareMetalMachine]: - """Create a new bare metal machine or update the properties of the existing one. All customer - initiated requests will be rejected as the life cycle of this resource is managed by the - system. + ) -> LROPoller[_models.AccessBridge]: + """Create a new access bridge or update the properties of the existing access bridge. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_parameters: The request body. Required. - :type bare_metal_machine_parameters: ~azure.mgmt.networkcloud.types.BareMetalMachine + :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", + "PrivateVault", and "StorageDashboard". Required. + :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName + :param access_bridge: The access bridge configuration. Required. + :type access_bridge: ~azure.mgmt.networkcloud.types.AccessBridge :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns BareMetalMachine. The BareMetalMachine is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] + :return: An instance of LROPoller that returns AccessBridge. The AccessBridge is compatible + with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.AccessBridge] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -4901,88 +5423,83 @@ def begin_create_or_update( def begin_create_or_update( self, resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_parameters: IO[bytes], + access_bridge_name: Union[str, _models.AccessBridgeAllowedName], + access_bridge: IO[bytes], *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.BareMetalMachine]: - """Create a new bare metal machine or update the properties of the existing one. All customer - initiated requests will be rejected as the life cycle of this resource is managed by the - system. + ) -> LROPoller[_models.AccessBridge]: + """Create a new access bridge or update the properties of the existing access bridge. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_parameters: The request body. Required. - :type bare_metal_machine_parameters: IO[bytes] + :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", + "PrivateVault", and "StorageDashboard". Required. + :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName + :param access_bridge: The access bridge configuration. Required. + :type access_bridge: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns BareMetalMachine. The BareMetalMachine is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] + :return: An instance of LROPoller that returns AccessBridge. The AccessBridge is compatible + with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.AccessBridge] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "access_bridge_name", + "content_type", + "accept", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) def begin_create_or_update( self, resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_parameters: Union[_models.BareMetalMachine, _types.BareMetalMachine, IO[bytes]], - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, + access_bridge_name: Union[str, _models.AccessBridgeAllowedName], + access_bridge: Union[_models.AccessBridge, _types.AccessBridge, IO[bytes]], **kwargs: Any - ) -> LROPoller[_models.BareMetalMachine]: - """Create a new bare metal machine or update the properties of the existing one. All customer - initiated requests will be rejected as the life cycle of this resource is managed by the - system. + ) -> LROPoller[_models.AccessBridge]: + """Create a new access bridge or update the properties of the existing access bridge. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_parameters: The request body. Is either a BareMetalMachine type or a + :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", + "PrivateVault", and "StorageDashboard". Required. + :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName + :param access_bridge: The access bridge configuration. Is either a AccessBridge type or a IO[bytes] type. Required. - :type bare_metal_machine_parameters: ~azure.mgmt.networkcloud.models.BareMetalMachine or - ~azure.mgmt.networkcloud.types.BareMetalMachine or IO[bytes] - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns BareMetalMachine. The BareMetalMachine is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] + :type access_bridge: ~azure.mgmt.networkcloud.models.AccessBridge or + ~azure.mgmt.networkcloud.types.AccessBridge or IO[bytes] + :return: An instance of LROPoller that returns AccessBridge. The AccessBridge is compatible + with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.AccessBridge] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.BareMetalMachine] = kwargs.pop("cls", None) + cls: ClsType[_models.AccessBridge] = 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, - bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_parameters=bare_metal_machine_parameters, - etag=etag, - match_condition=match_condition, + access_bridge_name=access_bridge_name, + access_bridge=access_bridge, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -4994,7 +5511,7 @@ def begin_create_or_update( def get_long_running_output(pipeline_response): response = pipeline_response.http_response - deserialized = _deserialize(_models.BareMetalMachine, response.json()) + deserialized = _deserialize(_models.AccessBridge, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized @@ -5012,22 +5529,38 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return LROPoller[_models.BareMetalMachine].from_continuation_token( + return LROPoller[_models.AccessBridge].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return LROPoller[_models.BareMetalMachine]( + return LROPoller[_models.AccessBridge]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "access_bridge_name", + "content_type", + "accept", + "etag", + "match_condition", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) def _update_initial( self, resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_update_parameters: Optional[ - Union[_models.BareMetalMachinePatchParameters, _types.BareMetalMachinePatchParameters, IO[bytes]] + access_bridge_name: Union[str, _models.AccessBridgeAllowedName], + access_bridge_update_parameters: Optional[ + Union[_models.AccessBridgePatchParameters, _types.AccessBridgePatchParameters, IO[bytes]] ] = None, *, etag: Optional[str] = None, @@ -5052,22 +5585,22 @@ def _update_initial( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if bare_metal_machine_update_parameters else None + content_type = content_type if access_bridge_update_parameters else None cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" if bare_metal_machine_update_parameters else None + content_type = content_type or "application/json" if access_bridge_update_parameters else None _content = None - if isinstance(bare_metal_machine_update_parameters, (IOBase, bytes)): - _content = bare_metal_machine_update_parameters + if isinstance(access_bridge_update_parameters, (IOBase, bytes)): + _content = access_bridge_update_parameters else: - if bare_metal_machine_update_parameters is not None: - _content = json.dumps(bare_metal_machine_update_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + if access_bridge_update_parameters is not None: + _content = json.dumps(access_bridge_update_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore else: _content = None - _request = build_bare_metal_machines_update_request( + _request = build_access_bridges_update_request( resource_group_name=resource_group_name, - bare_metal_machine_name=bare_metal_machine_name, + access_bridge_name=access_bridge_name, subscription_id=self._config.subscription_id, etag=etag, match_condition=match_condition, @@ -5120,25 +5653,26 @@ def _update_initial( def begin_update( self, resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_update_parameters: Optional[_models.BareMetalMachinePatchParameters] = None, + access_bridge_name: Union[str, _models.AccessBridgeAllowedName], + access_bridge_update_parameters: Optional[_models.AccessBridgePatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.BareMetalMachine]: - """Patch properties of the provided bare metal machine, or update tags associated with the bare - metal machine. Properties and tag updates can be done independently. + ) -> LROPoller[_models.AccessBridge]: + """Update properties of the provided access bridge, or update tags associated with the access + bridge. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_update_parameters: The request body. Default value is None. - :type bare_metal_machine_update_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachinePatchParameters + :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", + "PrivateVault", and "StorageDashboard". Required. + :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName + :param access_bridge_update_parameters: The request body. Default value is None. + :type access_bridge_update_parameters: + ~azure.mgmt.networkcloud.models.AccessBridgePatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -5147,9 +5681,9 @@ def begin_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns BareMetalMachine. The BareMetalMachine is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] + :return: An instance of LROPoller that returns AccessBridge. The AccessBridge is compatible + with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.AccessBridge] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -5157,25 +5691,26 @@ def begin_update( def begin_update( self, resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_update_parameters: Optional[_types.BareMetalMachinePatchParameters] = None, + access_bridge_name: Union[str, _models.AccessBridgeAllowedName], + access_bridge_update_parameters: Optional[_types.AccessBridgePatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.BareMetalMachine]: - """Patch properties of the provided bare metal machine, or update tags associated with the bare - metal machine. Properties and tag updates can be done independently. + ) -> LROPoller[_models.AccessBridge]: + """Update properties of the provided access bridge, or update tags associated with the access + bridge. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_update_parameters: The request body. Default value is None. - :type bare_metal_machine_update_parameters: - ~azure.mgmt.networkcloud.types.BareMetalMachinePatchParameters + :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", + "PrivateVault", and "StorageDashboard". Required. + :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName + :param access_bridge_update_parameters: The request body. Default value is None. + :type access_bridge_update_parameters: + ~azure.mgmt.networkcloud.types.AccessBridgePatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -5184,9 +5719,9 @@ def begin_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns BareMetalMachine. The BareMetalMachine is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] + :return: An instance of LROPoller that returns AccessBridge. The AccessBridge is compatible + with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.AccessBridge] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -5194,24 +5729,25 @@ def begin_update( def begin_update( self, resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_update_parameters: Optional[IO[bytes]] = None, + access_bridge_name: Union[str, _models.AccessBridgeAllowedName], + access_bridge_update_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.BareMetalMachine]: - """Patch properties of the provided bare metal machine, or update tags associated with the bare - metal machine. Properties and tag updates can be done independently. + ) -> LROPoller[_models.AccessBridge]: + """Update properties of the provided access bridge, or update tags associated with the access + bridge. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_update_parameters: The request body. Default value is None. - :type bare_metal_machine_update_parameters: IO[bytes] + :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", + "PrivateVault", and "StorageDashboard". Required. + :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName + :param access_bridge_update_parameters: The request body. Default value is None. + :type access_bridge_update_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -5220,62 +5756,79 @@ def begin_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns BareMetalMachine. The BareMetalMachine is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] + :return: An instance of LROPoller that returns AccessBridge. The AccessBridge is compatible + with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.AccessBridge] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "access_bridge_name", + "content_type", + "accept", + "etag", + "match_condition", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) def begin_update( self, resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_update_parameters: Optional[ - Union[_models.BareMetalMachinePatchParameters, _types.BareMetalMachinePatchParameters, IO[bytes]] + access_bridge_name: Union[str, _models.AccessBridgeAllowedName], + access_bridge_update_parameters: Optional[ + Union[_models.AccessBridgePatchParameters, _types.AccessBridgePatchParameters, IO[bytes]] ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.BareMetalMachine]: - """Patch properties of the provided bare metal machine, or update tags associated with the bare - metal machine. Properties and tag updates can be done independently. + ) -> LROPoller[_models.AccessBridge]: + """Update properties of the provided access bridge, or update tags associated with the access + bridge. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_update_parameters: The request body. Is either a - BareMetalMachinePatchParameters type or a IO[bytes] type. Default value is None. - :type bare_metal_machine_update_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachinePatchParameters or - ~azure.mgmt.networkcloud.types.BareMetalMachinePatchParameters or IO[bytes] + :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", + "PrivateVault", and "StorageDashboard". Required. + :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName + :param access_bridge_update_parameters: The request body. Is either a + AccessBridgePatchParameters type or a IO[bytes] type. Default value is None. + :type access_bridge_update_parameters: + ~azure.mgmt.networkcloud.models.AccessBridgePatchParameters or + ~azure.mgmt.networkcloud.types.AccessBridgePatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns BareMetalMachine. The BareMetalMachine is - compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] + :return: An instance of LROPoller that returns AccessBridge. The AccessBridge is compatible + with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.AccessBridge] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if bare_metal_machine_update_parameters else None - cls: ClsType[_models.BareMetalMachine] = kwargs.pop("cls", None) + content_type = content_type if access_bridge_update_parameters else None + cls: ClsType[_models.AccessBridge] = 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._update_initial( resource_group_name=resource_group_name, - bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_update_parameters=bare_metal_machine_update_parameters, + access_bridge_name=access_bridge_name, + access_bridge_update_parameters=access_bridge_update_parameters, etag=etag, match_condition=match_condition, content_type=content_type, @@ -5289,7 +5842,7 @@ def begin_update( def get_long_running_output(pipeline_response): response = pipeline_response.http_response - deserialized = _deserialize(_models.BareMetalMachine, response.json()) + deserialized = _deserialize(_models.AccessBridge, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized @@ -5307,20 +5860,34 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return LROPoller[_models.BareMetalMachine].from_continuation_token( + return LROPoller[_models.AccessBridge].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return LROPoller[_models.BareMetalMachine]( + return LROPoller[_models.AccessBridge]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "access_bridge_name", + "etag", + "match_condition", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) def _delete_initial( self, resource_group_name: str, - bare_metal_machine_name: str, + access_bridge_name: Union[str, _models.AccessBridgeAllowedName], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -5345,9 +5912,9 @@ def _delete_initial( cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - _request = build_bare_metal_machines_delete_request( + _request = build_access_bridges_delete_request( resource_group_name=resource_group_name, - bare_metal_machine_name=bare_metal_machine_name, + access_bridge_name=access_bridge_name, subscription_id=self._config.subscription_id, etag=etag, match_condition=match_condition, @@ -5392,23 +5959,37 @@ def _delete_initial( return deserialized # type: ignore @distributed_trace + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "access_bridge_name", + "etag", + "match_condition", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) def begin_delete( self, resource_group_name: str, - bare_metal_machine_name: str, + access_bridge_name: Union[str, _models.AccessBridgeAllowedName], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Delete the provided bare metal machine. All customer initiated requests will be rejected as the - life cycle of this resource is managed by the system. + """Delete the specified access bridge. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str + :param access_bridge_name: The name of the access bridge. Known values are: "Bastion", + "PrivateVault", and "StorageDashboard". Required. + :type access_bridge_name: str or ~azure.mgmt.networkcloud.models.AccessBridgeAllowedName :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -5429,7 +6010,7 @@ def begin_delete( if cont_token is None: raw_result = self._delete_initial( resource_group_name=resource_group_name, - bare_metal_machine_name=bare_metal_machine_name, + access_bridge_name=access_bridge_name, etag=etag, match_condition=match_condition, cls=lambda x, y, z: x, @@ -5474,10 +6055,24 @@ def get_long_running_output(pipeline_response): ) @distributed_trace + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "top", + "skip_token", + "accept", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) def list_by_resource_group( self, resource_group_name: str, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> ItemPaged["_models.BareMetalMachine"]: - """Get a list of bare metal machines in the provided resource group. + ) -> ItemPaged["_models.AccessBridge"]: + """Get a list of access bridges in the provided resource group. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. @@ -5489,14 +6084,14 @@ def list_by_resource_group( listing resources from. This is used for paging through large result sets. Default value is None. :paramtype skip_token: str - :return: An iterator like instance of BareMetalMachine - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.BareMetalMachine] + :return: An iterator like instance of AccessBridge + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.AccessBridge] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.BareMetalMachine]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.AccessBridge]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -5509,7 +6104,7 @@ def list_by_resource_group( def prepare_request(next_link=None): if not next_link: - _request = build_bare_metal_machines_list_by_resource_group_request( + _request = build_access_bridges_list_by_resource_group_request( resource_group_name=resource_group_name, subscription_id=self._config.subscription_id, top=top, @@ -5553,7 +6148,7 @@ def prepare_request(next_link=None): def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.BareMetalMachine], + List[_models.AccessBridge], deserialized.get("value", []), ) if cls: @@ -5582,10 +6177,15 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) @distributed_trace + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={"2026-01-01-preview": ["api_version", "subscription_id", "top", "skip_token", "accept"]}, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) def list_by_subscription( self, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> ItemPaged["_models.BareMetalMachine"]: - """Get a list of bare metal machines in the provided subscription. + ) -> ItemPaged["_models.AccessBridge"]: + """Get a list of access bridges in the provided subscription. :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. Default value is None. @@ -5594,14 +6194,14 @@ def list_by_subscription( listing resources from. This is used for paging through large result sets. Default value is None. :paramtype skip_token: str - :return: An iterator like instance of BareMetalMachine - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.BareMetalMachine] + :return: An iterator like instance of AccessBridge + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.AccessBridge] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.BareMetalMachine]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.AccessBridge]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -5614,7 +6214,7 @@ def list_by_subscription( def prepare_request(next_link=None): if not next_link: - _request = build_bare_metal_machines_list_by_subscription_request( + _request = build_access_bridges_list_by_subscription_request( subscription_id=self._config.subscription_id, top=top, skip_token=skip_token, @@ -5657,7 +6257,7 @@ def prepare_request(next_link=None): def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.BareMetalMachine], + List[_models.AccessBridge], deserialized.get("value", []), ) if cls: @@ -5685,44 +6285,137 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) - def _cordon_initial( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_cordon_parameters: Optional[ - Union[_models.BareMetalMachineCordonParameters, _types.BareMetalMachineCordonParameters, IO[bytes]] - ] = None, - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - error_map.update(kwargs.pop("error_map", {}) or {}) + +class BareMetalMachinesOperations: # pylint: disable=too-many-public-methods + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.networkcloud.NetworkCloudMgmtClient`'s + :attr:`bare_metal_machines` attribute. + """ + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: NetworkCloudMgmtClientConfiguration = 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 get(self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any) -> _models.BareMetalMachine: + """Get properties of the provided bare metal machine. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :return: BareMetalMachine. The BareMetalMachine is compatible with MutableMapping + :rtype: ~azure.mgmt.networkcloud.models.BareMetalMachine + :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 = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.BareMetalMachine] = kwargs.pop("cls", None) + + _request = build_bare_metal_machines_get_request( + resource_group_name=resource_group_name, + bare_metal_machine_name=bare_metal_machine_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.BareMetalMachine, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + def _create_or_update_initial( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_parameters: Union[_models.BareMetalMachine, _types.BareMetalMachine, IO[bytes]], + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if bare_metal_machine_cordon_parameters else None cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" if bare_metal_machine_cordon_parameters else None + content_type = content_type or "application/json" _content = None - if isinstance(bare_metal_machine_cordon_parameters, (IOBase, bytes)): - _content = bare_metal_machine_cordon_parameters + if isinstance(bare_metal_machine_parameters, (IOBase, bytes)): + _content = bare_metal_machine_parameters else: - if bare_metal_machine_cordon_parameters is not None: - _content = json.dumps(bare_metal_machine_cordon_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - else: - _content = None + _content = json.dumps(bare_metal_machine_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_bare_metal_machines_cordon_request( + _request = build_bare_metal_machines_create_or_update_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, content_type=content_type, api_version=self._config.api_version, content=_content, @@ -5742,7 +6435,7 @@ def _cordon_initial( response = pipeline_response.http_response - if response.status_code not in [202]: + if response.status_code not in [200, 201]: try: response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -5755,8 +6448,10 @@ def _cordon_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + if response.status_code == 201: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -5766,132 +6461,165 @@ def _cordon_initial( return deserialized # type: ignore @overload - def begin_cordon( + def begin_create_or_update( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_cordon_parameters: Optional[_models.BareMetalMachineCordonParameters] = None, + bare_metal_machine_parameters: _models.BareMetalMachine, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Cordon the provided bare metal machine's Kubernetes node. + ) -> LROPoller[_models.BareMetalMachine]: + """Create a new bare metal machine or update the properties of the existing one. All customer + initiated requests will be rejected as the life cycle of this resource is managed by the + system. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_cordon_parameters: The request body. Default value is None. - :type bare_metal_machine_cordon_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineCordonParameters + :param bare_metal_machine_parameters: The request body. Required. + :type bare_metal_machine_parameters: ~azure.mgmt.networkcloud.models.BareMetalMachine :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns BareMetalMachine. The BareMetalMachine is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_cordon( + def begin_create_or_update( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_cordon_parameters: Optional[_types.BareMetalMachineCordonParameters] = None, + bare_metal_machine_parameters: _types.BareMetalMachine, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Cordon the provided bare metal machine's Kubernetes node. + ) -> LROPoller[_models.BareMetalMachine]: + """Create a new bare metal machine or update the properties of the existing one. All customer + initiated requests will be rejected as the life cycle of this resource is managed by the + system. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_cordon_parameters: The request body. Default value is None. - :type bare_metal_machine_cordon_parameters: - ~azure.mgmt.networkcloud.types.BareMetalMachineCordonParameters + :param bare_metal_machine_parameters: The request body. Required. + :type bare_metal_machine_parameters: ~azure.mgmt.networkcloud.types.BareMetalMachine :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns BareMetalMachine. The BareMetalMachine is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_cordon( + def begin_create_or_update( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_cordon_parameters: Optional[IO[bytes]] = None, + bare_metal_machine_parameters: IO[bytes], *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Cordon the provided bare metal machine's Kubernetes node. + ) -> LROPoller[_models.BareMetalMachine]: + """Create a new bare metal machine or update the properties of the existing one. All customer + initiated requests will be rejected as the life cycle of this resource is managed by the + system. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_cordon_parameters: The request body. Default value is None. - :type bare_metal_machine_cordon_parameters: IO[bytes] + :param bare_metal_machine_parameters: The request body. Required. + :type bare_metal_machine_parameters: IO[bytes] :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns BareMetalMachine. The BareMetalMachine is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace - def begin_cordon( + def begin_create_or_update( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_cordon_parameters: Optional[ - Union[_models.BareMetalMachineCordonParameters, _types.BareMetalMachineCordonParameters, IO[bytes]] - ] = None, + bare_metal_machine_parameters: Union[_models.BareMetalMachine, _types.BareMetalMachine, IO[bytes]], + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Cordon the provided bare metal machine's Kubernetes node. + ) -> LROPoller[_models.BareMetalMachine]: + """Create a new bare metal machine or update the properties of the existing one. All customer + initiated requests will be rejected as the life cycle of this resource is managed by the + system. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_cordon_parameters: The request body. Is either a - BareMetalMachineCordonParameters type or a IO[bytes] type. Default value is None. - :type bare_metal_machine_cordon_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineCordonParameters or - ~azure.mgmt.networkcloud.types.BareMetalMachineCordonParameters or IO[bytes] - :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :param bare_metal_machine_parameters: The request body. Is either a BareMetalMachine type or a + IO[bytes] type. Required. + :type bare_metal_machine_parameters: ~azure.mgmt.networkcloud.models.BareMetalMachine or + ~azure.mgmt.networkcloud.types.BareMetalMachine or IO[bytes] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns BareMetalMachine. The BareMetalMachine is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if bare_metal_machine_cordon_parameters else None - cls: ClsType[_models.OperationStatusResult] = kwargs.pop("cls", None) + cls: ClsType[_models.BareMetalMachine] = 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._cordon_initial( + raw_result = self._create_or_update_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_cordon_parameters=bare_metal_machine_cordon_parameters, + bare_metal_machine_parameters=bare_metal_machine_parameters, + etag=etag, + match_condition=match_condition, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -5902,14 +6630,10 @@ def begin_cordon( kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - response_headers = {} response = pipeline_response.http_response - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = _deserialize(_models.OperationStatusResult, response.json()) + deserialized = _deserialize(_models.BareMetalMachine, response.json()) if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore + return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized path_format_arguments = { @@ -5925,23 +6649,26 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return LROPoller[_models.OperationStatusResult].from_continuation_token( + return LROPoller[_models.BareMetalMachine].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return LROPoller[_models.OperationStatusResult]( + return LROPoller[_models.BareMetalMachine]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - def _power_off_initial( + def _update_initial( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_power_off_parameters: Optional[ - Union[_models.BareMetalMachinePowerOffParameters, _types.BareMetalMachinePowerOffParameters, IO[bytes]] + bare_metal_machine_update_parameters: Optional[ + Union[_models.BareMetalMachinePatchParameters, _types.BareMetalMachinePatchParameters, IO[bytes]] ] = None, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -5950,29 +6677,37 @@ def _power_off_initial( 409: ResourceExistsError, 304: ResourceNotModifiedError, } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if bare_metal_machine_power_off_parameters else None + content_type = content_type if bare_metal_machine_update_parameters else None cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" if bare_metal_machine_power_off_parameters else None + content_type = content_type or "application/json" if bare_metal_machine_update_parameters else None _content = None - if isinstance(bare_metal_machine_power_off_parameters, (IOBase, bytes)): - _content = bare_metal_machine_power_off_parameters + if isinstance(bare_metal_machine_update_parameters, (IOBase, bytes)): + _content = bare_metal_machine_update_parameters else: - if bare_metal_machine_power_off_parameters is not None: - _content = json.dumps(bare_metal_machine_power_off_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + if bare_metal_machine_update_parameters is not None: + _content = json.dumps(bare_metal_machine_update_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore else: _content = None - _request = build_bare_metal_machines_power_off_request( + _request = build_bare_metal_machines_update_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, content_type=content_type, api_version=self._config.api_version, content=_content, @@ -5992,7 +6727,7 @@ def _power_off_initial( response = pipeline_response.http_response - if response.status_code not in [202]: + if response.status_code not in [200, 202]: try: response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -6005,8 +6740,11 @@ def _power_off_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -6016,132 +6754,167 @@ def _power_off_initial( return deserialized # type: ignore @overload - def begin_power_off( + def begin_update( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_power_off_parameters: Optional[_models.BareMetalMachinePowerOffParameters] = None, + bare_metal_machine_update_parameters: Optional[_models.BareMetalMachinePatchParameters] = None, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Power off the provided bare metal machine. + ) -> LROPoller[_models.BareMetalMachine]: + """Patch properties of the provided bare metal machine, or update tags associated with the bare + metal machine. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_power_off_parameters: The request body. Default value is None. - :type bare_metal_machine_power_off_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachinePowerOffParameters + :param bare_metal_machine_update_parameters: The request body. Default value is None. + :type bare_metal_machine_update_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachinePatchParameters :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns BareMetalMachine. The BareMetalMachine is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_power_off( + def begin_update( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_power_off_parameters: Optional[_types.BareMetalMachinePowerOffParameters] = None, + bare_metal_machine_update_parameters: Optional[_types.BareMetalMachinePatchParameters] = None, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Power off the provided bare metal machine. + ) -> LROPoller[_models.BareMetalMachine]: + """Patch properties of the provided bare metal machine, or update tags associated with the bare + metal machine. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_power_off_parameters: The request body. Default value is None. - :type bare_metal_machine_power_off_parameters: - ~azure.mgmt.networkcloud.types.BareMetalMachinePowerOffParameters + :param bare_metal_machine_update_parameters: The request body. Default value is None. + :type bare_metal_machine_update_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachinePatchParameters :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns BareMetalMachine. The BareMetalMachine is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_power_off( + def begin_update( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_power_off_parameters: Optional[IO[bytes]] = None, + bare_metal_machine_update_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Power off the provided bare metal machine. + ) -> LROPoller[_models.BareMetalMachine]: + """Patch properties of the provided bare metal machine, or update tags associated with the bare + metal machine. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_power_off_parameters: The request body. Default value is None. - :type bare_metal_machine_power_off_parameters: IO[bytes] + :param bare_metal_machine_update_parameters: The request body. Default value is None. + :type bare_metal_machine_update_parameters: IO[bytes] :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns BareMetalMachine. The BareMetalMachine is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace - def begin_power_off( + def begin_update( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_power_off_parameters: Optional[ - Union[_models.BareMetalMachinePowerOffParameters, _types.BareMetalMachinePowerOffParameters, IO[bytes]] + bare_metal_machine_update_parameters: Optional[ + Union[_models.BareMetalMachinePatchParameters, _types.BareMetalMachinePatchParameters, IO[bytes]] ] = None, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Power off the provided bare metal machine. + ) -> LROPoller[_models.BareMetalMachine]: + """Patch properties of the provided bare metal machine, or update tags associated with the bare + metal machine. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_power_off_parameters: The request body. Is either a - BareMetalMachinePowerOffParameters type or a IO[bytes] type. Default value is None. - :type bare_metal_machine_power_off_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachinePowerOffParameters or - ~azure.mgmt.networkcloud.types.BareMetalMachinePowerOffParameters or IO[bytes] - :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :param bare_metal_machine_update_parameters: The request body. Is either a + BareMetalMachinePatchParameters type or a IO[bytes] type. Default value is None. + :type bare_metal_machine_update_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachinePatchParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachinePatchParameters or IO[bytes] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns BareMetalMachine. The BareMetalMachine is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.BareMetalMachine] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if bare_metal_machine_power_off_parameters else None - cls: ClsType[_models.OperationStatusResult] = kwargs.pop("cls", None) + content_type = content_type if bare_metal_machine_update_parameters else None + cls: ClsType[_models.BareMetalMachine] = 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._power_off_initial( + raw_result = self._update_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_power_off_parameters=bare_metal_machine_power_off_parameters, + bare_metal_machine_update_parameters=bare_metal_machine_update_parameters, + etag=etag, + match_condition=match_condition, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -6152,14 +6925,10 @@ def begin_power_off( kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - response_headers = {} response = pipeline_response.http_response - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = _deserialize(_models.OperationStatusResult, response.json()) + deserialized = _deserialize(_models.BareMetalMachine, response.json()) if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore + return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized path_format_arguments = { @@ -6175,18 +6944,24 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return LROPoller[_models.OperationStatusResult].from_continuation_token( + return LROPoller[_models.BareMetalMachine].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return LROPoller[_models.OperationStatusResult]( + return LROPoller[_models.BareMetalMachine]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - def _reimage_initial( - self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any + def _delete_initial( + self, + resource_group_name: str, + bare_metal_machine_name: str, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -6194,6 +6969,12 @@ def _reimage_initial( 409: ResourceExistsError, 304: ResourceNotModifiedError, } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} @@ -6201,10 +6982,12 @@ def _reimage_initial( cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - _request = build_bare_metal_machines_reimage_request( + _request = build_bare_metal_machines_delete_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, api_version=self._config.api_version, headers=_headers, params=_params, @@ -6222,7 +7005,7 @@ def _reimage_initial( response = pipeline_response.http_response - if response.status_code not in [202]: + if response.status_code not in [202, 204]: try: response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -6235,8 +7018,8 @@ def _reimage_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + if response.status_code == 202: + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -6246,16 +7029,28 @@ def _reimage_initial( return deserialized # type: ignore @distributed_trace - def begin_reimage( - self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any + def begin_delete( + self, + resource_group_name: str, + bare_metal_machine_name: str, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Reimage the provided bare metal machine. + """Delete the provided bare metal machine. All customer initiated requests will be rejected as the + life cycle of this resource is managed by the system. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] @@ -6269,9 +7064,11 @@ def begin_reimage( 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._reimage_initial( + raw_result = self._delete_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, + etag=etag, + match_condition=match_condition, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -6284,7 +7081,6 @@ def get_long_running_output(pipeline_response): response_headers = {} response = pipeline_response.http_response response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) deserialized = _deserialize(_models.OperationStatusResult, response.json()) if cls: @@ -6314,16 +7110,228 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - def _replace_initial( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_replace_parameters: Optional[ - Union[_models.BareMetalMachineReplaceParameters, _types.BareMetalMachineReplaceParameters, IO[bytes]] - ] = None, - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { + @distributed_trace + def list_by_resource_group( + self, resource_group_name: str, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any + ) -> ItemPaged["_models.BareMetalMachine"]: + """Get a list of bare metal machines in the provided resource group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. + Default value is None. + :paramtype top: int + :keyword skip_token: The opaque token that the server returns to indicate where to continue + listing resources from. This is used for paging through large result sets. Default value is + None. + :paramtype skip_token: str + :return: An iterator like instance of BareMetalMachine + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.BareMetalMachine] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.BareMetalMachine]] = 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_bare_metal_machines_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + top=top, + skip_token=skip_token, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + 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), + headers=_headers, + params=_next_request_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.BareMetalMachine], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + @distributed_trace + def list_by_subscription( + self, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any + ) -> ItemPaged["_models.BareMetalMachine"]: + """Get a list of bare metal machines in the provided subscription. + + :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. + Default value is None. + :paramtype top: int + :keyword skip_token: The opaque token that the server returns to indicate where to continue + listing resources from. This is used for paging through large result sets. Default value is + None. + :paramtype skip_token: str + :return: An iterator like instance of BareMetalMachine + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.BareMetalMachine] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.BareMetalMachine]] = 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_bare_metal_machines_list_by_subscription_request( + subscription_id=self._config.subscription_id, + top=top, + skip_token=skip_token, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + 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), + headers=_headers, + params=_next_request_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.BareMetalMachine], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + def _cordon_initial( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_cordon_parameters: Optional[ + Union[_models.BareMetalMachineCordonParameters, _types.BareMetalMachineCordonParameters, IO[bytes]] + ] = None, + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, @@ -6335,20 +7343,20 @@ def _replace_initial( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if bare_metal_machine_replace_parameters else None + content_type = content_type if bare_metal_machine_cordon_parameters else None cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" if bare_metal_machine_replace_parameters else None + content_type = content_type or "application/json" if bare_metal_machine_cordon_parameters else None _content = None - if isinstance(bare_metal_machine_replace_parameters, (IOBase, bytes)): - _content = bare_metal_machine_replace_parameters + if isinstance(bare_metal_machine_cordon_parameters, (IOBase, bytes)): + _content = bare_metal_machine_cordon_parameters else: - if bare_metal_machine_replace_parameters is not None: - _content = json.dumps(bare_metal_machine_replace_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + if bare_metal_machine_cordon_parameters is not None: + _content = json.dumps(bare_metal_machine_cordon_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore else: _content = None - _request = build_bare_metal_machines_replace_request( + _request = build_bare_metal_machines_cordon_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, @@ -6395,25 +7403,25 @@ def _replace_initial( return deserialized # type: ignore @overload - def begin_replace( + def begin_cordon( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_replace_parameters: Optional[_models.BareMetalMachineReplaceParameters] = None, + bare_metal_machine_cordon_parameters: Optional[_models.BareMetalMachineCordonParameters] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Replace the provided bare metal machine. + """Cordon the provided bare metal machine's Kubernetes node. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_replace_parameters: The request body. Default value is None. - :type bare_metal_machine_replace_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineReplaceParameters + :param bare_metal_machine_cordon_parameters: The request body. Default value is None. + :type bare_metal_machine_cordon_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineCordonParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -6424,25 +7432,25 @@ def begin_replace( """ @overload - def begin_replace( + def begin_cordon( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_replace_parameters: Optional[_types.BareMetalMachineReplaceParameters] = None, + bare_metal_machine_cordon_parameters: Optional[_types.BareMetalMachineCordonParameters] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Replace the provided bare metal machine. + """Cordon the provided bare metal machine's Kubernetes node. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_replace_parameters: The request body. Default value is None. - :type bare_metal_machine_replace_parameters: - ~azure.mgmt.networkcloud.types.BareMetalMachineReplaceParameters + :param bare_metal_machine_cordon_parameters: The request body. Default value is None. + :type bare_metal_machine_cordon_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachineCordonParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -6453,24 +7461,24 @@ def begin_replace( """ @overload - def begin_replace( + def begin_cordon( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_replace_parameters: Optional[IO[bytes]] = None, + bare_metal_machine_cordon_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Replace the provided bare metal machine. + """Cordon the provided bare metal machine's Kubernetes node. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_replace_parameters: The request body. Default value is None. - :type bare_metal_machine_replace_parameters: IO[bytes] + :param bare_metal_machine_cordon_parameters: The request body. Default value is None. + :type bare_metal_machine_cordon_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -6481,27 +7489,27 @@ def begin_replace( """ @distributed_trace - def begin_replace( + def begin_cordon( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_replace_parameters: Optional[ - Union[_models.BareMetalMachineReplaceParameters, _types.BareMetalMachineReplaceParameters, IO[bytes]] + bare_metal_machine_cordon_parameters: Optional[ + Union[_models.BareMetalMachineCordonParameters, _types.BareMetalMachineCordonParameters, IO[bytes]] ] = None, **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Replace the provided bare metal machine. + """Cordon the provided bare metal machine's Kubernetes node. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_replace_parameters: The request body. Is either a - BareMetalMachineReplaceParameters type or a IO[bytes] type. Default value is None. - :type bare_metal_machine_replace_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineReplaceParameters or - ~azure.mgmt.networkcloud.types.BareMetalMachineReplaceParameters or IO[bytes] + :param bare_metal_machine_cordon_parameters: The request body. Is either a + BareMetalMachineCordonParameters type or a IO[bytes] type. Default value is None. + :type bare_metal_machine_cordon_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineCordonParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachineCordonParameters or IO[bytes] :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] @@ -6511,16 +7519,16 @@ def begin_replace( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if bare_metal_machine_replace_parameters else None + content_type = content_type if bare_metal_machine_cordon_parameters else None cls: ClsType[_models.OperationStatusResult] = 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._replace_initial( + raw_result = self._cordon_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_replace_parameters=bare_metal_machine_replace_parameters, + bare_metal_machine_cordon_parameters=bare_metal_machine_cordon_parameters, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -6564,8 +7572,14 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - def _restart_initial( - self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any + def _power_off_initial( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_power_off_parameters: Optional[ + Union[_models.BareMetalMachinePowerOffParameters, _types.BareMetalMachinePowerOffParameters, IO[bytes]] + ] = None, + **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -6575,16 +7589,30 @@ def _restart_initial( } error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = kwargs.pop("headers", {}) or {} + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if bare_metal_machine_power_off_parameters else None cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - _request = build_bare_metal_machines_restart_request( + content_type = content_type or "application/json" if bare_metal_machine_power_off_parameters else None + _content = None + if isinstance(bare_metal_machine_power_off_parameters, (IOBase, bytes)): + _content = bare_metal_machine_power_off_parameters + else: + if bare_metal_machine_power_off_parameters is not None: + _content = json.dumps(bare_metal_machine_power_off_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None + + _request = build_bare_metal_machines_power_off_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, + content_type=content_type, api_version=self._config.api_version, + content=_content, headers=_headers, params=_params, ) @@ -6624,33 +7652,134 @@ def _restart_initial( return deserialized # type: ignore + @overload + def begin_power_off( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_power_off_parameters: Optional[_models.BareMetalMachinePowerOffParameters] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Power off the provided bare metal machine. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_power_off_parameters: The request body. Default value is None. + :type bare_metal_machine_power_off_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachinePowerOffParameters + :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 OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_power_off( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_power_off_parameters: Optional[_types.BareMetalMachinePowerOffParameters] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Power off the provided bare metal machine. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_power_off_parameters: The request body. Default value is None. + :type bare_metal_machine_power_off_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachinePowerOffParameters + :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 OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_power_off( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_power_off_parameters: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Power off the provided bare metal machine. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_power_off_parameters: The request body. Default value is None. + :type bare_metal_machine_power_off_parameters: IO[bytes] + :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 OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + @distributed_trace - def begin_restart( - self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any + def begin_power_off( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_power_off_parameters: Optional[ + Union[_models.BareMetalMachinePowerOffParameters, _types.BareMetalMachinePowerOffParameters, IO[bytes]] + ] = None, + **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Restart the provided bare metal machine. + """Power off the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str + :param bare_metal_machine_power_off_parameters: The request body. Is either a + BareMetalMachinePowerOffParameters type or a IO[bytes] type. Default value is None. + :type bare_metal_machine_power_off_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachinePowerOffParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachinePowerOffParameters or IO[bytes] :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ - _headers = kwargs.pop("headers", {}) or {} + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if bare_metal_machine_power_off_parameters else None cls: ClsType[_models.OperationStatusResult] = 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._restart_initial( + raw_result = self._power_off_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, + bare_metal_machine_power_off_parameters=bare_metal_machine_power_off_parameters, + content_type=content_type, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -6693,13 +7822,26 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - def _run_command_initial( + @api_version_validation( + method_added_on="2026-05-01-preview", + params_added_on={ + "2026-05-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "bare_metal_machine_name", + "content_type", + ] + }, + api_versions_list=["2026-05-01-preview", "2026-07-01"], + ) + def _reimage_initial( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_command_parameters: Union[ - _models.BareMetalMachineRunCommandParameters, _types.BareMetalMachineRunCommandParameters, IO[bytes] - ], + body: Optional[ + Union[_models.BareMetalMachineReimageParameters, _types.BareMetalMachineReimageParameters, IO[bytes]] + ] = None, **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -6714,16 +7856,20 @@ def _run_command_initial( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if body else None cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" + content_type = content_type or "application/json" if body else None _content = None - if isinstance(bare_metal_machine_run_command_parameters, (IOBase, bytes)): - _content = bare_metal_machine_run_command_parameters + if isinstance(body, (IOBase, bytes)): + _content = body else: - _content = json.dumps(bare_metal_machine_run_command_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + if body is not None: + _content = json.dumps(body, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None - _request = build_bare_metal_machines_run_command_request( + _request = build_bare_metal_machines_reimage_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, @@ -6770,27 +7916,24 @@ def _run_command_initial( return deserialized # type: ignore @overload - def begin_run_command( + def begin_reimage( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_command_parameters: _models.BareMetalMachineRunCommandParameters, + body: Optional[_models.BareMetalMachineReimageParameters] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Run the command or the script on the provided bare metal machine. The URL to storage account - with the command execution results and the command exit code can be retrieved from the - operation status API once available. + """Reimage the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_command_parameters: The request body. Required. - :type bare_metal_machine_run_command_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineRunCommandParameters + :param body: The content of the action request. Default value is None. + :type body: ~azure.mgmt.networkcloud.models.BareMetalMachineReimageParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -6801,27 +7944,24 @@ def begin_run_command( """ @overload - def begin_run_command( + def begin_reimage( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_command_parameters: _types.BareMetalMachineRunCommandParameters, + body: Optional[_types.BareMetalMachineReimageParameters] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Run the command or the script on the provided bare metal machine. The URL to storage account - with the command execution results and the command exit code can be retrieved from the - operation status API once available. + """Reimage the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_command_parameters: The request body. Required. - :type bare_metal_machine_run_command_parameters: - ~azure.mgmt.networkcloud.types.BareMetalMachineRunCommandParameters + :param body: The content of the action request. Default value is None. + :type body: ~azure.mgmt.networkcloud.types.BareMetalMachineReimageParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -6832,26 +7972,24 @@ def begin_run_command( """ @overload - def begin_run_command( + def begin_reimage( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_command_parameters: IO[bytes], + body: Optional[IO[bytes]] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Run the command or the script on the provided bare metal machine. The URL to storage account - with the command execution results and the command exit code can be retrieved from the - operation status API once available. + """Reimage the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_command_parameters: The request body. Required. - :type bare_metal_machine_run_command_parameters: IO[bytes] + :param body: The content of the action request. Default value is None. + :type body: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -6862,29 +8000,39 @@ def begin_run_command( """ @distributed_trace - def begin_run_command( + @api_version_validation( + method_added_on="2026-05-01-preview", + params_added_on={ + "2026-05-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "bare_metal_machine_name", + "content_type", + ] + }, + api_versions_list=["2026-05-01-preview", "2026-07-01"], + ) + def begin_reimage( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_command_parameters: Union[ - _models.BareMetalMachineRunCommandParameters, _types.BareMetalMachineRunCommandParameters, IO[bytes] - ], + body: Optional[ + Union[_models.BareMetalMachineReimageParameters, _types.BareMetalMachineReimageParameters, IO[bytes]] + ] = None, **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Run the command or the script on the provided bare metal machine. The URL to storage account - with the command execution results and the command exit code can be retrieved from the - operation status API once available. + """Reimage the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_command_parameters: The request body. Is either a - BareMetalMachineRunCommandParameters type or a IO[bytes] type. Required. - :type bare_metal_machine_run_command_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineRunCommandParameters or - ~azure.mgmt.networkcloud.types.BareMetalMachineRunCommandParameters or IO[bytes] + :param body: The content of the action request. Is either a BareMetalMachineReimageParameters + type or a IO[bytes] type. Default value is None. + :type body: ~azure.mgmt.networkcloud.models.BareMetalMachineReimageParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachineReimageParameters or IO[bytes] :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] @@ -6894,15 +8042,16 @@ def begin_run_command( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if body else None cls: ClsType[_models.OperationStatusResult] = 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._run_command_initial( + raw_result = self._reimage_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_run_command_parameters=bare_metal_machine_run_command_parameters, + body=body, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -6946,15 +8095,13 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - def _run_data_extracts_initial( + def _replace_initial( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_parameters: Union[ - _models.BareMetalMachineRunDataExtractsParameters, - _types.BareMetalMachineRunDataExtractsParameters, - IO[bytes], - ], + bare_metal_machine_replace_parameters: Optional[ + Union[_models.BareMetalMachineReplaceParameters, _types.BareMetalMachineReplaceParameters, IO[bytes]] + ] = None, **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -6969,16 +8116,20 @@ def _run_data_extracts_initial( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if bare_metal_machine_replace_parameters else None cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" + content_type = content_type or "application/json" if bare_metal_machine_replace_parameters else None _content = None - if isinstance(bare_metal_machine_run_data_extracts_parameters, (IOBase, bytes)): - _content = bare_metal_machine_run_data_extracts_parameters + if isinstance(bare_metal_machine_replace_parameters, (IOBase, bytes)): + _content = bare_metal_machine_replace_parameters else: - _content = json.dumps(bare_metal_machine_run_data_extracts_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + if bare_metal_machine_replace_parameters is not None: + _content = json.dumps(bare_metal_machine_replace_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None - _request = build_bare_metal_machines_run_data_extracts_request( + _request = build_bare_metal_machines_replace_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, @@ -7025,27 +8176,25 @@ def _run_data_extracts_initial( return deserialized # type: ignore @overload - def begin_run_data_extracts( + def begin_replace( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_parameters: _models.BareMetalMachineRunDataExtractsParameters, + bare_metal_machine_replace_parameters: Optional[_models.BareMetalMachineReplaceParameters] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Run one or more data extractions on the provided bare metal machine. The URL to storage account - with the command execution results and the command exit code can be retrieved from the - operation status API once available. + """Replace the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_data_extracts_parameters: The request body. Required. - :type bare_metal_machine_run_data_extracts_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters + :param bare_metal_machine_replace_parameters: The request body. Default value is None. + :type bare_metal_machine_replace_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineReplaceParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -7056,27 +8205,25 @@ def begin_run_data_extracts( """ @overload - def begin_run_data_extracts( + def begin_replace( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_parameters: _types.BareMetalMachineRunDataExtractsParameters, + bare_metal_machine_replace_parameters: Optional[_types.BareMetalMachineReplaceParameters] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Run one or more data extractions on the provided bare metal machine. The URL to storage account - with the command execution results and the command exit code can be retrieved from the - operation status API once available. + """Replace the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_data_extracts_parameters: The request body. Required. - :type bare_metal_machine_run_data_extracts_parameters: - ~azure.mgmt.networkcloud.types.BareMetalMachineRunDataExtractsParameters + :param bare_metal_machine_replace_parameters: The request body. Default value is None. + :type bare_metal_machine_replace_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachineReplaceParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -7087,26 +8234,24 @@ def begin_run_data_extracts( """ @overload - def begin_run_data_extracts( + def begin_replace( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_parameters: IO[bytes], + bare_metal_machine_replace_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Run one or more data extractions on the provided bare metal machine. The URL to storage account - with the command execution results and the command exit code can be retrieved from the - operation status API once available. + """Replace the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_data_extracts_parameters: The request body. Required. - :type bare_metal_machine_run_data_extracts_parameters: IO[bytes] + :param bare_metal_machine_replace_parameters: The request body. Default value is None. + :type bare_metal_machine_replace_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -7117,31 +8262,27 @@ def begin_run_data_extracts( """ @distributed_trace - def begin_run_data_extracts( + def begin_replace( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_parameters: Union[ - _models.BareMetalMachineRunDataExtractsParameters, - _types.BareMetalMachineRunDataExtractsParameters, - IO[bytes], - ], + bare_metal_machine_replace_parameters: Optional[ + Union[_models.BareMetalMachineReplaceParameters, _types.BareMetalMachineReplaceParameters, IO[bytes]] + ] = None, **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Run one or more data extractions on the provided bare metal machine. The URL to storage account - with the command execution results and the command exit code can be retrieved from the - operation status API once available. + """Replace the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_data_extracts_parameters: The request body. Is either a - BareMetalMachineRunDataExtractsParameters type or a IO[bytes] type. Required. - :type bare_metal_machine_run_data_extracts_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters or - ~azure.mgmt.networkcloud.types.BareMetalMachineRunDataExtractsParameters or IO[bytes] + :param bare_metal_machine_replace_parameters: The request body. Is either a + BareMetalMachineReplaceParameters type or a IO[bytes] type. Default value is None. + :type bare_metal_machine_replace_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineReplaceParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachineReplaceParameters or IO[bytes] :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] @@ -7151,15 +8292,16 @@ def begin_run_data_extracts( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if bare_metal_machine_replace_parameters else None cls: ClsType[_models.OperationStatusResult] = 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._run_data_extracts_initial( + raw_result = self._replace_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_run_data_extracts_parameters=bare_metal_machine_run_data_extracts_parameters, + bare_metal_machine_replace_parameters=bare_metal_machine_replace_parameters, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -7203,16 +8345,8 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - def _run_data_extracts_restricted_initial( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_restricted_parameters: Union[ - _models.BareMetalMachineRunDataExtractsParameters, - _types.BareMetalMachineRunDataExtractsParameters, - IO[bytes], - ], - **kwargs: Any + def _restart_initial( + self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -7222,26 +8356,16 @@ def _run_data_extracts_restricted_initial( } error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - 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" - _content = None - if isinstance(bare_metal_machine_run_data_extracts_restricted_parameters, (IOBase, bytes)): - _content = bare_metal_machine_run_data_extracts_restricted_parameters - else: - _content = json.dumps(bare_metal_machine_run_data_extracts_restricted_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_bare_metal_machines_run_data_extracts_restricted_request( + _request = build_bare_metal_machines_restart_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, - content_type=content_type, api_version=self._config.api_version, - content=_content, headers=_headers, params=_params, ) @@ -7281,143 +8405,33 @@ def _run_data_extracts_restricted_initial( return deserialized # type: ignore - @overload - def begin_run_data_extracts_restricted( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_restricted_parameters: _models.BareMetalMachineRunDataExtractsParameters, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Run one or more restricted data extractions on the provided bare metal machine. The URL to - storage account with the command execution results and the command exit code can be retrieved - from the operation status API once available. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_run_data_extracts_restricted_parameters: The request body. Required. - :type bare_metal_machine_run_data_extracts_restricted_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters - :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_run_data_extracts_restricted( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_restricted_parameters: _types.BareMetalMachineRunDataExtractsParameters, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Run one or more restricted data extractions on the provided bare metal machine. The URL to - storage account with the command execution results and the command exit code can be retrieved - from the operation status API once available. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_run_data_extracts_restricted_parameters: The request body. Required. - :type bare_metal_machine_run_data_extracts_restricted_parameters: - ~azure.mgmt.networkcloud.types.BareMetalMachineRunDataExtractsParameters - :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_run_data_extracts_restricted( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_restricted_parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Run one or more restricted data extractions on the provided bare metal machine. The URL to - storage account with the command execution results and the command exit code can be retrieved - from the operation status API once available. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param bare_metal_machine_name: The name of the bare metal machine. Required. - :type bare_metal_machine_name: str - :param bare_metal_machine_run_data_extracts_restricted_parameters: The request body. Required. - :type bare_metal_machine_run_data_extracts_restricted_parameters: IO[bytes] - :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - @distributed_trace - def begin_run_data_extracts_restricted( - self, - resource_group_name: str, - bare_metal_machine_name: str, - bare_metal_machine_run_data_extracts_restricted_parameters: Union[ - _models.BareMetalMachineRunDataExtractsParameters, - _types.BareMetalMachineRunDataExtractsParameters, - IO[bytes], - ], - **kwargs: Any + def begin_restart( + self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Run one or more restricted data extractions on the provided bare metal machine. The URL to - storage account with the command execution results and the command exit code can be retrieved - from the operation status API once available. + """Restart the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_data_extracts_restricted_parameters: The request body. Is either - a BareMetalMachineRunDataExtractsParameters type or a IO[bytes] type. Required. - :type bare_metal_machine_run_data_extracts_restricted_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters or - ~azure.mgmt.networkcloud.types.BareMetalMachineRunDataExtractsParameters or IO[bytes] :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.OperationStatusResult] = 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._run_data_extracts_restricted_initial( + raw_result = self._restart_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_run_data_extracts_restricted_parameters=bare_metal_machine_run_data_extracts_restricted_parameters, - content_type=content_type, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -7460,14 +8474,12 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - def _run_read_commands_initial( + def _run_command_initial( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_read_commands_parameters: Union[ - _models.BareMetalMachineRunReadCommandsParameters, - _types.BareMetalMachineRunReadCommandsParameters, - IO[bytes], + bare_metal_machine_run_command_parameters: Union[ + _models.BareMetalMachineRunCommandParameters, _types.BareMetalMachineRunCommandParameters, IO[bytes] ], **kwargs: Any ) -> Iterator[bytes]: @@ -7487,12 +8499,12 @@ def _run_read_commands_initial( content_type = content_type or "application/json" _content = None - if isinstance(bare_metal_machine_run_read_commands_parameters, (IOBase, bytes)): - _content = bare_metal_machine_run_read_commands_parameters + if isinstance(bare_metal_machine_run_command_parameters, (IOBase, bytes)): + _content = bare_metal_machine_run_command_parameters else: - _content = json.dumps(bare_metal_machine_run_read_commands_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + _content = json.dumps(bare_metal_machine_run_command_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_bare_metal_machines_run_read_commands_request( + _request = build_bare_metal_machines_run_command_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, @@ -7539,17 +8551,17 @@ def _run_read_commands_initial( return deserialized # type: ignore @overload - def begin_run_read_commands( + def begin_run_command( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_read_commands_parameters: _models.BareMetalMachineRunReadCommandsParameters, + bare_metal_machine_run_command_parameters: _models.BareMetalMachineRunCommandParameters, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Run one or more read-only commands on the provided bare metal machine. The URL to storage - account with the command execution results and the command exit code can be retrieved from the + """Run the command or the script on the provided bare metal machine. The URL to storage account + with the command execution results and the command exit code can be retrieved from the operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -7557,9 +8569,9 @@ def begin_run_read_commands( :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_read_commands_parameters: The request body. Required. - :type bare_metal_machine_run_read_commands_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineRunReadCommandsParameters + :param bare_metal_machine_run_command_parameters: The request body. Required. + :type bare_metal_machine_run_command_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineRunCommandParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -7570,17 +8582,17 @@ def begin_run_read_commands( """ @overload - def begin_run_read_commands( + def begin_run_command( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_read_commands_parameters: _types.BareMetalMachineRunReadCommandsParameters, + bare_metal_machine_run_command_parameters: _types.BareMetalMachineRunCommandParameters, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Run one or more read-only commands on the provided bare metal machine. The URL to storage - account with the command execution results and the command exit code can be retrieved from the + """Run the command or the script on the provided bare metal machine. The URL to storage account + with the command execution results and the command exit code can be retrieved from the operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -7588,9 +8600,9 @@ def begin_run_read_commands( :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_read_commands_parameters: The request body. Required. - :type bare_metal_machine_run_read_commands_parameters: - ~azure.mgmt.networkcloud.types.BareMetalMachineRunReadCommandsParameters + :param bare_metal_machine_run_command_parameters: The request body. Required. + :type bare_metal_machine_run_command_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachineRunCommandParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -7601,17 +8613,17 @@ def begin_run_read_commands( """ @overload - def begin_run_read_commands( + def begin_run_command( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_read_commands_parameters: IO[bytes], + bare_metal_machine_run_command_parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Run one or more read-only commands on the provided bare metal machine. The URL to storage - account with the command execution results and the command exit code can be retrieved from the + """Run the command or the script on the provided bare metal machine. The URL to storage account + with the command execution results and the command exit code can be retrieved from the operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -7619,8 +8631,8 @@ def begin_run_read_commands( :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_read_commands_parameters: The request body. Required. - :type bare_metal_machine_run_read_commands_parameters: IO[bytes] + :param bare_metal_machine_run_command_parameters: The request body. Required. + :type bare_metal_machine_run_command_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -7631,19 +8643,17 @@ def begin_run_read_commands( """ @distributed_trace - def begin_run_read_commands( + def begin_run_command( self, resource_group_name: str, bare_metal_machine_name: str, - bare_metal_machine_run_read_commands_parameters: Union[ - _models.BareMetalMachineRunReadCommandsParameters, - _types.BareMetalMachineRunReadCommandsParameters, - IO[bytes], + bare_metal_machine_run_command_parameters: Union[ + _models.BareMetalMachineRunCommandParameters, _types.BareMetalMachineRunCommandParameters, IO[bytes] ], **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Run one or more read-only commands on the provided bare metal machine. The URL to storage - account with the command execution results and the command exit code can be retrieved from the + """Run the command or the script on the provided bare metal machine. The URL to storage account + with the command execution results and the command exit code can be retrieved from the operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -7651,11 +8661,11 @@ def begin_run_read_commands( :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str - :param bare_metal_machine_run_read_commands_parameters: The request body. Is either a - BareMetalMachineRunReadCommandsParameters type or a IO[bytes] type. Required. - :type bare_metal_machine_run_read_commands_parameters: - ~azure.mgmt.networkcloud.models.BareMetalMachineRunReadCommandsParameters or - ~azure.mgmt.networkcloud.types.BareMetalMachineRunReadCommandsParameters or IO[bytes] + :param bare_metal_machine_run_command_parameters: The request body. Is either a + BareMetalMachineRunCommandParameters type or a IO[bytes] type. Required. + :type bare_metal_machine_run_command_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineRunCommandParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachineRunCommandParameters or IO[bytes] :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] @@ -7670,10 +8680,10 @@ def begin_run_read_commands( 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._run_read_commands_initial( + raw_result = self._run_command_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, - bare_metal_machine_run_read_commands_parameters=bare_metal_machine_run_read_commands_parameters, + bare_metal_machine_run_command_parameters=bare_metal_machine_run_command_parameters, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -7717,7 +8727,17 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - def _start_initial(self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any) -> Iterator[bytes]: + def _run_data_extracts_initial( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_run_data_extracts_parameters: Union[ + _models.BareMetalMachineRunDataExtractsParameters, + _types.BareMetalMachineRunDataExtractsParameters, + IO[bytes], + ], + **kwargs: Any + ) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -7726,16 +8746,26 @@ def _start_initial(self, resource_group_name: str, bare_metal_machine_name: str, } error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = kwargs.pop("headers", {}) or {} + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - _request = build_bare_metal_machines_start_request( + content_type = content_type or "application/json" + _content = None + if isinstance(bare_metal_machine_run_data_extracts_parameters, (IOBase, bytes)): + _content = bare_metal_machine_run_data_extracts_parameters + else: + _content = json.dumps(bare_metal_machine_run_data_extracts_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_bare_metal_machines_run_data_extracts_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, + content_type=content_type, api_version=self._config.api_version, + content=_content, headers=_headers, params=_params, ) @@ -7775,33 +8805,143 @@ def _start_initial(self, resource_group_name: str, bare_metal_machine_name: str, return deserialized # type: ignore + @overload + def begin_run_data_extracts( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_run_data_extracts_parameters: _models.BareMetalMachineRunDataExtractsParameters, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Run one or more data extractions on the provided bare metal machine. The URL to storage account + with the command execution results and the command exit code can be retrieved from the + operation status API once available. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_run_data_extracts_parameters: The request body. Required. + :type bare_metal_machine_run_data_extracts_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters + :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 OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_run_data_extracts( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_run_data_extracts_parameters: _types.BareMetalMachineRunDataExtractsParameters, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Run one or more data extractions on the provided bare metal machine. The URL to storage account + with the command execution results and the command exit code can be retrieved from the + operation status API once available. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_run_data_extracts_parameters: The request body. Required. + :type bare_metal_machine_run_data_extracts_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachineRunDataExtractsParameters + :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 OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_run_data_extracts( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_run_data_extracts_parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Run one or more data extractions on the provided bare metal machine. The URL to storage account + with the command execution results and the command exit code can be retrieved from the + operation status API once available. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_run_data_extracts_parameters: The request body. Required. + :type bare_metal_machine_run_data_extracts_parameters: IO[bytes] + :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 OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + @distributed_trace - def begin_start( - self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any + def begin_run_data_extracts( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_run_data_extracts_parameters: Union[ + _models.BareMetalMachineRunDataExtractsParameters, + _types.BareMetalMachineRunDataExtractsParameters, + IO[bytes], + ], + **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Start the provided bare metal machine. + """Run one or more data extractions on the provided bare metal machine. The URL to storage account + with the command execution results and the command exit code can be retrieved from the + operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str + :param bare_metal_machine_run_data_extracts_parameters: The request body. Is either a + BareMetalMachineRunDataExtractsParameters type or a IO[bytes] type. Required. + :type bare_metal_machine_run_data_extracts_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachineRunDataExtractsParameters or IO[bytes] :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ - _headers = kwargs.pop("headers", {}) or {} + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[_models.OperationStatusResult] = 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._start_initial( + raw_result = self._run_data_extracts_initial( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, + bare_metal_machine_run_data_extracts_parameters=bare_metal_machine_run_data_extracts_parameters, + content_type=content_type, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -7844,8 +8984,16 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - def _uncordon_initial( - self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any + def _run_data_extracts_restricted_initial( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_run_data_extracts_restricted_parameters: Union[ + _models.BareMetalMachineRunDataExtractsParameters, + _types.BareMetalMachineRunDataExtractsParameters, + IO[bytes], + ], + **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -7855,16 +9003,26 @@ def _uncordon_initial( } error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = kwargs.pop("headers", {}) or {} + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - _request = build_bare_metal_machines_uncordon_request( + content_type = content_type or "application/json" + _content = None + if isinstance(bare_metal_machine_run_data_extracts_restricted_parameters, (IOBase, bytes)): + _content = bare_metal_machine_run_data_extracts_restricted_parameters + else: + _content = json.dumps(bare_metal_machine_run_data_extracts_restricted_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_bare_metal_machines_run_data_extracts_restricted_request( resource_group_name=resource_group_name, bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, + content_type=content_type, api_version=self._config.api_version, + content=_content, headers=_headers, params=_params, ) @@ -7904,33 +9062,143 @@ def _uncordon_initial( return deserialized # type: ignore - @distributed_trace - def begin_uncordon( - self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any + @overload + def begin_run_data_extracts_restricted( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_run_data_extracts_restricted_parameters: _models.BareMetalMachineRunDataExtractsParameters, + *, + content_type: str = "application/json", + **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Uncordon the provided bare metal machine's Kubernetes node. + """Run one or more restricted data extractions on the provided bare metal machine. The URL to + storage account with the command execution results and the command exit code can be retrieved + from the operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param bare_metal_machine_name: The name of the bare metal machine. Required. :type bare_metal_machine_name: str + :param bare_metal_machine_run_data_extracts_restricted_parameters: The request body. Required. + :type bare_metal_machine_run_data_extracts_restricted_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters + :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 OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.OperationStatusResult] = 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._uncordon_initial( - resource_group_name=resource_group_name, - bare_metal_machine_name=bare_metal_machine_name, + @overload + def begin_run_data_extracts_restricted( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_run_data_extracts_restricted_parameters: _types.BareMetalMachineRunDataExtractsParameters, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Run one or more restricted data extractions on the provided bare metal machine. The URL to + storage account with the command execution results and the command exit code can be retrieved + from the operation status API once available. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_run_data_extracts_restricted_parameters: The request body. Required. + :type bare_metal_machine_run_data_extracts_restricted_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachineRunDataExtractsParameters + :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 OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_run_data_extracts_restricted( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_run_data_extracts_restricted_parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Run one or more restricted data extractions on the provided bare metal machine. The URL to + storage account with the command execution results and the command exit code can be retrieved + from the operation status API once available. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_run_data_extracts_restricted_parameters: The request body. Required. + :type bare_metal_machine_run_data_extracts_restricted_parameters: IO[bytes] + :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 OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_run_data_extracts_restricted( + self, + resource_group_name: str, + bare_metal_machine_name: str, + bare_metal_machine_run_data_extracts_restricted_parameters: Union[ + _models.BareMetalMachineRunDataExtractsParameters, + _types.BareMetalMachineRunDataExtractsParameters, + IO[bytes], + ], + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Run one or more restricted data extractions on the provided bare metal machine. The URL to + storage account with the command execution results and the command exit code can be retrieved + from the operation status API once available. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_run_data_extracts_restricted_parameters: The request body. Is either + a BareMetalMachineRunDataExtractsParameters type or a IO[bytes] type. Required. + :type bare_metal_machine_run_data_extracts_restricted_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineRunDataExtractsParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachineRunDataExtractsParameters or IO[bytes] + :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.OperationStatusResult] = 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._run_data_extracts_restricted_initial( + resource_group_name=resource_group_name, + bare_metal_machine_name=bare_metal_machine_name, + bare_metal_machine_run_data_extracts_restricted_parameters=bare_metal_machine_run_data_extracts_restricted_parameters, + content_type=content_type, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -7973,104 +9241,15 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - -class CloudServicesNetworksOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.networkcloud.NetworkCloudMgmtClient`'s - :attr:`cloud_services_networks` attribute. - """ - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: NetworkCloudMgmtClientConfiguration = 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 get( - self, resource_group_name: str, cloud_services_network_name: str, **kwargs: Any - ) -> _models.CloudServicesNetwork: - """Get properties of the provided cloud services network. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param cloud_services_network_name: The name of the cloud services network. Required. - :type cloud_services_network_name: str - :return: CloudServicesNetwork. The CloudServicesNetwork is compatible with MutableMapping - :rtype: ~azure.mgmt.networkcloud.models.CloudServicesNetwork - :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 = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.CloudServicesNetwork] = kwargs.pop("cls", None) - - _request = build_cloud_services_networks_get_request( - resource_group_name=resource_group_name, - cloud_services_network_name=cloud_services_network_name, - subscription_id=self._config.subscription_id, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("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]: - if _stream: - 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - else: - deserialized = _deserialize(_models.CloudServicesNetwork, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore - - def _create_or_update_initial( + def _run_read_commands_initial( self, resource_group_name: str, - cloud_services_network_name: str, - cloud_services_network_parameters: Union[_models.CloudServicesNetwork, _types.CloudServicesNetwork, IO[bytes]], - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, + bare_metal_machine_name: str, + bare_metal_machine_run_read_commands_parameters: Union[ + _models.BareMetalMachineRunReadCommandsParameters, + _types.BareMetalMachineRunReadCommandsParameters, + IO[bytes], + ], **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -8079,12 +9258,6 @@ def _create_or_update_initial( 409: ResourceExistsError, 304: ResourceNotModifiedError, } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) @@ -8095,17 +9268,15 @@ def _create_or_update_initial( content_type = content_type or "application/json" _content = None - if isinstance(cloud_services_network_parameters, (IOBase, bytes)): - _content = cloud_services_network_parameters + if isinstance(bare_metal_machine_run_read_commands_parameters, (IOBase, bytes)): + _content = bare_metal_machine_run_read_commands_parameters else: - _content = json.dumps(cloud_services_network_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + _content = json.dumps(bare_metal_machine_run_read_commands_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_cloud_services_networks_create_or_update_request( + _request = build_bare_metal_machines_run_read_commands_request( resource_group_name=resource_group_name, - cloud_services_network_name=cloud_services_network_name, + bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, content_type=content_type, api_version=self._config.api_version, content=_content, @@ -8125,7 +9296,7 @@ def _create_or_update_initial( response = pipeline_response.http_response - if response.status_code not in [200, 201]: + if response.status_code not in [202]: try: response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -8138,10 +9309,8 @@ def _create_or_update_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - if response.status_code == 201: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -8151,161 +9320,141 @@ def _create_or_update_initial( return deserialized # type: ignore @overload - def begin_create_or_update( + def begin_run_read_commands( self, resource_group_name: str, - cloud_services_network_name: str, - cloud_services_network_parameters: _models.CloudServicesNetwork, + bare_metal_machine_name: str, + bare_metal_machine_run_read_commands_parameters: _models.BareMetalMachineRunReadCommandsParameters, *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.CloudServicesNetwork]: - """Create a new cloud services network or update the properties of the existing cloud services - network. + ) -> LROPoller[_models.OperationStatusResult]: + """Run one or more read-only commands on the provided bare metal machine. The URL to storage + account with the command execution results and the command exit code can be retrieved from the + operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cloud_services_network_name: The name of the cloud services network. Required. - :type cloud_services_network_name: str - :param cloud_services_network_parameters: The request body. Required. - :type cloud_services_network_parameters: ~azure.mgmt.networkcloud.models.CloudServicesNetwork - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_run_read_commands_parameters: The request body. Required. + :type bare_metal_machine_run_read_commands_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineRunReadCommandsParameters + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns CloudServicesNetwork. The CloudServicesNetwork + :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.CloudServicesNetwork] + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_create_or_update( + def begin_run_read_commands( self, resource_group_name: str, - cloud_services_network_name: str, - cloud_services_network_parameters: _types.CloudServicesNetwork, + bare_metal_machine_name: str, + bare_metal_machine_run_read_commands_parameters: _types.BareMetalMachineRunReadCommandsParameters, *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.CloudServicesNetwork]: - """Create a new cloud services network or update the properties of the existing cloud services - network. + ) -> LROPoller[_models.OperationStatusResult]: + """Run one or more read-only commands on the provided bare metal machine. The URL to storage + account with the command execution results and the command exit code can be retrieved from the + operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cloud_services_network_name: The name of the cloud services network. Required. - :type cloud_services_network_name: str - :param cloud_services_network_parameters: The request body. Required. - :type cloud_services_network_parameters: ~azure.mgmt.networkcloud.types.CloudServicesNetwork + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_run_read_commands_parameters: The request body. Required. + :type bare_metal_machine_run_read_commands_parameters: + ~azure.mgmt.networkcloud.types.BareMetalMachineRunReadCommandsParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns CloudServicesNetwork. The CloudServicesNetwork + :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.CloudServicesNetwork] + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_create_or_update( + def begin_run_read_commands( self, resource_group_name: str, - cloud_services_network_name: str, - cloud_services_network_parameters: IO[bytes], + bare_metal_machine_name: str, + bare_metal_machine_run_read_commands_parameters: IO[bytes], *, content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.CloudServicesNetwork]: - """Create a new cloud services network or update the properties of the existing cloud services - network. + ) -> LROPoller[_models.OperationStatusResult]: + """Run one or more read-only commands on the provided bare metal machine. The URL to storage + account with the command execution results and the command exit code can be retrieved from the + operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cloud_services_network_name: The name of the cloud services network. Required. - :type cloud_services_network_name: str - :param cloud_services_network_parameters: The request body. Required. - :type cloud_services_network_parameters: IO[bytes] + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_run_read_commands_parameters: The request body. Required. + :type bare_metal_machine_run_read_commands_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns CloudServicesNetwork. The CloudServicesNetwork + :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.CloudServicesNetwork] + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace - def begin_create_or_update( + def begin_run_read_commands( self, resource_group_name: str, - cloud_services_network_name: str, - cloud_services_network_parameters: Union[_models.CloudServicesNetwork, _types.CloudServicesNetwork, IO[bytes]], - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, + bare_metal_machine_name: str, + bare_metal_machine_run_read_commands_parameters: Union[ + _models.BareMetalMachineRunReadCommandsParameters, + _types.BareMetalMachineRunReadCommandsParameters, + IO[bytes], + ], **kwargs: Any - ) -> LROPoller[_models.CloudServicesNetwork]: - """Create a new cloud services network or update the properties of the existing cloud services - network. + ) -> LROPoller[_models.OperationStatusResult]: + """Run one or more read-only commands on the provided bare metal machine. The URL to storage + account with the command execution results and the command exit code can be retrieved from the + operation status API once available. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cloud_services_network_name: The name of the cloud services network. Required. - :type cloud_services_network_name: str - :param cloud_services_network_parameters: The request body. Is either a CloudServicesNetwork - type or a IO[bytes] type. Required. - :type cloud_services_network_parameters: ~azure.mgmt.networkcloud.models.CloudServicesNetwork - or ~azure.mgmt.networkcloud.types.CloudServicesNetwork or IO[bytes] - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns CloudServicesNetwork. The CloudServicesNetwork + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :param bare_metal_machine_run_read_commands_parameters: The request body. Is either a + BareMetalMachineRunReadCommandsParameters type or a IO[bytes] type. Required. + :type bare_metal_machine_run_read_commands_parameters: + ~azure.mgmt.networkcloud.models.BareMetalMachineRunReadCommandsParameters or + ~azure.mgmt.networkcloud.types.BareMetalMachineRunReadCommandsParameters or IO[bytes] + :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.CloudServicesNetwork] + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.CloudServicesNetwork] = kwargs.pop("cls", None) + cls: ClsType[_models.OperationStatusResult] = 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( + raw_result = self._run_read_commands_initial( resource_group_name=resource_group_name, - cloud_services_network_name=cloud_services_network_name, - cloud_services_network_parameters=cloud_services_network_parameters, - etag=etag, - match_condition=match_condition, + bare_metal_machine_name=bare_metal_machine_name, + bare_metal_machine_run_read_commands_parameters=bare_metal_machine_run_read_commands_parameters, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -8316,10 +9465,14 @@ def begin_create_or_update( kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): + response_headers = {} response = pipeline_response.http_response - deserialized = _deserialize(_models.CloudServicesNetwork, response.json()) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.OperationStatusResult, response.json()) if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + return cls(pipeline_response, deserialized, response_headers) # type: ignore return deserialized path_format_arguments = { @@ -8335,68 +9488,35 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return LROPoller[_models.CloudServicesNetwork].from_continuation_token( + return LROPoller[_models.OperationStatusResult].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return LROPoller[_models.CloudServicesNetwork]( + return LROPoller[_models.OperationStatusResult]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - def _update_initial( - self, - resource_group_name: str, - cloud_services_network_name: str, - cloud_services_network_update_parameters: Optional[ - Union[_models.CloudServicesNetworkPatchParameters, _types.CloudServicesNetworkPatchParameters, IO[bytes]] - ] = None, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> Iterator[bytes]: + def _start_initial(self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError, 304: ResourceNotModifiedError, } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if cloud_services_network_update_parameters else None cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" if cloud_services_network_update_parameters else None - _content = None - if isinstance(cloud_services_network_update_parameters, (IOBase, bytes)): - _content = cloud_services_network_update_parameters - else: - if cloud_services_network_update_parameters is not None: - _content = json.dumps(cloud_services_network_update_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - else: - _content = None - - _request = build_cloud_services_networks_update_request( + _request = build_bare_metal_machines_start_request( resource_group_name=resource_group_name, - cloud_services_network_name=cloud_services_network_name, + bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, - content_type=content_type, api_version=self._config.api_version, - content=_content, headers=_headers, params=_params, ) @@ -8413,7 +9533,7 @@ def _update_initial( response = pipeline_response.http_response - if response.status_code not in [200, 202]: + if response.status_code not in [202]: try: response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -8426,11 +9546,8 @@ def _update_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - if response.status_code == 202: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -8439,169 +9556,33 @@ def _update_initial( return deserialized # type: ignore - @overload - def begin_update( - self, - resource_group_name: str, - cloud_services_network_name: str, - cloud_services_network_update_parameters: Optional[_models.CloudServicesNetworkPatchParameters] = None, - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> LROPoller[_models.CloudServicesNetwork]: - """Update properties of the provided cloud services network, or update the tags associated with - it. Properties and tag updates can be done independently. + @distributed_trace + def begin_start( + self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Start the provided bare metal machine. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cloud_services_network_name: The name of the cloud services network. Required. - :type cloud_services_network_name: str - :param cloud_services_network_update_parameters: The request body. Default value is None. - :type cloud_services_network_update_parameters: - ~azure.mgmt.networkcloud.models.CloudServicesNetworkPatchParameters - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns CloudServicesNetwork. The CloudServicesNetwork + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str + :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.CloudServicesNetwork] + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] :raises ~azure.core.exceptions.HttpResponseError: """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} - @overload - def begin_update( - self, - resource_group_name: str, - cloud_services_network_name: str, - cloud_services_network_update_parameters: Optional[_types.CloudServicesNetworkPatchParameters] = None, - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> LROPoller[_models.CloudServicesNetwork]: - """Update properties of the provided cloud services network, or update the tags associated with - it. Properties and tag updates can be done independently. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param cloud_services_network_name: The name of the cloud services network. Required. - :type cloud_services_network_name: str - :param cloud_services_network_update_parameters: The request body. Default value is None. - :type cloud_services_network_update_parameters: - ~azure.mgmt.networkcloud.types.CloudServicesNetworkPatchParameters - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns CloudServicesNetwork. The CloudServicesNetwork - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.CloudServicesNetwork] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_update( - self, - resource_group_name: str, - cloud_services_network_name: str, - cloud_services_network_update_parameters: Optional[IO[bytes]] = None, - *, - content_type: str = "application/json", - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> LROPoller[_models.CloudServicesNetwork]: - """Update properties of the provided cloud services network, or update the tags associated with - it. Properties and tag updates can be done independently. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param cloud_services_network_name: The name of the cloud services network. Required. - :type cloud_services_network_name: str - :param cloud_services_network_update_parameters: The request body. Default value is None. - :type cloud_services_network_update_parameters: IO[bytes] - :keyword content_type: Body Parameter content-type. Content type parameter for binary body. - Default value is "application/json". - :paramtype content_type: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns CloudServicesNetwork. The CloudServicesNetwork - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.CloudServicesNetwork] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_update( - self, - resource_group_name: str, - cloud_services_network_name: str, - cloud_services_network_update_parameters: Optional[ - Union[_models.CloudServicesNetworkPatchParameters, _types.CloudServicesNetworkPatchParameters, IO[bytes]] - ] = None, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> LROPoller[_models.CloudServicesNetwork]: - """Update properties of the provided cloud services network, or update the tags associated with - it. Properties and tag updates can be done independently. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param cloud_services_network_name: The name of the cloud services network. Required. - :type cloud_services_network_name: str - :param cloud_services_network_update_parameters: The request body. Is either a - CloudServicesNetworkPatchParameters type or a IO[bytes] type. Default value is None. - :type cloud_services_network_update_parameters: - ~azure.mgmt.networkcloud.models.CloudServicesNetworkPatchParameters or - ~azure.mgmt.networkcloud.types.CloudServicesNetworkPatchParameters or IO[bytes] - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns CloudServicesNetwork. The CloudServicesNetwork - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.CloudServicesNetwork] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if cloud_services_network_update_parameters else None - cls: ClsType[_models.CloudServicesNetwork] = kwargs.pop("cls", None) + cls: ClsType[_models.OperationStatusResult] = 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._update_initial( + raw_result = self._start_initial( resource_group_name=resource_group_name, - cloud_services_network_name=cloud_services_network_name, - cloud_services_network_update_parameters=cloud_services_network_update_parameters, - etag=etag, - match_condition=match_condition, - content_type=content_type, + bare_metal_machine_name=bare_metal_machine_name, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -8611,10 +9592,14 @@ def begin_update( kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): + response_headers = {} response = pipeline_response.http_response - deserialized = _deserialize(_models.CloudServicesNetwork, response.json()) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.OperationStatusResult, response.json()) if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore + return cls(pipeline_response, deserialized, response_headers) # type: ignore return deserialized path_format_arguments = { @@ -8630,24 +9615,18 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return LROPoller[_models.CloudServicesNetwork].from_continuation_token( + return LROPoller[_models.OperationStatusResult].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return LROPoller[_models.CloudServicesNetwork]( + return LROPoller[_models.OperationStatusResult]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - def _delete_initial( - self, - resource_group_name: str, - cloud_services_network_name: str, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any + def _uncordon_initial( + self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -8655,12 +9634,6 @@ def _delete_initial( 409: ResourceExistsError, 304: ResourceNotModifiedError, } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} @@ -8668,12 +9641,10 @@ def _delete_initial( cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - _request = build_cloud_services_networks_delete_request( + _request = build_bare_metal_machines_uncordon_request( resource_group_name=resource_group_name, - cloud_services_network_name=cloud_services_network_name, + bare_metal_machine_name=bare_metal_machine_name, subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, api_version=self._config.api_version, headers=_headers, params=_params, @@ -8691,7 +9662,7 @@ def _delete_initial( response = pipeline_response.http_response - if response.status_code not in [202, 204]: + if response.status_code not in [202]: try: response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -8704,8 +9675,8 @@ def _delete_initial( 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["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -8715,27 +9686,16 @@ def _delete_initial( return deserialized # type: ignore @distributed_trace - def begin_delete( - self, - resource_group_name: str, - cloud_services_network_name: str, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any + def begin_uncordon( + self, resource_group_name: str, bare_metal_machine_name: str, **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Delete the provided cloud services network. + """Uncordon the provided bare metal machine's Kubernetes node. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cloud_services_network_name: The name of the cloud services network. Required. - :type cloud_services_network_name: str - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions + :param bare_metal_machine_name: The name of the bare metal machine. Required. + :type bare_metal_machine_name: str :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] @@ -8749,11 +9709,9 @@ def begin_delete( 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( + raw_result = self._uncordon_initial( resource_group_name=resource_group_name, - cloud_services_network_name=cloud_services_network_name, - etag=etag, - match_condition=match_condition, + bare_metal_machine_name=bare_metal_machine_name, cls=lambda x, y, z: x, headers=_headers, params=_params, @@ -8766,6 +9724,7 @@ def get_long_running_output(pipeline_response): response_headers = {} response = pipeline_response.http_response response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) deserialized = _deserialize(_models.OperationStatusResult, response.json()) if cls: @@ -8795,31 +9754,39 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) + +class CloudServicesNetworksOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.networkcloud.NetworkCloudMgmtClient`'s + :attr:`cloud_services_networks` attribute. + """ + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: NetworkCloudMgmtClientConfiguration = 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_resource_group( - self, resource_group_name: str, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> ItemPaged["_models.CloudServicesNetwork"]: - """Get a list of cloud services networks in the provided resource group. + def get( + self, resource_group_name: str, cloud_services_network_name: str, **kwargs: Any + ) -> _models.CloudServicesNetwork: + """Get properties of the provided cloud services network. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. - Default value is None. - :paramtype top: int - :keyword skip_token: The opaque token that the server returns to indicate where to continue - listing resources from. This is used for paging through large result sets. Default value is - None. - :paramtype skip_token: str - :return: An iterator like instance of CloudServicesNetwork - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.CloudServicesNetwork] + :param cloud_services_network_name: The name of the cloud services network. Required. + :type cloud_services_network_name: str + :return: CloudServicesNetwork. The CloudServicesNetwork is compatible with MutableMapping + :rtype: ~azure.mgmt.networkcloud.models.CloudServicesNetwork :raises ~azure.core.exceptions.HttpResponseError: """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.CloudServicesNetwork]] = kwargs.pop("cls", None) - error_map: MutableMapping = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, @@ -8828,232 +9795,14 @@ def list_by_resource_group( } error_map.update(kwargs.pop("error_map", {}) or {}) - def prepare_request(next_link=None): - if not next_link: + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} - _request = build_cloud_services_networks_list_by_resource_group_request( - resource_group_name=resource_group_name, - subscription_id=self._config.subscription_id, - top=top, - skip_token=skip_token, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) + cls: ClsType[_models.CloudServicesNetwork] = kwargs.pop("cls", None) - 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), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.CloudServicesNetwork], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return ItemPaged(get_next, extract_data) - - @distributed_trace - def list_by_subscription( - self, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> ItemPaged["_models.CloudServicesNetwork"]: - """Get a list of cloud services networks in the provided subscription. - - :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. - Default value is None. - :paramtype top: int - :keyword skip_token: The opaque token that the server returns to indicate where to continue - listing resources from. This is used for paging through large result sets. Default value is - None. - :paramtype skip_token: str - :return: An iterator like instance of CloudServicesNetwork - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.CloudServicesNetwork] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = kwargs.pop("headers", {}) or {} - _params = kwargs.pop("params", {}) or {} - - cls: ClsType[List[_models.CloudServicesNetwork]] = 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_cloud_services_networks_list_by_subscription_request( - subscription_id=self._config.subscription_id, - top=top, - skip_token=skip_token, - api_version=self._config.api_version, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - 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), - headers=_headers, - params=_next_request_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url( - "self._config.base_url", self._config.base_url, "str", skip_quote=True - ), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - return _request - - def extract_data(pipeline_response): - deserialized = pipeline_response.http_response.json() - list_of_elem = _deserialize( - List[_models.CloudServicesNetwork], - deserialized.get("value", []), - ) - if cls: - list_of_elem = cls(list_of_elem) # type: ignore - return deserialized.get("nextLink") 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return ItemPaged(get_next, extract_data) - - -class ClusterManagersOperations: - """ - .. warning:: - **DO NOT** instantiate this class directly. - - Instead, you should access the following operations through - :class:`~azure.mgmt.networkcloud.NetworkCloudMgmtClient`'s - :attr:`cluster_managers` attribute. - """ - - def __init__(self, *args, **kwargs) -> None: - input_args = list(args) - self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") - self._config: NetworkCloudMgmtClientConfiguration = 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 get(self, resource_group_name: str, cluster_manager_name: str, **kwargs: Any) -> _models.ClusterManager: - """Get the properties of the provided cluster manager. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param cluster_manager_name: The name of the cluster manager. Required. - :type cluster_manager_name: str - :return: ClusterManager. The ClusterManager is compatible with MutableMapping - :rtype: ~azure.mgmt.networkcloud.models.ClusterManager - :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 = kwargs.pop("params", {}) or {} - - cls: ClsType[_models.ClusterManager] = kwargs.pop("cls", None) - - _request = build_cluster_managers_get_request( + _request = build_cloud_services_networks_get_request( resource_group_name=resource_group_name, - cluster_manager_name=cluster_manager_name, + cloud_services_network_name=cloud_services_network_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -9088,7 +9837,7 @@ def get(self, resource_group_name: str, cluster_manager_name: str, **kwargs: Any if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.ClusterManager, response.json()) + deserialized = _deserialize(_models.CloudServicesNetwork, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore @@ -9098,8 +9847,8 @@ def get(self, resource_group_name: str, cluster_manager_name: str, **kwargs: Any def _create_or_update_initial( self, resource_group_name: str, - cluster_manager_name: str, - cluster_manager_parameters: Union[_models.ClusterManager, _types.ClusterManager, IO[bytes]], + cloud_services_network_name: str, + cloud_services_network_parameters: Union[_models.CloudServicesNetwork, _types.CloudServicesNetwork, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -9127,14 +9876,14 @@ def _create_or_update_initial( content_type = content_type or "application/json" _content = None - if isinstance(cluster_manager_parameters, (IOBase, bytes)): - _content = cluster_manager_parameters + if isinstance(cloud_services_network_parameters, (IOBase, bytes)): + _content = cloud_services_network_parameters else: - _content = json.dumps(cluster_manager_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + _content = json.dumps(cloud_services_network_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_cluster_managers_create_or_update_request( + _request = build_cloud_services_networks_create_or_update_request( resource_group_name=resource_group_name, - cluster_manager_name=cluster_manager_name, + cloud_services_network_name=cloud_services_network_name, subscription_id=self._config.subscription_id, etag=etag, match_condition=match_condition, @@ -9186,23 +9935,24 @@ def _create_or_update_initial( def begin_create_or_update( self, resource_group_name: str, - cluster_manager_name: str, - cluster_manager_parameters: _models.ClusterManager, + cloud_services_network_name: str, + cloud_services_network_parameters: _models.CloudServicesNetwork, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.ClusterManager]: - """Create a new cluster manager or update properties of the cluster manager if it exists. + ) -> LROPoller[_models.CloudServicesNetwork]: + """Create a new cloud services network or update the properties of the existing cloud services + network. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_manager_name: The name of the cluster manager. Required. - :type cluster_manager_name: str - :param cluster_manager_parameters: The request body. Required. - :type cluster_manager_parameters: ~azure.mgmt.networkcloud.models.ClusterManager + :param cloud_services_network_name: The name of the cloud services network. Required. + :type cloud_services_network_name: str + :param cloud_services_network_parameters: The request body. Required. + :type cloud_services_network_parameters: ~azure.mgmt.networkcloud.models.CloudServicesNetwork :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -9211,9 +9961,9 @@ def begin_create_or_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns ClusterManager. The ClusterManager is compatible - with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.ClusterManager] + :return: An instance of LROPoller that returns CloudServicesNetwork. The CloudServicesNetwork + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.CloudServicesNetwork] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -9221,23 +9971,24 @@ def begin_create_or_update( def begin_create_or_update( self, resource_group_name: str, - cluster_manager_name: str, - cluster_manager_parameters: _types.ClusterManager, + cloud_services_network_name: str, + cloud_services_network_parameters: _types.CloudServicesNetwork, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.ClusterManager]: - """Create a new cluster manager or update properties of the cluster manager if it exists. + ) -> LROPoller[_models.CloudServicesNetwork]: + """Create a new cloud services network or update the properties of the existing cloud services + network. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_manager_name: The name of the cluster manager. Required. - :type cluster_manager_name: str - :param cluster_manager_parameters: The request body. Required. - :type cluster_manager_parameters: ~azure.mgmt.networkcloud.types.ClusterManager + :param cloud_services_network_name: The name of the cloud services network. Required. + :type cloud_services_network_name: str + :param cloud_services_network_parameters: The request body. Required. + :type cloud_services_network_parameters: ~azure.mgmt.networkcloud.types.CloudServicesNetwork :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -9246,9 +9997,9 @@ def begin_create_or_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns ClusterManager. The ClusterManager is compatible - with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.ClusterManager] + :return: An instance of LROPoller that returns CloudServicesNetwork. The CloudServicesNetwork + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.CloudServicesNetwork] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -9256,23 +10007,24 @@ def begin_create_or_update( def begin_create_or_update( self, resource_group_name: str, - cluster_manager_name: str, - cluster_manager_parameters: IO[bytes], + cloud_services_network_name: str, + cloud_services_network_parameters: IO[bytes], *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.ClusterManager]: - """Create a new cluster manager or update properties of the cluster manager if it exists. - + ) -> LROPoller[_models.CloudServicesNetwork]: + """Create a new cloud services network or update the properties of the existing cloud services + network. + :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_manager_name: The name of the cluster manager. Required. - :type cluster_manager_name: str - :param cluster_manager_parameters: The request body. Required. - :type cluster_manager_parameters: IO[bytes] + :param cloud_services_network_name: The name of the cloud services network. Required. + :type cloud_services_network_name: str + :param cloud_services_network_parameters: The request body. Required. + :type cloud_services_network_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -9281,9 +10033,9 @@ def begin_create_or_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns ClusterManager. The ClusterManager is compatible - with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.ClusterManager] + :return: An instance of LROPoller that returns CloudServicesNetwork. The CloudServicesNetwork + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.CloudServicesNetwork] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -9291,47 +10043,48 @@ def begin_create_or_update( def begin_create_or_update( self, resource_group_name: str, - cluster_manager_name: str, - cluster_manager_parameters: Union[_models.ClusterManager, _types.ClusterManager, IO[bytes]], + cloud_services_network_name: str, + cloud_services_network_parameters: Union[_models.CloudServicesNetwork, _types.CloudServicesNetwork, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.ClusterManager]: - """Create a new cluster manager or update properties of the cluster manager if it exists. + ) -> LROPoller[_models.CloudServicesNetwork]: + """Create a new cloud services network or update the properties of the existing cloud services + network. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_manager_name: The name of the cluster manager. Required. - :type cluster_manager_name: str - :param cluster_manager_parameters: The request body. Is either a ClusterManager type or a - IO[bytes] type. Required. - :type cluster_manager_parameters: ~azure.mgmt.networkcloud.models.ClusterManager or - ~azure.mgmt.networkcloud.types.ClusterManager or IO[bytes] + :param cloud_services_network_name: The name of the cloud services network. Required. + :type cloud_services_network_name: str + :param cloud_services_network_parameters: The request body. Is either a CloudServicesNetwork + type or a IO[bytes] type. Required. + :type cloud_services_network_parameters: ~azure.mgmt.networkcloud.models.CloudServicesNetwork + or ~azure.mgmt.networkcloud.types.CloudServicesNetwork or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns ClusterManager. The ClusterManager is compatible - with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.ClusterManager] + :return: An instance of LROPoller that returns CloudServicesNetwork. The CloudServicesNetwork + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.CloudServicesNetwork] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.ClusterManager] = kwargs.pop("cls", None) + cls: ClsType[_models.CloudServicesNetwork] = 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, - cluster_manager_name=cluster_manager_name, - cluster_manager_parameters=cluster_manager_parameters, + cloud_services_network_name=cloud_services_network_name, + cloud_services_network_parameters=cloud_services_network_parameters, etag=etag, match_condition=match_condition, content_type=content_type, @@ -9345,7 +10098,7 @@ def begin_create_or_update( def get_long_running_output(pipeline_response): response = pipeline_response.http_response - deserialized = _deserialize(_models.ClusterManager, response.json()) + deserialized = _deserialize(_models.CloudServicesNetwork, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized @@ -9363,39 +10116,133 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return LROPoller[_models.ClusterManager].from_continuation_token( + return LROPoller[_models.CloudServicesNetwork].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return LROPoller[_models.ClusterManager]( + return LROPoller[_models.CloudServicesNetwork]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) + def _update_initial( + self, + resource_group_name: str, + cloud_services_network_name: str, + cloud_services_network_update_parameters: Optional[ + Union[_models.CloudServicesNetworkPatchParameters, _types.CloudServicesNetworkPatchParameters, IO[bytes]] + ] = None, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if cloud_services_network_update_parameters else None + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" if cloud_services_network_update_parameters else None + _content = None + if isinstance(cloud_services_network_update_parameters, (IOBase, bytes)): + _content = cloud_services_network_update_parameters + else: + if cloud_services_network_update_parameters is not None: + _content = json.dumps(cloud_services_network_update_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None + + _request = build_cloud_services_networks_update_request( + resource_group_name=resource_group_name, + cloud_services_network_name=cloud_services_network_name, + subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + @overload - def update( + def begin_update( self, resource_group_name: str, - cluster_manager_name: str, - cluster_manager_update_parameters: Optional[_models.ClusterManagerPatchParameters] = None, + cloud_services_network_name: str, + cloud_services_network_update_parameters: Optional[_models.CloudServicesNetworkPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> _models.ClusterManager: - """Patch properties of the provided cluster manager, or update the tags assigned to the cluster - manager. Properties and tag updates can be done independently. + ) -> LROPoller[_models.CloudServicesNetwork]: + """Update properties of the provided cloud services network, or update the tags associated with + it. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_manager_name: The name of the cluster manager. Required. - :type cluster_manager_name: str - :param cluster_manager_update_parameters: The request body. Default value is None. - :type cluster_manager_update_parameters: - ~azure.mgmt.networkcloud.models.ClusterManagerPatchParameters + :param cloud_services_network_name: The name of the cloud services network. Required. + :type cloud_services_network_name: str + :param cloud_services_network_update_parameters: The request body. Default value is None. + :type cloud_services_network_update_parameters: + ~azure.mgmt.networkcloud.models.CloudServicesNetworkPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -9404,34 +10251,35 @@ def update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: ClusterManager. The ClusterManager is compatible with MutableMapping - :rtype: ~azure.mgmt.networkcloud.models.ClusterManager + :return: An instance of LROPoller that returns CloudServicesNetwork. The CloudServicesNetwork + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.CloudServicesNetwork] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def update( + def begin_update( self, resource_group_name: str, - cluster_manager_name: str, - cluster_manager_update_parameters: Optional[_types.ClusterManagerPatchParameters] = None, + cloud_services_network_name: str, + cloud_services_network_update_parameters: Optional[_types.CloudServicesNetworkPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> _models.ClusterManager: - """Patch properties of the provided cluster manager, or update the tags assigned to the cluster - manager. Properties and tag updates can be done independently. + ) -> LROPoller[_models.CloudServicesNetwork]: + """Update properties of the provided cloud services network, or update the tags associated with + it. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_manager_name: The name of the cluster manager. Required. - :type cluster_manager_name: str - :param cluster_manager_update_parameters: The request body. Default value is None. - :type cluster_manager_update_parameters: - ~azure.mgmt.networkcloud.types.ClusterManagerPatchParameters + :param cloud_services_network_name: The name of the cloud services network. Required. + :type cloud_services_network_name: str + :param cloud_services_network_update_parameters: The request body. Default value is None. + :type cloud_services_network_update_parameters: + ~azure.mgmt.networkcloud.types.CloudServicesNetworkPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -9440,33 +10288,34 @@ def update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: ClusterManager. The ClusterManager is compatible with MutableMapping - :rtype: ~azure.mgmt.networkcloud.models.ClusterManager + :return: An instance of LROPoller that returns CloudServicesNetwork. The CloudServicesNetwork + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.CloudServicesNetwork] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def update( + def begin_update( self, resource_group_name: str, - cluster_manager_name: str, - cluster_manager_update_parameters: Optional[IO[bytes]] = None, + cloud_services_network_name: str, + cloud_services_network_update_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> _models.ClusterManager: - """Patch properties of the provided cluster manager, or update the tags assigned to the cluster - manager. Properties and tag updates can be done independently. + ) -> LROPoller[_models.CloudServicesNetwork]: + """Update properties of the provided cloud services network, or update the tags associated with + it. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_manager_name: The name of the cluster manager. Required. - :type cluster_manager_name: str - :param cluster_manager_update_parameters: The request body. Default value is None. - :type cluster_manager_update_parameters: IO[bytes] + :param cloud_services_network_name: The name of the cloud services network. Required. + :type cloud_services_network_name: str + :param cloud_services_network_update_parameters: The request body. Default value is None. + :type cloud_services_network_update_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -9475,129 +10324,107 @@ def update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: ClusterManager. The ClusterManager is compatible with MutableMapping - :rtype: ~azure.mgmt.networkcloud.models.ClusterManager + :return: An instance of LROPoller that returns CloudServicesNetwork. The CloudServicesNetwork + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.CloudServicesNetwork] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace - def update( + def begin_update( self, resource_group_name: str, - cluster_manager_name: str, - cluster_manager_update_parameters: Optional[ - Union[_models.ClusterManagerPatchParameters, _types.ClusterManagerPatchParameters, IO[bytes]] + cloud_services_network_name: str, + cloud_services_network_update_parameters: Optional[ + Union[_models.CloudServicesNetworkPatchParameters, _types.CloudServicesNetworkPatchParameters, IO[bytes]] ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> _models.ClusterManager: - """Patch properties of the provided cluster manager, or update the tags assigned to the cluster - manager. Properties and tag updates can be done independently. + ) -> LROPoller[_models.CloudServicesNetwork]: + """Update properties of the provided cloud services network, or update the tags associated with + it. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_manager_name: The name of the cluster manager. Required. - :type cluster_manager_name: str - :param cluster_manager_update_parameters: The request body. Is either a - ClusterManagerPatchParameters type or a IO[bytes] type. Default value is None. - :type cluster_manager_update_parameters: - ~azure.mgmt.networkcloud.models.ClusterManagerPatchParameters or - ~azure.mgmt.networkcloud.types.ClusterManagerPatchParameters or IO[bytes] - :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is - None. - :paramtype etag: str - :keyword match_condition: The match condition to use upon the etag. Default value is None. - :paramtype match_condition: ~azure.core.MatchConditions - :return: ClusterManager. The ClusterManager is compatible with MutableMapping - :rtype: ~azure.mgmt.networkcloud.models.ClusterManager + :param cloud_services_network_name: The name of the cloud services network. Required. + :type cloud_services_network_name: str + :param cloud_services_network_update_parameters: The request body. Is either a + CloudServicesNetworkPatchParameters type or a IO[bytes] type. Default value is None. + :type cloud_services_network_update_parameters: + ~azure.mgmt.networkcloud.models.CloudServicesNetworkPatchParameters or + ~azure.mgmt.networkcloud.types.CloudServicesNetworkPatchParameters or IO[bytes] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns CloudServicesNetwork. The CloudServicesNetwork + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.CloudServicesNetwork] :raises ~azure.core.exceptions.HttpResponseError: """ - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError - error_map.update(kwargs.pop("error_map", {}) or {}) - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if cluster_manager_update_parameters else None - cls: ClsType[_models.ClusterManager] = kwargs.pop("cls", None) + content_type = content_type if cloud_services_network_update_parameters else None + cls: ClsType[_models.CloudServicesNetwork] = 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._update_initial( + resource_group_name=resource_group_name, + cloud_services_network_name=cloud_services_network_name, + cloud_services_network_update_parameters=cloud_services_network_update_parameters, + etag=etag, + match_condition=match_condition, + 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) - content_type = content_type or "application/json" if cluster_manager_update_parameters else None - _content = None - if isinstance(cluster_manager_update_parameters, (IOBase, bytes)): - _content = cluster_manager_update_parameters - else: - if cluster_manager_update_parameters is not None: - _content = json.dumps(cluster_manager_update_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - else: - _content = None + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = _deserialize(_models.CloudServicesNetwork, response.json()) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized - _request = build_cluster_managers_update_request( - resource_group_name=resource_group_name, - cluster_manager_name=cluster_manager_name, - subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) path_format_arguments = { "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _decompress = kwargs.pop("decompress", True) - _stream = kwargs.pop("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]: - if _stream: - 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if _stream: - deserialized = response.iter_bytes() if _decompress else response.iter_raw() + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) else: - deserialized = _deserialize(_models.ClusterManager, response.json()) - - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - - return deserialized # type: ignore + polling_method = polling + if cont_token: + return LROPoller[_models.CloudServicesNetwork].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.CloudServicesNetwork]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) def _delete_initial( self, resource_group_name: str, - cluster_manager_name: str, + cloud_services_network_name: str, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -9622,9 +10449,9 @@ def _delete_initial( cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - _request = build_cluster_managers_delete_request( + _request = build_cloud_services_networks_delete_request( resource_group_name=resource_group_name, - cluster_manager_name=cluster_manager_name, + cloud_services_network_name=cloud_services_network_name, subscription_id=self._config.subscription_id, etag=etag, match_condition=match_condition, @@ -9672,19 +10499,19 @@ def _delete_initial( def begin_delete( self, resource_group_name: str, - cluster_manager_name: str, + cloud_services_network_name: str, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Delete the provided cluster manager. + """Delete the provided cloud services network. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_manager_name: The name of the cluster manager. Required. - :type cluster_manager_name: str + :param cloud_services_network_name: The name of the cloud services network. Required. + :type cloud_services_network_name: str :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -9705,7 +10532,7 @@ def begin_delete( if cont_token is None: raw_result = self._delete_initial( resource_group_name=resource_group_name, - cluster_manager_name=cluster_manager_name, + cloud_services_network_name=cloud_services_network_name, etag=etag, match_condition=match_condition, cls=lambda x, y, z: x, @@ -9752,8 +10579,8 @@ def get_long_running_output(pipeline_response): @distributed_trace def list_by_resource_group( self, resource_group_name: str, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> ItemPaged["_models.ClusterManager"]: - """Get a list of cluster managers in the provided resource group. + ) -> ItemPaged["_models.CloudServicesNetwork"]: + """Get a list of cloud services networks in the provided resource group. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. @@ -9765,14 +10592,14 @@ def list_by_resource_group( listing resources from. This is used for paging through large result sets. Default value is None. :paramtype skip_token: str - :return: An iterator like instance of ClusterManager - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.ClusterManager] + :return: An iterator like instance of CloudServicesNetwork + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.CloudServicesNetwork] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.ClusterManager]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.CloudServicesNetwork]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -9785,7 +10612,7 @@ def list_by_resource_group( def prepare_request(next_link=None): if not next_link: - _request = build_cluster_managers_list_by_resource_group_request( + _request = build_cloud_services_networks_list_by_resource_group_request( resource_group_name=resource_group_name, subscription_id=self._config.subscription_id, top=top, @@ -9829,7 +10656,7 @@ def prepare_request(next_link=None): def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.ClusterManager], + List[_models.CloudServicesNetwork], deserialized.get("value", []), ) if cls: @@ -9860,8 +10687,8 @@ def get_next(next_link=None): @distributed_trace def list_by_subscription( self, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> ItemPaged["_models.ClusterManager"]: - """Get a list of cluster managers in the provided subscription. + ) -> ItemPaged["_models.CloudServicesNetwork"]: + """Get a list of cloud services networks in the provided subscription. :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. Default value is None. @@ -9870,14 +10697,14 @@ def list_by_subscription( listing resources from. This is used for paging through large result sets. Default value is None. :paramtype skip_token: str - :return: An iterator like instance of ClusterManager - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.ClusterManager] + :return: An iterator like instance of CloudServicesNetwork + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.CloudServicesNetwork] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.ClusterManager]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.CloudServicesNetwork]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -9890,7 +10717,7 @@ def list_by_subscription( def prepare_request(next_link=None): if not next_link: - _request = build_cluster_managers_list_by_subscription_request( + _request = build_cloud_services_networks_list_by_subscription_request( subscription_id=self._config.subscription_id, top=top, skip_token=skip_token, @@ -9933,7 +10760,7 @@ def prepare_request(next_link=None): def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.ClusterManager], + List[_models.CloudServicesNetwork], deserialized.get("value", []), ) if cls: @@ -9962,14 +10789,14 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) -class ClustersOperations: +class ClusterManagersOperations: """ .. warning:: **DO NOT** instantiate this class directly. Instead, you should access the following operations through :class:`~azure.mgmt.networkcloud.NetworkCloudMgmtClient`'s - :attr:`clusters` attribute. + :attr:`cluster_managers` attribute. """ def __init__(self, *args, **kwargs) -> None: @@ -9980,16 +10807,16 @@ def __init__(self, *args, **kwargs) -> None: self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @distributed_trace - def get(self, resource_group_name: str, cluster_name: str, **kwargs: Any) -> _models.Cluster: - """Get properties of the provided cluster. + def get(self, resource_group_name: str, cluster_manager_name: str, **kwargs: Any) -> _models.ClusterManager: + """Get the properties of the provided cluster manager. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :return: Cluster. The Cluster is compatible with MutableMapping - :rtype: ~azure.mgmt.networkcloud.models.Cluster + :param cluster_manager_name: The name of the cluster manager. Required. + :type cluster_manager_name: str + :return: ClusterManager. The ClusterManager is compatible with MutableMapping + :rtype: ~azure.mgmt.networkcloud.models.ClusterManager :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -10003,11 +10830,11 @@ def get(self, resource_group_name: str, cluster_name: str, **kwargs: Any) -> _mo _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.Cluster] = kwargs.pop("cls", None) + cls: ClsType[_models.ClusterManager] = kwargs.pop("cls", None) - _request = build_clusters_get_request( + _request = build_cluster_managers_get_request( resource_group_name=resource_group_name, - cluster_name=cluster_name, + cluster_manager_name=cluster_manager_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -10042,7 +10869,7 @@ def get(self, resource_group_name: str, cluster_name: str, **kwargs: Any) -> _mo if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.Cluster, response.json()) + deserialized = _deserialize(_models.ClusterManager, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore @@ -10052,8 +10879,8 @@ def get(self, resource_group_name: str, cluster_name: str, **kwargs: Any) -> _mo def _create_or_update_initial( self, resource_group_name: str, - cluster_name: str, - cluster_parameters: Union[_models.Cluster, _types.Cluster, IO[bytes]], + cluster_manager_name: str, + cluster_manager_parameters: Union[_models.ClusterManager, _types.ClusterManager, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -10081,14 +10908,14 @@ def _create_or_update_initial( content_type = content_type or "application/json" _content = None - if isinstance(cluster_parameters, (IOBase, bytes)): - _content = cluster_parameters + if isinstance(cluster_manager_parameters, (IOBase, bytes)): + _content = cluster_manager_parameters else: - _content = json.dumps(cluster_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + _content = json.dumps(cluster_manager_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_clusters_create_or_update_request( + _request = build_cluster_managers_create_or_update_request( resource_group_name=resource_group_name, - cluster_name=cluster_name, + cluster_manager_name=cluster_manager_name, subscription_id=self._config.subscription_id, etag=etag, match_condition=match_condition, @@ -10140,23 +10967,23 @@ def _create_or_update_initial( def begin_create_or_update( self, resource_group_name: str, - cluster_name: str, - cluster_parameters: _models.Cluster, + cluster_manager_name: str, + cluster_manager_parameters: _models.ClusterManager, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.Cluster]: - """Create a new cluster or update the properties of the cluster if it exists. + ) -> LROPoller[_models.ClusterManager]: + """Create a new cluster manager or update properties of the cluster manager if it exists. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_parameters: The request body. Required. - :type cluster_parameters: ~azure.mgmt.networkcloud.models.Cluster + :param cluster_manager_name: The name of the cluster manager. Required. + :type cluster_manager_name: str + :param cluster_manager_parameters: The request body. Required. + :type cluster_manager_parameters: ~azure.mgmt.networkcloud.models.ClusterManager :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -10165,9 +10992,9 @@ def begin_create_or_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns Cluster. The Cluster is compatible with - MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.Cluster] + :return: An instance of LROPoller that returns ClusterManager. The ClusterManager is compatible + with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.ClusterManager] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -10175,23 +11002,23 @@ def begin_create_or_update( def begin_create_or_update( self, resource_group_name: str, - cluster_name: str, - cluster_parameters: _types.Cluster, + cluster_manager_name: str, + cluster_manager_parameters: _types.ClusterManager, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.Cluster]: - """Create a new cluster or update the properties of the cluster if it exists. + ) -> LROPoller[_models.ClusterManager]: + """Create a new cluster manager or update properties of the cluster manager if it exists. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_parameters: The request body. Required. - :type cluster_parameters: ~azure.mgmt.networkcloud.types.Cluster + :param cluster_manager_name: The name of the cluster manager. Required. + :type cluster_manager_name: str + :param cluster_manager_parameters: The request body. Required. + :type cluster_manager_parameters: ~azure.mgmt.networkcloud.types.ClusterManager :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -10200,9 +11027,9 @@ def begin_create_or_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns Cluster. The Cluster is compatible with - MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.Cluster] + :return: An instance of LROPoller that returns ClusterManager. The ClusterManager is compatible + with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.ClusterManager] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -10210,23 +11037,23 @@ def begin_create_or_update( def begin_create_or_update( self, resource_group_name: str, - cluster_name: str, - cluster_parameters: IO[bytes], + cluster_manager_name: str, + cluster_manager_parameters: IO[bytes], *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.Cluster]: - """Create a new cluster or update the properties of the cluster if it exists. + ) -> LROPoller[_models.ClusterManager]: + """Create a new cluster manager or update properties of the cluster manager if it exists. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_parameters: The request body. Required. - :type cluster_parameters: IO[bytes] + :param cluster_manager_name: The name of the cluster manager. Required. + :type cluster_manager_name: str + :param cluster_manager_parameters: The request body. Required. + :type cluster_manager_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -10235,9 +11062,9 @@ def begin_create_or_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns Cluster. The Cluster is compatible with - MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.Cluster] + :return: An instance of LROPoller that returns ClusterManager. The ClusterManager is compatible + with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.ClusterManager] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -10245,47 +11072,47 @@ def begin_create_or_update( def begin_create_or_update( self, resource_group_name: str, - cluster_name: str, - cluster_parameters: Union[_models.Cluster, _types.Cluster, IO[bytes]], + cluster_manager_name: str, + cluster_manager_parameters: Union[_models.ClusterManager, _types.ClusterManager, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.Cluster]: - """Create a new cluster or update the properties of the cluster if it exists. + ) -> LROPoller[_models.ClusterManager]: + """Create a new cluster manager or update properties of the cluster manager if it exists. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_parameters: The request body. Is either a Cluster type or a IO[bytes] type. - Required. - :type cluster_parameters: ~azure.mgmt.networkcloud.models.Cluster or - ~azure.mgmt.networkcloud.types.Cluster or IO[bytes] + :param cluster_manager_name: The name of the cluster manager. Required. + :type cluster_manager_name: str + :param cluster_manager_parameters: The request body. Is either a ClusterManager type or a + IO[bytes] type. Required. + :type cluster_manager_parameters: ~azure.mgmt.networkcloud.models.ClusterManager or + ~azure.mgmt.networkcloud.types.ClusterManager or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns Cluster. The Cluster is compatible with - MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.Cluster] + :return: An instance of LROPoller that returns ClusterManager. The ClusterManager is compatible + with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.ClusterManager] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.Cluster] = kwargs.pop("cls", None) + cls: ClsType[_models.ClusterManager] = 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, - cluster_name=cluster_name, - cluster_parameters=cluster_parameters, + cluster_manager_name=cluster_manager_name, + cluster_manager_parameters=cluster_manager_parameters, etag=etag, match_condition=match_condition, content_type=content_type, @@ -10299,7 +11126,7 @@ def begin_create_or_update( def get_long_running_output(pipeline_response): response = pipeline_response.http_response - deserialized = _deserialize(_models.Cluster, response.json()) + deserialized = _deserialize(_models.ClusterManager, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized @@ -10317,132 +11144,39 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return LROPoller[_models.Cluster].from_continuation_token( + return LROPoller[_models.ClusterManager].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return LROPoller[_models.Cluster]( + return LROPoller[_models.ClusterManager]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - def _update_initial( - self, - resource_group_name: str, - cluster_name: str, - cluster_update_parameters: Optional[ - Union[_models.ClusterPatchParameters, _types.ClusterPatchParameters, IO[bytes]] - ] = None, - *, - etag: Optional[str] = None, - match_condition: Optional[MatchConditions] = None, - **kwargs: Any - ) -> Iterator[bytes]: - error_map: MutableMapping = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: ResourceExistsError, - 304: ResourceNotModifiedError, - } - if match_condition == MatchConditions.IfNotModified: - error_map[412] = ResourceModifiedError - elif match_condition == MatchConditions.IfPresent: - error_map[412] = ResourceNotFoundError - elif match_condition == MatchConditions.IfMissing: - error_map[412] = ResourceExistsError - error_map.update(kwargs.pop("error_map", {}) or {}) - - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if cluster_update_parameters else None - cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - - content_type = content_type or "application/json" if cluster_update_parameters else None - _content = None - if isinstance(cluster_update_parameters, (IOBase, bytes)): - _content = cluster_update_parameters - else: - if cluster_update_parameters is not None: - _content = json.dumps(cluster_update_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - else: - _content = None - - _request = build_clusters_update_request( - resource_group_name=resource_group_name, - cluster_name=cluster_name, - subscription_id=self._config.subscription_id, - etag=etag, - match_condition=match_condition, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - if response.status_code == 202: - response_headers["Azure-AsyncOperation"] = self._deserialize( - "str", response.headers.get("Azure-AsyncOperation") - ) - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - @overload - def begin_update( + def update( self, resource_group_name: str, - cluster_name: str, - cluster_update_parameters: Optional[_models.ClusterPatchParameters] = None, + cluster_manager_name: str, + cluster_manager_update_parameters: Optional[_models.ClusterManagerPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.Cluster]: - """Patch the properties of the provided cluster, or update the tags associated with the cluster. - Properties and tag updates can be done independently. + ) -> _models.ClusterManager: + """Patch properties of the provided cluster manager, or update the tags assigned to the cluster + manager. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_update_parameters: The request body. Default value is None. - :type cluster_update_parameters: ~azure.mgmt.networkcloud.models.ClusterPatchParameters + :param cluster_manager_name: The name of the cluster manager. Required. + :type cluster_manager_name: str + :param cluster_manager_update_parameters: The request body. Default value is None. + :type cluster_manager_update_parameters: + ~azure.mgmt.networkcloud.models.ClusterManagerPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -10451,34 +11185,34 @@ def begin_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns Cluster. The Cluster is compatible with - MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.Cluster] + :return: ClusterManager. The ClusterManager is compatible with MutableMapping + :rtype: ~azure.mgmt.networkcloud.models.ClusterManager :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_update( + def update( self, resource_group_name: str, - cluster_name: str, - cluster_update_parameters: Optional[_types.ClusterPatchParameters] = None, + cluster_manager_name: str, + cluster_manager_update_parameters: Optional[_types.ClusterManagerPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.Cluster]: - """Patch the properties of the provided cluster, or update the tags associated with the cluster. - Properties and tag updates can be done independently. + ) -> _models.ClusterManager: + """Patch properties of the provided cluster manager, or update the tags assigned to the cluster + manager. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_update_parameters: The request body. Default value is None. - :type cluster_update_parameters: ~azure.mgmt.networkcloud.types.ClusterPatchParameters + :param cluster_manager_name: The name of the cluster manager. Required. + :type cluster_manager_name: str + :param cluster_manager_update_parameters: The request body. Default value is None. + :type cluster_manager_update_parameters: + ~azure.mgmt.networkcloud.types.ClusterManagerPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -10487,34 +11221,33 @@ def begin_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns Cluster. The Cluster is compatible with - MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.Cluster] + :return: ClusterManager. The ClusterManager is compatible with MutableMapping + :rtype: ~azure.mgmt.networkcloud.models.ClusterManager :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_update( + def update( self, resource_group_name: str, - cluster_name: str, - cluster_update_parameters: Optional[IO[bytes]] = None, + cluster_manager_name: str, + cluster_manager_update_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.Cluster]: - """Patch the properties of the provided cluster, or update the tags associated with the cluster. - Properties and tag updates can be done independently. + ) -> _models.ClusterManager: + """Patch properties of the provided cluster manager, or update the tags assigned to the cluster + manager. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_update_parameters: The request body. Default value is None. - :type cluster_update_parameters: IO[bytes] + :param cluster_manager_name: The name of the cluster manager. Required. + :type cluster_manager_name: str + :param cluster_manager_update_parameters: The request body. Default value is None. + :type cluster_manager_update_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -10523,106 +11256,129 @@ def begin_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns Cluster. The Cluster is compatible with - MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.Cluster] + :return: ClusterManager. The ClusterManager is compatible with MutableMapping + :rtype: ~azure.mgmt.networkcloud.models.ClusterManager :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace - def begin_update( + def update( self, resource_group_name: str, - cluster_name: str, - cluster_update_parameters: Optional[ - Union[_models.ClusterPatchParameters, _types.ClusterPatchParameters, IO[bytes]] + cluster_manager_name: str, + cluster_manager_update_parameters: Optional[ + Union[_models.ClusterManagerPatchParameters, _types.ClusterManagerPatchParameters, IO[bytes]] ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.Cluster]: - """Patch the properties of the provided cluster, or update the tags associated with the cluster. - Properties and tag updates can be done independently. + ) -> _models.ClusterManager: + """Patch properties of the provided cluster manager, or update the tags assigned to the cluster + manager. Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_update_parameters: The request body. Is either a ClusterPatchParameters type or - a IO[bytes] type. Default value is None. - :type cluster_update_parameters: ~azure.mgmt.networkcloud.models.ClusterPatchParameters or - ~azure.mgmt.networkcloud.types.ClusterPatchParameters or IO[bytes] + :param cluster_manager_name: The name of the cluster manager. Required. + :type cluster_manager_name: str + :param cluster_manager_update_parameters: The request body. Is either a + ClusterManagerPatchParameters type or a IO[bytes] type. Default value is None. + :type cluster_manager_update_parameters: + ~azure.mgmt.networkcloud.models.ClusterManagerPatchParameters or + ~azure.mgmt.networkcloud.types.ClusterManagerPatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns Cluster. The Cluster is compatible with - MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.Cluster] - :raises ~azure.core.exceptions.HttpResponseError: + :return: ClusterManager. The ClusterManager is compatible with MutableMapping + :rtype: ~azure.mgmt.networkcloud.models.ClusterManager + :raises ~azure.core.exceptions.HttpResponseError: """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError + error_map.update(kwargs.pop("error_map", {}) or {}) + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if cluster_update_parameters else None - cls: ClsType[_models.Cluster] = 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._update_initial( - resource_group_name=resource_group_name, - cluster_name=cluster_name, - cluster_update_parameters=cluster_update_parameters, - etag=etag, - match_condition=match_condition, - 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) + content_type = content_type if cluster_manager_update_parameters else None + cls: ClsType[_models.ClusterManager] = kwargs.pop("cls", None) - def get_long_running_output(pipeline_response): - response = pipeline_response.http_response - deserialized = _deserialize(_models.Cluster, response.json()) - if cls: - return cls(pipeline_response, deserialized, {}) # type: ignore - return deserialized + content_type = content_type or "application/json" if cluster_manager_update_parameters else None + _content = None + if isinstance(cluster_manager_update_parameters, (IOBase, bytes)): + _content = cluster_manager_update_parameters + else: + if cluster_manager_update_parameters is not None: + _content = json.dumps(cluster_manager_update_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None + _request = build_cluster_managers_update_request( + resource_group_name=resource_group_name, + cluster_manager_name=cluster_manager_name, + subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) path_format_arguments = { "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), } + _request.url = self._client.format_url(_request.url, **path_format_arguments) - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - polling_method = polling - if cont_token: - return LROPoller[_models.Cluster].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.Cluster]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) + deserialized = _deserialize(_models.ClusterManager, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore def _delete_initial( self, resource_group_name: str, - cluster_name: str, + cluster_manager_name: str, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -10647,9 +11403,9 @@ def _delete_initial( cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - _request = build_clusters_delete_request( + _request = build_cluster_managers_delete_request( resource_group_name=resource_group_name, - cluster_name=cluster_name, + cluster_manager_name=cluster_manager_name, subscription_id=self._config.subscription_id, etag=etag, match_condition=match_condition, @@ -10697,19 +11453,19 @@ def _delete_initial( def begin_delete( self, resource_group_name: str, - cluster_name: str, + cluster_manager_name: str, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Delete the provided cluster. + """Delete the provided cluster manager. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str + :param cluster_manager_name: The name of the cluster manager. Required. + :type cluster_manager_name: str :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -10730,7 +11486,7 @@ def begin_delete( if cont_token is None: raw_result = self._delete_initial( resource_group_name=resource_group_name, - cluster_name=cluster_name, + cluster_manager_name=cluster_manager_name, etag=etag, match_condition=match_condition, cls=lambda x, y, z: x, @@ -10777,8 +11533,8 @@ def get_long_running_output(pipeline_response): @distributed_trace def list_by_resource_group( self, resource_group_name: str, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> ItemPaged["_models.Cluster"]: - """Get a list of clusters in the provided resource group. + ) -> ItemPaged["_models.ClusterManager"]: + """Get a list of cluster managers in the provided resource group. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. @@ -10790,14 +11546,14 @@ def list_by_resource_group( listing resources from. This is used for paging through large result sets. Default value is None. :paramtype skip_token: str - :return: An iterator like instance of Cluster - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.Cluster] + :return: An iterator like instance of ClusterManager + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.ClusterManager] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.Cluster]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.ClusterManager]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -10810,7 +11566,7 @@ def list_by_resource_group( def prepare_request(next_link=None): if not next_link: - _request = build_clusters_list_by_resource_group_request( + _request = build_cluster_managers_list_by_resource_group_request( resource_group_name=resource_group_name, subscription_id=self._config.subscription_id, top=top, @@ -10854,7 +11610,7 @@ def prepare_request(next_link=None): def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.Cluster], + List[_models.ClusterManager], deserialized.get("value", []), ) if cls: @@ -10885,8 +11641,8 @@ def get_next(next_link=None): @distributed_trace def list_by_subscription( self, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> ItemPaged["_models.Cluster"]: - """Get a list of clusters in the provided subscription. + ) -> ItemPaged["_models.ClusterManager"]: + """Get a list of cluster managers in the provided subscription. :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. Default value is None. @@ -10895,14 +11651,14 @@ def list_by_subscription( listing resources from. This is used for paging through large result sets. Default value is None. :paramtype skip_token: str - :return: An iterator like instance of Cluster - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.Cluster] + :return: An iterator like instance of ClusterManager + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.ClusterManager] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.Cluster]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.ClusterManager]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -10915,7 +11671,7 @@ def list_by_subscription( def prepare_request(next_link=None): if not next_link: - _request = build_clusters_list_by_subscription_request( + _request = build_cluster_managers_list_by_subscription_request( subscription_id=self._config.subscription_id, top=top, skip_token=skip_token, @@ -10958,7 +11714,7 @@ def prepare_request(next_link=None): def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.Cluster], + List[_models.ClusterManager], deserialized.get("value", []), ) if cls: @@ -10986,13 +11742,30 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) - def _continue_update_version_initial( + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "cluster_manager_name", + "content_type", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) + def _update_relay_private_endpoint_connection_initial( # pylint: disable=name-too-long self, resource_group_name: str, - cluster_name: str, - cluster_continue_update_version_parameters: Union[ - _models.ClusterContinueUpdateVersionParameters, _types.ClusterContinueUpdateVersionParameters, IO[bytes] - ], + cluster_manager_name: str, + cluster_manager_update_relay_private_endpoint_connection_parameters: Optional[ + Union[ + _models.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters, + _types.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters, + IO[bytes], + ] + ] = None, **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -11007,18 +11780,26 @@ def _continue_update_version_initial( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if cluster_manager_update_relay_private_endpoint_connection_parameters else None cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" + content_type = ( + content_type or "application/json" + if cluster_manager_update_relay_private_endpoint_connection_parameters + else None + ) _content = None - if isinstance(cluster_continue_update_version_parameters, (IOBase, bytes)): - _content = cluster_continue_update_version_parameters + if isinstance(cluster_manager_update_relay_private_endpoint_connection_parameters, (IOBase, bytes)): + _content = cluster_manager_update_relay_private_endpoint_connection_parameters else: - _content = json.dumps(cluster_continue_update_version_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + if cluster_manager_update_relay_private_endpoint_connection_parameters is not None: + _content = json.dumps(cluster_manager_update_relay_private_endpoint_connection_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None - _request = build_clusters_continue_update_version_request( + _request = build_cluster_managers_update_relay_private_endpoint_connection_request( resource_group_name=resource_group_name, - cluster_name=cluster_name, + cluster_manager_name=cluster_manager_name, subscription_id=self._config.subscription_id, content_type=content_type, api_version=self._config.api_version, @@ -11063,26 +11844,30 @@ def _continue_update_version_initial( return deserialized # type: ignore @overload - def begin_continue_update_version( + def begin_update_relay_private_endpoint_connection( # pylint: disable=name-too-long self, resource_group_name: str, - cluster_name: str, - cluster_continue_update_version_parameters: _models.ClusterContinueUpdateVersionParameters, + cluster_manager_name: str, + cluster_manager_update_relay_private_endpoint_connection_parameters: Optional[ + _models.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters + ] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Trigger the continuation of an update for a cluster with a matching update strategy that has - paused after completing a segment of the update. + """Update the private endpoint connection for the Azure Relay namespace managed by the specified + cluster manager. Use this operation to approve or reject a pending private endpoint connection + request for the relay namespace managed by the cluster manager. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_continue_update_version_parameters: The request body. Required. - :type cluster_continue_update_version_parameters: - ~azure.mgmt.networkcloud.models.ClusterContinueUpdateVersionParameters + :param cluster_manager_name: The name of the cluster manager. Required. + :type cluster_manager_name: str + :param cluster_manager_update_relay_private_endpoint_connection_parameters: The request body. + Default value is None. + :type cluster_manager_update_relay_private_endpoint_connection_parameters: + ~azure.mgmt.networkcloud.models.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -11093,26 +11878,30 @@ def begin_continue_update_version( """ @overload - def begin_continue_update_version( + def begin_update_relay_private_endpoint_connection( # pylint: disable=name-too-long self, resource_group_name: str, - cluster_name: str, - cluster_continue_update_version_parameters: _types.ClusterContinueUpdateVersionParameters, + cluster_manager_name: str, + cluster_manager_update_relay_private_endpoint_connection_parameters: Optional[ + _types.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters + ] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Trigger the continuation of an update for a cluster with a matching update strategy that has - paused after completing a segment of the update. + """Update the private endpoint connection for the Azure Relay namespace managed by the specified + cluster manager. Use this operation to approve or reject a pending private endpoint connection + request for the relay namespace managed by the cluster manager. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_continue_update_version_parameters: The request body. Required. - :type cluster_continue_update_version_parameters: - ~azure.mgmt.networkcloud.types.ClusterContinueUpdateVersionParameters + :param cluster_manager_name: The name of the cluster manager. Required. + :type cluster_manager_name: str + :param cluster_manager_update_relay_private_endpoint_connection_parameters: The request body. + Default value is None. + :type cluster_manager_update_relay_private_endpoint_connection_parameters: + ~azure.mgmt.networkcloud.types.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -11123,25 +11912,27 @@ def begin_continue_update_version( """ @overload - def begin_continue_update_version( + def begin_update_relay_private_endpoint_connection( # pylint: disable=name-too-long self, resource_group_name: str, - cluster_name: str, - cluster_continue_update_version_parameters: IO[bytes], + cluster_manager_name: str, + cluster_manager_update_relay_private_endpoint_connection_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Trigger the continuation of an update for a cluster with a matching update strategy that has - paused after completing a segment of the update. + """Update the private endpoint connection for the Azure Relay namespace managed by the specified + cluster manager. Use this operation to approve or reject a pending private endpoint connection + request for the relay namespace managed by the cluster manager. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_continue_update_version_parameters: The request body. Required. - :type cluster_continue_update_version_parameters: IO[bytes] + :param cluster_manager_name: The name of the cluster manager. Required. + :type cluster_manager_name: str + :param cluster_manager_update_relay_private_endpoint_connection_parameters: The request body. + Default value is None. + :type cluster_manager_update_relay_private_endpoint_connection_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -11152,28 +11943,48 @@ def begin_continue_update_version( """ @distributed_trace - def begin_continue_update_version( + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "cluster_manager_name", + "content_type", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) + def begin_update_relay_private_endpoint_connection( # pylint: disable=name-too-long self, resource_group_name: str, - cluster_name: str, - cluster_continue_update_version_parameters: Union[ - _models.ClusterContinueUpdateVersionParameters, _types.ClusterContinueUpdateVersionParameters, IO[bytes] - ], + cluster_manager_name: str, + cluster_manager_update_relay_private_endpoint_connection_parameters: Optional[ + Union[ + _models.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters, + _types.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters, + IO[bytes], + ] + ] = None, **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Trigger the continuation of an update for a cluster with a matching update strategy that has - paused after completing a segment of the update. + """Update the private endpoint connection for the Azure Relay namespace managed by the specified + cluster manager. Use this operation to approve or reject a pending private endpoint connection + request for the relay namespace managed by the cluster manager. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_continue_update_version_parameters: The request body. Is either a - ClusterContinueUpdateVersionParameters type or a IO[bytes] type. Required. - :type cluster_continue_update_version_parameters: - ~azure.mgmt.networkcloud.models.ClusterContinueUpdateVersionParameters or - ~azure.mgmt.networkcloud.types.ClusterContinueUpdateVersionParameters or IO[bytes] + :param cluster_manager_name: The name of the cluster manager. Required. + :type cluster_manager_name: str + :param cluster_manager_update_relay_private_endpoint_connection_parameters: The request body. + Is either a ClusterManagerUpdateRelayPrivateEndpointConnectionParameters type or a IO[bytes] + type. Default value is None. + :type cluster_manager_update_relay_private_endpoint_connection_parameters: + ~azure.mgmt.networkcloud.models.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters or + ~azure.mgmt.networkcloud.types.ClusterManagerUpdateRelayPrivateEndpointConnectionParameters or + IO[bytes] :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] @@ -11183,15 +11994,16 @@ def begin_continue_update_version( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if cluster_manager_update_relay_private_endpoint_connection_parameters else None cls: ClsType[_models.OperationStatusResult] = 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._continue_update_version_initial( + raw_result = self._update_relay_private_endpoint_connection_initial( resource_group_name=resource_group_name, - cluster_name=cluster_name, - cluster_continue_update_version_parameters=cluster_continue_update_version_parameters, + cluster_manager_name=cluster_manager_name, + cluster_manager_update_relay_private_endpoint_connection_parameters=cluster_manager_update_relay_private_endpoint_connection_parameters, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -11235,13 +12047,102 @@ def get_long_running_output(pipeline_response): self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - def _deploy_initial( - self, - resource_group_name: str, - cluster_name: str, - cluster_deploy_parameters: Optional[ - Union[_models.ClusterDeployParameters, _types.ClusterDeployParameters, IO[bytes]] - ] = None, + +class ClustersOperations: # pylint: disable=too-many-public-methods + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.networkcloud.NetworkCloudMgmtClient`'s + :attr:`clusters` attribute. + """ + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: NetworkCloudMgmtClientConfiguration = 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 get(self, resource_group_name: str, cluster_name: str, **kwargs: Any) -> _models.Cluster: + """Get properties of the provided cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :return: Cluster. The Cluster is compatible with MutableMapping + :rtype: ~azure.mgmt.networkcloud.models.Cluster + :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 = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.Cluster] = kwargs.pop("cls", None) + + _request = build_clusters_get_request( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.Cluster, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + def _create_or_update_initial( + self, + resource_group_name: str, + cluster_name: str, + cluster_parameters: Union[_models.Cluster, _types.Cluster, IO[bytes]], + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -11250,29 +12151,33 @@ def _deploy_initial( 409: ResourceExistsError, 304: ResourceNotModifiedError, } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if cluster_deploy_parameters else None cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" if cluster_deploy_parameters else None + content_type = content_type or "application/json" _content = None - if isinstance(cluster_deploy_parameters, (IOBase, bytes)): - _content = cluster_deploy_parameters + if isinstance(cluster_parameters, (IOBase, bytes)): + _content = cluster_parameters else: - if cluster_deploy_parameters is not None: - _content = json.dumps(cluster_deploy_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - else: - _content = None + _content = json.dumps(cluster_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_clusters_deploy_request( + _request = build_clusters_create_or_update_request( resource_group_name=resource_group_name, cluster_name=cluster_name, subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, content_type=content_type, api_version=self._config.api_version, content=_content, @@ -11292,7 +12197,7 @@ def _deploy_initial( response = pipeline_response.http_response - if response.status_code not in [202]: + if response.status_code not in [200, 201]: try: response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -11305,8 +12210,10 @@ def _deploy_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + if response.status_code == 201: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -11316,129 +12223,157 @@ def _deploy_initial( return deserialized # type: ignore @overload - def begin_deploy( + def begin_create_or_update( self, resource_group_name: str, cluster_name: str, - cluster_deploy_parameters: Optional[_models.ClusterDeployParameters] = None, + cluster_parameters: _models.Cluster, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Deploy the cluster using the rack configuration provided during creation. + ) -> LROPoller[_models.Cluster]: + """Create a new cluster or update the properties of the cluster if it exists. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param cluster_deploy_parameters: The request body. Default value is None. - :type cluster_deploy_parameters: ~azure.mgmt.networkcloud.models.ClusterDeployParameters + :param cluster_parameters: The request body. Required. + :type cluster_parameters: ~azure.mgmt.networkcloud.models.Cluster :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns Cluster. The Cluster is compatible with + MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.Cluster] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_deploy( + def begin_create_or_update( self, resource_group_name: str, cluster_name: str, - cluster_deploy_parameters: Optional[_types.ClusterDeployParameters] = None, + cluster_parameters: _types.Cluster, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Deploy the cluster using the rack configuration provided during creation. + ) -> LROPoller[_models.Cluster]: + """Create a new cluster or update the properties of the cluster if it exists. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param cluster_deploy_parameters: The request body. Default value is None. - :type cluster_deploy_parameters: ~azure.mgmt.networkcloud.types.ClusterDeployParameters + :param cluster_parameters: The request body. Required. + :type cluster_parameters: ~azure.mgmt.networkcloud.types.Cluster :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns Cluster. The Cluster is compatible with + MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.Cluster] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_deploy( + def begin_create_or_update( self, resource_group_name: str, cluster_name: str, - cluster_deploy_parameters: Optional[IO[bytes]] = None, + cluster_parameters: IO[bytes], *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Deploy the cluster using the rack configuration provided during creation. + ) -> LROPoller[_models.Cluster]: + """Create a new cluster or update the properties of the cluster if it exists. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param cluster_deploy_parameters: The request body. Default value is None. - :type cluster_deploy_parameters: IO[bytes] + :param cluster_parameters: The request body. Required. + :type cluster_parameters: IO[bytes] :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns Cluster. The Cluster is compatible with + MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.Cluster] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace - def begin_deploy( + def begin_create_or_update( self, resource_group_name: str, cluster_name: str, - cluster_deploy_parameters: Optional[ - Union[_models.ClusterDeployParameters, _types.ClusterDeployParameters, IO[bytes]] - ] = None, + cluster_parameters: Union[_models.Cluster, _types.Cluster, IO[bytes]], + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Deploy the cluster using the rack configuration provided during creation. + ) -> LROPoller[_models.Cluster]: + """Create a new cluster or update the properties of the cluster if it exists. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param cluster_deploy_parameters: The request body. Is either a ClusterDeployParameters type or - a IO[bytes] type. Default value is None. - :type cluster_deploy_parameters: ~azure.mgmt.networkcloud.models.ClusterDeployParameters or - ~azure.mgmt.networkcloud.types.ClusterDeployParameters or IO[bytes] - :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :param cluster_parameters: The request body. Is either a Cluster type or a IO[bytes] type. + Required. + :type cluster_parameters: ~azure.mgmt.networkcloud.models.Cluster or + ~azure.mgmt.networkcloud.types.Cluster or IO[bytes] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns Cluster. The Cluster is compatible with + MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.Cluster] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if cluster_deploy_parameters else None - cls: ClsType[_models.OperationStatusResult] = kwargs.pop("cls", None) + cls: ClsType[_models.Cluster] = 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._deploy_initial( + raw_result = self._create_or_update_initial( resource_group_name=resource_group_name, cluster_name=cluster_name, - cluster_deploy_parameters=cluster_deploy_parameters, + cluster_parameters=cluster_parameters, + etag=etag, + match_condition=match_condition, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -11449,14 +12384,10 @@ def begin_deploy( kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - response_headers = {} response = pipeline_response.http_response - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = _deserialize(_models.OperationStatusResult, response.json()) + deserialized = _deserialize(_models.Cluster, response.json()) if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore + return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized path_format_arguments = { @@ -11472,23 +12403,26 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return LROPoller[_models.OperationStatusResult].from_continuation_token( + return LROPoller[_models.Cluster].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return LROPoller[_models.OperationStatusResult]( + return LROPoller[_models.Cluster]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - def _scan_runtime_initial( + def _update_initial( self, resource_group_name: str, cluster_name: str, - cluster_scan_runtime_parameters: Optional[ - Union[_models.ClusterScanRuntimeParameters, _types.ClusterScanRuntimeParameters, IO[bytes]] + cluster_update_parameters: Optional[ + Union[_models.ClusterPatchParameters, _types.ClusterPatchParameters, IO[bytes]] ] = None, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any ) -> Iterator[bytes]: error_map: MutableMapping = { @@ -11497,29 +12431,37 @@ def _scan_runtime_initial( 409: ResourceExistsError, 304: ResourceNotModifiedError, } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if cluster_scan_runtime_parameters else None + content_type = content_type if cluster_update_parameters else None cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" if cluster_scan_runtime_parameters else None + content_type = content_type or "application/json" if cluster_update_parameters else None _content = None - if isinstance(cluster_scan_runtime_parameters, (IOBase, bytes)): - _content = cluster_scan_runtime_parameters + if isinstance(cluster_update_parameters, (IOBase, bytes)): + _content = cluster_update_parameters else: - if cluster_scan_runtime_parameters is not None: - _content = json.dumps(cluster_scan_runtime_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + if cluster_update_parameters is not None: + _content = json.dumps(cluster_update_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore else: _content = None - _request = build_clusters_scan_runtime_request( + _request = build_clusters_update_request( resource_group_name=resource_group_name, cluster_name=cluster_name, subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, content_type=content_type, api_version=self._config.api_version, content=_content, @@ -11539,7 +12481,7 @@ def _scan_runtime_initial( response = pipeline_response.http_response - if response.status_code not in [202]: + if response.status_code not in [200, 202]: try: response.read() # Load the body in memory and close the socket except (StreamConsumedError, StreamClosedError): @@ -11552,8 +12494,11 @@ def _scan_runtime_initial( raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) response_headers = {} - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) deserialized = response.iter_bytes() if _decompress else response.iter_raw() @@ -11563,136 +12508,164 @@ def _scan_runtime_initial( return deserialized # type: ignore @overload - def begin_scan_runtime( + def begin_update( self, resource_group_name: str, cluster_name: str, - cluster_scan_runtime_parameters: Optional[_models.ClusterScanRuntimeParameters] = None, + cluster_update_parameters: Optional[_models.ClusterPatchParameters] = None, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Triggers the execution of a runtime protection scan to detect and remediate detected issues, in - accordance with the cluster configuration. + ) -> LROPoller[_models.Cluster]: + """Patch the properties of the provided cluster, or update the tags associated with the cluster. + Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param cluster_scan_runtime_parameters: The request body. Default value is None. - :type cluster_scan_runtime_parameters: - ~azure.mgmt.networkcloud.models.ClusterScanRuntimeParameters + :param cluster_update_parameters: The request body. Default value is None. + :type cluster_update_parameters: ~azure.mgmt.networkcloud.models.ClusterPatchParameters :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns Cluster. The Cluster is compatible with + MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.Cluster] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_scan_runtime( + def begin_update( self, resource_group_name: str, cluster_name: str, - cluster_scan_runtime_parameters: Optional[_types.ClusterScanRuntimeParameters] = None, + cluster_update_parameters: Optional[_types.ClusterPatchParameters] = None, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Triggers the execution of a runtime protection scan to detect and remediate detected issues, in - accordance with the cluster configuration. + ) -> LROPoller[_models.Cluster]: + """Patch the properties of the provided cluster, or update the tags associated with the cluster. + Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param cluster_scan_runtime_parameters: The request body. Default value is None. - :type cluster_scan_runtime_parameters: - ~azure.mgmt.networkcloud.types.ClusterScanRuntimeParameters + :param cluster_update_parameters: The request body. Default value is None. + :type cluster_update_parameters: ~azure.mgmt.networkcloud.types.ClusterPatchParameters :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns Cluster. The Cluster is compatible with + MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.Cluster] :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def begin_scan_runtime( + def begin_update( self, resource_group_name: str, cluster_name: str, - cluster_scan_runtime_parameters: Optional[IO[bytes]] = None, + cluster_update_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Triggers the execution of a runtime protection scan to detect and remediate detected issues, in - accordance with the cluster configuration. + ) -> LROPoller[_models.Cluster]: + """Patch the properties of the provided cluster, or update the tags associated with the cluster. + Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param cluster_scan_runtime_parameters: The request body. Default value is None. - :type cluster_scan_runtime_parameters: IO[bytes] + :param cluster_update_parameters: The request body. Default value is None. + :type cluster_update_parameters: IO[bytes] :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns Cluster. The Cluster is compatible with + MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.Cluster] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace - def begin_scan_runtime( + def begin_update( self, resource_group_name: str, cluster_name: str, - cluster_scan_runtime_parameters: Optional[ - Union[_models.ClusterScanRuntimeParameters, _types.ClusterScanRuntimeParameters, IO[bytes]] + cluster_update_parameters: Optional[ + Union[_models.ClusterPatchParameters, _types.ClusterPatchParameters, IO[bytes]] ] = None, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Triggers the execution of a runtime protection scan to detect and remediate detected issues, in - accordance with the cluster configuration. + ) -> LROPoller[_models.Cluster]: + """Patch the properties of the provided cluster, or update the tags associated with the cluster. + Properties and tag updates can be done independently. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str :param cluster_name: The name of the cluster. Required. :type cluster_name: str - :param cluster_scan_runtime_parameters: The request body. Is either a - ClusterScanRuntimeParameters type or a IO[bytes] type. Default value is None. - :type cluster_scan_runtime_parameters: - ~azure.mgmt.networkcloud.models.ClusterScanRuntimeParameters or - ~azure.mgmt.networkcloud.types.ClusterScanRuntimeParameters or IO[bytes] - :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :param cluster_update_parameters: The request body. Is either a ClusterPatchParameters type or + a IO[bytes] type. Default value is None. + :type cluster_update_parameters: ~azure.mgmt.networkcloud.models.ClusterPatchParameters or + ~azure.mgmt.networkcloud.types.ClusterPatchParameters or IO[bytes] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns Cluster. The Cluster is compatible with + MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.Cluster] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if cluster_scan_runtime_parameters else None - cls: ClsType[_models.OperationStatusResult] = kwargs.pop("cls", None) + content_type = content_type if cluster_update_parameters else None + cls: ClsType[_models.Cluster] = 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._scan_runtime_initial( + raw_result = self._update_initial( resource_group_name=resource_group_name, cluster_name=cluster_name, - cluster_scan_runtime_parameters=cluster_scan_runtime_parameters, + cluster_update_parameters=cluster_update_parameters, + etag=etag, + match_condition=match_condition, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -11703,14 +12676,10 @@ def begin_scan_runtime( kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - response_headers = {} response = pipeline_response.http_response - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = _deserialize(_models.OperationStatusResult, response.json()) + deserialized = _deserialize(_models.Cluster, response.json()) if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore + return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized path_format_arguments = { @@ -11726,22 +12695,2953 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return LROPoller[_models.OperationStatusResult].from_continuation_token( + return LROPoller[_models.Cluster].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return LROPoller[_models.OperationStatusResult]( + return LROPoller[_models.Cluster]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) - def _update_version_initial( + def _delete_initial( self, resource_group_name: str, cluster_name: str, - cluster_update_version_parameters: Union[ - _models.ClusterUpdateVersionParameters, _types.ClusterUpdateVersionParameters, IO[bytes] + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + _request = build_clusters_delete_request( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _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 = _failsafe_deserialize( + _models.ErrorResponse, + 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")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + 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, + cluster_name: str, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Delete the provided cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.OperationStatusResult] = 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, + cluster_name=cluster_name, + etag=etag, + match_condition=match_condition, + 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): + response_headers = {} + response = pipeline_response.http_response + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + + deserialized = _deserialize(_models.OperationStatusResult, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.OperationStatusResult].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.OperationStatusResult]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @distributed_trace + def list_by_resource_group( + self, resource_group_name: str, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any + ) -> ItemPaged["_models.Cluster"]: + """Get a list of clusters in the provided resource group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. + Default value is None. + :paramtype top: int + :keyword skip_token: The opaque token that the server returns to indicate where to continue + listing resources from. This is used for paging through large result sets. Default value is + None. + :paramtype skip_token: str + :return: An iterator like instance of Cluster + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.Cluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.Cluster]] = 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_clusters_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + top=top, + skip_token=skip_token, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + 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), + headers=_headers, + params=_next_request_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.Cluster], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + @distributed_trace + def list_by_subscription( + self, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any + ) -> ItemPaged["_models.Cluster"]: + """Get a list of clusters in the provided subscription. + + :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. + Default value is None. + :paramtype top: int + :keyword skip_token: The opaque token that the server returns to indicate where to continue + listing resources from. This is used for paging through large result sets. Default value is + None. + :paramtype skip_token: str + :return: An iterator like instance of Cluster + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.Cluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.Cluster]] = 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_clusters_list_by_subscription_request( + subscription_id=self._config.subscription_id, + top=top, + skip_token=skip_token, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + 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), + headers=_headers, + params=_next_request_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.Cluster], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + def _continue_update_version_initial( + self, + resource_group_name: str, + cluster_name: str, + cluster_continue_update_version_parameters: Union[ + _models.ClusterContinueUpdateVersionParameters, _types.ClusterContinueUpdateVersionParameters, IO[bytes] + ], + **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 = kwargs.pop("params", {}) or {} + + 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" + _content = None + if isinstance(cluster_continue_update_version_parameters, (IOBase, bytes)): + _content = cluster_continue_update_version_parameters + else: + _content = json.dumps(cluster_continue_update_version_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_clusters_continue_update_version_request( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _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]: + 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_continue_update_version( + self, + resource_group_name: str, + cluster_name: str, + cluster_continue_update_version_parameters: _models.ClusterContinueUpdateVersionParameters, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Trigger the continuation of an update for a cluster with a matching update strategy that has + paused after completing a segment of the update. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_continue_update_version_parameters: The request body. Required. + :type cluster_continue_update_version_parameters: + ~azure.mgmt.networkcloud.models.ClusterContinueUpdateVersionParameters + :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 OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_continue_update_version( + self, + resource_group_name: str, + cluster_name: str, + cluster_continue_update_version_parameters: _types.ClusterContinueUpdateVersionParameters, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Trigger the continuation of an update for a cluster with a matching update strategy that has + paused after completing a segment of the update. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_continue_update_version_parameters: The request body. Required. + :type cluster_continue_update_version_parameters: + ~azure.mgmt.networkcloud.types.ClusterContinueUpdateVersionParameters + :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 OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_continue_update_version( + self, + resource_group_name: str, + cluster_name: str, + cluster_continue_update_version_parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Trigger the continuation of an update for a cluster with a matching update strategy that has + paused after completing a segment of the update. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_continue_update_version_parameters: The request body. Required. + :type cluster_continue_update_version_parameters: IO[bytes] + :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 OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_continue_update_version( + self, + resource_group_name: str, + cluster_name: str, + cluster_continue_update_version_parameters: Union[ + _models.ClusterContinueUpdateVersionParameters, _types.ClusterContinueUpdateVersionParameters, IO[bytes] + ], + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Trigger the continuation of an update for a cluster with a matching update strategy that has + paused after completing a segment of the update. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_continue_update_version_parameters: The request body. Is either a + ClusterContinueUpdateVersionParameters type or a IO[bytes] type. Required. + :type cluster_continue_update_version_parameters: + ~azure.mgmt.networkcloud.models.ClusterContinueUpdateVersionParameters or + ~azure.mgmt.networkcloud.types.ClusterContinueUpdateVersionParameters or IO[bytes] + :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.OperationStatusResult] = 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._continue_update_version_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + cluster_continue_update_version_parameters=cluster_continue_update_version_parameters, + 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): + response_headers = {} + response = pipeline_response.http_response + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.OperationStatusResult, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.OperationStatusResult].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.OperationStatusResult]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + def _deploy_initial( + self, + resource_group_name: str, + cluster_name: str, + cluster_deploy_parameters: Optional[ + Union[_models.ClusterDeployParameters, _types.ClusterDeployParameters, IO[bytes]] + ] = 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if cluster_deploy_parameters else None + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" if cluster_deploy_parameters else None + _content = None + if isinstance(cluster_deploy_parameters, (IOBase, bytes)): + _content = cluster_deploy_parameters + else: + if cluster_deploy_parameters is not None: + _content = json.dumps(cluster_deploy_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None + + _request = build_clusters_deploy_request( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _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]: + 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_deploy( + self, + resource_group_name: str, + cluster_name: str, + cluster_deploy_parameters: Optional[_models.ClusterDeployParameters] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Deploy the cluster using the rack configuration provided during creation. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_deploy_parameters: The request body. Default value is None. + :type cluster_deploy_parameters: ~azure.mgmt.networkcloud.models.ClusterDeployParameters + :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 OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_deploy( + self, + resource_group_name: str, + cluster_name: str, + cluster_deploy_parameters: Optional[_types.ClusterDeployParameters] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Deploy the cluster using the rack configuration provided during creation. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_deploy_parameters: The request body. Default value is None. + :type cluster_deploy_parameters: ~azure.mgmt.networkcloud.types.ClusterDeployParameters + :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 OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_deploy( + self, + resource_group_name: str, + cluster_name: str, + cluster_deploy_parameters: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Deploy the cluster using the rack configuration provided during creation. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_deploy_parameters: The request body. Default value is None. + :type cluster_deploy_parameters: IO[bytes] + :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 OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_deploy( + self, + resource_group_name: str, + cluster_name: str, + cluster_deploy_parameters: Optional[ + Union[_models.ClusterDeployParameters, _types.ClusterDeployParameters, IO[bytes]] + ] = None, + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Deploy the cluster using the rack configuration provided during creation. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_deploy_parameters: The request body. Is either a ClusterDeployParameters type or + a IO[bytes] type. Default value is None. + :type cluster_deploy_parameters: ~azure.mgmt.networkcloud.models.ClusterDeployParameters or + ~azure.mgmt.networkcloud.types.ClusterDeployParameters or IO[bytes] + :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if cluster_deploy_parameters else None + cls: ClsType[_models.OperationStatusResult] = 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._deploy_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + cluster_deploy_parameters=cluster_deploy_parameters, + 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): + response_headers = {} + response = pipeline_response.http_response + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.OperationStatusResult, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.OperationStatusResult].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.OperationStatusResult]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "cluster_name", + "content_type", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) + def _inspect_initial( + self, + resource_group_name: str, + cluster_name: str, + cluster_inspect_parameters: Optional[ + Union[_models.ClusterInspectParameters, _types.ClusterInspectParameters, IO[bytes]] + ] = 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if cluster_inspect_parameters else None + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" if cluster_inspect_parameters else None + _content = None + if isinstance(cluster_inspect_parameters, (IOBase, bytes)): + _content = cluster_inspect_parameters + else: + if cluster_inspect_parameters is not None: + _content = json.dumps(cluster_inspect_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None + + _request = build_clusters_inspect_request( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _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]: + 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_inspect( + self, + resource_group_name: str, + cluster_name: str, + cluster_inspect_parameters: Optional[_models.ClusterInspectParameters] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Trigger an inspection of the cluster to perform validation and optional corrective actions + based on the supplied additional actions and filters. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_inspect_parameters: The request body. Default value is None. + :type cluster_inspect_parameters: ~azure.mgmt.networkcloud.models.ClusterInspectParameters + :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 OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_inspect( + self, + resource_group_name: str, + cluster_name: str, + cluster_inspect_parameters: Optional[_types.ClusterInspectParameters] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Trigger an inspection of the cluster to perform validation and optional corrective actions + based on the supplied additional actions and filters. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_inspect_parameters: The request body. Default value is None. + :type cluster_inspect_parameters: ~azure.mgmt.networkcloud.types.ClusterInspectParameters + :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 OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_inspect( + self, + resource_group_name: str, + cluster_name: str, + cluster_inspect_parameters: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Trigger an inspection of the cluster to perform validation and optional corrective actions + based on the supplied additional actions and filters. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_inspect_parameters: The request body. Default value is None. + :type cluster_inspect_parameters: IO[bytes] + :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 OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "cluster_name", + "content_type", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) + def begin_inspect( + self, + resource_group_name: str, + cluster_name: str, + cluster_inspect_parameters: Optional[ + Union[_models.ClusterInspectParameters, _types.ClusterInspectParameters, IO[bytes]] + ] = None, + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Trigger an inspection of the cluster to perform validation and optional corrective actions + based on the supplied additional actions and filters. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_inspect_parameters: The request body. Is either a ClusterInspectParameters type + or a IO[bytes] type. Default value is None. + :type cluster_inspect_parameters: ~azure.mgmt.networkcloud.models.ClusterInspectParameters or + ~azure.mgmt.networkcloud.types.ClusterInspectParameters or IO[bytes] + :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if cluster_inspect_parameters else None + cls: ClsType[_models.OperationStatusResult] = 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._inspect_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + cluster_inspect_parameters=cluster_inspect_parameters, + 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): + response_headers = {} + response = pipeline_response.http_response + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.OperationStatusResult, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.OperationStatusResult].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.OperationStatusResult]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @api_version_validation( + method_added_on="2026-05-01-preview", + params_added_on={ + "2026-05-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "cluster_name", + "content_type", + ] + }, + api_versions_list=["2026-05-01-preview", "2026-07-01"], + ) + def _rotate_credential_initial( + self, + resource_group_name: str, + cluster_name: str, + body: Union[_models.ClusterRotateCredentialParameters, _types.ClusterRotateCredentialParameters, IO[bytes]], + **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 = kwargs.pop("params", {}) or {} + + 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" + _content = None + if isinstance(body, (IOBase, bytes)): + _content = body + else: + _content = json.dumps(body, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_clusters_rotate_credential_request( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _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]: + 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_rotate_credential( + self, + resource_group_name: str, + cluster_name: str, + body: _models.ClusterRotateCredentialParameters, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Rotate the specified cluster credential. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param body: The content of the action request. Required. + :type body: ~azure.mgmt.networkcloud.models.ClusterRotateCredentialParameters + :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 OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_rotate_credential( + self, + resource_group_name: str, + cluster_name: str, + body: _types.ClusterRotateCredentialParameters, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Rotate the specified cluster credential. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param body: The content of the action request. Required. + :type body: ~azure.mgmt.networkcloud.types.ClusterRotateCredentialParameters + :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 OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_rotate_credential( + self, + resource_group_name: str, + cluster_name: str, + body: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Rotate the specified cluster credential. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param body: The content of the action request. Required. + :type body: IO[bytes] + :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 OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + @api_version_validation( + method_added_on="2026-05-01-preview", + params_added_on={ + "2026-05-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "cluster_name", + "content_type", + ] + }, + api_versions_list=["2026-05-01-preview", "2026-07-01"], + ) + def begin_rotate_credential( + self, + resource_group_name: str, + cluster_name: str, + body: Union[_models.ClusterRotateCredentialParameters, _types.ClusterRotateCredentialParameters, IO[bytes]], + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Rotate the specified cluster credential. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param body: The content of the action request. Is either a ClusterRotateCredentialParameters + type or a IO[bytes] type. Required. + :type body: ~azure.mgmt.networkcloud.models.ClusterRotateCredentialParameters or + ~azure.mgmt.networkcloud.types.ClusterRotateCredentialParameters or IO[bytes] + :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.OperationStatusResult] = 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._rotate_credential_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + body=body, + 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): + response_headers = {} + response = pipeline_response.http_response + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.OperationStatusResult, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.OperationStatusResult].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.OperationStatusResult]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + def _scan_runtime_initial( + self, + resource_group_name: str, + cluster_name: str, + cluster_scan_runtime_parameters: Optional[ + Union[_models.ClusterScanRuntimeParameters, _types.ClusterScanRuntimeParameters, IO[bytes]] + ] = 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 = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if cluster_scan_runtime_parameters else None + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" if cluster_scan_runtime_parameters else None + _content = None + if isinstance(cluster_scan_runtime_parameters, (IOBase, bytes)): + _content = cluster_scan_runtime_parameters + else: + if cluster_scan_runtime_parameters is not None: + _content = json.dumps(cluster_scan_runtime_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None + + _request = build_clusters_scan_runtime_request( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _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]: + 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_scan_runtime( + self, + resource_group_name: str, + cluster_name: str, + cluster_scan_runtime_parameters: Optional[_models.ClusterScanRuntimeParameters] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Triggers the execution of a runtime protection scan to detect and remediate detected issues, in + accordance with the cluster configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_scan_runtime_parameters: The request body. Default value is None. + :type cluster_scan_runtime_parameters: + ~azure.mgmt.networkcloud.models.ClusterScanRuntimeParameters + :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 OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_scan_runtime( + self, + resource_group_name: str, + cluster_name: str, + cluster_scan_runtime_parameters: Optional[_types.ClusterScanRuntimeParameters] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Triggers the execution of a runtime protection scan to detect and remediate detected issues, in + accordance with the cluster configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_scan_runtime_parameters: The request body. Default value is None. + :type cluster_scan_runtime_parameters: + ~azure.mgmt.networkcloud.types.ClusterScanRuntimeParameters + :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 OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_scan_runtime( + self, + resource_group_name: str, + cluster_name: str, + cluster_scan_runtime_parameters: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Triggers the execution of a runtime protection scan to detect and remediate detected issues, in + accordance with the cluster configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_scan_runtime_parameters: The request body. Default value is None. + :type cluster_scan_runtime_parameters: IO[bytes] + :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 OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_scan_runtime( + self, + resource_group_name: str, + cluster_name: str, + cluster_scan_runtime_parameters: Optional[ + Union[_models.ClusterScanRuntimeParameters, _types.ClusterScanRuntimeParameters, IO[bytes]] + ] = None, + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Triggers the execution of a runtime protection scan to detect and remediate detected issues, in + accordance with the cluster configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_scan_runtime_parameters: The request body. Is either a + ClusterScanRuntimeParameters type or a IO[bytes] type. Default value is None. + :type cluster_scan_runtime_parameters: + ~azure.mgmt.networkcloud.models.ClusterScanRuntimeParameters or + ~azure.mgmt.networkcloud.types.ClusterScanRuntimeParameters or IO[bytes] + :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if cluster_scan_runtime_parameters else None + cls: ClsType[_models.OperationStatusResult] = 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._scan_runtime_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + cluster_scan_runtime_parameters=cluster_scan_runtime_parameters, + 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): + response_headers = {} + response = pipeline_response.http_response + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.OperationStatusResult, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.OperationStatusResult].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.OperationStatusResult]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + def _update_version_initial( + self, + resource_group_name: str, + cluster_name: str, + cluster_update_version_parameters: Union[ + _models.ClusterUpdateVersionParameters, _types.ClusterUpdateVersionParameters, IO[bytes] + ], + **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 = kwargs.pop("params", {}) or {} + + 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" + _content = None + if isinstance(cluster_update_version_parameters, (IOBase, bytes)): + _content = cluster_update_version_parameters + else: + _content = json.dumps(cluster_update_version_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_clusters_update_version_request( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _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]: + 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_update_version( + self, + resource_group_name: str, + cluster_name: str, + cluster_update_version_parameters: _models.ClusterUpdateVersionParameters, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Update the version of the provided cluster to one of the available supported versions. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_update_version_parameters: The request body. Required. + :type cluster_update_version_parameters: + ~azure.mgmt.networkcloud.models.ClusterUpdateVersionParameters + :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 OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_update_version( + self, + resource_group_name: str, + cluster_name: str, + cluster_update_version_parameters: _types.ClusterUpdateVersionParameters, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Update the version of the provided cluster to one of the available supported versions. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_update_version_parameters: The request body. Required. + :type cluster_update_version_parameters: + ~azure.mgmt.networkcloud.types.ClusterUpdateVersionParameters + :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 OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_update_version( + self, + resource_group_name: str, + cluster_name: str, + cluster_update_version_parameters: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Update the version of the provided cluster to one of the available supported versions. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_update_version_parameters: The request body. Required. + :type cluster_update_version_parameters: IO[bytes] + :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 OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_update_version( + self, + resource_group_name: str, + cluster_name: str, + cluster_update_version_parameters: Union[ + _models.ClusterUpdateVersionParameters, _types.ClusterUpdateVersionParameters, IO[bytes] + ], + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Update the version of the provided cluster to one of the available supported versions. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param cluster_name: The name of the cluster. Required. + :type cluster_name: str + :param cluster_update_version_parameters: The request body. Is either a + ClusterUpdateVersionParameters type or a IO[bytes] type. Required. + :type cluster_update_version_parameters: + ~azure.mgmt.networkcloud.models.ClusterUpdateVersionParameters or + ~azure.mgmt.networkcloud.types.ClusterUpdateVersionParameters or IO[bytes] + :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.OperationStatusResult] = 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._update_version_initial( + resource_group_name=resource_group_name, + cluster_name=cluster_name, + cluster_update_version_parameters=cluster_update_version_parameters, + 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): + response_headers = {} + response = pipeline_response.http_response + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) + + deserialized = _deserialize(_models.OperationStatusResult, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.OperationStatusResult].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.OperationStatusResult]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + +class KubernetesClustersOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.networkcloud.NetworkCloudMgmtClient`'s + :attr:`kubernetes_clusters` attribute. + """ + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: NetworkCloudMgmtClientConfiguration = 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 get(self, resource_group_name: str, kubernetes_cluster_name: str, **kwargs: Any) -> _models.KubernetesCluster: + """Get properties of the provided the Kubernetes cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :return: KubernetesCluster. The KubernetesCluster is compatible with MutableMapping + :rtype: ~azure.mgmt.networkcloud.models.KubernetesCluster + :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 = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.KubernetesCluster] = kwargs.pop("cls", None) + + _request = build_kubernetes_clusters_get_request( + resource_group_name=resource_group_name, + kubernetes_cluster_name=kubernetes_cluster_name, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("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]: + if _stream: + 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.KubernetesCluster, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + def _create_or_update_initial( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + kubernetes_cluster_parameters: Union[_models.KubernetesCluster, _types.KubernetesCluster, IO[bytes]], + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + 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" + _content = None + if isinstance(kubernetes_cluster_parameters, (IOBase, bytes)): + _content = kubernetes_cluster_parameters + else: + _content = json.dumps(kubernetes_cluster_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_kubernetes_clusters_create_or_update_request( + resource_group_name=resource_group_name, + kubernetes_cluster_name=kubernetes_cluster_name, + subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 201: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + 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, + kubernetes_cluster_name: str, + kubernetes_cluster_parameters: _models.KubernetesCluster, + *, + content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> LROPoller[_models.KubernetesCluster]: + """Create a new Kubernetes cluster or update the properties of the existing one. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_parameters: The request body. Required. + :type kubernetes_cluster_parameters: ~azure.mgmt.networkcloud.models.KubernetesCluster + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns KubernetesCluster. The KubernetesCluster is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_create_or_update( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + kubernetes_cluster_parameters: _types.KubernetesCluster, + *, + content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> LROPoller[_models.KubernetesCluster]: + """Create a new Kubernetes cluster or update the properties of the existing one. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_parameters: The request body. Required. + :type kubernetes_cluster_parameters: ~azure.mgmt.networkcloud.types.KubernetesCluster + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns KubernetesCluster. The KubernetesCluster is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_create_or_update( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + kubernetes_cluster_parameters: IO[bytes], + *, + content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> LROPoller[_models.KubernetesCluster]: + """Create a new Kubernetes cluster or update the properties of the existing one. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_parameters: The request body. Required. + :type kubernetes_cluster_parameters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns KubernetesCluster. The KubernetesCluster is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_create_or_update( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + kubernetes_cluster_parameters: Union[_models.KubernetesCluster, _types.KubernetesCluster, IO[bytes]], + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> LROPoller[_models.KubernetesCluster]: + """Create a new Kubernetes cluster or update the properties of the existing one. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_parameters: The request body. Is either a KubernetesCluster type or a + IO[bytes] type. Required. + :type kubernetes_cluster_parameters: ~azure.mgmt.networkcloud.models.KubernetesCluster or + ~azure.mgmt.networkcloud.types.KubernetesCluster or IO[bytes] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns KubernetesCluster. The KubernetesCluster is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.KubernetesCluster] = 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, + kubernetes_cluster_name=kubernetes_cluster_name, + kubernetes_cluster_parameters=kubernetes_cluster_parameters, + etag=etag, + match_condition=match_condition, + 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): + response = pipeline_response.http_response + deserialized = _deserialize(_models.KubernetesCluster, response.json()) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.KubernetesCluster].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.KubernetesCluster]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + def _update_initial( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + kubernetes_cluster_update_parameters: Optional[ + Union[_models.KubernetesClusterPatchParameters, _types.KubernetesClusterPatchParameters, IO[bytes]] + ] = None, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if kubernetes_cluster_update_parameters else None + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" if kubernetes_cluster_update_parameters else None + _content = None + if isinstance(kubernetes_cluster_update_parameters, (IOBase, bytes)): + _content = kubernetes_cluster_update_parameters + else: + if kubernetes_cluster_update_parameters is not None: + _content = json.dumps(kubernetes_cluster_update_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + else: + _content = None + + _request = build_kubernetes_clusters_update_request( + resource_group_name=resource_group_name, + kubernetes_cluster_name=kubernetes_cluster_name, + subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + if response.status_code == 202: + response_headers["Azure-AsyncOperation"] = self._deserialize( + "str", response.headers.get("Azure-AsyncOperation") + ) + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + + return deserialized # type: ignore + + @overload + def begin_update( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + kubernetes_cluster_update_parameters: Optional[_models.KubernetesClusterPatchParameters] = None, + *, + content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> LROPoller[_models.KubernetesCluster]: + """Patch the properties of the provided Kubernetes cluster, or update the tags associated with the + Kubernetes cluster. Properties and tag updates can be done independently. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_update_parameters: The request body. Default value is None. + :type kubernetes_cluster_update_parameters: + ~azure.mgmt.networkcloud.models.KubernetesClusterPatchParameters + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns KubernetesCluster. The KubernetesCluster is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_update( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + kubernetes_cluster_update_parameters: Optional[_types.KubernetesClusterPatchParameters] = None, + *, + content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> LROPoller[_models.KubernetesCluster]: + """Patch the properties of the provided Kubernetes cluster, or update the tags associated with the + Kubernetes cluster. Properties and tag updates can be done independently. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_update_parameters: The request body. Default value is None. + :type kubernetes_cluster_update_parameters: + ~azure.mgmt.networkcloud.types.KubernetesClusterPatchParameters + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns KubernetesCluster. The KubernetesCluster is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def begin_update( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + kubernetes_cluster_update_parameters: Optional[IO[bytes]] = None, + *, + content_type: str = "application/json", + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> LROPoller[_models.KubernetesCluster]: + """Patch the properties of the provided Kubernetes cluster, or update the tags associated with the + Kubernetes cluster. Properties and tag updates can be done independently. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_update_parameters: The request body. Default value is None. + :type kubernetes_cluster_update_parameters: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns KubernetesCluster. The KubernetesCluster is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + def begin_update( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + kubernetes_cluster_update_parameters: Optional[ + Union[_models.KubernetesClusterPatchParameters, _types.KubernetesClusterPatchParameters, IO[bytes]] + ] = None, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> LROPoller[_models.KubernetesCluster]: + """Patch the properties of the provided Kubernetes cluster, or update the tags associated with the + Kubernetes cluster. Properties and tag updates can be done independently. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_update_parameters: The request body. Is either a + KubernetesClusterPatchParameters type or a IO[bytes] type. Default value is None. + :type kubernetes_cluster_update_parameters: + ~azure.mgmt.networkcloud.models.KubernetesClusterPatchParameters or + ~azure.mgmt.networkcloud.types.KubernetesClusterPatchParameters or IO[bytes] + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns KubernetesCluster. The KubernetesCluster is + compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + content_type = content_type if kubernetes_cluster_update_parameters else None + cls: ClsType[_models.KubernetesCluster] = 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._update_initial( + resource_group_name=resource_group_name, + kubernetes_cluster_name=kubernetes_cluster_name, + kubernetes_cluster_update_parameters=kubernetes_cluster_update_parameters, + etag=etag, + match_condition=match_condition, + 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): + response = pipeline_response.http_response + deserialized = _deserialize(_models.KubernetesCluster, response.json()) + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.KubernetesCluster].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.KubernetesCluster]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + def _delete_initial( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> Iterator[bytes]: + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + if match_condition == MatchConditions.IfNotModified: + error_map[412] = ResourceModifiedError + elif match_condition == MatchConditions.IfPresent: + error_map[412] = ResourceNotFoundError + elif match_condition == MatchConditions.IfMissing: + error_map[412] = ResourceExistsError + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) + + _request = build_kubernetes_clusters_delete_request( + resource_group_name=resource_group_name, + kubernetes_cluster_name=kubernetes_cluster_name, + subscription_id=self._config.subscription_id, + etag=etag, + match_condition=match_condition, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _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 = _failsafe_deserialize( + _models.ErrorResponse, + 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")) + + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + + 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, + kubernetes_cluster_name: str, + *, + etag: Optional[str] = None, + match_condition: Optional[MatchConditions] = None, + **kwargs: Any + ) -> LROPoller[_models.OperationStatusResult]: + """Delete the provided Kubernetes cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is + None. + :paramtype etag: str + :keyword match_condition: The match condition to use upon the etag. Default value is None. + :paramtype match_condition: ~azure.core.MatchConditions + :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult + is compatible with MutableMapping + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.OperationStatusResult] = 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, + kubernetes_cluster_name=kubernetes_cluster_name, + etag=etag, + match_condition=match_condition, + 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): + response_headers = {} + response = pipeline_response.http_response + response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) + + deserialized = _deserialize(_models.OperationStatusResult, response.json()) + if cls: + return cls(pipeline_response, deserialized, response_headers) # type: ignore + return deserialized + + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + + if polling is True: + polling_method: PollingMethod = cast( + PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + ) + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling + if cont_token: + return LROPoller[_models.OperationStatusResult].from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output, + ) + return LROPoller[_models.OperationStatusResult]( + self._client, raw_result, get_long_running_output, polling_method # type: ignore + ) + + @distributed_trace + def list_by_resource_group( + self, resource_group_name: str, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any + ) -> ItemPaged["_models.KubernetesCluster"]: + """Get a list of Kubernetes clusters in the provided resource group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. + Default value is None. + :paramtype top: int + :keyword skip_token: The opaque token that the server returns to indicate where to continue + listing resources from. This is used for paging through large result sets. Default value is + None. + :paramtype skip_token: str + :return: An iterator like instance of KubernetesCluster + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.KubernetesCluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.KubernetesCluster]] = 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_kubernetes_clusters_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + top=top, + skip_token=skip_token, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + 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), + headers=_headers, + params=_next_request_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.KubernetesCluster], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + @distributed_trace + def list_by_subscription( + self, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any + ) -> ItemPaged["_models.KubernetesCluster"]: + """Get a list of Kubernetes clusters in the provided subscription. + + :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. + Default value is None. + :paramtype top: int + :keyword skip_token: The opaque token that the server returns to indicate where to continue + listing resources from. This is used for paging through large result sets. Default value is + None. + :paramtype skip_token: str + :return: An iterator like instance of KubernetesCluster + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.KubernetesCluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.KubernetesCluster]] = 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_kubernetes_clusters_list_by_subscription_request( + subscription_id=self._config.subscription_id, + top=top, + skip_token=skip_token, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + 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), + headers=_headers, + params=_next_request_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.KubernetesCluster], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") 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 = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + def _restart_node_initial( + self, + resource_group_name: str, + kubernetes_cluster_name: str, + kubernetes_cluster_restart_node_parameters: Union[ + _models.KubernetesClusterRestartNodeParameters, _types.KubernetesClusterRestartNodeParameters, IO[bytes] ], **kwargs: Any ) -> Iterator[bytes]: @@ -11761,14 +15661,14 @@ def _update_version_initial( content_type = content_type or "application/json" _content = None - if isinstance(cluster_update_version_parameters, (IOBase, bytes)): - _content = cluster_update_version_parameters + if isinstance(kubernetes_cluster_restart_node_parameters, (IOBase, bytes)): + _content = kubernetes_cluster_restart_node_parameters else: - _content = json.dumps(cluster_update_version_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + _content = json.dumps(kubernetes_cluster_restart_node_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_clusters_update_version_request( + _request = build_kubernetes_clusters_restart_node_request( resource_group_name=resource_group_name, - cluster_name=cluster_name, + kubernetes_cluster_name=kubernetes_cluster_name, subscription_id=self._config.subscription_id, content_type=content_type, api_version=self._config.api_version, @@ -11813,25 +15713,25 @@ def _update_version_initial( return deserialized # type: ignore @overload - def begin_update_version( + def begin_restart_node( self, resource_group_name: str, - cluster_name: str, - cluster_update_version_parameters: _models.ClusterUpdateVersionParameters, + kubernetes_cluster_name: str, + kubernetes_cluster_restart_node_parameters: _models.KubernetesClusterRestartNodeParameters, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Update the version of the provided cluster to one of the available supported versions. + """Restart a targeted node of a Kubernetes cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_update_version_parameters: The request body. Required. - :type cluster_update_version_parameters: - ~azure.mgmt.networkcloud.models.ClusterUpdateVersionParameters + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_restart_node_parameters: The request body. Required. + :type kubernetes_cluster_restart_node_parameters: + ~azure.mgmt.networkcloud.models.KubernetesClusterRestartNodeParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -11842,25 +15742,25 @@ def begin_update_version( """ @overload - def begin_update_version( + def begin_restart_node( self, resource_group_name: str, - cluster_name: str, - cluster_update_version_parameters: _types.ClusterUpdateVersionParameters, + kubernetes_cluster_name: str, + kubernetes_cluster_restart_node_parameters: _types.KubernetesClusterRestartNodeParameters, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Update the version of the provided cluster to one of the available supported versions. + """Restart a targeted node of a Kubernetes cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_update_version_parameters: The request body. Required. - :type cluster_update_version_parameters: - ~azure.mgmt.networkcloud.types.ClusterUpdateVersionParameters + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_restart_node_parameters: The request body. Required. + :type kubernetes_cluster_restart_node_parameters: + ~azure.mgmt.networkcloud.types.KubernetesClusterRestartNodeParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -11871,24 +15771,24 @@ def begin_update_version( """ @overload - def begin_update_version( + def begin_restart_node( self, resource_group_name: str, - cluster_name: str, - cluster_update_version_parameters: IO[bytes], + kubernetes_cluster_name: str, + kubernetes_cluster_restart_node_parameters: IO[bytes], *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Update the version of the provided cluster to one of the available supported versions. + """Restart a targeted node of a Kubernetes cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_update_version_parameters: The request body. Required. - :type cluster_update_version_parameters: IO[bytes] + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_restart_node_parameters: The request body. Required. + :type kubernetes_cluster_restart_node_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -11899,27 +15799,27 @@ def begin_update_version( """ @distributed_trace - def begin_update_version( + def begin_restart_node( self, resource_group_name: str, - cluster_name: str, - cluster_update_version_parameters: Union[ - _models.ClusterUpdateVersionParameters, _types.ClusterUpdateVersionParameters, IO[bytes] + kubernetes_cluster_name: str, + kubernetes_cluster_restart_node_parameters: Union[ + _models.KubernetesClusterRestartNodeParameters, _types.KubernetesClusterRestartNodeParameters, IO[bytes] ], **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Update the version of the provided cluster to one of the available supported versions. + """Restart a targeted node of a Kubernetes cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param cluster_name: The name of the cluster. Required. - :type cluster_name: str - :param cluster_update_version_parameters: The request body. Is either a - ClusterUpdateVersionParameters type or a IO[bytes] type. Required. - :type cluster_update_version_parameters: - ~azure.mgmt.networkcloud.models.ClusterUpdateVersionParameters or - ~azure.mgmt.networkcloud.types.ClusterUpdateVersionParameters or IO[bytes] + :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. + :type kubernetes_cluster_name: str + :param kubernetes_cluster_restart_node_parameters: The request body. Is either a + KubernetesClusterRestartNodeParameters type or a IO[bytes] type. Required. + :type kubernetes_cluster_restart_node_parameters: + ~azure.mgmt.networkcloud.models.KubernetesClusterRestartNodeParameters or + ~azure.mgmt.networkcloud.types.KubernetesClusterRestartNodeParameters or IO[bytes] :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult is compatible with MutableMapping :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] @@ -11934,10 +15834,10 @@ def begin_update_version( 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._update_version_initial( + raw_result = self._restart_node_initial( resource_group_name=resource_group_name, - cluster_name=cluster_name, - cluster_update_version_parameters=cluster_update_version_parameters, + kubernetes_cluster_name=kubernetes_cluster_name, + kubernetes_cluster_restart_node_parameters=kubernetes_cluster_restart_node_parameters, content_type=content_type, cls=lambda x, y, z: x, headers=_headers, @@ -11982,14 +15882,14 @@ def get_long_running_output(pipeline_response): ) -class KubernetesClustersOperations: +class KubernetesVersionsOperations: """ .. warning:: **DO NOT** instantiate this class directly. Instead, you should access the following operations through :class:`~azure.mgmt.networkcloud.NetworkCloudMgmtClient`'s - :attr:`kubernetes_clusters` attribute. + :attr:`kubernetes_versions` attribute. """ def __init__(self, *args, **kwargs) -> None: @@ -12000,16 +15900,30 @@ def __init__(self, *args, **kwargs) -> None: self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @distributed_trace - def get(self, resource_group_name: str, kubernetes_cluster_name: str, **kwargs: Any) -> _models.KubernetesCluster: - """Get properties of the provided the Kubernetes cluster. + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "kubernetes_version_name", + "accept", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) + def get(self, resource_group_name: str, kubernetes_version_name: str, **kwargs: Any) -> _models.KubernetesVersion: + """Retrieve the Kubernetes version resource that describes the available Kubernetes versions for + deployment. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :return: KubernetesCluster. The KubernetesCluster is compatible with MutableMapping - :rtype: ~azure.mgmt.networkcloud.models.KubernetesCluster + :param kubernetes_version_name: The name of the Kubernetes version resource. Required. + :type kubernetes_version_name: str + :return: KubernetesVersion. The KubernetesVersion is compatible with MutableMapping + :rtype: ~azure.mgmt.networkcloud.models.KubernetesVersion :raises ~azure.core.exceptions.HttpResponseError: """ error_map: MutableMapping = { @@ -12023,11 +15937,11 @@ def get(self, resource_group_name: str, kubernetes_cluster_name: str, **kwargs: _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[_models.KubernetesCluster] = kwargs.pop("cls", None) + cls: ClsType[_models.KubernetesVersion] = kwargs.pop("cls", None) - _request = build_kubernetes_clusters_get_request( + _request = build_kubernetes_versions_get_request( resource_group_name=resource_group_name, - kubernetes_cluster_name=kubernetes_cluster_name, + kubernetes_version_name=kubernetes_version_name, subscription_id=self._config.subscription_id, api_version=self._config.api_version, headers=_headers, @@ -12062,18 +15976,34 @@ def get(self, resource_group_name: str, kubernetes_cluster_name: str, **kwargs: if _stream: deserialized = response.iter_bytes() if _decompress else response.iter_raw() else: - deserialized = _deserialize(_models.KubernetesCluster, response.json()) + deserialized = _deserialize(_models.KubernetesVersion, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized # type: ignore + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "kubernetes_version_name", + "content_type", + "accept", + "etag", + "match_condition", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) def _create_or_update_initial( self, resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_parameters: Union[_models.KubernetesCluster, _types.KubernetesCluster, IO[bytes]], + kubernetes_version_name: str, + kubernetes_version_parameters: Union[_models.KubernetesVersion, _types.KubernetesVersion, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -12101,14 +16031,14 @@ def _create_or_update_initial( content_type = content_type or "application/json" _content = None - if isinstance(kubernetes_cluster_parameters, (IOBase, bytes)): - _content = kubernetes_cluster_parameters + if isinstance(kubernetes_version_parameters, (IOBase, bytes)): + _content = kubernetes_version_parameters else: - _content = json.dumps(kubernetes_cluster_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + _content = json.dumps(kubernetes_version_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - _request = build_kubernetes_clusters_create_or_update_request( + _request = build_kubernetes_versions_create_or_update_request( resource_group_name=resource_group_name, - kubernetes_cluster_name=kubernetes_cluster_name, + kubernetes_version_name=kubernetes_version_name, subscription_id=self._config.subscription_id, etag=etag, match_condition=match_condition, @@ -12160,23 +16090,24 @@ def _create_or_update_initial( def begin_create_or_update( self, resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_parameters: _models.KubernetesCluster, + kubernetes_version_name: str, + kubernetes_version_parameters: _models.KubernetesVersion, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.KubernetesCluster]: - """Create a new Kubernetes cluster or update the properties of the existing one. + ) -> LROPoller[_models.KubernetesVersion]: + """Create the Kubernetes version resource or update its tags. This resource is system managed and + should only be created with the name "default". :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_parameters: The request body. Required. - :type kubernetes_cluster_parameters: ~azure.mgmt.networkcloud.models.KubernetesCluster + :param kubernetes_version_name: The name of the Kubernetes version resource. Required. + :type kubernetes_version_name: str + :param kubernetes_version_parameters: The request body. Required. + :type kubernetes_version_parameters: ~azure.mgmt.networkcloud.models.KubernetesVersion :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -12185,9 +16116,9 @@ def begin_create_or_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns KubernetesCluster. The KubernetesCluster is + :return: An instance of LROPoller that returns KubernetesVersion. The KubernetesVersion is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesVersion] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -12195,23 +16126,24 @@ def begin_create_or_update( def begin_create_or_update( self, resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_parameters: _types.KubernetesCluster, + kubernetes_version_name: str, + kubernetes_version_parameters: _types.KubernetesVersion, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.KubernetesCluster]: - """Create a new Kubernetes cluster or update the properties of the existing one. + ) -> LROPoller[_models.KubernetesVersion]: + """Create the Kubernetes version resource or update its tags. This resource is system managed and + should only be created with the name "default". :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_parameters: The request body. Required. - :type kubernetes_cluster_parameters: ~azure.mgmt.networkcloud.types.KubernetesCluster + :param kubernetes_version_name: The name of the Kubernetes version resource. Required. + :type kubernetes_version_name: str + :param kubernetes_version_parameters: The request body. Required. + :type kubernetes_version_parameters: ~azure.mgmt.networkcloud.types.KubernetesVersion :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -12220,9 +16152,9 @@ def begin_create_or_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns KubernetesCluster. The KubernetesCluster is + :return: An instance of LROPoller that returns KubernetesVersion. The KubernetesVersion is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesVersion] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -12230,23 +16162,24 @@ def begin_create_or_update( def begin_create_or_update( self, resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_parameters: IO[bytes], + kubernetes_version_name: str, + kubernetes_version_parameters: IO[bytes], *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.KubernetesCluster]: - """Create a new Kubernetes cluster or update the properties of the existing one. + ) -> LROPoller[_models.KubernetesVersion]: + """Create the Kubernetes version resource or update its tags. This resource is system managed and + should only be created with the name "default". :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_parameters: The request body. Required. - :type kubernetes_cluster_parameters: IO[bytes] + :param kubernetes_version_name: The name of the Kubernetes version resource. Required. + :type kubernetes_version_name: str + :param kubernetes_version_parameters: The request body. Required. + :type kubernetes_version_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -12255,57 +16188,74 @@ def begin_create_or_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns KubernetesCluster. The KubernetesCluster is + :return: An instance of LROPoller that returns KubernetesVersion. The KubernetesVersion is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesVersion] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "kubernetes_version_name", + "content_type", + "accept", + "etag", + "match_condition", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) def begin_create_or_update( self, resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_parameters: Union[_models.KubernetesCluster, _types.KubernetesCluster, IO[bytes]], + kubernetes_version_name: str, + kubernetes_version_parameters: Union[_models.KubernetesVersion, _types.KubernetesVersion, IO[bytes]], *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.KubernetesCluster]: - """Create a new Kubernetes cluster or update the properties of the existing one. + ) -> LROPoller[_models.KubernetesVersion]: + """Create the Kubernetes version resource or update its tags. This resource is system managed and + should only be created with the name "default". :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_parameters: The request body. Is either a KubernetesCluster type or a + :param kubernetes_version_name: The name of the Kubernetes version resource. Required. + :type kubernetes_version_name: str + :param kubernetes_version_parameters: The request body. Is either a KubernetesVersion type or a IO[bytes] type. Required. - :type kubernetes_cluster_parameters: ~azure.mgmt.networkcloud.models.KubernetesCluster or - ~azure.mgmt.networkcloud.types.KubernetesCluster or IO[bytes] + :type kubernetes_version_parameters: ~azure.mgmt.networkcloud.models.KubernetesVersion or + ~azure.mgmt.networkcloud.types.KubernetesVersion or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns KubernetesCluster. The KubernetesCluster is + :return: An instance of LROPoller that returns KubernetesVersion. The KubernetesVersion is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesVersion] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.KubernetesCluster] = kwargs.pop("cls", None) + cls: ClsType[_models.KubernetesVersion] = 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, - kubernetes_cluster_name=kubernetes_cluster_name, - kubernetes_cluster_parameters=kubernetes_cluster_parameters, + kubernetes_version_name=kubernetes_version_name, + kubernetes_version_parameters=kubernetes_version_parameters, etag=etag, match_condition=match_condition, content_type=content_type, @@ -12319,7 +16269,7 @@ def begin_create_or_update( def get_long_running_output(pipeline_response): response = pipeline_response.http_response - deserialized = _deserialize(_models.KubernetesCluster, response.json()) + deserialized = _deserialize(_models.KubernetesVersion, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized @@ -12337,22 +16287,38 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return LROPoller[_models.KubernetesCluster].from_continuation_token( + return LROPoller[_models.KubernetesVersion].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return LROPoller[_models.KubernetesCluster]( + return LROPoller[_models.KubernetesVersion]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "kubernetes_version_name", + "content_type", + "accept", + "etag", + "match_condition", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) def _update_initial( self, resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_update_parameters: Optional[ - Union[_models.KubernetesClusterPatchParameters, _types.KubernetesClusterPatchParameters, IO[bytes]] + kubernetes_version_name: str, + kubernetes_version_patch_parameters: Optional[ + Union[_models.KubernetesVersionPatchParameters, _types.KubernetesVersionPatchParameters, IO[bytes]] ] = None, *, etag: Optional[str] = None, @@ -12377,22 +16343,22 @@ def _update_initial( _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if kubernetes_cluster_update_parameters else None + content_type = content_type if kubernetes_version_patch_parameters else None cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - content_type = content_type or "application/json" if kubernetes_cluster_update_parameters else None + content_type = content_type or "application/json" if kubernetes_version_patch_parameters else None _content = None - if isinstance(kubernetes_cluster_update_parameters, (IOBase, bytes)): - _content = kubernetes_cluster_update_parameters + if isinstance(kubernetes_version_patch_parameters, (IOBase, bytes)): + _content = kubernetes_version_patch_parameters else: - if kubernetes_cluster_update_parameters is not None: - _content = json.dumps(kubernetes_cluster_update_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + if kubernetes_version_patch_parameters is not None: + _content = json.dumps(kubernetes_version_patch_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore else: _content = None - _request = build_kubernetes_clusters_update_request( + _request = build_kubernetes_versions_update_request( resource_group_name=resource_group_name, - kubernetes_cluster_name=kubernetes_cluster_name, + kubernetes_version_name=kubernetes_version_name, subscription_id=self._config.subscription_id, etag=etag, match_condition=match_condition, @@ -12445,25 +16411,25 @@ def _update_initial( def begin_update( self, resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_update_parameters: Optional[_models.KubernetesClusterPatchParameters] = None, + kubernetes_version_name: str, + kubernetes_version_patch_parameters: Optional[_models.KubernetesVersionPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.KubernetesCluster]: - """Patch the properties of the provided Kubernetes cluster, or update the tags associated with the - Kubernetes cluster. Properties and tag updates can be done independently. + ) -> LROPoller[_models.KubernetesVersion]: + """Update tags associated with the Kubernetes version resource. No other properties are supported + for update. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_update_parameters: The request body. Default value is None. - :type kubernetes_cluster_update_parameters: - ~azure.mgmt.networkcloud.models.KubernetesClusterPatchParameters + :param kubernetes_version_name: The name of the Kubernetes version resource. Required. + :type kubernetes_version_name: str + :param kubernetes_version_patch_parameters: The request body. Default value is None. + :type kubernetes_version_patch_parameters: + ~azure.mgmt.networkcloud.models.KubernetesVersionPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -12472,9 +16438,9 @@ def begin_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns KubernetesCluster. The KubernetesCluster is + :return: An instance of LROPoller that returns KubernetesVersion. The KubernetesVersion is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesVersion] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -12482,25 +16448,25 @@ def begin_update( def begin_update( self, resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_update_parameters: Optional[_types.KubernetesClusterPatchParameters] = None, + kubernetes_version_name: str, + kubernetes_version_patch_parameters: Optional[_types.KubernetesVersionPatchParameters] = None, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.KubernetesCluster]: - """Patch the properties of the provided Kubernetes cluster, or update the tags associated with the - Kubernetes cluster. Properties and tag updates can be done independently. + ) -> LROPoller[_models.KubernetesVersion]: + """Update tags associated with the Kubernetes version resource. No other properties are supported + for update. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_update_parameters: The request body. Default value is None. - :type kubernetes_cluster_update_parameters: - ~azure.mgmt.networkcloud.types.KubernetesClusterPatchParameters + :param kubernetes_version_name: The name of the Kubernetes version resource. Required. + :type kubernetes_version_name: str + :param kubernetes_version_patch_parameters: The request body. Default value is None. + :type kubernetes_version_patch_parameters: + ~azure.mgmt.networkcloud.types.KubernetesVersionPatchParameters :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -12509,9 +16475,9 @@ def begin_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns KubernetesCluster. The KubernetesCluster is + :return: An instance of LROPoller that returns KubernetesVersion. The KubernetesVersion is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesVersion] :raises ~azure.core.exceptions.HttpResponseError: """ @@ -12519,24 +16485,24 @@ def begin_update( def begin_update( self, resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_update_parameters: Optional[IO[bytes]] = None, + kubernetes_version_name: str, + kubernetes_version_patch_parameters: Optional[IO[bytes]] = None, *, content_type: str = "application/json", etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.KubernetesCluster]: - """Patch the properties of the provided Kubernetes cluster, or update the tags associated with the - Kubernetes cluster. Properties and tag updates can be done independently. + ) -> LROPoller[_models.KubernetesVersion]: + """Update tags associated with the Kubernetes version resource. No other properties are supported + for update. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_update_parameters: The request body. Default value is None. - :type kubernetes_cluster_update_parameters: IO[bytes] + :param kubernetes_version_name: The name of the Kubernetes version resource. Required. + :type kubernetes_version_name: str + :param kubernetes_version_patch_parameters: The request body. Default value is None. + :type kubernetes_version_patch_parameters: IO[bytes] :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str @@ -12545,62 +16511,78 @@ def begin_update( :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns KubernetesCluster. The KubernetesCluster is + :return: An instance of LROPoller that returns KubernetesVersion. The KubernetesVersion is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesVersion] :raises ~azure.core.exceptions.HttpResponseError: """ @distributed_trace + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "kubernetes_version_name", + "content_type", + "accept", + "etag", + "match_condition", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) def begin_update( self, resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_update_parameters: Optional[ - Union[_models.KubernetesClusterPatchParameters, _types.KubernetesClusterPatchParameters, IO[bytes]] + kubernetes_version_name: str, + kubernetes_version_patch_parameters: Optional[ + Union[_models.KubernetesVersionPatchParameters, _types.KubernetesVersionPatchParameters, IO[bytes]] ] = None, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any - ) -> LROPoller[_models.KubernetesCluster]: - """Patch the properties of the provided Kubernetes cluster, or update the tags associated with the - Kubernetes cluster. Properties and tag updates can be done independently. + ) -> LROPoller[_models.KubernetesVersion]: + """Update tags associated with the Kubernetes version resource. No other properties are supported + for update. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_update_parameters: The request body. Is either a - KubernetesClusterPatchParameters type or a IO[bytes] type. Default value is None. - :type kubernetes_cluster_update_parameters: - ~azure.mgmt.networkcloud.models.KubernetesClusterPatchParameters or - ~azure.mgmt.networkcloud.types.KubernetesClusterPatchParameters or IO[bytes] + :param kubernetes_version_name: The name of the Kubernetes version resource. Required. + :type kubernetes_version_name: str + :param kubernetes_version_patch_parameters: The request body. Is either a + KubernetesVersionPatchParameters type or a IO[bytes] type. Default value is None. + :type kubernetes_version_patch_parameters: + ~azure.mgmt.networkcloud.models.KubernetesVersionPatchParameters or + ~azure.mgmt.networkcloud.types.KubernetesVersionPatchParameters or IO[bytes] :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str :keyword match_condition: The match condition to use upon the etag. Default value is None. :paramtype match_condition: ~azure.core.MatchConditions - :return: An instance of LROPoller that returns KubernetesCluster. The KubernetesCluster is + :return: An instance of LROPoller that returns KubernetesVersion. The KubernetesVersion is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesCluster] + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.KubernetesVersion] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - content_type = content_type if kubernetes_cluster_update_parameters else None - cls: ClsType[_models.KubernetesCluster] = kwargs.pop("cls", None) + content_type = content_type if kubernetes_version_patch_parameters else None + cls: ClsType[_models.KubernetesVersion] = 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._update_initial( resource_group_name=resource_group_name, - kubernetes_cluster_name=kubernetes_cluster_name, - kubernetes_cluster_update_parameters=kubernetes_cluster_update_parameters, + kubernetes_version_name=kubernetes_version_name, + kubernetes_version_patch_parameters=kubernetes_version_patch_parameters, etag=etag, match_condition=match_condition, content_type=content_type, @@ -12614,7 +16596,7 @@ def begin_update( def get_long_running_output(pipeline_response): response = pipeline_response.http_response - deserialized = _deserialize(_models.KubernetesCluster, response.json()) + deserialized = _deserialize(_models.KubernetesVersion, response.json()) if cls: return cls(pipeline_response, deserialized, {}) # type: ignore return deserialized @@ -12632,20 +16614,34 @@ def get_long_running_output(pipeline_response): else: polling_method = polling if cont_token: - return LROPoller[_models.KubernetesCluster].from_continuation_token( + return LROPoller[_models.KubernetesVersion].from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, deserialization_callback=get_long_running_output, ) - return LROPoller[_models.KubernetesCluster]( + return LROPoller[_models.KubernetesVersion]( self._client, raw_result, get_long_running_output, polling_method # type: ignore ) + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "kubernetes_version_name", + "etag", + "match_condition", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) def _delete_initial( self, resource_group_name: str, - kubernetes_cluster_name: str, + kubernetes_version_name: str, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, @@ -12670,9 +16666,9 @@ def _delete_initial( cls: ClsType[Iterator[bytes]] = kwargs.pop("cls", None) - _request = build_kubernetes_clusters_delete_request( + _request = build_kubernetes_versions_delete_request( resource_group_name=resource_group_name, - kubernetes_cluster_name=kubernetes_cluster_name, + kubernetes_version_name=kubernetes_version_name, subscription_id=self._config.subscription_id, etag=etag, match_condition=match_condition, @@ -12717,22 +16713,36 @@ def _delete_initial( return deserialized # type: ignore @distributed_trace + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "kubernetes_version_name", + "etag", + "match_condition", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) def begin_delete( self, resource_group_name: str, - kubernetes_cluster_name: str, + kubernetes_version_name: str, *, etag: Optional[str] = None, match_condition: Optional[MatchConditions] = None, **kwargs: Any ) -> LROPoller[_models.OperationStatusResult]: - """Delete the provided Kubernetes cluster. + """Delete the specified Kubernetes version resource. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str + :param kubernetes_version_name: The name of the Kubernetes version resource. Required. + :type kubernetes_version_name: str :keyword etag: check if resource is changed. Set None to skip checking etag. Default value is None. :paramtype etag: str @@ -12753,7 +16763,7 @@ def begin_delete( if cont_token is None: raw_result = self._delete_initial( resource_group_name=resource_group_name, - kubernetes_cluster_name=kubernetes_cluster_name, + kubernetes_version_name=kubernetes_version_name, etag=etag, match_condition=match_condition, cls=lambda x, y, z: x, @@ -12798,10 +16808,24 @@ def get_long_running_output(pipeline_response): ) @distributed_trace + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={ + "2026-01-01-preview": [ + "api_version", + "subscription_id", + "resource_group_name", + "top", + "skip_token", + "accept", + ] + }, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) def list_by_resource_group( self, resource_group_name: str, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> ItemPaged["_models.KubernetesCluster"]: - """Get a list of Kubernetes clusters in the provided resource group. + ) -> ItemPaged["_models.KubernetesVersion"]: + """Get a list of Kubernetes version resources in the provided resource group. :param resource_group_name: The name of the resource group. The name is case insensitive. Required. @@ -12813,14 +16837,14 @@ def list_by_resource_group( listing resources from. This is used for paging through large result sets. Default value is None. :paramtype skip_token: str - :return: An iterator like instance of KubernetesCluster - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.KubernetesCluster] + :return: An iterator like instance of KubernetesVersion + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.KubernetesVersion] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.KubernetesCluster]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.KubernetesVersion]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -12833,7 +16857,7 @@ def list_by_resource_group( def prepare_request(next_link=None): if not next_link: - _request = build_kubernetes_clusters_list_by_resource_group_request( + _request = build_kubernetes_versions_list_by_resource_group_request( resource_group_name=resource_group_name, subscription_id=self._config.subscription_id, top=top, @@ -12877,7 +16901,7 @@ def prepare_request(next_link=None): def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.KubernetesCluster], + List[_models.KubernetesVersion], deserialized.get("value", []), ) if cls: @@ -12906,10 +16930,15 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) @distributed_trace + @api_version_validation( + method_added_on="2026-01-01-preview", + params_added_on={"2026-01-01-preview": ["api_version", "subscription_id", "top", "skip_token", "accept"]}, + api_versions_list=["2026-01-01-preview", "2026-05-01-preview", "2026-07-01"], + ) def list_by_subscription( self, *, top: Optional[int] = None, skip_token: Optional[str] = None, **kwargs: Any - ) -> ItemPaged["_models.KubernetesCluster"]: - """Get a list of Kubernetes clusters in the provided subscription. + ) -> ItemPaged["_models.KubernetesVersion"]: + """Get a list of Kubernetes version resources in the provided subscription. :keyword top: The maximum number of resources to return from the operation. Example: '$top=10'. Default value is None. @@ -12918,14 +16947,14 @@ def list_by_subscription( listing resources from. This is used for paging through large result sets. Default value is None. :paramtype skip_token: str - :return: An iterator like instance of KubernetesCluster - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.KubernetesCluster] + :return: An iterator like instance of KubernetesVersion + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.networkcloud.models.KubernetesVersion] :raises ~azure.core.exceptions.HttpResponseError: """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls: ClsType[List[_models.KubernetesCluster]] = kwargs.pop("cls", None) + cls: ClsType[List[_models.KubernetesVersion]] = kwargs.pop("cls", None) error_map: MutableMapping = { 401: ClientAuthenticationError, @@ -12938,7 +16967,7 @@ def list_by_subscription( def prepare_request(next_link=None): if not next_link: - _request = build_kubernetes_clusters_list_by_subscription_request( + _request = build_kubernetes_versions_list_by_subscription_request( subscription_id=self._config.subscription_id, top=top, skip_token=skip_token, @@ -12981,7 +17010,7 @@ def prepare_request(next_link=None): def extract_data(pipeline_response): deserialized = pipeline_response.http_response.json() list_of_elem = _deserialize( - List[_models.KubernetesCluster], + List[_models.KubernetesVersion], deserialized.get("value", []), ) if cls: @@ -13009,251 +17038,6 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) - def _restart_node_initial( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_restart_node_parameters: Union[ - _models.KubernetesClusterRestartNodeParameters, _types.KubernetesClusterRestartNodeParameters, IO[bytes] - ], - **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 = kwargs.pop("params", {}) or {} - - 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" - _content = None - if isinstance(kubernetes_cluster_restart_node_parameters, (IOBase, bytes)): - _content = kubernetes_cluster_restart_node_parameters - else: - _content = json.dumps(kubernetes_cluster_restart_node_parameters, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore - - _request = build_kubernetes_clusters_restart_node_request( - resource_group_name=resource_group_name, - kubernetes_cluster_name=kubernetes_cluster_name, - subscription_id=self._config.subscription_id, - content_type=content_type, - api_version=self._config.api_version, - content=_content, - headers=_headers, - params=_params, - ) - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - _request.url = self._client.format_url(_request.url, **path_format_arguments) - - _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]: - 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 = _failsafe_deserialize( - _models.ErrorResponse, - response, - ) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - response_headers = {} - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = response.iter_bytes() if _decompress else response.iter_raw() - - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - - return deserialized # type: ignore - - @overload - def begin_restart_node( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_restart_node_parameters: _models.KubernetesClusterRestartNodeParameters, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Restart a targeted node of a Kubernetes cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_restart_node_parameters: The request body. Required. - :type kubernetes_cluster_restart_node_parameters: - ~azure.mgmt.networkcloud.models.KubernetesClusterRestartNodeParameters - :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_restart_node( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_restart_node_parameters: _types.KubernetesClusterRestartNodeParameters, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Restart a targeted node of a Kubernetes cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_restart_node_parameters: The request body. Required. - :type kubernetes_cluster_restart_node_parameters: - ~azure.mgmt.networkcloud.types.KubernetesClusterRestartNodeParameters - :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @overload - def begin_restart_node( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_restart_node_parameters: IO[bytes], - *, - content_type: str = "application/json", - **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Restart a targeted node of a Kubernetes cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_restart_node_parameters: The request body. Required. - :type kubernetes_cluster_restart_node_parameters: IO[bytes] - :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 OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - - @distributed_trace - def begin_restart_node( - self, - resource_group_name: str, - kubernetes_cluster_name: str, - kubernetes_cluster_restart_node_parameters: Union[ - _models.KubernetesClusterRestartNodeParameters, _types.KubernetesClusterRestartNodeParameters, IO[bytes] - ], - **kwargs: Any - ) -> LROPoller[_models.OperationStatusResult]: - """Restart a targeted node of a Kubernetes cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - Required. - :type resource_group_name: str - :param kubernetes_cluster_name: The name of the Kubernetes cluster. Required. - :type kubernetes_cluster_name: str - :param kubernetes_cluster_restart_node_parameters: The request body. Is either a - KubernetesClusterRestartNodeParameters type or a IO[bytes] type. Required. - :type kubernetes_cluster_restart_node_parameters: - ~azure.mgmt.networkcloud.models.KubernetesClusterRestartNodeParameters or - ~azure.mgmt.networkcloud.types.KubernetesClusterRestartNodeParameters or IO[bytes] - :return: An instance of LROPoller that returns OperationStatusResult. The OperationStatusResult - is compatible with MutableMapping - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.networkcloud.models.OperationStatusResult] - :raises ~azure.core.exceptions.HttpResponseError: - """ - _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - _params = kwargs.pop("params", {}) or {} - - content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - cls: ClsType[_models.OperationStatusResult] = 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._restart_node_initial( - resource_group_name=resource_group_name, - kubernetes_cluster_name=kubernetes_cluster_name, - kubernetes_cluster_restart_node_parameters=kubernetes_cluster_restart_node_parameters, - 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): - response_headers = {} - response = pipeline_response.http_response - response_headers["Location"] = self._deserialize("str", response.headers.get("Location")) - response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After")) - - deserialized = _deserialize(_models.OperationStatusResult, response.json()) - if cls: - return cls(pipeline_response, deserialized, response_headers) # type: ignore - return deserialized - - path_format_arguments = { - "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), - } - - if polling is True: - polling_method: PollingMethod = cast( - PollingMethod, ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - ) - elif polling is False: - polling_method = cast(PollingMethod, NoPolling()) - else: - polling_method = polling - if cont_token: - return LROPoller[_models.OperationStatusResult].from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output, - ) - return LROPoller[_models.OperationStatusResult]( - self._client, raw_result, get_long_running_output, polling_method # type: ignore - ) - class L2NetworksOperations: """ diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/types.py b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/types.py index dc05cf1d38bd..e416044b2277 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/types.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/azure/mgmt/networkcloud/types.py @@ -12,6 +12,8 @@ if TYPE_CHECKING: from .models import ( + AccessBridgeDetailedStatus, + AccessBridgeProvisioningState, ActionStateStatus, AdvertiseToFabric, AgentPoolDetailedStatus, @@ -26,9 +28,12 @@ BareMetalMachineKeySetPrivilegeLevel, BareMetalMachineKeySetProvisioningState, BareMetalMachineKeySetUserSetupStatus, + BareMetalMachineMonitoringConfigurationStatusLogLevel, + BareMetalMachineMonitoringConfigurationStatusMetricsLevel, BareMetalMachinePowerState, BareMetalMachineProvisioningState, BareMetalMachineReadyState, + BareMetalMachineReimageSafeguardMode, BareMetalMachineReplaceSafeguardMode, BareMetalMachineReplaceStoragePolicy, BareMetalMachineSkipShutdown, @@ -44,7 +49,9 @@ CloudServicesNetworkStorageStatusStatus, ClusterConnectionStatus, ClusterContinueUpdateVersionMachineGroupTargetingMode, + ClusterContinueUpdateVersionSafeguardMode, ClusterDetailedStatus, + ClusterInspectAdditionalAction, ClusterManagerConnectionStatus, ClusterManagerDetailedStatus, ClusterManagerProvisioningState, @@ -55,6 +62,7 @@ ClusterSecretArchiveEnabled, ClusterType, ClusterUpdateStrategyType, + ClusterUpdateVersionSafeguardMode, CommandOutputType, ConsoleDetailedStatus, ConsoleEnabled, @@ -62,6 +70,7 @@ ControlImpact, CreatedByType, DefaultGateway, + DeploymentType, ExtendedLocationType, FabricPeeringEnabled, FeatureDetailedStatus, @@ -79,6 +88,7 @@ KubernetesNodePowerState, KubernetesNodeRole, KubernetesPluginType, + KubernetesVersionProvisioningState, L2NetworkDetailedStatus, L2NetworkProvisioningState, L3NetworkConfigurationIpamEnabled, @@ -90,14 +100,22 @@ OsDiskDeleteOption, RackDetailedStatus, RackProvisioningState, + RelayPrivateEndpointConnectionState, RelayType, RemoteVendorManagementFeature, RemoteVendorManagementStatus, + RuntimeProtectionAgentHealthStatus, + RuntimeProtectionAgentLicenseStatus, + RuntimeProtectionDefinitionUpdateMode, RuntimeProtectionEnforcementLevel, + SecurityRuleDirection, SkipShutdown, StepStateStatus, StorageApplianceDetailedStatus, + StorageApplianceMonitoringConfigurationStatusLogLevel, + StorageApplianceMonitoringConfigurationStatusMetricsLevel, StorageApplianceProvisioningState, + TransportProtocol, TrunkedNetworkDetailedStatus, TrunkedNetworkProvisioningState, ValidationThresholdGrouping, @@ -133,6 +151,246 @@ class AadConfiguration(TypedDict, total=False): the Kubernetes cluster. Required.""" +class Resource(TypedDict, total=False): + """Resource. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /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: "SystemData" + """ + + id: str + """Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.""" + name: str + """The name of the resource.""" + type: str + """The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or + \"Microsoft.Storage/storageAccounts\".""" + systemData: "SystemData" + """Azure Resource Manager metadata containing createdBy and modifiedBy information.""" + + +class TrackedResource(Resource): + """Tracked Resource. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /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: "SystemData" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + """ + + tags: dict[str, str] + """Resource tags.""" + location: Required[str] + """The geo-location where the resource lives. Required.""" + + +class AccessBridge(TrackedResource): + """AccessBridge represents a managed access bridge resource. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /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: "SystemData" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: The list of the resource properties. Required. + :vartype properties: "AccessBridgeProperties" + :ivar etag: "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 etag: str + :ivar extended_location: The extended location of the resource. This property is required when + creating the resource. Required. + :vartype extended_location: "ExtendedLocation" + """ + + properties: Required["AccessBridgeProperties"] + """The list of the resource properties. Required.""" + etag: str + """\"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.\").""" + extendedLocation: Required["ExtendedLocation"] + """The extended location of the resource. This property is required when creating the resource. + Required.""" + + +class AccessBridgeEndpoint(TypedDict, total=False): + """AccessBridgeEndpoint describes a single advertised service endpoint. + + :ivar fqdn: The fully qualified domain name used to describe the certificate name for the + endpoint. + :vartype fqdn: str + :ivar ipv4_address: The IPv4 address associated with the endpoint. + :vartype ipv4_address: str + :ivar ipv6_address: The IPv6 address associated with the endpoint. + :vartype ipv6_address: str + :ivar name: The name that identifies the type of endpoint (for example VIP or host). + :vartype name: str + """ + + fqdn: str + """The fully qualified domain name used to describe the certificate name for the endpoint.""" + ipv4Address: str + """The IPv4 address associated with the endpoint.""" + ipv6Address: str + """The IPv6 address associated with the endpoint.""" + name: str + """The name that identifies the type of endpoint (for example VIP or host).""" + + +class AccessBridgePatchParameters(TypedDict, total=False): + """AccessBridgePatchParameters represents the payload for a PATCH request to an access bridge. + + :ivar properties: The list of the resource properties. + :vartype properties: "AccessBridgePatchProperties" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + """ + + properties: "AccessBridgePatchProperties" + """The list of the resource properties.""" + tags: dict[str, str] + """Resource tags.""" + + +class AccessBridgePatchProperties(TypedDict, total=False): + """AccessBridgePatchProperties identifies the mutable properties for patch operations. + + :ivar security_rules: The list of security rules enforced by the access bridge. + :vartype security_rules: list["AccessBridgeSecurityRule"] + """ + + securityRules: list["AccessBridgeSecurityRule"] + """The list of security rules enforced by the access bridge.""" + + +class AccessBridgeProperties(TypedDict, total=False): + """AccessBridgeProperties captures the input and status for an access bridge. + + :ivar ipv4_connected_prefix: The IPv4 subnet from which the access bridge allocates an address. + This subnet must be part of the internal network specified by networkId. + :vartype ipv4_connected_prefix: str + :ivar ipv6_connected_prefix: The IPv6 subnet from which the access bridge allocates an address. + This subnet must be part of the internal network specified by networkId. + :vartype ipv6_connected_prefix: str + :ivar network_id: The resource ID of the internal network in a layer 3 isolation domain + containing the IP subnets to use. Required. + :vartype network_id: str + :ivar security_rules: The list of security rules enforced by the access bridge. + :vartype security_rules: list["AccessBridgeSecurityRule"] + :ivar detailed_status: The detailed status reported by the access bridge. Known values are: + "Running", "Degraded", and "Failed". + :vartype detailed_status: Union[str, "AccessBridgeDetailedStatus"] + :ivar detailed_status_message: The descriptive message that accompanies the detailed status. + :vartype detailed_status_message: str + :ivar endpoints: The observed endpoints that clients should use to reach the access bridge. + :vartype endpoints: list["AccessBridgeEndpoint"] + :ivar protocol: The protocol advertised by the access bridge endpoints. Known values are: "TCP" + and "UDP". + :vartype protocol: Union[str, "TransportProtocol"] + :ivar provisioning_state: The provisioning state of the access bridge. Known values are: + "Accepted", "Canceled", "Failed", "Provisioning", and "Succeeded". + :vartype provisioning_state: Union[str, "AccessBridgeProvisioningState"] + """ + + ipv4ConnectedPrefix: str + """The IPv4 subnet from which the access bridge allocates an address. This subnet must be part of + the internal network specified by networkId.""" + ipv6ConnectedPrefix: str + """The IPv6 subnet from which the access bridge allocates an address. This subnet must be part of + the internal network specified by networkId.""" + networkId: Required[str] + """The resource ID of the internal network in a layer 3 isolation domain containing the IP subnets + to use. Required.""" + securityRules: list["AccessBridgeSecurityRule"] + """The list of security rules enforced by the access bridge.""" + detailedStatus: Union[str, "AccessBridgeDetailedStatus"] + """The detailed status reported by the access bridge. Known values are: \"Running\", \"Degraded\", + and \"Failed\".""" + detailedStatusMessage: str + """The descriptive message that accompanies the detailed status.""" + endpoints: list["AccessBridgeEndpoint"] + """The observed endpoints that clients should use to reach the access bridge.""" + protocol: Union[str, "TransportProtocol"] + """The protocol advertised by the access bridge endpoints. Known values are: \"TCP\" and \"UDP\".""" + provisioningState: Union[str, "AccessBridgeProvisioningState"] + """The provisioning state of the access bridge. Known values are: \"Accepted\", \"Canceled\", + \"Failed\", \"Provisioning\", and \"Succeeded\".""" + + +class AccessBridgeSecurityRule(TypedDict, total=False): + """AccessBridgeSecurityRule captures an individual access rule enforced by the bridge. + + :ivar description: The user provided value describing this rule. + :vartype description: str + :ivar direction: The direction of allowed network traffic based on the rule. Required. Known + values are: "Inbound" and "Outbound". + :vartype direction: Union[str, "SecurityRuleDirection"] + :ivar ipv4_addresses: The set of IPv4 addresses permitted as the source or destination of the + security rule. For as single address, utilize a /32 (CIDR notation). One or both Ipv4Addresses + and Ipv6Addresses must be specified. Example formats: 10.10.10.10-10.10.10.20 or + 10.10.10.10/24. + :vartype ipv4_addresses: list[str] + :ivar ipv6_addresses: The set of IPv6 addresses permitted as the source or destination of the + security rule. For as single address, utilize a /128 (CIDR notation). One or both Ipv4Addresses + and Ipv6Addresses must be specified. Example formats: 2001:db8:abcd::1-2001:db8:abcd::ff or + 2001:db8:abcd::1/64. + :vartype ipv6_addresses: list[str] + :ivar port: The source or destination port or port range. Example 24562 or 24562-24570. + Required. + :vartype port: str + """ + + description: str + """The user provided value describing this rule.""" + direction: Required[Union[str, "SecurityRuleDirection"]] + """The direction of allowed network traffic based on the rule. Required. Known values are: + \"Inbound\" and \"Outbound\".""" + ipv4Addresses: list[str] + """The set of IPv4 addresses permitted as the source or destination of the security rule. For as + single address, utilize a /32 (CIDR notation). One or both Ipv4Addresses and Ipv6Addresses must + be specified. Example formats: 10.10.10.10-10.10.10.20 or 10.10.10.10/24.""" + ipv6Addresses: list[str] + """The set of IPv6 addresses permitted as the source or destination of the security rule. For as + single address, utilize a /128 (CIDR notation). One or both Ipv4Addresses and Ipv6Addresses + must be specified. Example formats: 2001:db8:abcd::1-2001:db8:abcd::ff or 2001:db8:abcd::1/64.""" + port: Required[str] + """The source or destination port or port range. Example 24562 or 24562-24570. Required.""" + + class ActionState(TypedDict, total=False): """ActionState represents the state of an action taken against a resource. This can be used to represent both explicitly and implicitly defined action types. @@ -195,6 +453,22 @@ class AdministrativeCredentials(TypedDict, total=False): """The username of the administrator of the device used during initialization. Required.""" +class AdministrativeCredentialsPatch(TypedDict, total=False): + """AdministrativeCredentialsPatch represents the admin credentials for the device requiring + password-based authentication. + + :ivar password: The password of the administrator of the device used during initialization. + :vartype password: str + :ivar username: The username of the administrator of the device used during initialization. + :vartype username: str + """ + + password: str + """The password of the administrator of the device used during initialization.""" + username: str + """The username of the administrator of the device used during initialization.""" + + class AdministratorConfiguration(TypedDict, total=False): """AdministratorConfiguration represents the administrative credentials that will be applied to the control plane and agent pool nodes in Kubernetes clusters. @@ -244,60 +518,6 @@ class AgentOptions(TypedDict, total=False): """The size of the hugepages to allocate. Known values are: \"2M\" and \"1G\".""" -class Resource(TypedDict, total=False): - """Resource. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /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: "SystemData" - """ - - id: str - """Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.""" - name: str - """The name of the resource.""" - type: str - """The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or - \"Microsoft.Storage/storageAccounts\".""" - systemData: "SystemData" - """Azure Resource Manager metadata containing createdBy and modifiedBy information.""" - - -class TrackedResource(Resource): - """Tracked Resource. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /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: "SystemData" - :ivar tags: Resource tags. - :vartype tags: dict[str, str] - :ivar location: The geo-location where the resource lives. Required. - :vartype location: str - """ - - tags: dict[str, str] - """Resource tags.""" - location: Required[str] - """The geo-location where the resource lives. Required.""" - - class AgentPool(TrackedResource): """AgentPool represents the agent pool of Kubernetes cluster. @@ -660,6 +880,59 @@ class BareMetalMachineConfigurationData(TypedDict, total=False): service tag. Required.""" +class BareMetalMachineConfigurationDataPatch(TypedDict, total=False): + """BareMetalMachineConfigurationDataPatch represents configuration for the bare metal machine for + patch operations. + + :ivar bmc_connection_string: The connection string for the baseboard management controller + including IP address and protocol. + :vartype bmc_connection_string: str + :ivar bmc_credentials: The credentials of the baseboard management controller on this bare + metal machine. The password field is expected to be an Azure Key Vault key URL. Until the + cluster is converted to utilize managed identity by setting the secret archive settings, the + actual password value should be provided instead. + :vartype bmc_credentials: "AdministrativeCredentialsPatch" + :ivar bmc_mac_address: The MAC address of the BMC for this machine. + :vartype bmc_mac_address: str + :ivar boot_mac_address: The MAC address associated with the PXE NIC card. + :vartype boot_mac_address: str + :ivar machine_details: The free-form additional information about the machine, e.g. an asset + tag. + :vartype machine_details: str + :ivar machine_name: The user-provided name for the bare metal machine created from this + specification. If not provided, the machine name will be generated programmatically. + :vartype machine_name: str + :ivar rack_slot: The slot the physical machine is in the rack based on the BOM configuration. + :vartype rack_slot: int + :ivar serial_number: The serial number of the machine. Hardware suppliers may use an alternate + value. For example, service tag. + :vartype serial_number: str + """ + + bmcConnectionString: str + """The connection string for the baseboard management controller including IP address and + protocol.""" + bmcCredentials: "AdministrativeCredentialsPatch" + """The credentials of the baseboard management controller on this bare metal machine. The password + field is expected to be an Azure Key Vault key URL. Until the cluster is converted to utilize + managed identity by setting the secret archive settings, the actual password value should be + provided instead.""" + bmcMacAddress: str + """The MAC address of the BMC for this machine.""" + bootMacAddress: str + """The MAC address associated with the PXE NIC card.""" + machineDetails: str + """The free-form additional information about the machine, e.g. an asset tag.""" + machineName: str + """The user-provided name for the bare metal machine created from this specification. If not + provided, the machine name will be generated programmatically.""" + rackSlot: int + """The slot the physical machine is in the rack based on the BOM configuration.""" + serialNumber: str + """The serial number of the machine. Hardware suppliers may use an alternate value. For example, + service tag.""" + + class BareMetalMachineCordonParameters(TypedDict, total=False): """BareMetalMachineCordonParameters represents the body of the request to evacuate workloads from node on a bare metal machine. @@ -826,6 +1099,26 @@ class BareMetalMachineKeySetProperties(TypedDict, total=False): \"Failed\", \"Canceled\", \"Accepted\", and \"Provisioning\".""" +class BareMetalMachineMonitoringConfigurationStatus(TypedDict, total=False): # pylint: disable=name-too-long + """BareMetalMachineMonitoringConfigurationStatus represents the monitoring configuration status of + the bare metal machine. + + :ivar log_level: The log level for the monitoring configuration status of the bare metal + machine. Known values are: "Default" and "Nexus". + :vartype log_level: Union[str, "BareMetalMachineMonitoringConfigurationStatusLogLevel"] + :ivar metrics_level: The metrics level for the monitoring configuration status of the bare + metal machine. Known values are: "Default" and "Nexus". + :vartype metrics_level: Union[str, "BareMetalMachineMonitoringConfigurationStatusMetricsLevel"] + """ + + logLevel: Union[str, "BareMetalMachineMonitoringConfigurationStatusLogLevel"] + """The log level for the monitoring configuration status of the bare metal machine. Known values + are: \"Default\" and \"Nexus\".""" + metricsLevel: Union[str, "BareMetalMachineMonitoringConfigurationStatusMetricsLevel"] + """The metrics level for the monitoring configuration status of the bare metal machine. Known + values are: \"Default\" and \"Nexus\".""" + + class BareMetalMachinePatchParameters(TypedDict, total=False): """BareMetalMachinePatchParameters represents the body of the request to patch bare metal machine properties. @@ -902,6 +1195,10 @@ class BareMetalMachineProperties(TypedDict, total=False): :ivar associated_resource_ids: The list of resource IDs for the other Microsoft.NetworkCloud resources that have attached this network. :vartype associated_resource_ids: list[str] + :ivar bmc_ipv4_address: The IPv4 address of the BMC interface for the bare metal machine. + :vartype bmc_ipv4_address: str + :ivar bmc_ipv6_address: The IPv6 address of the BMC interface for the bare metal machine. + :vartype bmc_ipv6_address: str :ivar ca_certificate: The CA certificate information issued by the platform for connecting to TLS interfaces for the bare metal machine. Callers add this certificate to the trusted CA store on the Kubernetes control plane nodes to allow secure communication with the bare metal @@ -938,6 +1235,9 @@ class BareMetalMachineProperties(TypedDict, total=False): :ivar machine_roles: The list of roles that are assigned to the cluster node running on this machine. :vartype machine_roles: list[str] + :ivar monitoring_configuration_status: The monitoring configuration status of the bare metal + machine. + :vartype monitoring_configuration_status: "BareMetalMachineMonitoringConfigurationStatus" :ivar oam_ipv4_address: The IPv4 address that is assigned to the bare metal machine during the cluster deployment. :vartype oam_ipv4_address: str @@ -995,6 +1295,10 @@ class BareMetalMachineProperties(TypedDict, total=False): associatedResourceIds: list[str] """The list of resource IDs for the other Microsoft.NetworkCloud resources that have attached this network.""" + bmcIpv4Address: str + """The IPv4 address of the BMC interface for the bare metal machine.""" + bmcIpv6Address: str + """The IPv6 address of the BMC interface for the bare metal machine.""" caCertificate: "CertificateInfo" """The CA certificate information issued by the platform for connecting to TLS interfaces for the bare metal machine. Callers add this certificate to the trusted CA store on the Kubernetes @@ -1026,6 +1330,8 @@ class BareMetalMachineProperties(TypedDict, total=False): update.""" machineRoles: list[str] """The list of roles that are assigned to the cluster node running on this machine.""" + monitoringConfigurationStatus: "BareMetalMachineMonitoringConfigurationStatus" + """The monitoring configuration status of the bare metal machine.""" oamIpv4Address: str """The IPv4 address that is assigned to the bare metal machine during the cluster deployment.""" oamIpv6Address: str @@ -1052,6 +1358,22 @@ class BareMetalMachineProperties(TypedDict, total=False): \"Canceled\", \"Provisioning\", and \"Accepted\".""" +class BareMetalMachineReimageParameters(TypedDict, total=False): + """BareMetalMachineReimageParameters represents the body of the request to reimage a bare metal + machine. + + :ivar safeguard_mode: The safeguard mode to use for the reimage action, where None indicates to + bypass safeguards and All indicates to utilize all safeguards. If not specified, the default is + All. Known values are: "All" and "None". + :vartype safeguard_mode: Union[str, "BareMetalMachineReimageSafeguardMode"] + """ + + safeguardMode: Union[str, "BareMetalMachineReimageSafeguardMode"] + """The safeguard mode to use for the reimage action, where None indicates to bypass safeguards and + All indicates to utilize all safeguards. If not specified, the default is All. Known values + are: \"All\" and \"None\".""" + + class BareMetalMachineReplaceParameters(TypedDict, total=False): """BareMetalMachineReplaceParameters represents the body of the request to physically swap a bare metal machine for another. @@ -1597,7 +1919,8 @@ class CloudServicesNetworkStorageStatus(TypedDict, total=False): :ivar size_mi_b: The size in Mebibytes of the storage allocation. :vartype size_mi_b: int :ivar status: The status of the storage allocation for the cloud services network. Known values - are: "Available", "ExpandingVolume", and "ExpansionFailed". + are: "Available", "ExpandingVolume", "ExpansionFailed", "Initializing", "None", and + "Repairing". :vartype status: Union[str, "CloudServicesNetworkStorageStatusStatus"] :ivar status_message: The description for the status of the shared storage. :vartype status_message: str @@ -1612,7 +1935,8 @@ class CloudServicesNetworkStorageStatus(TypedDict, total=False): """The size in Mebibytes of the storage allocation.""" status: Union[str, "CloudServicesNetworkStorageStatusStatus"] """The status of the storage allocation for the cloud services network. Known values are: - \"Available\", \"ExpandingVolume\", and \"ExpansionFailed\".""" + \"Available\", \"ExpandingVolume\", \"ExpansionFailed\", \"Initializing\", \"None\", and + \"Repairing\".""" statusMessage: str """The description for the status of the shared storage.""" volumeId: str @@ -1649,6 +1973,11 @@ class Cluster(TrackedResource): :vartype extended_location: "ExtendedLocation" :ivar identity: The managed service identities assigned to this resource. :vartype identity: "ManagedServiceIdentity" + :ivar kind: The type (kind) of the cluster. When specified, the value must exactly match the + kind configured on the cluster manager that manages the cluster. If omitted, the service will + default the value to the kind value of the cluster manager. Known values are: "Nexus" and + "AzureLocal". + :vartype kind: Union[str, "DeploymentType"] """ properties: Required["ClusterProperties"] @@ -1663,6 +1992,11 @@ class Cluster(TrackedResource): Required.""" identity: "ManagedServiceIdentity" """The managed service identities assigned to this resource.""" + kind: Union[str, "DeploymentType"] + """The type (kind) of the cluster. When specified, the value must exactly match the kind + configured on the cluster manager that manages the cluster. If omitted, the service will + default the value to the kind value of the cluster manager. Known values are: \"Nexus\" and + \"AzureLocal\".""" class ClusterAvailableUpgradeVersion(TypedDict, total=False): @@ -1776,11 +2110,19 @@ class ClusterContinueUpdateVersionParameters(TypedDict, total=False): of servers to continue the update. "AlphaByRack" :vartype machine_group_targeting_mode: Union[str, "ClusterContinueUpdateVersionMachineGroupTargetingMode"] + :ivar safeguard_mode: Specifies how safeguards are applied during the continue update version + operation. Use All to run all pre‑operation validation checks. Use None to bypass safeguards. + If not specified, the default is All. Known values are: "All" and "None". + :vartype safeguard_mode: Union[str, "ClusterContinueUpdateVersionSafeguardMode"] """ machineGroupTargetingMode: Union[str, "ClusterContinueUpdateVersionMachineGroupTargetingMode"] """The mode by which the cluster will target the next grouping of servers to continue the update. \"AlphaByRack\"""" + safeguardMode: Union[str, "ClusterContinueUpdateVersionSafeguardMode"] + """Specifies how safeguards are applied during the continue update version operation. Use All to + run all pre‑operation validation checks. Use None to bypass safeguards. If not specified, the + default is All. Known values are: \"All\" and \"None\".""" class ClusterDeployParameters(TypedDict, total=False): @@ -1796,6 +2138,26 @@ class ClusterDeployParameters(TypedDict, total=False): validation.""" +class ClusterInspectParameters(TypedDict, total=False): + """ClusterInspectParameters represents the body of the request to inspect the cluster. + + :ivar additional_actions: Additional actions supplement the default non-disruptive cluster + inspection. Additional actions may be disallowed if the cluster is in a deployed and running + state. + :vartype additional_actions: list[Union[str, "ClusterInspectAdditionalAction"]] + :ivar filter_devices: Indicates which devices are included in the inspection. By default, all + devices that can be targeted will be included in the inspection. + :vartype filter_devices: "FilterDevices" + """ + + additionalActions: list[Union[str, "ClusterInspectAdditionalAction"]] + """Additional actions supplement the default non-disruptive cluster inspection. Additional actions + may be disallowed if the cluster is in a deployed and running state.""" + filterDevices: "FilterDevices" + """Indicates which devices are included in the inspection. By default, all devices that can be + targeted will be included in the inspection.""" + + class ClusterManager(TrackedResource): """ClusterManager represents a control-plane to manage one or more on-premises clusters. @@ -1823,6 +2185,8 @@ class ClusterManager(TrackedResource): :vartype etag: str :ivar identity: The managed service identities assigned to this resource. :vartype identity: "ManagedServiceIdentity" + :ivar kind: The kind of the cluster manager. Known values are: "Nexus" and "AzureLocal". + :vartype kind: Union[str, "DeploymentType"] """ properties: Required["ClusterManagerProperties"] @@ -1834,6 +2198,8 @@ class ClusterManager(TrackedResource): 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields.\").""" identity: "ManagedServiceIdentity" """The managed service identities assigned to this resource.""" + kind: Union[str, "DeploymentType"] + """The kind of the cluster manager. Known values are: \"Nexus\" and \"AzureLocal\".""" class ClusterManagerPatchParameters(TypedDict, total=False): @@ -1883,6 +2249,8 @@ class ClusterManagerProperties(TypedDict, total=False): :ivar provisioning_state: The provisioning state of the cluster manager. Known values are: "Succeeded", "Failed", "Canceled", "Provisioning", "Accepted", and "Updating". :vartype provisioning_state: Union[str, "ClusterManagerProvisioningState"] + :ivar relay_configuration: The relay configuration for the cluster manager. + :vartype relay_configuration: "ClusterManagerRelayConfiguration" :ivar vm_size: The size of the Azure virtual machines to use for hosting the cluster manager resource. :vartype vm_size: str @@ -1913,10 +2281,51 @@ class ClusterManagerProperties(TypedDict, total=False): provisioningState: Union[str, "ClusterManagerProvisioningState"] """The provisioning state of the cluster manager. Known values are: \"Succeeded\", \"Failed\", \"Canceled\", \"Provisioning\", \"Accepted\", and \"Updating\".""" + relayConfiguration: "ClusterManagerRelayConfiguration" + """The relay configuration for the cluster manager.""" vmSize: str """The size of the Azure virtual machines to use for hosting the cluster manager resource.""" +class ClusterManagerRelayConfiguration(TypedDict, total=False): + """ClusterManagerRelayConfiguration represents the relay configuration for the cluster manager. + + :ivar relay_namespace_id: The resource ID of the Azure relay namespace managed by the cluster + manager. + :vartype relay_namespace_id: str + """ + + relayNamespaceId: str + """The resource ID of the Azure relay namespace managed by the cluster manager.""" + + +class ClusterManagerUpdateRelayPrivateEndpointConnectionParameters( + TypedDict, total=False +): # pylint: disable=name-too-long + """ClusterManagerUpdateRelayPrivateEndpointConnectionParameters represents the body of the request + to approve or reject the relay private endpoint connection for the private relay managed by a + cluster manager. + + :ivar connection_state: The state to set for the private endpoint connection. Required. Known + values are: "Approved" and "Rejected". + :vartype connection_state: Union[str, "RelayPrivateEndpointConnectionState"] + :ivar description: The description to associate with the private endpoint connection. + :vartype description: str + :ivar private_endpoint_resource_id: The resource ID of private endpoint to be permitted or + denied connection to the relay namespace. Required. + :vartype private_endpoint_resource_id: str + """ + + connectionState: Required[Union[str, "RelayPrivateEndpointConnectionState"]] + """The state to set for the private endpoint connection. Required. Known values are: \"Approved\" + and \"Rejected\".""" + description: str + """The description to associate with the private endpoint connection.""" + privateEndpointResourceId: Required[str] + """The resource ID of private endpoint to be permitted or denied connection to the relay + namespace. Required.""" + + class ClusterMetricsConfiguration(TrackedResource): """ClusterMetricsConfiguration represents the metrics configuration of an on-premises Network Cloud cluster. @@ -2058,7 +2467,7 @@ class ClusterPatchProperties(TypedDict, total=False): :ivar aggregator_or_single_rack_definition: The rack definition that is intended to reflect only a single rack in a single rack cluster, or an aggregator rack in a multi-rack cluster. - :vartype aggregator_or_single_rack_definition: "RackDefinition" + :vartype aggregator_or_single_rack_definition: "RackDefinitionPatch" :ivar analytics_output_settings: The settings for the log analytics workspace used for output of logs from this cluster. :vartype analytics_output_settings: "AnalyticsOutputSettings" @@ -2067,57 +2476,57 @@ class ClusterPatchProperties(TypedDict, total=False): :vartype cluster_location: str :ivar cluster_service_principal: Field Deprecated: Use managed identity to provide cluster privileges. The service principal to be used by the cluster during Arc Appliance installation. - :vartype cluster_service_principal: "ServicePrincipalInformation" + :vartype cluster_service_principal: "ServicePrincipalInformationPatch" :ivar command_output_settings: The settings for commands run in this cluster, such as bare metal machine run read only commands and data extracts. :vartype command_output_settings: "CommandOutputSettings" :ivar compute_deployment_threshold: The validation threshold indicating the allowable failures of compute machines during environment validation and deployment. - :vartype compute_deployment_threshold: "ValidationThreshold" + :vartype compute_deployment_threshold: "ValidationThresholdPatch" :ivar compute_rack_definitions: The list of rack definitions for the compute racks in a multi-rack cluster, or an empty list in a single-rack cluster. - :vartype compute_rack_definitions: list["RackDefinition"] + :vartype compute_rack_definitions: list["RackDefinitionPatch"] :ivar runtime_protection_configuration: The settings for cluster runtime protection. - :vartype runtime_protection_configuration: "RuntimeProtectionConfiguration" + :vartype runtime_protection_configuration: "RuntimeProtectionConfigurationPatch" :ivar secret_archive: The configuration for use of a key vault to store secrets for later retrieval by the operator. - :vartype secret_archive: "ClusterSecretArchive" + :vartype secret_archive: "ClusterSecretArchivePatch" :ivar secret_archive_settings: The settings for the secret archive used to hold credentials for the cluster. :vartype secret_archive_settings: "SecretArchiveSettings" :ivar update_strategy: The strategy for updating the cluster. - :vartype update_strategy: "ClusterUpdateStrategy" + :vartype update_strategy: "ClusterUpdateStrategyPatch" :ivar vulnerability_scanning_settings: The settings for how security vulnerability scanning is applied to the cluster. :vartype vulnerability_scanning_settings: "VulnerabilityScanningSettingsPatch" """ - aggregatorOrSingleRackDefinition: "RackDefinition" + aggregatorOrSingleRackDefinition: "RackDefinitionPatch" """The rack definition that is intended to reflect only a single rack in a single rack cluster, or an aggregator rack in a multi-rack cluster.""" analyticsOutputSettings: "AnalyticsOutputSettings" """The settings for the log analytics workspace used for output of logs from this cluster.""" clusterLocation: str """The customer-provided location information to identify where the cluster resides.""" - clusterServicePrincipal: "ServicePrincipalInformation" + clusterServicePrincipal: "ServicePrincipalInformationPatch" """Field Deprecated: Use managed identity to provide cluster privileges. The service principal to be used by the cluster during Arc Appliance installation.""" commandOutputSettings: "CommandOutputSettings" """The settings for commands run in this cluster, such as bare metal machine run read only commands and data extracts.""" - computeDeploymentThreshold: "ValidationThreshold" + computeDeploymentThreshold: "ValidationThresholdPatch" """The validation threshold indicating the allowable failures of compute machines during environment validation and deployment.""" - computeRackDefinitions: list["RackDefinition"] + computeRackDefinitions: list["RackDefinitionPatch"] """The list of rack definitions for the compute racks in a multi-rack cluster, or an empty list in a single-rack cluster.""" - runtimeProtectionConfiguration: "RuntimeProtectionConfiguration" + runtimeProtectionConfiguration: "RuntimeProtectionConfigurationPatch" """The settings for cluster runtime protection.""" - secretArchive: "ClusterSecretArchive" + secretArchive: "ClusterSecretArchivePatch" """The configuration for use of a key vault to store secrets for later retrieval by the operator.""" secretArchiveSettings: "SecretArchiveSettings" """The settings for the secret archive used to hold credentials for the cluster.""" - updateStrategy: "ClusterUpdateStrategy" + updateStrategy: "ClusterUpdateStrategyPatch" """The strategy for updating the cluster.""" vulnerabilityScanningSettings: "VulnerabilityScanningSettingsPatch" """The settings for how security vulnerability scanning is applied to the cluster.""" @@ -2207,6 +2616,12 @@ class ClusterProperties(TypedDict, total=False): control plane location. This extended location is used when creating provisioned clusters (Hybrid AKS clusters). :vartype hybrid_aks_extended_location: "ExtendedLocation" + :ivar last_successful_version_update_time: The date and time of the end of the last successful + version update for the cluster. + :vartype last_successful_version_update_time: str + :ivar managed_credentials: The list of credentials that are managed for the cluster and can be + rotated on-demand. + :vartype managed_credentials: list[str] :ivar manual_action_count: The count of Manual Action Taken (MAT) events that have not been validated. :vartype manual_action_count: int @@ -2291,6 +2706,10 @@ class ClusterProperties(TypedDict, total=False): """Field Deprecated. This field will not be populated in an upcoming version. The extended location (custom location) that represents the Hybrid AKS control plane location. This extended location is used when creating provisioned clusters (Hybrid AKS clusters).""" + lastSuccessfulVersionUpdateTime: str + """The date and time of the end of the last successful version update for the cluster.""" + managedCredentials: list[str] + """The list of credentials that are managed for the cluster and can be rotated on-demand.""" manualActionCount: int """The count of Manual Action Taken (MAT) events that have not been validated.""" supportExpiryDate: str @@ -2302,6 +2721,18 @@ class ClusterProperties(TypedDict, total=False): \"Canceled\", \"Accepted\", \"Validating\", and \"Updating\".""" +class ClusterRotateCredentialParameters(TypedDict, total=False): + """ClusterRotateCredentialParameters represents the body of the request to rotate cluster + credentials. + + :ivar credentials: The list of credential names for the credentials to rotate. Required. + :vartype credentials: list[str] + """ + + credentials: Required[list[str]] + """The list of credential names for the credentials to rotate. Required.""" + + class ClusterScanRuntimeParameters(TypedDict, total=False): """ClusterScanRuntimeParameters defines the parameters for the cluster scan runtime operation. @@ -2334,6 +2765,24 @@ class ClusterSecretArchive(TypedDict, total=False): Known values are: \"True\" and \"False\".""" +class ClusterSecretArchivePatch(TypedDict, total=False): + """ClusterSecretArchivePatch configures the key vault to archive the secrets of the cluster for + later retrieval for patch operations. + + :ivar key_vault_id: The resource ID of the key vault to archive the secrets of the cluster. + :vartype key_vault_id: str + :ivar use_key_vault: The indicator if the specified key vault should be used to archive the + secrets of the cluster. Known values are: "True" and "False". + :vartype use_key_vault: Union[str, "ClusterSecretArchiveEnabled"] + """ + + keyVaultId: str + """The resource ID of the key vault to archive the secrets of the cluster.""" + useKeyVault: Union[str, "ClusterSecretArchiveEnabled"] + """The indicator if the specified key vault should be used to archive the secrets of the cluster. + Known values are: \"True\" and \"False\".""" + + class ClusterUpdateStrategy(TypedDict, total=False): """ClusterUpdateStrategy represents the strategy for updating the cluster. @@ -2370,13 +2819,58 @@ class ClusterUpdateStrategy(TypedDict, total=False): """The time to wait between the increments of update defined by the strategy.""" +class ClusterUpdateStrategyPatch(TypedDict, total=False): + """ClusterUpdateStrategyPatch represents the strategy for updating the cluster for patch + operations. + + :ivar max_unavailable: The maximum number of worker nodes that can be offline within the + increment of update, e.g., rack-by-rack. Limited by the maximum number of machines in the + increment. Defaults to the whole increment size. + :vartype max_unavailable: int + :ivar strategy_type: The mode of operation for runtime protection. Known values are: "Rack" and + "PauseAfterRack". + :vartype strategy_type: Union[str, "ClusterUpdateStrategyType"] + :ivar threshold_type: Selection of how the threshold should be evaluated. Known values are: + "CountSuccess" and "PercentSuccess". + :vartype threshold_type: Union[str, "ValidationThresholdType"] + :ivar threshold_value: The numeric threshold value. + :vartype threshold_value: int + :ivar wait_time_minutes: The time to wait between the increments of update defined by the + strategy. + :vartype wait_time_minutes: int + """ + + maxUnavailable: int + """The maximum number of worker nodes that can be offline within the increment of update, e.g., + rack-by-rack. Limited by the maximum number of machines in the increment. Defaults to the whole + increment size.""" + strategyType: Union[str, "ClusterUpdateStrategyType"] + """The mode of operation for runtime protection. Known values are: \"Rack\" and + \"PauseAfterRack\".""" + thresholdType: Union[str, "ValidationThresholdType"] + """Selection of how the threshold should be evaluated. Known values are: \"CountSuccess\" and + \"PercentSuccess\".""" + thresholdValue: int + """The numeric threshold value.""" + waitTimeMinutes: int + """The time to wait between the increments of update defined by the strategy.""" + + class ClusterUpdateVersionParameters(TypedDict, total=False): """ClusterUpdateVersionParameters represents the body of the request to update cluster version. + :ivar safeguard_mode: Specifies how safeguards are applied during the update version operation. + Use All to run all pre‑operation validation checks. Use None to bypass safeguards. If not + specified, the default is All. Known values are: "All" and "None". + :vartype safeguard_mode: Union[str, "ClusterUpdateVersionSafeguardMode"] :ivar target_cluster_version: The version to be applied to the cluster during update. Required. :vartype target_cluster_version: str """ + safeguardMode: Union[str, "ClusterUpdateVersionSafeguardMode"] + """Specifies how safeguards are applied during the update version operation. Use All to run all + pre‑operation validation checks. Use None to bypass safeguards. If not specified, the default + is All. Known values are: \"All\" and \"None\".""" targetClusterVersion: Required[str] """The version to be applied to the cluster during update. Required.""" @@ -2389,8 +2883,8 @@ class CommandOutputOverride(TypedDict, total=False): :vartype associated_identity: "IdentitySelector" :ivar command_output_type: The type of command output for the override. Known values are: "BareMetalMachineRunCommand", "BareMetalMachineRunDataExtracts", - "BareMetalMachineRunReadCommands", "StorageRunReadCommands", and - "BareMetalMachineRunDataExtractsRestricted". + "BareMetalMachineRunReadCommands", "ClusterSupportAdministrativeActions", + "StorageRunReadCommands", and "BareMetalMachineRunDataExtractsRestricted". :vartype command_output_type: Union[str, "CommandOutputType"] :ivar container_url: The URL of the storage account container that is to be used by the specified identities. @@ -2403,7 +2897,8 @@ class CommandOutputOverride(TypedDict, total=False): commandOutputType: Union[str, "CommandOutputType"] """The type of command output for the override. Known values are: \"BareMetalMachineRunCommand\", \"BareMetalMachineRunDataExtracts\", \"BareMetalMachineRunReadCommands\", - \"StorageRunReadCommands\", and \"BareMetalMachineRunDataExtractsRestricted\".""" + \"ClusterSupportAdministrativeActions\", \"StorageRunReadCommands\", and + \"BareMetalMachineRunDataExtractsRestricted\".""" containerUrl: str """The URL of the storage account container that is to be used by the specified identities.""" @@ -2503,7 +2998,7 @@ class ConsolePatchProperties(TypedDict, total=False): :vartype expiration: str :ivar ssh_public_key: The SSH public key that will be provisioned for user access. The user is expected to have the corresponding SSH private key for logging in. - :vartype ssh_public_key: "SshPublicKey" + :vartype ssh_public_key: "SshPublicKeyPatch" """ enabled: Union[str, "ConsoleEnabled"] @@ -2511,7 +3006,7 @@ class ConsolePatchProperties(TypedDict, total=False): \"False\".""" expiration: str """The date and time after which the key will be disallowed access.""" - sshPublicKey: "SshPublicKey" + sshPublicKey: "SshPublicKeyPatch" """The SSH public key that will be provisioned for user access. The user is expected to have the corresponding SSH private key for logging in.""" @@ -2687,6 +3182,22 @@ class FeatureStatus(TypedDict, total=False): """The version of the feature.""" +class FilterDevices(TypedDict, total=False): + """FilterDevices defines the filtered target of the inspection. + + :ivar bare_metal_machine_names: The list of bare metal machine names to include in the + inspection. + :vartype bare_metal_machine_names: list[str] + :ivar rack_names: The list of rack names to include in the inspection. + :vartype rack_names: list[str] + """ + + bareMetalMachineNames: list[str] + """The list of bare metal machine names to include in the inspection.""" + rackNames: list[str] + """The list of rack names to include in the inspection.""" + + class HardwareInventory(TypedDict, total=False): """HardwareInventory represents the hardware configuration of this machine as exposed to the customer, including information acquired from the model/sku information and from the ironic @@ -2795,6 +3306,27 @@ class ImageRepositoryCredentials(TypedDict, total=False): """The username used to access an image in the target repository. Required.""" +class ImageRepositoryCredentialsPatch(TypedDict, total=False): + """ImageRepositoryCredentialsPatch represents the credentials used to login to the image + repository for patch operations. + + :ivar password: The password or token used to access an image in the target repository. + :vartype password: str + :ivar registry_url: The URL of the authentication server used to validate the repository + credentials. + :vartype registry_url: str + :ivar username: The username used to access an image in the target repository. + :vartype username: str + """ + + password: str + """The password or token used to access an image in the target repository.""" + registryUrl: str + """The URL of the authentication server used to validate the repository credentials.""" + username: str + """The username used to access an image in the target repository.""" + + class InitialAgentPoolConfiguration(TypedDict, total=False): """InitialAgentPoolConfiguration specifies the configuration of a pool of virtual machines that are initially defined with a Kubernetes cluster. @@ -3355,6 +3887,92 @@ class KubernetesLabel(TypedDict, total=False): """The value of the label or taint. Required.""" +class KubernetesVersion(TrackedResource): + """KubernetesVersion represents the available Kubernetes versions for a cluster. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /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: "SystemData" + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + :ivar location: The geo-location where the resource lives. Required. + :vartype location: str + :ivar properties: The list of the resource properties. Required. + :vartype properties: "KubernetesVersionProperties" + :ivar etag: "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 etag: str + :ivar extended_location: The extended location of the resource. This property is required when + creating the resource. Required. + :vartype extended_location: "ExtendedLocation" + """ + + properties: Required["KubernetesVersionProperties"] + """The list of the resource properties. Required.""" + etag: str + """\"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.\").""" + extendedLocation: Required["ExtendedLocation"] + """The extended location of the resource. This property is required when creating the resource. + Required.""" + + +class KubernetesVersionPatchParameters(TypedDict, total=False): + """KubernetesVersionPatchParameters represents the body of the request to patch Kubernetes version + tags. + + :ivar tags: Resource tags. + :vartype tags: dict[str, str] + """ + + tags: dict[str, str] + """Resource tags.""" + + +class KubernetesVersionProperties(TypedDict, total=False): + """KubernetesVersionProperties contains the read-only properties describing available versions. + + :ivar values_property: The list of available Kubernetes versions. + :vartype values_property: list["KubernetesVersionValue"] + :ivar provisioning_state: The provisioning state of the Kubernetes version resource. Known + values are: "Accepted", "Canceled", "Failed", and "Succeeded". + :vartype provisioning_state: Union[str, "KubernetesVersionProvisioningState"] + """ + + values: list["KubernetesVersionValue"] + """The list of available Kubernetes versions.""" + provisioningState: Union[str, "KubernetesVersionProvisioningState"] + """The provisioning state of the Kubernetes version resource. Known values are: \"Accepted\", + \"Canceled\", \"Failed\", and \"Succeeded\".""" + + +class KubernetesVersionValue(TypedDict, total=False): + """KubernetesVersionValue describes a specific Kubernetes version that can be deployed. + + :ivar description: Additional description for the Kubernetes version. + :vartype description: str + :ivar version: The Kubernetes version identifier. + :vartype version: str + """ + + description: str + """Additional description for the Kubernetes version.""" + version: str + """The Kubernetes version identifier.""" + + class L2Network(TrackedResource): """L2Network represents a network that utilizes a single isolation domain set up for layer-2 resources. @@ -4032,6 +4650,47 @@ class RackDefinition(TypedDict, total=False): """The list of storage appliance configuration data for this rack.""" +class RackDefinitionPatch(TypedDict, total=False): + """RackDefinitionPatch represents details regarding the rack for patch operations. + + :ivar availability_zone: The zone name used for this rack when created. Availability zones are + used for workload placement. + :vartype availability_zone: str + :ivar bare_metal_machine_configuration_data: The unordered list of bare metal machine + configuration. + :vartype bare_metal_machine_configuration_data: list["BareMetalMachineConfigurationDataPatch"] + :ivar network_rack_id: The resource ID of the network rack that matches this rack definition. + :vartype network_rack_id: str + :ivar rack_location: The free-form description of the rack's location. + :vartype rack_location: str + :ivar rack_serial_number: The unique identifier for the rack within Network Cloud cluster. An + alternate unique alphanumeric value other than a serial number may be provided if desired. + :vartype rack_serial_number: str + :ivar rack_sku_id: The resource ID of the sku for the rack being added. + :vartype rack_sku_id: str + :ivar storage_appliance_configuration_data: The list of storage appliance configuration data + for this rack. + :vartype storage_appliance_configuration_data: list["StorageApplianceConfigurationDataPatch"] + """ + + availabilityZone: str + """The zone name used for this rack when created. Availability zones are used for workload + placement.""" + bareMetalMachineConfigurationData: list["BareMetalMachineConfigurationDataPatch"] + """The unordered list of bare metal machine configuration.""" + networkRackId: str + """The resource ID of the network rack that matches this rack definition.""" + rackLocation: str + """The free-form description of the rack's location.""" + rackSerialNumber: str + """The unique identifier for the rack within Network Cloud cluster. An alternate unique + alphanumeric value other than a serial number may be provided if desired.""" + rackSkuId: str + """The resource ID of the sku for the rack being added.""" + storageApplianceConfigurationData: list["StorageApplianceConfigurationDataPatch"] + """The list of storage appliance configuration data for this rack.""" + + class RackPatchParameters(TypedDict, total=False): """RackPatchParameters represents the body of the request to patch the rack properties. @@ -4120,11 +4779,37 @@ class RacksPatchProperties(TypedDict, total=False): class RuntimeProtectionConfiguration(TypedDict, total=False): """RuntimeProtectionConfiguration represents the runtime protection configuration for the cluster. + :ivar definition_update_mode: The definition update mode for runtime protection. Known values + are: "Automatic" and "None". + :vartype definition_update_mode: Union[str, "RuntimeProtectionDefinitionUpdateMode"] + :ivar enforcement_level: The mode of operation for runtime protection. Known values are: + "Audit", "Disabled", "OnDemand", "Passive", and "RealTime". + :vartype enforcement_level: Union[str, "RuntimeProtectionEnforcementLevel"] + """ + + definitionUpdateMode: Union[str, "RuntimeProtectionDefinitionUpdateMode"] + """The definition update mode for runtime protection. Known values are: \"Automatic\" and + \"None\".""" + enforcementLevel: Union[str, "RuntimeProtectionEnforcementLevel"] + """The mode of operation for runtime protection. Known values are: \"Audit\", \"Disabled\", + \"OnDemand\", \"Passive\", and \"RealTime\".""" + + +class RuntimeProtectionConfigurationPatch(TypedDict, total=False): + """RuntimeProtectionConfigurationPatch represents the runtime protection configuration for the + cluster for patch operations. + + :ivar definition_update_mode: The definition update mode for runtime protection. Known values + are: "Automatic" and "None". + :vartype definition_update_mode: Union[str, "RuntimeProtectionDefinitionUpdateMode"] :ivar enforcement_level: The mode of operation for runtime protection. Known values are: "Audit", "Disabled", "OnDemand", "Passive", and "RealTime". :vartype enforcement_level: Union[str, "RuntimeProtectionEnforcementLevel"] """ + definitionUpdateMode: Union[str, "RuntimeProtectionDefinitionUpdateMode"] + """The definition update mode for runtime protection. Known values are: \"Automatic\" and + \"None\".""" enforcementLevel: Union[str, "RuntimeProtectionEnforcementLevel"] """The mode of operation for runtime protection. Known values are: \"Audit\", \"Disabled\", \"OnDemand\", \"Passive\", and \"RealTime\".""" @@ -4133,10 +4818,25 @@ class RuntimeProtectionConfiguration(TypedDict, total=False): class RuntimeProtectionStatus(TypedDict, total=False): """RuntimeProtectionStatus represents the runtime protection status of the bare metal machine. + :ivar agent_health_status: The runtime protection agent health status. Known values are: + "Healthy" and "Unhealthy". + :vartype agent_health_status: Union[str, "RuntimeProtectionAgentHealthStatus"] + :ivar agent_health_status_issues: The runtime protection agent health status issues, if + present. + :vartype agent_health_status_issues: list[str] + :ivar agent_license_status: The runtime protection agent license status. Known values are: + "Licensed" and "Unlicensed". + :vartype agent_license_status: Union[str, "RuntimeProtectionAgentLicenseStatus"] + :ivar definition_update_mode: The definition update mode for runtime protection. Known values + are: "Automatic" and "None". + :vartype definition_update_mode: Union[str, "RuntimeProtectionDefinitionUpdateMode"] :ivar definitions_last_updated: The timestamp when the malware definitions were last updated. :vartype definitions_last_updated: str :ivar definitions_version: The version of the malware definitions. :vartype definitions_version: str + :ivar enforcement_level: The enforcement level set for the runtime protection on the bare metal + machine. Known values are: "Audit", "Disabled", "OnDemand", "Passive", and "RealTime". + :vartype enforcement_level: Union[str, "RuntimeProtectionEnforcementLevel"] :ivar scan_completed_time: The timestamp of the most recently completed scan, or empty if there has never been a scan. :vartype scan_completed_time: str @@ -4148,10 +4848,22 @@ class RuntimeProtectionStatus(TypedDict, total=False): :vartype scan_started_time: str """ + agentHealthStatus: Union[str, "RuntimeProtectionAgentHealthStatus"] + """The runtime protection agent health status. Known values are: \"Healthy\" and \"Unhealthy\".""" + agentHealthStatusIssues: list[str] + """The runtime protection agent health status issues, if present.""" + agentLicenseStatus: Union[str, "RuntimeProtectionAgentLicenseStatus"] + """The runtime protection agent license status. Known values are: \"Licensed\" and \"Unlicensed\".""" + definitionUpdateMode: Union[str, "RuntimeProtectionDefinitionUpdateMode"] + """The definition update mode for runtime protection. Known values are: \"Automatic\" and + \"None\".""" definitionsLastUpdated: str """The timestamp when the malware definitions were last updated.""" definitionsVersion: str """The version of the malware definitions.""" + enforcementLevel: Union[str, "RuntimeProtectionEnforcementLevel"] + """The enforcement level set for the runtime protection on the bare metal machine. Known values + are: \"Audit\", \"Disabled\", \"OnDemand\", \"Passive\", and \"RealTime\".""" scanCompletedTime: str """The timestamp of the most recently completed scan, or empty if there has never been a scan.""" scanScheduledTime: str @@ -4319,6 +5031,32 @@ class ServicePrincipalInformation(TypedDict, total=False): created. Required.""" +class ServicePrincipalInformationPatch(TypedDict, total=False): + """ServicePrincipalInformationPatch represents the details of the service principal to be used by + the cluster during Arc Appliance installation for patch operations. + + :ivar application_id: The application ID, also known as client ID, of the service principal. + :vartype application_id: str + :ivar password: The password of the service principal. + :vartype password: str + :ivar principal_id: The principal ID, also known as the object ID, of the service principal. + :vartype principal_id: str + :ivar tenant_id: The tenant ID, also known as the directory ID, of the tenant in which the + service principal is created. + :vartype tenant_id: str + """ + + applicationId: str + """The application ID, also known as client ID, of the service principal.""" + password: str + """The password of the service principal.""" + principalId: str + """The principal ID, also known as the object ID, of the service principal.""" + tenantId: str + """The tenant ID, also known as the directory ID, of the tenant in which the service principal is + created.""" + + class SshPublicKey(TypedDict, total=False): """SshPublicKey represents the public key used to authenticate with a resource through SSH. @@ -4330,6 +5068,17 @@ class SshPublicKey(TypedDict, total=False): """The SSH public key data. Required.""" +class SshPublicKeyPatch(TypedDict, total=False): + """SshPublicKeyPatch represents the public key used to authenticate with a resource through SSH. + + :ivar key_data: The SSH public key data. + :vartype key_data: str + """ + + keyData: str + """The SSH public key data.""" + + class StepState(TypedDict, total=False): """StepState represents the state of a step in an action. @@ -4451,6 +5200,37 @@ class StorageApplianceConfigurationData(TypedDict, total=False): """The user-provided name for the storage appliance that will be created from this specification.""" +class StorageApplianceConfigurationDataPatch(TypedDict, total=False): + """StorageApplianceConfigurationDataPatch represents configuration for the storage application for + patch operations. + + :ivar admin_credentials: The credentials of the administrative interface on this storage + appliance. The password field is expected to be an Azure Key Vault key URL. Until the cluster + is converted to utilize managed identity by setting the secret archive settings, the actual + password value should be provided instead. + :vartype admin_credentials: "AdministrativeCredentialsPatch" + :ivar rack_slot: The slot that storage appliance is in the rack based on the BOM configuration. + :vartype rack_slot: int + :ivar serial_number: The serial number of the appliance. + :vartype serial_number: str + :ivar storage_appliance_name: The user-provided name for the storage appliance that will be + created from this specification. + :vartype storage_appliance_name: str + """ + + adminCredentials: "AdministrativeCredentialsPatch" + """The credentials of the administrative interface on this storage appliance. The password field + is expected to be an Azure Key Vault key URL. Until the cluster is converted to utilize managed + identity by setting the secret archive settings, the actual password value should be provided + instead.""" + rackSlot: int + """The slot that storage appliance is in the rack based on the BOM configuration.""" + serialNumber: str + """The serial number of the appliance.""" + storageApplianceName: str + """The user-provided name for the storage appliance that will be created from this specification.""" + + class StorageApplianceEnableRemoteVendorManagementParameters(TypedDict, total=False): # pylint: disable=name-too-long """StorageApplianceEnableRemoteVendorManagementParameters represents the body of the request to enable remote vendor management of a storage appliance. @@ -4468,6 +5248,40 @@ class StorageApplianceEnableRemoteVendorManagementParameters(TypedDict, total=Fa appliance needs accessible in order to turn on the remote vendor management.""" +class StorageApplianceExpansionShelf(TypedDict, total=False): + """StorageApplianceExpansionShelf represents an expansion shelf connected to a storage appliance. + + :ivar model: The model of the expansion shelf. + :vartype model: str + :ivar version: The version of the expansion shelf. + :vartype version: str + """ + + model: str + """The model of the expansion shelf.""" + version: str + """The version of the expansion shelf.""" + + +class StorageApplianceMonitoringConfigurationStatus(TypedDict, total=False): # pylint: disable=name-too-long + """The monitoring configuration status of the storage appliance. + + :ivar log_level: The log level for the monitoring configuration status of the storage + appliance. Known values are: "Default" and "Nexus". + :vartype log_level: Union[str, "StorageApplianceMonitoringConfigurationStatusLogLevel"] + :ivar metrics_level: The metrics level for the monitoring configuration status of the storage + appliance. Known values are: "Default" and "Nexus". + :vartype metrics_level: Union[str, "StorageApplianceMonitoringConfigurationStatusMetricsLevel"] + """ + + logLevel: Union[str, "StorageApplianceMonitoringConfigurationStatusLogLevel"] + """The log level for the monitoring configuration status of the storage appliance. Known values + are: \"Default\" and \"Nexus\".""" + metricsLevel: Union[str, "StorageApplianceMonitoringConfigurationStatusMetricsLevel"] + """The metrics level for the monitoring configuration status of the storage appliance. Known + values are: \"Default\" and \"Nexus\".""" + + class StorageAppliancePatchParameters(TypedDict, total=False): """StorageAppliancePatchParameters represents the body of the request to patch storage appliance properties. @@ -4526,6 +5340,8 @@ class StorageApplianceProperties(TypedDict, total=False): :vartype detailed_status: Union[str, "StorageApplianceDetailedStatus"] :ivar detailed_status_message: The descriptive message about the current detailed status. :vartype detailed_status_message: str + :ivar expansion_shelves: The list of expansion shelves connected to the storage appliance. + :vartype expansion_shelves: list["StorageApplianceExpansionShelf"] :ivar management_ipv4_address: The endpoint for the management interface of the storage appliance. :vartype management_ipv4_address: str @@ -4533,6 +5349,9 @@ class StorageApplianceProperties(TypedDict, total=False): :vartype manufacturer: str :ivar model: The model of the storage appliance. :vartype model: str + :ivar monitoring_configuration_status: The monitoring configuration status of the storage + appliance. + :vartype monitoring_configuration_status: "StorageApplianceMonitoringConfigurationStatus" :ivar remote_vendor_management_feature: The indicator of whether the storage appliance supports remote vendor management. Known values are: "Supported" and "Unsupported". :vartype remote_vendor_management_feature: Union[str, "RemoteVendorManagementFeature"] @@ -4574,12 +5393,16 @@ class StorageApplianceProperties(TypedDict, total=False): \"Error\", and \"Provisioning\".""" detailedStatusMessage: str """The descriptive message about the current detailed status.""" + expansionShelves: list["StorageApplianceExpansionShelf"] + """The list of expansion shelves connected to the storage appliance.""" managementIpv4Address: str """The endpoint for the management interface of the storage appliance.""" manufacturer: str """The manufacturer of the storage appliance.""" model: str """The model of the storage appliance.""" + monitoringConfigurationStatus: "StorageApplianceMonitoringConfigurationStatus" + """The monitoring configuration status of the storage appliance.""" remoteVendorManagementFeature: Union[str, "RemoteVendorManagementFeature"] """The indicator of whether the storage appliance supports remote vendor management. Known values are: \"Supported\" and \"Unsupported\".""" @@ -4866,6 +5689,30 @@ class ValidationThreshold(TypedDict, total=False): """The numeric threshold value. Required.""" +class ValidationThresholdPatch(TypedDict, total=False): + """ValidationThresholdPatch indicates allowed machine and node hardware and deployment failures + for patch operations. + + :ivar grouping: Selection of how the type evaluation is applied to the cluster calculation. + Known values are: "PerCluster" and "PerRack". + :vartype grouping: Union[str, "ValidationThresholdGrouping"] + :ivar type: Selection of how the threshold should be evaluated. Known values are: + "CountSuccess" and "PercentSuccess". + :vartype type: Union[str, "ValidationThresholdType"] + :ivar value: The numeric threshold value. + :vartype value: int + """ + + grouping: Union[str, "ValidationThresholdGrouping"] + """Selection of how the type evaluation is applied to the cluster calculation. Known values are: + \"PerCluster\" and \"PerRack\".""" + type: Union[str, "ValidationThresholdType"] + """Selection of how the threshold should be evaluated. Known values are: \"CountSuccess\" and + \"PercentSuccess\".""" + value: int + """The numeric threshold value.""" + + class VirtualMachine(TrackedResource): """VirtualMachine represents the on-premises Network Cloud virtual machine. @@ -4958,10 +5805,10 @@ class VirtualMachinePatchProperties(TypedDict, total=False): :ivar vm_image_repository_credentials: The credentials used to login to the image repository that has access to the specified image. - :vartype vm_image_repository_credentials: "ImageRepositoryCredentials" + :vartype vm_image_repository_credentials: "ImageRepositoryCredentialsPatch" """ - vmImageRepositoryCredentials: "ImageRepositoryCredentials" + vmImageRepositoryCredentials: "ImageRepositoryCredentialsPatch" """The credentials used to login to the image repository that has access to the specified image.""" @@ -5220,6 +6067,9 @@ class VolumeProperties(TypedDict, total=False): :vartype storage_appliance_id: str :ivar allocated_size_mi_b: The allocated size of the volume in Mebibytes. :vartype allocated_size_mi_b: int + :ivar assigned_storage_appliance_id: The assigned resource ID of the storage appliance that + hosts the volume. + :vartype assigned_storage_appliance_id: str :ivar attached_to: The list of resource IDs that attach the volume. It may include virtual machines and Hybrid AKS clusters. :vartype attached_to: list[str] @@ -5241,6 +6091,8 @@ class VolumeProperties(TypedDict, total=False): """The resource ID of the storage appliance that hosts the volume.""" allocatedSizeMiB: int """The allocated size of the volume in Mebibytes.""" + assignedStorageApplianceId: str + """The assigned resource ID of the storage appliance that hosts the volume.""" attachedTo: list[str] """The list of resource IDs that attach the volume. It may include virtual machines and Hybrid AKS clusters.""" diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_create_or_update.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_create_or_update.py new file mode 100644 index 000000000000..75ffed4fdf0a --- /dev/null +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_create_or_update.py @@ -0,0 +1,65 @@ +# 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) Python Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.identity import DefaultAzureCredential + +from azure.mgmt.networkcloud import NetworkCloudMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-networkcloud +# USAGE + python access_bridges_create_or_update.py + + Before run the sample, please set the values of the client ID, tenant ID and client secret + of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, + AZURE_CLIENT_SECRET. For more info about how to get the value, please see: + https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal +""" + + +def main(): + client = NetworkCloudMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="SUBSCRIPTION_ID", + ) + + response = client.access_bridges.begin_create_or_update( + resource_group_name="resourceGroupName", + access_bridge_name="Bastion", + access_bridge={ + "extendedLocation": { + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName", + "type": "CustomLocation", + }, + "location": "location", + "properties": { + "ipv4ConnectedPrefix": "198.51.100.0/24", + "ipv6ConnectedPrefix": "2001:db8::/64", + "networkId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/l3IsolationDomainName/internalNetworks/internalNetworkName", + "securityRules": [ + { + "description": "Allow management plane egress", + "direction": "Outbound", + "ipv4Addresses": ["10.10.20.10-10.10.20.20"], + "ipv6Addresses": ["2001:db8:abcd:12::1000-2001:db8:abcd:12::1fff"], + "port": "24562-24570", + } + ], + }, + "tags": {"key1": "myvalue1", "key2": "myvalue2"}, + }, + ).result() + print(response) + + +# x-ms-original-file: 2026-07-01/AccessBridges_CreateOrUpdate.json +if __name__ == "__main__": + main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_delete.py new file mode 100644 index 000000000000..746c8d947ad7 --- /dev/null +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_delete.py @@ -0,0 +1,42 @@ +# 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. +# -------------------------------------------------------------------------- + +from azure.identity import DefaultAzureCredential + +from azure.mgmt.networkcloud import NetworkCloudMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-networkcloud +# USAGE + python access_bridges_delete.py + + Before run the sample, please set the values of the client ID, tenant ID and client secret + of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, + AZURE_CLIENT_SECRET. For more info about how to get the value, please see: + https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal +""" + + +def main(): + client = NetworkCloudMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="SUBSCRIPTION_ID", + ) + + response = client.access_bridges.begin_delete( + resource_group_name="resourceGroupName", + access_bridge_name="Bastion", + ).result() + print(response) + + +# x-ms-original-file: 2026-07-01/AccessBridges_Delete.json +if __name__ == "__main__": + main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_get.py new file mode 100644 index 000000000000..3127b9f63132 --- /dev/null +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_get.py @@ -0,0 +1,42 @@ +# 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. +# -------------------------------------------------------------------------- + +from azure.identity import DefaultAzureCredential + +from azure.mgmt.networkcloud import NetworkCloudMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-networkcloud +# USAGE + python access_bridges_get.py + + Before run the sample, please set the values of the client ID, tenant ID and client secret + of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, + AZURE_CLIENT_SECRET. For more info about how to get the value, please see: + https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal +""" + + +def main(): + client = NetworkCloudMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="SUBSCRIPTION_ID", + ) + + response = client.access_bridges.get( + resource_group_name="resourceGroupName", + access_bridge_name="Bastion", + ) + print(response) + + +# x-ms-original-file: 2026-07-01/AccessBridges_Get.json +if __name__ == "__main__": + main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_list_by_resource_group.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_list_by_resource_group.py new file mode 100644 index 000000000000..d1e718f3020e --- /dev/null +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_list_by_resource_group.py @@ -0,0 +1,42 @@ +# 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. +# -------------------------------------------------------------------------- + +from azure.identity import DefaultAzureCredential + +from azure.mgmt.networkcloud import NetworkCloudMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-networkcloud +# USAGE + python access_bridges_list_by_resource_group.py + + Before run the sample, please set the values of the client ID, tenant ID and client secret + of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, + AZURE_CLIENT_SECRET. For more info about how to get the value, please see: + https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal +""" + + +def main(): + client = NetworkCloudMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="SUBSCRIPTION_ID", + ) + + response = client.access_bridges.list_by_resource_group( + resource_group_name="resourceGroupName", + ) + for item in response: + print(item) + + +# x-ms-original-file: 2026-07-01/AccessBridges_ListByResourceGroup.json +if __name__ == "__main__": + main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_list_by_subscription.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_list_by_subscription.py new file mode 100644 index 000000000000..1a27d882a818 --- /dev/null +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_list_by_subscription.py @@ -0,0 +1,40 @@ +# 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. +# -------------------------------------------------------------------------- + +from azure.identity import DefaultAzureCredential + +from azure.mgmt.networkcloud import NetworkCloudMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-networkcloud +# USAGE + python access_bridges_list_by_subscription.py + + Before run the sample, please set the values of the client ID, tenant ID and client secret + of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, + AZURE_CLIENT_SECRET. For more info about how to get the value, please see: + https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal +""" + + +def main(): + client = NetworkCloudMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="SUBSCRIPTION_ID", + ) + + response = client.access_bridges.list_by_subscription() + for item in response: + print(item) + + +# x-ms-original-file: 2026-07-01/AccessBridges_ListBySubscription.json +if __name__ == "__main__": + main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_patch.py new file mode 100644 index 000000000000..e6bb65ec3098 --- /dev/null +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/access_bridges_patch.py @@ -0,0 +1,42 @@ +# 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. +# -------------------------------------------------------------------------- + +from azure.identity import DefaultAzureCredential + +from azure.mgmt.networkcloud import NetworkCloudMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-networkcloud +# USAGE + python access_bridges_patch.py + + Before run the sample, please set the values of the client ID, tenant ID and client secret + of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, + AZURE_CLIENT_SECRET. For more info about how to get the value, please see: + https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal +""" + + +def main(): + client = NetworkCloudMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="SUBSCRIPTION_ID", + ) + + response = client.access_bridges.begin_update( + resource_group_name="resourceGroupName", + access_bridge_name="Bastion", + ).result() + print(response) + + +# x-ms-original-file: 2026-07-01/AccessBridges_Patch.json +if __name__ == "__main__": + main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_create.py index 1ca9933179c7..5d6685165d7f 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_create.py @@ -86,6 +86,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/AgentPools_Create.json +# x-ms-original-file: 2026-07-01/AgentPools_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_delete.py index 242b8b5498c1..065ca1f0fffb 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_delete.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/AgentPools_Delete.json +# x-ms-original-file: 2026-07-01/AgentPools_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_get.py index 3aabce9f101c..920ecb690421 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_get.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/AgentPools_Get.json +# x-ms-original-file: 2026-07-01/AgentPools_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_list_by_kubernetes_cluster.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_list_by_kubernetes_cluster.py index c00461fae94d..33dda4c1dc20 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_list_by_kubernetes_cluster.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_list_by_kubernetes_cluster.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/AgentPools_ListByKubernetesCluster.json +# x-ms-original-file: 2026-07-01/AgentPools_ListByKubernetesCluster.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_patch.py index d93c4af0ee1e..4afa63ab9ec6 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/agent_pools_patch.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/AgentPools_Patch.json +# x-ms-original-file: 2026-07-01/AgentPools_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_create.py index 0d5be2f4b6cd..90d730748f48 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_create.py @@ -73,6 +73,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/BareMetalMachineKeySets_Create.json +# x-ms-original-file: 2026-07-01/BareMetalMachineKeySets_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_delete.py index efbf07ec7b3e..217b4aa544b7 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_delete.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/BareMetalMachineKeySets_Delete.json +# x-ms-original-file: 2026-07-01/BareMetalMachineKeySets_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_get.py index 1a96f4f78bca..d8288d6e17ea 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_get.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/BareMetalMachineKeySets_Get.json +# x-ms-original-file: 2026-07-01/BareMetalMachineKeySets_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_list_by_cluster.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_list_by_cluster.py index f944a1ee28ae..33a2b40d65b1 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_list_by_cluster.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_list_by_cluster.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/BareMetalMachineKeySets_ListByCluster.json +# x-ms-original-file: 2026-07-01/BareMetalMachineKeySets_ListByCluster.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_patch.py index 16cc0b62ee13..98bda5adfc2e 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machine_key_sets_patch.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/BareMetalMachineKeySets_Patch.json +# x-ms-original-file: 2026-07-01/BareMetalMachineKeySets_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_cordon.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_cordon.py index 54790e7ce01e..74e1f202c0ba 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_cordon.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_cordon.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/BareMetalMachines_Cordon.json +# x-ms-original-file: 2026-07-01/BareMetalMachines_Cordon.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_create.py index 8a86eeb91f05..5a3cf32747e7 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_create.py @@ -58,6 +58,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/BareMetalMachines_Create.json +# x-ms-original-file: 2026-07-01/BareMetalMachines_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_delete.py index 842059ac385b..b22eac822b25 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_delete.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/BareMetalMachines_Delete.json +# x-ms-original-file: 2026-07-01/BareMetalMachines_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_get.py index fafca7472bb6..89471d53068c 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/BareMetalMachines_Get.json +# x-ms-original-file: 2026-07-01/BareMetalMachines_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_list_by_resource_group.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_list_by_resource_group.py index bc4b79e2963b..d18705da26eb 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_list_by_resource_group.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_list_by_resource_group.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/BareMetalMachines_ListByResourceGroup.json +# x-ms-original-file: 2026-07-01/BareMetalMachines_ListByResourceGroup.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_list_by_subscription.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_list_by_subscription.py index 2b93411c4516..453cca0c65d4 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_list_by_subscription.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_list_by_subscription.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/BareMetalMachines_ListBySubscription.json +# x-ms-original-file: 2026-07-01/BareMetalMachines_ListBySubscription.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_patch.py index 415b8a03a34c..8cc31ac0cb1e 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_patch.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/BareMetalMachines_Patch.json +# x-ms-original-file: 2026-07-01/BareMetalMachines_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_power_off.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_power_off.py index 31893ad7eabc..518369853b7b 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_power_off.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_power_off.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/BareMetalMachines_PowerOff.json +# x-ms-original-file: 2026-07-01/BareMetalMachines_PowerOff.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_reimage.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_reimage.py index 6cc44ae27e86..1ea5e2a3a6a1 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_reimage.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_reimage.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/BareMetalMachines_Reimage.json +# x-ms-original-file: 2026-07-01/BareMetalMachines_Reimage.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_replace.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_replace.py index 25e739ab449f..74af049fb2b6 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_replace.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_replace.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/BareMetalMachines_Replace.json +# x-ms-original-file: 2026-07-01/BareMetalMachines_Replace.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_restart.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_restart.py index 9e1554204044..4eb5d3fc8f94 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_restart.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_restart.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/BareMetalMachines_Restart.json +# x-ms-original-file: 2026-07-01/BareMetalMachines_Restart.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_command.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_command.py index b16ab7cf33a1..7fbf04bc6990 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_command.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_command.py @@ -42,6 +42,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/BareMetalMachines_RunCommand.json +# x-ms-original-file: 2026-07-01/BareMetalMachines_RunCommand.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_data_extracts.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_data_extracts.py index 2b4b784fa389..8c3cfb1f49fe 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_data_extracts.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_data_extracts.py @@ -41,6 +41,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/BareMetalMachines_RunDataExtracts.json +# x-ms-original-file: 2026-07-01/BareMetalMachines_RunDataExtracts.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_data_extracts_restricted.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_data_extracts_restricted.py index 1b95ec41d443..4f9b59f56a3b 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_data_extracts_restricted.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_data_extracts_restricted.py @@ -41,6 +41,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/BareMetalMachines_RunDataExtractsRestricted.json +# x-ms-original-file: 2026-07-01/BareMetalMachines_RunDataExtractsRestricted.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_read_commands_hostname.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_read_commands_hostname.py index 5db8bc37789c..d722446a721e 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_read_commands_hostname.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_read_commands_hostname.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/BareMetalMachines_RunReadCommands_Hostname.json +# x-ms-original-file: 2026-07-01/BareMetalMachines_RunReadCommands_Hostname.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_read_commands_multiple.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_read_commands_multiple.py index 8b3a3397770f..a04bc18314b9 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_read_commands_multiple.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_run_read_commands_multiple.py @@ -44,6 +44,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/BareMetalMachines_RunReadCommands_Multiple.json +# x-ms-original-file: 2026-07-01/BareMetalMachines_RunReadCommands_Multiple.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_start.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_start.py index 2ffb0370b1b5..a522a2019720 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_start.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_start.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/BareMetalMachines_Start.json +# x-ms-original-file: 2026-07-01/BareMetalMachines_Start.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_uncordon.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_uncordon.py index 554c3e3aad9f..3112d2d6c041 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_uncordon.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bare_metal_machines_uncordon.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/BareMetalMachines_Uncordon.json +# x-ms-original-file: 2026-07-01/BareMetalMachines_Uncordon.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_create.py index e849ff8d3971..35b493872f4c 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_create.py @@ -70,6 +70,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/BmcKeySets_Create.json +# x-ms-original-file: 2026-07-01/BmcKeySets_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_delete.py index e4dd3f513291..7cf2fdf2ac65 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_delete.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/BmcKeySets_Delete.json +# x-ms-original-file: 2026-07-01/BmcKeySets_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_get.py index b625817c2fcc..1b30be83971a 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_get.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/BmcKeySets_Get.json +# x-ms-original-file: 2026-07-01/BmcKeySets_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_list_by_cluster.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_list_by_cluster.py index 16ba1cb38864..6698ea6ded81 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_list_by_cluster.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_list_by_cluster.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/BmcKeySets_ListByCluster.json +# x-ms-original-file: 2026-07-01/BmcKeySets_ListByCluster.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_patch.py index 3047689bc16d..ae5f1c545922 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/bmc_key_sets_patch.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/BmcKeySets_Patch.json +# x-ms-original-file: 2026-07-01/BmcKeySets_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_create.py index 3aa58eae72e2..119e95da380a 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_create.py @@ -51,7 +51,7 @@ def main(): "storageOptions": { "mode": "Standard", "sizeMiB": 1048576, - "storageApplianceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/StorageAppliances/storageApplianceName", + "storageApplianceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/storageAppliances/storageApplianceName", }, }, "tags": {"key1": "myvalue1", "key2": "myvalue2"}, @@ -60,6 +60,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/CloudServicesNetworks_Create.json +# x-ms-original-file: 2026-07-01/CloudServicesNetworks_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_delete.py index 8488404d90e6..822b7ea63701 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_delete.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/CloudServicesNetworks_Delete.json +# x-ms-original-file: 2026-07-01/CloudServicesNetworks_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_get.py index 8e921e2b9d10..884a2b6e94c0 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/CloudServicesNetworks_Get.json +# x-ms-original-file: 2026-07-01/CloudServicesNetworks_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_list_by_resource_group.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_list_by_resource_group.py index 464d2319f9cd..5143dd943938 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_list_by_resource_group.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_list_by_resource_group.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/CloudServicesNetworks_ListByResourceGroup.json +# x-ms-original-file: 2026-07-01/CloudServicesNetworks_ListByResourceGroup.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_list_by_subscription.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_list_by_subscription.py index 4128ad4784aa..eea0d7c197eb 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_list_by_subscription.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_list_by_subscription.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/CloudServicesNetworks_ListBySubscription.json +# x-ms-original-file: 2026-07-01/CloudServicesNetworks_ListBySubscription.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_patch.py index 077b5778b3d8..dab42539e4d2 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cloud_services_networks_patch.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/CloudServicesNetworks_Patch.json +# x-ms-original-file: 2026-07-01/CloudServicesNetworks_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_create.py index 4da584a16ac1..61402fb5a05d 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_create.py @@ -36,9 +36,10 @@ def main(): cluster_manager_name="clusterManagerName", cluster_manager_parameters={ "identity": {"type": "SystemAssigned"}, + "kind": "AzureLocal", "location": "location", "properties": { - "analyticsWorkspaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName", + "analyticsWorkspaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.OperationalInsights/workspaces/logAnalyticsWorkspaceName", "fabricControllerId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/fabricControllerName", "managedResourceGroupConfiguration": {"location": "East US", "name": "my-managed-rg"}, }, @@ -48,6 +49,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/ClusterManagers_Create.json +# x-ms-original-file: 2026-07-01/ClusterManagers_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_create_uami.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_create_uami.py index 7cacb0718907..03398797a1d3 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_create_uami.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_create_uami.py @@ -41,9 +41,10 @@ def main(): "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/userIdentity1": {} }, }, + "kind": "AzureLocal", "location": "location", "properties": { - "analyticsWorkspaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName", + "analyticsWorkspaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.OperationalInsights/workspaces/logAnalyticsWorkspaceName", "fabricControllerId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/fabricControllerName", "managedResourceGroupConfiguration": {"location": "East US", "name": "my-managed-rg"}, }, @@ -53,6 +54,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/ClusterManagers_Create_Uami.json +# x-ms-original-file: 2026-07-01/ClusterManagers_Create_Uami.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_delete.py index 2c225d4a28bd..c54f533c4a5d 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_delete.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/ClusterManagers_Delete.json +# x-ms-original-file: 2026-07-01/ClusterManagers_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_get.py index cef697a3390a..e4896e660e99 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/ClusterManagers_Get.json +# x-ms-original-file: 2026-07-01/ClusterManagers_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_list_by_resource_group.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_list_by_resource_group.py index e74b17b6cf96..d1725218d4c8 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_list_by_resource_group.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_list_by_resource_group.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/ClusterManagers_ListByResourceGroup.json +# x-ms-original-file: 2026-07-01/ClusterManagers_ListByResourceGroup.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_list_by_subscription.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_list_by_subscription.py index 05170557c98b..ca3b9ca1221d 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_list_by_subscription.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_list_by_subscription.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/ClusterManagers_ListBySubscription.json +# x-ms-original-file: 2026-07-01/ClusterManagers_ListBySubscription.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_patch.py index f7a2ea4f0cd3..ce1dfb9b8831 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_patch.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/ClusterManagers_Patch.json +# x-ms-original-file: 2026-07-01/ClusterManagers_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_update_relay_private_endpoint_connection_approve.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_update_relay_private_endpoint_connection_approve.py new file mode 100644 index 000000000000..da299142d1f7 --- /dev/null +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_update_relay_private_endpoint_connection_approve.py @@ -0,0 +1,42 @@ +# 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. +# -------------------------------------------------------------------------- + +from azure.identity import DefaultAzureCredential + +from azure.mgmt.networkcloud import NetworkCloudMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-networkcloud +# USAGE + python cluster_managers_update_relay_private_endpoint_connection_approve.py + + Before run the sample, please set the values of the client ID, tenant ID and client secret + of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, + AZURE_CLIENT_SECRET. For more info about how to get the value, please see: + https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal +""" + + +def main(): + client = NetworkCloudMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="SUBSCRIPTION_ID", + ) + + response = client.cluster_managers.begin_update_relay_private_endpoint_connection( + resource_group_name="resourceGroupName", + cluster_manager_name="clusterManagerName", + ).result() + print(response) + + +# x-ms-original-file: 2026-07-01/ClusterManagers_UpdateRelayPrivateEndpointConnection_Approve.json +if __name__ == "__main__": + main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_update_relay_private_endpoint_connection_reject.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_update_relay_private_endpoint_connection_reject.py new file mode 100644 index 000000000000..b81edfa0a848 --- /dev/null +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_managers_update_relay_private_endpoint_connection_reject.py @@ -0,0 +1,42 @@ +# 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. +# -------------------------------------------------------------------------- + +from azure.identity import DefaultAzureCredential + +from azure.mgmt.networkcloud import NetworkCloudMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-networkcloud +# USAGE + python cluster_managers_update_relay_private_endpoint_connection_reject.py + + Before run the sample, please set the values of the client ID, tenant ID and client secret + of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, + AZURE_CLIENT_SECRET. For more info about how to get the value, please see: + https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal +""" + + +def main(): + client = NetworkCloudMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="SUBSCRIPTION_ID", + ) + + response = client.cluster_managers.begin_update_relay_private_endpoint_connection( + resource_group_name="resourceGroupName", + cluster_manager_name="clusterManagerName", + ).result() + print(response) + + +# x-ms-original-file: 2026-07-01/ClusterManagers_UpdateRelayPrivateEndpointConnection_Reject.json +if __name__ == "__main__": + main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_create.py index c09d1d7431fb..be859395d6ed 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_create.py @@ -48,6 +48,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/ClusterMetricsConfigurations_Create.json +# x-ms-original-file: 2026-07-01/ClusterMetricsConfigurations_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_delete.py index 05774fbfd63e..7a4ee0b687c4 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_delete.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/ClusterMetricsConfigurations_Delete.json +# x-ms-original-file: 2026-07-01/ClusterMetricsConfigurations_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_get.py index dbe2effb860b..3d57d29f1e3c 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_get.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/ClusterMetricsConfigurations_Get.json +# x-ms-original-file: 2026-07-01/ClusterMetricsConfigurations_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_list_by_cluster.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_list_by_cluster.py index 9d85a97f0df1..57ce71bc3cb1 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_list_by_cluster.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_list_by_cluster.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/ClusterMetricsConfigurations_ListByCluster.json +# x-ms-original-file: 2026-07-01/ClusterMetricsConfigurations_ListByCluster.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_patch.py index f717fb1d771e..a1bc043566b2 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/cluster_metrics_configurations_patch.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/ClusterMetricsConfigurations_Patch.json +# x-ms-original-file: 2026-07-01/ClusterMetricsConfigurations_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_continue_update_version.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_continue_update_version.py index 907238e73085..362efa9b68ab 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_continue_update_version.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_continue_update_version.py @@ -33,11 +33,11 @@ def main(): response = client.clusters.begin_continue_update_version( resource_group_name="resourceGroupName", cluster_name="clusterName", - cluster_continue_update_version_parameters={"machineGroupTargetingMode": "AlphaByRack"}, + cluster_continue_update_version_parameters={"machineGroupTargetingMode": "AlphaByRack", "safeguardMode": "All"}, ).result() print(response) -# x-ms-original-file: 2025-09-01/Clusters_ContinueUpdateVersion.json +# x-ms-original-file: 2026-07-01/Clusters_ContinueUpdateVersion.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_create.py index b7648f448871..be64c1e3abd6 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_create.py @@ -45,6 +45,7 @@ def main(): "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/userIdentity1": {} }, }, + "kind": "AzureLocal", "location": "location", "properties": { "aggregatorOrSingleRackDefinition": { @@ -91,7 +92,7 @@ def main(): ], }, "analyticsOutputSettings": { - "analyticsWorkspaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName", + "analyticsWorkspaceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.OperationalInsights/workspaces/logAnalyticsWorkspaceName", "associatedIdentity": { "identityType": "UserAssignedIdentity", "userAssignedIdentityResourceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/userIdentity1", @@ -165,7 +166,7 @@ def main(): ], "managedResourceGroupConfiguration": {"location": "East US", "name": "my-managed-rg"}, "networkFabricId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabrics/fabricName", - "runtimeProtectionConfiguration": {"enforcementLevel": "OnDemand"}, + "runtimeProtectionConfiguration": {"definitionUpdateMode": "None", "enforcementLevel": "OnDemand"}, "secretArchiveSettings": { "associatedIdentity": { "identityType": "UserAssignedIdentity", @@ -188,6 +189,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/Clusters_Create.json +# x-ms-original-file: 2026-07-01/Clusters_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_delete.py index a789a88da815..cd1223c5505c 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_delete.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/Clusters_Delete.json +# x-ms-original-file: 2026-07-01/Clusters_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_deploy.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_deploy.py index bb7199c41719..d5f44744962a 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_deploy.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_deploy.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/Clusters_Deploy.json +# x-ms-original-file: 2026-07-01/Clusters_Deploy.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_deploy_skip_validation.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_deploy_skip_validation.py index 797951188c58..b95a9d8ea1cc 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_deploy_skip_validation.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_deploy_skip_validation.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/Clusters_Deploy_SkipValidation.json +# x-ms-original-file: 2026-07-01/Clusters_Deploy_SkipValidation.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_get.py index 4526140462e5..f9d579d1eff8 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/Clusters_Get.json +# x-ms-original-file: 2026-07-01/Clusters_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_inspect.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_inspect.py new file mode 100644 index 000000000000..0db17c24f0af --- /dev/null +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_inspect.py @@ -0,0 +1,42 @@ +# 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. +# -------------------------------------------------------------------------- + +from azure.identity import DefaultAzureCredential + +from azure.mgmt.networkcloud import NetworkCloudMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-networkcloud +# USAGE + python clusters_inspect.py + + Before run the sample, please set the values of the client ID, tenant ID and client secret + of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, + AZURE_CLIENT_SECRET. For more info about how to get the value, please see: + https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal +""" + + +def main(): + client = NetworkCloudMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="SUBSCRIPTION_ID", + ) + + response = client.clusters.begin_inspect( + resource_group_name="resourceGroupName", + cluster_name="clusterName", + ).result() + print(response) + + +# x-ms-original-file: 2026-07-01/Clusters_Inspect.json +if __name__ == "__main__": + main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_list_by_resource_group.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_list_by_resource_group.py index 024f032fb0b8..b56fe37f061d 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_list_by_resource_group.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_list_by_resource_group.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/Clusters_ListByResourceGroup.json +# x-ms-original-file: 2026-07-01/Clusters_ListByResourceGroup.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_list_by_subscription.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_list_by_subscription.py index d5bf6e4edf54..2ff33795af65 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_list_by_subscription.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_list_by_subscription.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/Clusters_ListBySubscription.json +# x-ms-original-file: 2026-07-01/Clusters_ListBySubscription.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_aggregator_or_single_rack_definition.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_aggregator_or_single_rack_definition.py index 4e8f499b0883..bc78de069c52 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_aggregator_or_single_rack_definition.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_aggregator_or_single_rack_definition.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/Clusters_Patch_AggregatorOrSingleRackDefinition.json +# x-ms-original-file: 2026-07-01/Clusters_Patch_AggregatorOrSingleRackDefinition.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_analytics_output.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_analytics_output.py index deb09bb816e4..b5a59eb95e66 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_analytics_output.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_analytics_output.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/Clusters_Patch_AnalyticsOutput.json +# x-ms-original-file: 2026-07-01/Clusters_Patch_AnalyticsOutput.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_command_output.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_command_output.py index d72cd5d65bce..7a7b7f230a37 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_command_output.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_command_output.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/Clusters_Patch_CommandOutput.json +# x-ms-original-file: 2026-07-01/Clusters_Patch_CommandOutput.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_location.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_location.py index be88331771cf..85a2d25fdaaf 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_location.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_location.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/Clusters_Patch_Location.json +# x-ms-original-file: 2026-07-01/Clusters_Patch_Location.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_runtime_protection_configuration.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_runtime_protection_configuration.py index 9ba54e988cc9..2ab0ac979821 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_runtime_protection_configuration.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_runtime_protection_configuration.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/Clusters_Patch_RuntimeProtectionConfiguration.json +# x-ms-original-file: 2026-07-01/Clusters_Patch_RuntimeProtectionConfiguration.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_secret_archive.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_secret_archive.py index 19f017e6c3e4..a127ae34ab2f 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_secret_archive.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_secret_archive.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/Clusters_Patch_SecretArchive.json +# x-ms-original-file: 2026-07-01/Clusters_Patch_SecretArchive.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_update_strategy.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_update_strategy.py index b7e1e7b83538..a06ea53cd79b 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_update_strategy.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_update_strategy.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/Clusters_Patch_UpdateStrategy.json +# x-ms-original-file: 2026-07-01/Clusters_Patch_UpdateStrategy.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_vulnerability_scanning.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_vulnerability_scanning.py index b958b4a4594f..89c2f4e23c24 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_vulnerability_scanning.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_patch_vulnerability_scanning.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/Clusters_Patch_VulnerabilityScanning.json +# x-ms-original-file: 2026-07-01/Clusters_Patch_VulnerabilityScanning.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_rotate_credential.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_rotate_credential.py new file mode 100644 index 000000000000..cefde77bd446 --- /dev/null +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_rotate_credential.py @@ -0,0 +1,43 @@ +# 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. +# -------------------------------------------------------------------------- + +from azure.identity import DefaultAzureCredential + +from azure.mgmt.networkcloud import NetworkCloudMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-networkcloud +# USAGE + python clusters_rotate_credential.py + + Before run the sample, please set the values of the client ID, tenant ID and client secret + of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, + AZURE_CLIENT_SECRET. For more info about how to get the value, please see: + https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal +""" + + +def main(): + client = NetworkCloudMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="SUBSCRIPTION_ID", + ) + + response = client.clusters.begin_rotate_credential( + resource_group_name="resourceGroupName", + cluster_name="clusterName", + body={"credentials": ["BMC Credential"]}, + ).result() + print(response) + + +# x-ms-original-file: 2026-07-01/Clusters_RotateCredential.json +if __name__ == "__main__": + main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_scan_runtime.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_scan_runtime.py index 06bcb31de243..6c9436ab6d41 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_scan_runtime.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_scan_runtime.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/Clusters_ScanRuntime.json +# x-ms-original-file: 2026-07-01/Clusters_ScanRuntime.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_update_version.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_update_version.py index a7a55496dae7..188b01a4c3fc 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_update_version.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/clusters_update_version.py @@ -33,11 +33,11 @@ def main(): response = client.clusters.begin_update_version( resource_group_name="resourceGroupName", cluster_name="clusterName", - cluster_update_version_parameters={"targetClusterVersion": "2.0"}, + cluster_update_version_parameters={"safeguardMode": "All", "targetClusterVersion": "2.0"}, ).result() print(response) -# x-ms-original-file: 2025-09-01/Clusters_UpdateVersion.json +# x-ms-original-file: 2026-07-01/Clusters_UpdateVersion.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_create.py index 4b1f416e3d5e..e50c0f8925c7 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_create.py @@ -54,6 +54,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/Consoles_Create.json +# x-ms-original-file: 2026-07-01/Consoles_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_delete.py index c9d3c8ac3c5c..8a28e6a182b2 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_delete.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/Consoles_Delete.json +# x-ms-original-file: 2026-07-01/Consoles_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_get.py index 10035812eef0..6c8b65a47431 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_get.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/Consoles_Get.json +# x-ms-original-file: 2026-07-01/Consoles_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_list_by_virtual_machine.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_list_by_virtual_machine.py index 34659cf12413..300bcebe215c 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_list_by_virtual_machine.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_list_by_virtual_machine.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/Consoles_ListByVirtualMachine.json +# x-ms-original-file: 2026-07-01/Consoles_ListByVirtualMachine.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_patch.py index 364ff90c46c3..443fd48004ff 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/consoles_patch.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/Consoles_Patch.json +# x-ms-original-file: 2026-07-01/Consoles_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_create.py index fc4a62c609a8..711645195910 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_create.py @@ -43,6 +43,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/KubernetesClusterFeatures_Create.json +# x-ms-original-file: 2026-07-01/KubernetesClusterFeatures_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_delete.py index f8460aeba19d..f5bfe8764509 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_delete.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/KubernetesClusterFeatures_Delete.json +# x-ms-original-file: 2026-07-01/KubernetesClusterFeatures_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_get.py index 47cba3efa4eb..34edc441ac88 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_get.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/KubernetesClusterFeatures_Get.json +# x-ms-original-file: 2026-07-01/KubernetesClusterFeatures_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_list_by_kubernetes_cluster.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_list_by_kubernetes_cluster.py index 653f13acc4ad..727cbf16276f 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_list_by_kubernetes_cluster.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_list_by_kubernetes_cluster.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/KubernetesClusterFeatures_ListByKubernetesCluster.json +# x-ms-original-file: 2026-07-01/KubernetesClusterFeatures_ListByKubernetesCluster.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_patch.py index ea77fcb5824c..5fd4d777acce 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_cluster_features_patch.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/KubernetesClusterFeatures_Patch.json +# x-ms-original-file: 2026-07-01/KubernetesClusterFeatures_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_create.py index 7354719d2490..44ec28c6fdd2 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_create.py @@ -174,6 +174,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/KubernetesClusters_Create.json +# x-ms-original-file: 2026-07-01/KubernetesClusters_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_delete.py index d001bfde286d..553196f34b25 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_delete.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/KubernetesClusters_Delete.json +# x-ms-original-file: 2026-07-01/KubernetesClusters_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_get.py index 41499b2620fe..62c48ee8c0a9 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/KubernetesClusters_Get.json +# x-ms-original-file: 2026-07-01/KubernetesClusters_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_l2_load_balancer_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_l2_load_balancer_create.py index af19cc43a598..5df3a873896f 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_l2_load_balancer_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_l2_load_balancer_create.py @@ -147,6 +147,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/KubernetesClusters_L2LoadBalancer_Create.json +# x-ms-original-file: 2026-07-01/KubernetesClusters_L2LoadBalancer_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_list_by_resource_group.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_list_by_resource_group.py index 0ee8a0b5234d..af01a70c8303 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_list_by_resource_group.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_list_by_resource_group.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/KubernetesClusters_ListByResourceGroup.json +# x-ms-original-file: 2026-07-01/KubernetesClusters_ListByResourceGroup.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_list_by_subscription.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_list_by_subscription.py index 97080cc088cb..097b3fcb1dd5 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_list_by_subscription.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_list_by_subscription.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/KubernetesClusters_ListBySubscription.json +# x-ms-original-file: 2026-07-01/KubernetesClusters_ListBySubscription.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_patch.py index 3b019256737a..71f6eb968662 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_patch.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/KubernetesClusters_Patch.json +# x-ms-original-file: 2026-07-01/KubernetesClusters_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_restart_node.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_restart_node.py index 98efd4e4dfda..e52c2299378a 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_restart_node.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_clusters_restart_node.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/KubernetesClusters_RestartNode.json +# x-ms-original-file: 2026-07-01/KubernetesClusters_RestartNode.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_create.py new file mode 100644 index 000000000000..0b9be4c82644 --- /dev/null +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_create.py @@ -0,0 +1,52 @@ +# 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) Python Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.identity import DefaultAzureCredential + +from azure.mgmt.networkcloud import NetworkCloudMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-networkcloud +# USAGE + python kubernetes_versions_create.py + + Before run the sample, please set the values of the client ID, tenant ID and client secret + of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, + AZURE_CLIENT_SECRET. For more info about how to get the value, please see: + https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal +""" + + +def main(): + client = NetworkCloudMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="SUBSCRIPTION_ID", + ) + + response = client.kubernetes_versions.begin_create_or_update( + resource_group_name="resourceGroupName", + kubernetes_version_name="default", + kubernetes_version_parameters={ + "extendedLocation": { + "name": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName", + "type": "CustomLocation", + }, + "location": "location", + "properties": {}, + "tags": {"key1": "myvalue1", "key2": "myvalue2"}, + }, + ).result() + print(response) + + +# x-ms-original-file: 2026-07-01/KubernetesVersions_Create.json +if __name__ == "__main__": + main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_delete.py new file mode 100644 index 000000000000..b69c6a1b9bb4 --- /dev/null +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_delete.py @@ -0,0 +1,42 @@ +# 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. +# -------------------------------------------------------------------------- + +from azure.identity import DefaultAzureCredential + +from azure.mgmt.networkcloud import NetworkCloudMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-networkcloud +# USAGE + python kubernetes_versions_delete.py + + Before run the sample, please set the values of the client ID, tenant ID and client secret + of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, + AZURE_CLIENT_SECRET. For more info about how to get the value, please see: + https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal +""" + + +def main(): + client = NetworkCloudMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="SUBSCRIPTION_ID", + ) + + response = client.kubernetes_versions.begin_delete( + resource_group_name="resourceGroupName", + kubernetes_version_name="default", + ).result() + print(response) + + +# x-ms-original-file: 2026-07-01/KubernetesVersions_Delete.json +if __name__ == "__main__": + main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_get.py new file mode 100644 index 000000000000..88d492f83be9 --- /dev/null +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_get.py @@ -0,0 +1,42 @@ +# 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. +# -------------------------------------------------------------------------- + +from azure.identity import DefaultAzureCredential + +from azure.mgmt.networkcloud import NetworkCloudMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-networkcloud +# USAGE + python kubernetes_versions_get.py + + Before run the sample, please set the values of the client ID, tenant ID and client secret + of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, + AZURE_CLIENT_SECRET. For more info about how to get the value, please see: + https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal +""" + + +def main(): + client = NetworkCloudMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="SUBSCRIPTION_ID", + ) + + response = client.kubernetes_versions.get( + resource_group_name="resourceGroupName", + kubernetes_version_name="default", + ) + print(response) + + +# x-ms-original-file: 2026-07-01/KubernetesVersions_Get.json +if __name__ == "__main__": + main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_list_by_resource_group.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_list_by_resource_group.py new file mode 100644 index 000000000000..ca635a9ffefd --- /dev/null +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_list_by_resource_group.py @@ -0,0 +1,42 @@ +# 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. +# -------------------------------------------------------------------------- + +from azure.identity import DefaultAzureCredential + +from azure.mgmt.networkcloud import NetworkCloudMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-networkcloud +# USAGE + python kubernetes_versions_list_by_resource_group.py + + Before run the sample, please set the values of the client ID, tenant ID and client secret + of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, + AZURE_CLIENT_SECRET. For more info about how to get the value, please see: + https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal +""" + + +def main(): + client = NetworkCloudMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="SUBSCRIPTION_ID", + ) + + response = client.kubernetes_versions.list_by_resource_group( + resource_group_name="resourceGroupName", + ) + for item in response: + print(item) + + +# x-ms-original-file: 2026-07-01/KubernetesVersions_ListByResourceGroup.json +if __name__ == "__main__": + main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_list_by_subscription.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_list_by_subscription.py new file mode 100644 index 000000000000..fcdbb7a73fc2 --- /dev/null +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_list_by_subscription.py @@ -0,0 +1,40 @@ +# 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. +# -------------------------------------------------------------------------- + +from azure.identity import DefaultAzureCredential + +from azure.mgmt.networkcloud import NetworkCloudMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-networkcloud +# USAGE + python kubernetes_versions_list_by_subscription.py + + Before run the sample, please set the values of the client ID, tenant ID and client secret + of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, + AZURE_CLIENT_SECRET. For more info about how to get the value, please see: + https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal +""" + + +def main(): + client = NetworkCloudMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="SUBSCRIPTION_ID", + ) + + response = client.kubernetes_versions.list_by_subscription() + for item in response: + print(item) + + +# x-ms-original-file: 2026-07-01/KubernetesVersions_ListBySubscription.json +if __name__ == "__main__": + main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_update_tags.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_update_tags.py new file mode 100644 index 000000000000..a1240c88fa6e --- /dev/null +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/kubernetes_versions_update_tags.py @@ -0,0 +1,42 @@ +# 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. +# -------------------------------------------------------------------------- + +from azure.identity import DefaultAzureCredential + +from azure.mgmt.networkcloud import NetworkCloudMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-networkcloud +# USAGE + python kubernetes_versions_update_tags.py + + Before run the sample, please set the values of the client ID, tenant ID and client secret + of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, + AZURE_CLIENT_SECRET. For more info about how to get the value, please see: + https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal +""" + + +def main(): + client = NetworkCloudMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="SUBSCRIPTION_ID", + ) + + response = client.kubernetes_versions.begin_update( + resource_group_name="resourceGroupName", + kubernetes_version_name="default", + ).result() + print(response) + + +# x-ms-original-file: 2026-07-01/KubernetesVersions_UpdateTags.json +if __name__ == "__main__": + main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_create.py index 703c490df96e..04eabb42d219 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_create.py @@ -51,6 +51,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/L2Networks_Create.json +# x-ms-original-file: 2026-07-01/L2Networks_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_delete.py index afbfbc511aaa..861a2f1db653 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_delete.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/L2Networks_Delete.json +# x-ms-original-file: 2026-07-01/L2Networks_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_get.py index 77517e71055f..d92e93acc06f 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/L2Networks_Get.json +# x-ms-original-file: 2026-07-01/L2Networks_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_list_by_resource_group.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_list_by_resource_group.py index 9fec92cd797c..2a3b353f01a9 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_list_by_resource_group.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_list_by_resource_group.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/L2Networks_ListByResourceGroup.json +# x-ms-original-file: 2026-07-01/L2Networks_ListByResourceGroup.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_list_by_subscription.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_list_by_subscription.py index 3d59ceb5aa7f..6502ecadf63f 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_list_by_subscription.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_list_by_subscription.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/L2Networks_ListBySubscription.json +# x-ms-original-file: 2026-07-01/L2Networks_ListBySubscription.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_patch.py index ba827f195b2f..3eb7e64e5f8d 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l2_networks_patch.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/L2Networks_Patch.json +# x-ms-original-file: 2026-07-01/L2Networks_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_create.py index 410c9eaa94ac..e55a3b58db95 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_create.py @@ -54,6 +54,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/L3Networks_Create.json +# x-ms-original-file: 2026-07-01/L3Networks_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_delete.py index 6b97f5db777a..ee52c0736c48 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_delete.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/L3Networks_Delete.json +# x-ms-original-file: 2026-07-01/L3Networks_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_get.py index f744d8211888..f4c8169844b8 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/L3Networks_Get.json +# x-ms-original-file: 2026-07-01/L3Networks_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_list_by_resource_group.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_list_by_resource_group.py index bfb84911a1c2..751f0bdc8cbb 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_list_by_resource_group.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_list_by_resource_group.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/L3Networks_ListByResourceGroup.json +# x-ms-original-file: 2026-07-01/L3Networks_ListByResourceGroup.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_list_by_subscription.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_list_by_subscription.py index 9eaf290ab92a..ed80dd33c3be 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_list_by_subscription.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_list_by_subscription.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/L3Networks_ListBySubscription.json +# x-ms-original-file: 2026-07-01/L3Networks_ListBySubscription.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_patch.py index 1882794fde9e..051b48041e7a 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/l3_networks_patch.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/L3Networks_Patch.json +# x-ms-original-file: 2026-07-01/L3Networks_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/operations_list.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/operations_list.py index 431c47b4b468..8ce36eb13256 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/operations_list.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/operations_list.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/Operations_List.json +# x-ms-original-file: 2026-07-01/Operations_List.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/rack_skus_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/rack_skus_get.py index fd5f8d4686bb..bb603a09c8b6 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/rack_skus_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/rack_skus_get.py @@ -36,6 +36,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/RackSkus_Get.json +# x-ms-original-file: 2026-07-01/RackSkus_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/rack_skus_list_by_subscription.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/rack_skus_list_by_subscription.py index b51d090da444..e592b72d1183 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/rack_skus_list_by_subscription.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/rack_skus_list_by_subscription.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/RackSkus_ListBySubscription.json +# x-ms-original-file: 2026-07-01/RackSkus_ListBySubscription.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_create.py index 769eaefea87c..7ca5c398d481 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_create.py @@ -52,6 +52,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/Racks_Create.json +# x-ms-original-file: 2026-07-01/Racks_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_delete.py index 1a9336b5ee91..cecad6b43f43 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_delete.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/Racks_Delete.json +# x-ms-original-file: 2026-07-01/Racks_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_get.py index d695b18740ab..877de0876b4e 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/Racks_Get.json +# x-ms-original-file: 2026-07-01/Racks_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_list_by_resource_group.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_list_by_resource_group.py index 83b1341606fd..d8b8fbf3ed94 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_list_by_resource_group.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_list_by_resource_group.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/Racks_ListByResourceGroup.json +# x-ms-original-file: 2026-07-01/Racks_ListByResourceGroup.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_list_by_subscription.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_list_by_subscription.py index cd56f08ba54c..793c5862d0f6 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_list_by_subscription.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_list_by_subscription.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/Racks_ListBySubscription.json +# x-ms-original-file: 2026-07-01/Racks_ListBySubscription.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_patch.py index b7f237532f99..0e22e9099f76 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/racks_patch.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/Racks_Patch.json +# x-ms-original-file: 2026-07-01/Racks_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_create.py index f5b5fdd54baa..d74b796bd5a9 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_create.py @@ -53,6 +53,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/StorageAppliances_Create.json +# x-ms-original-file: 2026-07-01/StorageAppliances_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_delete.py index ed95947e58c1..9ab9e6d0e532 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_delete.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/StorageAppliances_Delete.json +# x-ms-original-file: 2026-07-01/StorageAppliances_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_disable_remote_vendor_management.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_disable_remote_vendor_management.py index 76cec268dd7b..162755508247 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_disable_remote_vendor_management.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_disable_remote_vendor_management.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/StorageAppliances_DisableRemoteVendorManagement.json +# x-ms-original-file: 2026-07-01/StorageAppliances_DisableRemoteVendorManagement.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_enable_remote_vendor_management.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_enable_remote_vendor_management.py index cd626bb56d25..287269fe23b0 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_enable_remote_vendor_management.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_enable_remote_vendor_management.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/StorageAppliances_EnableRemoteVendorManagement.json +# x-ms-original-file: 2026-07-01/StorageAppliances_EnableRemoteVendorManagement.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_get.py index cf327a531150..107a78630c94 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/StorageAppliances_Get.json +# x-ms-original-file: 2026-07-01/StorageAppliances_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_list_by_resource_group.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_list_by_resource_group.py index 445320eebee3..4665266080ee 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_list_by_resource_group.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_list_by_resource_group.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/StorageAppliances_ListByResourceGroup.json +# x-ms-original-file: 2026-07-01/StorageAppliances_ListByResourceGroup.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_list_by_subscription.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_list_by_subscription.py index e5d6346a1c38..b257eda978e5 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_list_by_subscription.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_list_by_subscription.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/StorageAppliances_ListBySubscription.json +# x-ms-original-file: 2026-07-01/StorageAppliances_ListBySubscription.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_patch.py index 88c881301f76..8973c1dce24e 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_patch.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/StorageAppliances_Patch.json +# x-ms-original-file: 2026-07-01/StorageAppliances_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_run_read_commands.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_run_read_commands.py index 5f301c16f509..2fa41730630b 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_run_read_commands.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/storage_appliances_run_read_commands.py @@ -41,6 +41,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/StorageAppliances_RunReadCommands.json +# x-ms-original-file: 2026-07-01/StorageAppliances_RunReadCommands.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_create.py index fd75e93fed26..4a7295fc60ee 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_create.py @@ -54,6 +54,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/TrunkedNetworks_Create.json +# x-ms-original-file: 2026-07-01/TrunkedNetworks_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_delete.py index c871f3701bfb..504a0bcb1604 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_delete.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/TrunkedNetworks_Delete.json +# x-ms-original-file: 2026-07-01/TrunkedNetworks_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_get.py index 1e0302a9891e..1532eeb3cee4 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/TrunkedNetworks_Get.json +# x-ms-original-file: 2026-07-01/TrunkedNetworks_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_list_by_resource_group.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_list_by_resource_group.py index e2bd051a117f..0bd0d128ae54 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_list_by_resource_group.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_list_by_resource_group.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/TrunkedNetworks_ListByResourceGroup.json +# x-ms-original-file: 2026-07-01/TrunkedNetworks_ListByResourceGroup.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_list_by_subscription.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_list_by_subscription.py index 2ec4d4a42c49..6baa83edfa02 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_list_by_subscription.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_list_by_subscription.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/TrunkedNetworks_ListBySubscription.json +# x-ms-original-file: 2026-07-01/TrunkedNetworks_ListBySubscription.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_patch.py index c7dcfad08556..fdd5c0740574 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/trunked_networks_patch.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/TrunkedNetworks_Patch.json +# x-ms-original-file: 2026-07-01/TrunkedNetworks_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_assign_relay.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_assign_relay.py index 31cdbfb149a8..d53a095a4302 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_assign_relay.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_assign_relay.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/VirtualMachines_AssignRelay.json +# x-ms-original-file: 2026-07-01/VirtualMachines_AssignRelay.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_create.py index 1d0f3a347639..b4781285a6ba 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_create.py @@ -100,6 +100,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/VirtualMachines_Create.json +# x-ms-original-file: 2026-07-01/VirtualMachines_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_delete.py index cd0814f7bfcc..d9163b750e1e 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_delete.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/VirtualMachines_Delete.json +# x-ms-original-file: 2026-07-01/VirtualMachines_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_get.py index 4312f556a49e..2b8ec8ce4e51 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/VirtualMachines_Get.json +# x-ms-original-file: 2026-07-01/VirtualMachines_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_list_by_resource_group.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_list_by_resource_group.py index db8cadd5150f..21491d35056b 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_list_by_resource_group.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_list_by_resource_group.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/VirtualMachines_ListByResourceGroup.json +# x-ms-original-file: 2026-07-01/VirtualMachines_ListByResourceGroup.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_list_by_subscription.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_list_by_subscription.py index 1df667055557..4b3ef13da529 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_list_by_subscription.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_list_by_subscription.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/VirtualMachines_ListBySubscription.json +# x-ms-original-file: 2026-07-01/VirtualMachines_ListBySubscription.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_patch.py index 9a2cedefe497..cda178efc762 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_patch.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/VirtualMachines_Patch.json +# x-ms-original-file: 2026-07-01/VirtualMachines_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_power_off.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_power_off.py index c96d66f62a93..bf8201b90949 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_power_off.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_power_off.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/VirtualMachines_PowerOff.json +# x-ms-original-file: 2026-07-01/VirtualMachines_PowerOff.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_reimage.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_reimage.py index f10882284acf..226215f7f920 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_reimage.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_reimage.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/VirtualMachines_Reimage.json +# x-ms-original-file: 2026-07-01/VirtualMachines_Reimage.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_restart.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_restart.py index f482732e7a22..098dec8ced31 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_restart.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_restart.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/VirtualMachines_Restart.json +# x-ms-original-file: 2026-07-01/VirtualMachines_Restart.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_start.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_start.py index df0cbdb2cef1..f19862ec781b 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_start.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/virtual_machines_start.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/VirtualMachines_Start.json +# x-ms-original-file: 2026-07-01/VirtualMachines_Start.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_create.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_create.py index 2b2a7e7a8a77..7345dd3f23e2 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_create.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_create.py @@ -42,7 +42,7 @@ def main(): "location": "location", "properties": { "sizeMiB": 1048576, - "storageApplianceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/StorageAppliances/storageApplianceName", + "storageApplianceId": "/subscriptions/123e4567-e89b-12d3-a456-426655440000/resourceGroups/resourceGroupName/providers/Microsoft.NetworkCloud/storageAppliances/storageApplianceName", }, "tags": {"key1": "myvalue1", "key2": "myvalue2"}, }, @@ -50,6 +50,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/Volumes_Create.json +# x-ms-original-file: 2026-07-01/Volumes_Create.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_delete.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_delete.py index 8c669b34d91d..9bbeb9778ccf 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_delete.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_delete.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/Volumes_Delete.json +# x-ms-original-file: 2026-07-01/Volumes_Delete.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_get.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_get.py index ae442c7fe77c..88cd210ba7dd 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_get.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/Volumes_Get.json +# x-ms-original-file: 2026-07-01/Volumes_Get.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_list_by_resource_group.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_list_by_resource_group.py index ada7a02a7194..494e9f1d82b5 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_list_by_resource_group.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_list_by_resource_group.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/Volumes_ListByResourceGroup.json +# x-ms-original-file: 2026-07-01/Volumes_ListByResourceGroup.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_list_by_subscription.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_list_by_subscription.py index 50418a9cb0f3..e0e882c9bdd9 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_list_by_subscription.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_list_by_subscription.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2025-09-01/Volumes_ListBySubscription.json +# x-ms-original-file: 2026-07-01/Volumes_ListBySubscription.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_patch.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_patch.py index 542e37a68039..f5ed8ede8491 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_patch.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_samples/volumes_patch.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2025-09-01/Volumes_Patch.json +# x-ms-original-file: 2026-07-01/Volumes_Patch.json if __name__ == "__main__": main() diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_access_bridges_operations.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_access_bridges_operations.py new file mode 100644 index 000000000000..e733e2ea2eb0 --- /dev/null +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_access_bridges_operations.py @@ -0,0 +1,117 @@ +# 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. +# -------------------------------------------------------------------------- +import pytest +from azure.mgmt.networkcloud import NetworkCloudMgmtClient + +from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy + +AZURE_LOCATION = "eastus" + + +@pytest.mark.skip("you may need to update the auto-generated test case before run it") +class TestNetworkCloudMgmtAccessBridgesOperations(AzureMgmtRecordedTestCase): + def setup_method(self, method): + self.client = self.create_mgmt_client(NetworkCloudMgmtClient) + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_access_bridges_get(self, resource_group): + response = self.client.access_bridges.get( + resource_group_name=resource_group.name, + access_bridge_name="str", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_access_bridges_begin_create_or_update(self, resource_group): + response = self.client.access_bridges.begin_create_or_update( + resource_group_name=resource_group.name, + access_bridge_name="str", + access_bridge={ + "extendedLocation": {"name": "str", "type": "str"}, + "location": "str", + "properties": { + "networkId": "str", + "detailedStatus": "str", + "detailedStatusMessage": "str", + "endpoints": [{"fqdn": "str", "ipv4Address": "str", "ipv6Address": "str", "name": "str"}], + "ipv4ConnectedPrefix": "str", + "ipv6ConnectedPrefix": "str", + "protocol": "str", + "provisioningState": "str", + "securityRules": [ + { + "direction": "str", + "port": "str", + "description": "str", + "ipv4Addresses": ["str"], + "ipv6Addresses": ["str"], + } + ], + }, + "etag": "str", + "id": "str", + "name": "str", + "systemData": { + "createdAt": "2020-02-20 00:00:00", + "createdBy": "str", + "createdByType": "str", + "lastModifiedAt": "2020-02-20 00:00:00", + "lastModifiedBy": "str", + "lastModifiedByType": "str", + }, + "tags": {"str": "str"}, + "type": "str", + }, + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_access_bridges_begin_update(self, resource_group): + response = self.client.access_bridges.begin_update( + resource_group_name=resource_group.name, + access_bridge_name="str", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_access_bridges_begin_delete(self, resource_group): + response = self.client.access_bridges.begin_delete( + resource_group_name=resource_group.name, + access_bridge_name="str", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_access_bridges_list_by_resource_group(self, resource_group): + response = self.client.access_bridges.list_by_resource_group( + resource_group_name=resource_group.name, + ) + result = [r for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_access_bridges_list_by_subscription(self, resource_group): + response = self.client.access_bridges.list_by_subscription() + result = [r for r in response] + # please add some check logic here by yourself + # ... diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_access_bridges_operations_async.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_access_bridges_operations_async.py new file mode 100644 index 000000000000..62ee438dab18 --- /dev/null +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_access_bridges_operations_async.py @@ -0,0 +1,124 @@ +# 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. +# -------------------------------------------------------------------------- +import pytest +from azure.mgmt.networkcloud.aio import NetworkCloudMgmtClient + +from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer +from devtools_testutils.aio import recorded_by_proxy_async + +AZURE_LOCATION = "eastus" + + +@pytest.mark.skip("you may need to update the auto-generated test case before run it") +class TestNetworkCloudMgmtAccessBridgesOperationsAsync(AzureMgmtRecordedTestCase): + def setup_method(self, method): + self.client = self.create_mgmt_client(NetworkCloudMgmtClient, is_async=True) + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_access_bridges_get(self, resource_group): + response = await self.client.access_bridges.get( + resource_group_name=resource_group.name, + access_bridge_name="str", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_access_bridges_begin_create_or_update(self, resource_group): + response = await ( + await self.client.access_bridges.begin_create_or_update( + resource_group_name=resource_group.name, + access_bridge_name="str", + access_bridge={ + "extendedLocation": {"name": "str", "type": "str"}, + "location": "str", + "properties": { + "networkId": "str", + "detailedStatus": "str", + "detailedStatusMessage": "str", + "endpoints": [{"fqdn": "str", "ipv4Address": "str", "ipv6Address": "str", "name": "str"}], + "ipv4ConnectedPrefix": "str", + "ipv6ConnectedPrefix": "str", + "protocol": "str", + "provisioningState": "str", + "securityRules": [ + { + "direction": "str", + "port": "str", + "description": "str", + "ipv4Addresses": ["str"], + "ipv6Addresses": ["str"], + } + ], + }, + "etag": "str", + "id": "str", + "name": "str", + "systemData": { + "createdAt": "2020-02-20 00:00:00", + "createdBy": "str", + "createdByType": "str", + "lastModifiedAt": "2020-02-20 00:00:00", + "lastModifiedBy": "str", + "lastModifiedByType": "str", + }, + "tags": {"str": "str"}, + "type": "str", + }, + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_access_bridges_begin_update(self, resource_group): + response = await ( + await self.client.access_bridges.begin_update( + resource_group_name=resource_group.name, + access_bridge_name="str", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_access_bridges_begin_delete(self, resource_group): + response = await ( + await self.client.access_bridges.begin_delete( + resource_group_name=resource_group.name, + access_bridge_name="str", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_access_bridges_list_by_resource_group(self, resource_group): + response = self.client.access_bridges.list_by_resource_group( + resource_group_name=resource_group.name, + ) + result = [r async for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_access_bridges_list_by_subscription(self, resource_group): + response = self.client.access_bridges.list_by_subscription() + result = [r async for r in response] + # please add some check logic here by yourself + # ... diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_bare_metal_machines_operations.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_bare_metal_machines_operations.py index 397eea1d761c..22f687def255 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_bare_metal_machines_operations.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_bare_metal_machines_operations.py @@ -69,6 +69,8 @@ def test_bare_metal_machines_begin_create_or_update(self, resource_group): } ], "associatedResourceIds": ["str"], + "bmcIpv4Address": "str", + "bmcIpv6Address": "str", "caCertificate": {"hash": "str", "value": "str"}, "clusterId": "str", "cordonStatus": "str", @@ -98,6 +100,7 @@ def test_bare_metal_machines_begin_create_or_update(self, resource_group): "kubernetesVersion": "str", "machineClusterVersion": "str", "machineRoles": ["str"], + "monitoringConfigurationStatus": {"logLevel": "str", "metricsLevel": "str"}, "oamIpv4Address": "str", "oamIpv6Address": "str", "osImage": "str", @@ -105,8 +108,13 @@ def test_bare_metal_machines_begin_create_or_update(self, resource_group): "provisioningState": "str", "readyState": "str", "runtimeProtectionStatus": { + "agentHealthStatus": "str", + "agentHealthStatusIssues": ["str"], + "agentLicenseStatus": "str", + "definitionUpdateMode": "str", "definitionsLastUpdated": "2020-02-20 00:00:00", "definitionsVersion": "str", + "enforcementLevel": "str", "scanCompletedTime": "2020-02-20 00:00:00", "scanScheduledTime": "2020-02-20 00:00:00", "scanStartedTime": "2020-02-20 00:00:00", diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_bare_metal_machines_operations_async.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_bare_metal_machines_operations_async.py index 83c32aff837a..2d410202dd59 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_bare_metal_machines_operations_async.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_bare_metal_machines_operations_async.py @@ -71,6 +71,8 @@ async def test_bare_metal_machines_begin_create_or_update(self, resource_group): } ], "associatedResourceIds": ["str"], + "bmcIpv4Address": "str", + "bmcIpv6Address": "str", "caCertificate": {"hash": "str", "value": "str"}, "clusterId": "str", "cordonStatus": "str", @@ -100,6 +102,7 @@ async def test_bare_metal_machines_begin_create_or_update(self, resource_group): "kubernetesVersion": "str", "machineClusterVersion": "str", "machineRoles": ["str"], + "monitoringConfigurationStatus": {"logLevel": "str", "metricsLevel": "str"}, "oamIpv4Address": "str", "oamIpv6Address": "str", "osImage": "str", @@ -107,8 +110,13 @@ async def test_bare_metal_machines_begin_create_or_update(self, resource_group): "provisioningState": "str", "readyState": "str", "runtimeProtectionStatus": { + "agentHealthStatus": "str", + "agentHealthStatusIssues": ["str"], + "agentLicenseStatus": "str", + "definitionUpdateMode": "str", "definitionsLastUpdated": "2020-02-20 00:00:00", "definitionsVersion": "str", + "enforcementLevel": "str", "scanCompletedTime": "2020-02-20 00:00:00", "scanScheduledTime": "2020-02-20 00:00:00", "scanStartedTime": "2020-02-20 00:00:00", diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_cluster_managers_operations.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_cluster_managers_operations.py index 6dffeafeb92c..348903bebdae 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_cluster_managers_operations.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_cluster_managers_operations.py @@ -47,6 +47,7 @@ def test_cluster_managers_begin_create_or_update(self, resource_group): "managedResourceGroupConfiguration": {"location": "str", "name": "str"}, "managerExtendedLocation": {"name": "str", "type": "str"}, "provisioningState": "str", + "relayConfiguration": {"relayNamespaceId": "str"}, "vmSize": "str", }, "etag": "str", @@ -57,6 +58,7 @@ def test_cluster_managers_begin_create_or_update(self, resource_group): "tenantId": "str", "userAssignedIdentities": {"str": {"clientId": "str", "principalId": "str"}}, }, + "kind": "str", "name": "str", "systemData": { "createdAt": "2020-02-20 00:00:00", @@ -113,3 +115,14 @@ def test_cluster_managers_list_by_subscription(self, resource_group): result = [r for r in response] # please add some check logic here by yourself # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_cluster_managers_begin_update_relay_private_endpoint_connection(self, resource_group): + response = self.client.cluster_managers.begin_update_relay_private_endpoint_connection( + resource_group_name=resource_group.name, + cluster_manager_name="str", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_cluster_managers_operations_async.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_cluster_managers_operations_async.py index 535d5fbcf7cd..02d2222fefed 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_cluster_managers_operations_async.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_cluster_managers_operations_async.py @@ -49,6 +49,7 @@ async def test_cluster_managers_begin_create_or_update(self, resource_group): "managedResourceGroupConfiguration": {"location": "str", "name": "str"}, "managerExtendedLocation": {"name": "str", "type": "str"}, "provisioningState": "str", + "relayConfiguration": {"relayNamespaceId": "str"}, "vmSize": "str", }, "etag": "str", @@ -59,6 +60,7 @@ async def test_cluster_managers_begin_create_or_update(self, resource_group): "tenantId": "str", "userAssignedIdentities": {"str": {"clientId": "str", "principalId": "str"}}, }, + "kind": "str", "name": "str", "systemData": { "createdAt": "2020-02-20 00:00:00", @@ -118,3 +120,16 @@ async def test_cluster_managers_list_by_subscription(self, resource_group): result = [r async for r in response] # please add some check logic here by yourself # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_cluster_managers_begin_update_relay_private_endpoint_connection(self, resource_group): + response = await ( + await self.client.cluster_managers.begin_update_relay_private_endpoint_connection( + resource_group_name=resource_group.name, + cluster_manager_name="str", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_clusters_operations.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_clusters_operations.py index fc8cc3bb6664..26d085296920 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_clusters_operations.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_clusters_operations.py @@ -168,10 +168,12 @@ def test_clusters_begin_create_or_update(self, resource_group): "detailedStatus": "str", "detailedStatusMessage": "str", "hybridAksExtendedLocation": {"name": "str", "type": "str"}, + "lastSuccessfulVersionUpdateTime": "2020-02-20 00:00:00", + "managedCredentials": ["str"], "managedResourceGroupConfiguration": {"location": "str", "name": "str"}, "manualActionCount": 0, "provisioningState": "str", - "runtimeProtectionConfiguration": {"enforcementLevel": "str"}, + "runtimeProtectionConfiguration": {"definitionUpdateMode": "str", "enforcementLevel": "str"}, "secretArchive": {"keyVaultId": "str", "useKeyVault": "str"}, "secretArchiveSettings": { "associatedIdentity": {"identityType": "str", "userAssignedIdentityResourceId": "str"}, @@ -196,6 +198,7 @@ def test_clusters_begin_create_or_update(self, resource_group): "tenantId": "str", "userAssignedIdentities": {"str": {"clientId": "str", "principalId": "str"}}, }, + "kind": "str", "name": "str", "systemData": { "createdAt": "2020-02-20 00:00:00", @@ -259,7 +262,7 @@ def test_clusters_begin_continue_update_version(self, resource_group): response = self.client.clusters.begin_continue_update_version( resource_group_name=resource_group.name, cluster_name="str", - cluster_continue_update_version_parameters={"machineGroupTargetingMode": "str"}, + cluster_continue_update_version_parameters={"machineGroupTargetingMode": "str", "safeguardMode": "str"}, ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself @@ -276,6 +279,29 @@ def test_clusters_begin_deploy(self, resource_group): # please add some check logic here by yourself # ... + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_clusters_begin_inspect(self, resource_group): + response = self.client.clusters.begin_inspect( + resource_group_name=resource_group.name, + cluster_name="str", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_clusters_begin_rotate_credential(self, resource_group): + response = self.client.clusters.begin_rotate_credential( + resource_group_name=resource_group.name, + cluster_name="str", + body={"credentials": ["str"]}, + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy def test_clusters_begin_scan_runtime(self, resource_group): @@ -293,7 +319,7 @@ def test_clusters_begin_update_version(self, resource_group): response = self.client.clusters.begin_update_version( resource_group_name=resource_group.name, cluster_name="str", - cluster_update_version_parameters={"targetClusterVersion": "str"}, + cluster_update_version_parameters={"targetClusterVersion": "str", "safeguardMode": "str"}, ).result() # call '.result()' to poll until service return final result # please add some check logic here by yourself diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_clusters_operations_async.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_clusters_operations_async.py index deb11be0a0fc..d2ddcd1a6c53 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_clusters_operations_async.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_clusters_operations_async.py @@ -173,10 +173,12 @@ async def test_clusters_begin_create_or_update(self, resource_group): "detailedStatus": "str", "detailedStatusMessage": "str", "hybridAksExtendedLocation": {"name": "str", "type": "str"}, + "lastSuccessfulVersionUpdateTime": "2020-02-20 00:00:00", + "managedCredentials": ["str"], "managedResourceGroupConfiguration": {"location": "str", "name": "str"}, "manualActionCount": 0, "provisioningState": "str", - "runtimeProtectionConfiguration": {"enforcementLevel": "str"}, + "runtimeProtectionConfiguration": {"definitionUpdateMode": "str", "enforcementLevel": "str"}, "secretArchive": {"keyVaultId": "str", "useKeyVault": "str"}, "secretArchiveSettings": { "associatedIdentity": {"identityType": "str", "userAssignedIdentityResourceId": "str"}, @@ -201,6 +203,7 @@ async def test_clusters_begin_create_or_update(self, resource_group): "tenantId": "str", "userAssignedIdentities": {"str": {"clientId": "str", "principalId": "str"}}, }, + "kind": "str", "name": "str", "systemData": { "createdAt": "2020-02-20 00:00:00", @@ -270,7 +273,7 @@ async def test_clusters_begin_continue_update_version(self, resource_group): await self.client.clusters.begin_continue_update_version( resource_group_name=resource_group.name, cluster_name="str", - cluster_continue_update_version_parameters={"machineGroupTargetingMode": "str"}, + cluster_continue_update_version_parameters={"machineGroupTargetingMode": "str", "safeguardMode": "str"}, ) ).result() # call '.result()' to poll until service return final result @@ -290,6 +293,33 @@ async def test_clusters_begin_deploy(self, resource_group): # please add some check logic here by yourself # ... + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_clusters_begin_inspect(self, resource_group): + response = await ( + await self.client.clusters.begin_inspect( + resource_group_name=resource_group.name, + cluster_name="str", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_clusters_begin_rotate_credential(self, resource_group): + response = await ( + await self.client.clusters.begin_rotate_credential( + resource_group_name=resource_group.name, + cluster_name="str", + body={"credentials": ["str"]}, + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) @recorded_by_proxy_async async def test_clusters_begin_scan_runtime(self, resource_group): @@ -310,7 +340,7 @@ async def test_clusters_begin_update_version(self, resource_group): await self.client.clusters.begin_update_version( resource_group_name=resource_group.name, cluster_name="str", - cluster_update_version_parameters={"targetClusterVersion": "str"}, + cluster_update_version_parameters={"targetClusterVersion": "str", "safeguardMode": "str"}, ) ).result() # call '.result()' to poll until service return final result diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_kubernetes_versions_operations.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_kubernetes_versions_operations.py new file mode 100644 index 000000000000..4c710d5e43c3 --- /dev/null +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_kubernetes_versions_operations.py @@ -0,0 +1,99 @@ +# 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. +# -------------------------------------------------------------------------- +import pytest +from azure.mgmt.networkcloud import NetworkCloudMgmtClient + +from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy + +AZURE_LOCATION = "eastus" + + +@pytest.mark.skip("you may need to update the auto-generated test case before run it") +class TestNetworkCloudMgmtKubernetesVersionsOperations(AzureMgmtRecordedTestCase): + def setup_method(self, method): + self.client = self.create_mgmt_client(NetworkCloudMgmtClient) + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_kubernetes_versions_get(self, resource_group): + response = self.client.kubernetes_versions.get( + resource_group_name=resource_group.name, + kubernetes_version_name="str", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_kubernetes_versions_begin_create_or_update(self, resource_group): + response = self.client.kubernetes_versions.begin_create_or_update( + resource_group_name=resource_group.name, + kubernetes_version_name="str", + kubernetes_version_parameters={ + "extendedLocation": {"name": "str", "type": "str"}, + "location": "str", + "properties": {"provisioningState": "str", "values": [{"description": "str", "version": "str"}]}, + "etag": "str", + "id": "str", + "name": "str", + "systemData": { + "createdAt": "2020-02-20 00:00:00", + "createdBy": "str", + "createdByType": "str", + "lastModifiedAt": "2020-02-20 00:00:00", + "lastModifiedBy": "str", + "lastModifiedByType": "str", + }, + "tags": {"str": "str"}, + "type": "str", + }, + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_kubernetes_versions_begin_update(self, resource_group): + response = self.client.kubernetes_versions.begin_update( + resource_group_name=resource_group.name, + kubernetes_version_name="str", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_kubernetes_versions_begin_delete(self, resource_group): + response = self.client.kubernetes_versions.begin_delete( + resource_group_name=resource_group.name, + kubernetes_version_name="str", + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_kubernetes_versions_list_by_resource_group(self, resource_group): + response = self.client.kubernetes_versions.list_by_resource_group( + resource_group_name=resource_group.name, + ) + result = [r for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_kubernetes_versions_list_by_subscription(self, resource_group): + response = self.client.kubernetes_versions.list_by_subscription() + result = [r for r in response] + # please add some check logic here by yourself + # ... diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_kubernetes_versions_operations_async.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_kubernetes_versions_operations_async.py new file mode 100644 index 000000000000..a331f568438b --- /dev/null +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_kubernetes_versions_operations_async.py @@ -0,0 +1,106 @@ +# 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. +# -------------------------------------------------------------------------- +import pytest +from azure.mgmt.networkcloud.aio import NetworkCloudMgmtClient + +from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer +from devtools_testutils.aio import recorded_by_proxy_async + +AZURE_LOCATION = "eastus" + + +@pytest.mark.skip("you may need to update the auto-generated test case before run it") +class TestNetworkCloudMgmtKubernetesVersionsOperationsAsync(AzureMgmtRecordedTestCase): + def setup_method(self, method): + self.client = self.create_mgmt_client(NetworkCloudMgmtClient, is_async=True) + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_kubernetes_versions_get(self, resource_group): + response = await self.client.kubernetes_versions.get( + resource_group_name=resource_group.name, + kubernetes_version_name="str", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_kubernetes_versions_begin_create_or_update(self, resource_group): + response = await ( + await self.client.kubernetes_versions.begin_create_or_update( + resource_group_name=resource_group.name, + kubernetes_version_name="str", + kubernetes_version_parameters={ + "extendedLocation": {"name": "str", "type": "str"}, + "location": "str", + "properties": {"provisioningState": "str", "values": [{"description": "str", "version": "str"}]}, + "etag": "str", + "id": "str", + "name": "str", + "systemData": { + "createdAt": "2020-02-20 00:00:00", + "createdBy": "str", + "createdByType": "str", + "lastModifiedAt": "2020-02-20 00:00:00", + "lastModifiedBy": "str", + "lastModifiedByType": "str", + }, + "tags": {"str": "str"}, + "type": "str", + }, + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_kubernetes_versions_begin_update(self, resource_group): + response = await ( + await self.client.kubernetes_versions.begin_update( + resource_group_name=resource_group.name, + kubernetes_version_name="str", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_kubernetes_versions_begin_delete(self, resource_group): + response = await ( + await self.client.kubernetes_versions.begin_delete( + resource_group_name=resource_group.name, + kubernetes_version_name="str", + ) + ).result() # call '.result()' to poll until service return final result + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_kubernetes_versions_list_by_resource_group(self, resource_group): + response = self.client.kubernetes_versions.list_by_resource_group( + resource_group_name=resource_group.name, + ) + result = [r async for r in response] + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_kubernetes_versions_list_by_subscription(self, resource_group): + response = self.client.kubernetes_versions.list_by_subscription() + result = [r async for r in response] + # please add some check logic here by yourself + # ... diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_storage_appliances_operations.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_storage_appliances_operations.py index 8ffe181cc344..83de72b96d0b 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_storage_appliances_operations.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_storage_appliances_operations.py @@ -50,9 +50,11 @@ def test_storage_appliances_begin_create_or_update(self, resource_group): "clusterId": "str", "detailedStatus": "str", "detailedStatusMessage": "str", + "expansionShelves": [{"model": "str", "version": "str"}], "managementIpv4Address": "str", "manufacturer": "str", "model": "str", + "monitoringConfigurationStatus": {"logLevel": "str", "metricsLevel": "str"}, "provisioningState": "str", "remoteVendorManagementFeature": "str", "remoteVendorManagementStatus": "str", diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_storage_appliances_operations_async.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_storage_appliances_operations_async.py index e74d6c939e9f..bfa46b3e6631 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_storage_appliances_operations_async.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_storage_appliances_operations_async.py @@ -52,9 +52,11 @@ async def test_storage_appliances_begin_create_or_update(self, resource_group): "clusterId": "str", "detailedStatus": "str", "detailedStatusMessage": "str", + "expansionShelves": [{"model": "str", "version": "str"}], "managementIpv4Address": "str", "manufacturer": "str", "model": "str", + "monitoringConfigurationStatus": {"logLevel": "str", "metricsLevel": "str"}, "provisioningState": "str", "remoteVendorManagementFeature": "str", "remoteVendorManagementStatus": "str", diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_volumes_operations.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_volumes_operations.py index 6f5b27456406..26406a136a8b 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_volumes_operations.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_volumes_operations.py @@ -41,6 +41,7 @@ def test_volumes_begin_create_or_update(self, resource_group): "properties": { "sizeMiB": 0, "allocatedSizeMiB": 0, + "assignedStorageApplianceId": "str", "attachedTo": ["str"], "detailedStatus": "str", "detailedStatusMessage": "str", diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_volumes_operations_async.py b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_volumes_operations_async.py index 6ecd15aaa83b..23435d2a785d 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_volumes_operations_async.py +++ b/sdk/networkcloud/azure-mgmt-networkcloud/generated_tests/test_network_cloud_mgmt_volumes_operations_async.py @@ -43,6 +43,7 @@ async def test_volumes_begin_create_or_update(self, resource_group): "properties": { "sizeMiB": 0, "allocatedSizeMiB": 0, + "assignedStorageApplianceId": "str", "attachedTo": ["str"], "detailedStatus": "str", "detailedStatusMessage": "str", diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/tsp-location.yaml b/sdk/networkcloud/azure-mgmt-networkcloud/tsp-location.yaml index f40cb7d74a66..2814a20d6e91 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/tsp-location.yaml +++ b/sdk/networkcloud/azure-mgmt-networkcloud/tsp-location.yaml @@ -1,4 +1,4 @@ directory: specification/networkcloud/NetworkCloud.Management -commit: cf49df24bee763924bb4d9abceebe4fd1916a6ad +commit: 60d0f02991387ea7ed7483d5e70f061f962216cf repo: Azure/azure-rest-api-specs additionalDirectories: From 7828a4ff2330564f27aa586047de294e000d02d8 Mon Sep 17 00:00:00 2001 From: "Chenxi Jiang (WICRESOFT NORTH AMERICA LTD)" Date: Mon, 20 Jul 2026 16:01:51 +0800 Subject: [PATCH 4/4] update Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: a5fc4aee-a3a9-4b16-9e00-a5469eb6b169 --- .../azure-mgmt-networkcloud/CHANGELOG.md | 784 +++--------------- 1 file changed, 99 insertions(+), 685 deletions(-) diff --git a/sdk/networkcloud/azure-mgmt-networkcloud/CHANGELOG.md b/sdk/networkcloud/azure-mgmt-networkcloud/CHANGELOG.md index 6e7573c978b1..116dbbf4ccab 100644 --- a/sdk/networkcloud/azure-mgmt-networkcloud/CHANGELOG.md +++ b/sdk/networkcloud/azure-mgmt-networkcloud/CHANGELOG.md @@ -7,55 +7,20 @@ - Client `NetworkCloudMgmtClient` added method `send_request` - Client `NetworkCloudMgmtClient` added operation group `access_bridges` - Client `NetworkCloudMgmtClient` added operation group `kubernetes_versions` - - Model `AgentPool` added property `properties` - - Model `AgentPoolPatchParameters` added property `properties` - - Model `BareMetalMachine` added property `properties` - - Model `BareMetalMachineKeySet` added property `properties` - - Model `BareMetalMachineKeySetPatchParameters` added property `properties` - - Model `BareMetalMachinePatchParameters` added property `properties` - - Model `BmcKeySet` added property `properties` - - Model `BmcKeySetPatchParameters` added property `properties` - - Model `CloudServicesNetwork` added property `properties` - - Model `CloudServicesNetworkPatchParameters` added property `properties` - Enum `CloudServicesNetworkStorageStatusStatus` added member `INITIALIZING` - Enum `CloudServicesNetworkStorageStatusStatus` added member `NONE` - Enum `CloudServicesNetworkStorageStatusStatus` added member `REPAIRING` - Model `Cluster` added property `kind` - - Model `Cluster` added property `properties` - Model `ClusterContinueUpdateVersionParameters` added property `safeguard_mode` - Model `ClusterManager` added property `kind` - - Model `ClusterManager` added property `properties` - - Model `ClusterMetricsConfiguration` added property `properties` - - Model `ClusterMetricsConfigurationPatchParameters` added property `properties` - - Model `ClusterPatchParameters` added property `properties` - Model `ClusterUpdateVersionParameters` added property `safeguard_mode` - Enum `CommandOutputType` added member `CLUSTER_SUPPORT_ADMINISTRATIVE_ACTIONS` - - Model `Console` added property `properties` - - Model `ConsolePatchParameters` added property `properties` - - Model `KubernetesCluster` added property `properties` - - Model `KubernetesClusterFeature` added property `properties` - - Model `KubernetesClusterFeaturePatchParameters` added property `properties` - - Model `KubernetesClusterPatchParameters` added property `properties` - - Model `L2Network` added property `properties` - - Model `L3Network` added property `properties` - - Model `MachineSkuSlot` added property `properties` - - Model `OperationStatusResult` added property `properties` - - Model `Rack` added property `properties` - - Model `RackPatchParameters` added property `properties` - - Model `RackSku` added property `properties` - Model `RuntimeProtectionConfiguration` added property `definition_update_mode` - Model `RuntimeProtectionStatus` added property `agent_health_status` - Model `RuntimeProtectionStatus` added property `agent_health_status_issues` - Model `RuntimeProtectionStatus` added property `agent_license_status` - Model `RuntimeProtectionStatus` added property `definition_update_mode` - Model `RuntimeProtectionStatus` added property `enforcement_level` - - Model `StorageAppliance` added property `properties` - - Model `StorageAppliancePatchParameters` added property `properties` - - Model `StorageApplianceSkuSlot` added property `properties` - - Model `TrunkedNetwork` added property `properties` - - Model `VirtualMachine` added property `properties` - - Model `VirtualMachinePatchParameters` added property `properties` - - Model `Volume` added property `properties` - Added model `AccessBridge` - Added enum `AccessBridgeAllowedName` - Added enum `AccessBridgeDetailedStatus` @@ -66,60 +31,32 @@ - Added enum `AccessBridgeProvisioningState` - Added model `AccessBridgeSecurityRule` - Added model `AdministrativeCredentialsPatch` - - Added model `AgentPoolPatchProperties` - - Added model `AgentPoolProperties` - Added model `BareMetalMachineConfigurationDataPatch` - - Added model `BareMetalMachineKeySetPatchProperties` - - Added model `BareMetalMachineKeySetProperties` - Added model `BareMetalMachineMonitoringConfigurationStatus` - Added enum `BareMetalMachineMonitoringConfigurationStatusLogLevel` - Added enum `BareMetalMachineMonitoringConfigurationStatusMetricsLevel` - - Added model `BareMetalMachinePatchProperties` - - Added model `BareMetalMachineProperties` - Added model `BareMetalMachineReimageParameters` - Added enum `BareMetalMachineReimageSafeguardMode` - - Added model `BmcKeySetPatchProperties` - - Added model `BmcKeySetProperties` - - Added model `CloudServicesNetworkPatchProperties` - - Added model `CloudServicesNetworkProperties` - Added enum `ClusterContinueUpdateVersionSafeguardMode` - Added enum `ClusterInspectAdditionalAction` - Added model `ClusterInspectParameters` - - Added model `ClusterManagerProperties` - Added model `ClusterManagerRelayConfiguration` - Added model `ClusterManagerUpdateRelayPrivateEndpointConnectionParameters` - - Added model `ClusterMetricsConfigurationPatchProperties` - - Added model `ClusterMetricsConfigurationProperties` - - Added model `ClusterPatchProperties` - - Added model `ClusterProperties` - Added model `ClusterRotateCredentialParameters` - Added model `ClusterSecretArchivePatch` - Added model `ClusterUpdateStrategyPatch` - Added enum `ClusterUpdateVersionSafeguardMode` - - Added model `ConsolePatchProperties` - - Added model `ConsoleProperties` - Added enum `DeploymentType` - Added enum `ExtendedLocationType` - Added model `FilterDevices` - Added model `ImageRepositoryCredentialsPatch` - - Added model `KubernetesClusterFeaturePatchProperties` - - Added model `KubernetesClusterFeatureProperties` - - Added model `KubernetesClusterPatchProperties` - - Added model `KubernetesClusterProperties` - Added model `KubernetesVersion` - Added model `KubernetesVersionPatchParameters` - Added model `KubernetesVersionProperties` - Added enum `KubernetesVersionProvisioningState` - Added model `KubernetesVersionValue` - - Added model `L2NetworkProperties` - - Added model `L3NetworkProperties` - - Added model `MachineSkuProperties` - - Added model `OperationStatusResultProperties` - Added model `ProxyResource` - Added model `RackDefinitionPatch` - - Added model `RackProperties` - - Added model `RackSkuProperties` - - Added model `RacksPatchProperties` - Added enum `RelayPrivateEndpointConnectionState` - Added enum `RuntimeProtectionAgentHealthStatus` - Added enum `RuntimeProtectionAgentLicenseStatus` @@ -133,668 +70,145 @@ - Added model `StorageApplianceMonitoringConfigurationStatus` - Added enum `StorageApplianceMonitoringConfigurationStatusLogLevel` - Added enum `StorageApplianceMonitoringConfigurationStatusMetricsLevel` - - Added model `StorageAppliancePatchProperties` - - Added model `StorageApplianceProperties` - - Added model `StorageApplianceSkuProperties` - Added enum `TransportProtocol` - - Added model `TrunkedNetworkProperties` - Added model `ValidationThresholdPatch` - - Added model `VirtualMachinePatchProperties` - - Added model `VirtualMachineProperties` - - Added model `VolumeProperties` - - Model `AgentPoolsOperations` added parameter `etag` in method `begin_create_or_update` - - Model `AgentPoolsOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `AgentPoolsOperations` added parameter `etag` in method `begin_delete` - - Model `AgentPoolsOperations` added parameter `match_condition` in method `begin_delete` - - Model `AgentPoolsOperations` added parameter `etag` in method `begin_update` - - Model `AgentPoolsOperations` added parameter `match_condition` in method `begin_update` - - Model `BareMetalMachineKeySetsOperations` added parameter `etag` in method `begin_create_or_update` - - Model `BareMetalMachineKeySetsOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `BareMetalMachineKeySetsOperations` added parameter `etag` in method `begin_delete` - - Model `BareMetalMachineKeySetsOperations` added parameter `match_condition` in method `begin_delete` - - Model `BareMetalMachineKeySetsOperations` added parameter `etag` in method `begin_update` - - Model `BareMetalMachineKeySetsOperations` added parameter `match_condition` in method `begin_update` - - Model `BareMetalMachinesOperations` added parameter `etag` in method `begin_create_or_update` - - Model `BareMetalMachinesOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `BareMetalMachinesOperations` added parameter `etag` in method `begin_delete` - - Model `BareMetalMachinesOperations` added parameter `match_condition` in method `begin_delete` - - Model `BareMetalMachinesOperations` added parameter `content_type` in method `begin_reimage` - - Model `BareMetalMachinesOperations` added parameter `etag` in method `begin_update` - - Model `BareMetalMachinesOperations` added parameter `match_condition` in method `begin_update` - - Model `BmcKeySetsOperations` added parameter `etag` in method `begin_create_or_update` - - Model `BmcKeySetsOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `BmcKeySetsOperations` added parameter `etag` in method `begin_delete` - - Model `BmcKeySetsOperations` added parameter `match_condition` in method `begin_delete` - - Model `BmcKeySetsOperations` added parameter `etag` in method `begin_update` - - Model `BmcKeySetsOperations` added parameter `match_condition` in method `begin_update` - - Model `CloudServicesNetworksOperations` added parameter `etag` in method `begin_create_or_update` - - Model `CloudServicesNetworksOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `CloudServicesNetworksOperations` added parameter `etag` in method `begin_delete` - - Model `CloudServicesNetworksOperations` added parameter `match_condition` in method `begin_delete` - - Model `CloudServicesNetworksOperations` added parameter `etag` in method `begin_update` - - Model `CloudServicesNetworksOperations` added parameter `match_condition` in method `begin_update` - - Model `ClusterManagersOperations` added parameter `etag` in method `begin_create_or_update` - - Model `ClusterManagersOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `ClusterManagersOperations` added parameter `etag` in method `begin_delete` - - Model `ClusterManagersOperations` added parameter `match_condition` in method `begin_delete` - - Model `ClusterManagersOperations` added parameter `etag` in method `update` - - Model `ClusterManagersOperations` added parameter `match_condition` in method `update` - - Model `ClusterManagersOperations` added method `begin_update_relay_private_endpoint_connection` - - Model `ClustersOperations` added parameter `etag` in method `begin_create_or_update` - - Model `ClustersOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `ClustersOperations` added parameter `etag` in method `begin_delete` - - Model `ClustersOperations` added parameter `match_condition` in method `begin_delete` - - Model `ClustersOperations` added parameter `etag` in method `begin_update` - - Model `ClustersOperations` added parameter `match_condition` in method `begin_update` - - Model `ClustersOperations` added method `begin_inspect` - - Model `ClustersOperations` added method `begin_rotate_credential` - - Model `ConsolesOperations` added parameter `etag` in method `begin_create_or_update` - - Model `ConsolesOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `ConsolesOperations` added parameter `etag` in method `begin_delete` - - Model `ConsolesOperations` added parameter `match_condition` in method `begin_delete` - - Model `ConsolesOperations` added parameter `etag` in method `begin_update` - - Model `ConsolesOperations` added parameter `match_condition` in method `begin_update` - - Model `KubernetesClusterFeaturesOperations` added parameter `etag` in method `begin_create_or_update` - - Model `KubernetesClusterFeaturesOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `KubernetesClusterFeaturesOperations` added parameter `etag` in method `begin_delete` - - Model `KubernetesClusterFeaturesOperations` added parameter `match_condition` in method `begin_delete` - - Model `KubernetesClusterFeaturesOperations` added parameter `etag` in method `begin_update` - - Model `KubernetesClusterFeaturesOperations` added parameter `match_condition` in method `begin_update` - - Model `KubernetesClustersOperations` added parameter `etag` in method `begin_create_or_update` - - Model `KubernetesClustersOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `KubernetesClustersOperations` added parameter `etag` in method `begin_delete` - - Model `KubernetesClustersOperations` added parameter `match_condition` in method `begin_delete` - - Model `KubernetesClustersOperations` added parameter `etag` in method `begin_update` - - Model `KubernetesClustersOperations` added parameter `match_condition` in method `begin_update` - - Model `L2NetworksOperations` added parameter `etag` in method `begin_create_or_update` - - Model `L2NetworksOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `L2NetworksOperations` added parameter `etag` in method `begin_delete` - - Model `L2NetworksOperations` added parameter `match_condition` in method `begin_delete` - - Model `L2NetworksOperations` added parameter `etag` in method `update` - - Model `L2NetworksOperations` added parameter `match_condition` in method `update` - - Model `L3NetworksOperations` added parameter `etag` in method `begin_create_or_update` - - Model `L3NetworksOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `L3NetworksOperations` added parameter `etag` in method `begin_delete` - - Model `L3NetworksOperations` added parameter `match_condition` in method `begin_delete` - - Model `L3NetworksOperations` added parameter `etag` in method `update` - - Model `L3NetworksOperations` added parameter `match_condition` in method `update` - - Model `MetricsConfigurationsOperations` added parameter `etag` in method `begin_create_or_update` - - Model `MetricsConfigurationsOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `MetricsConfigurationsOperations` added parameter `etag` in method `begin_delete` - - Model `MetricsConfigurationsOperations` added parameter `match_condition` in method `begin_delete` - - Model `MetricsConfigurationsOperations` added parameter `etag` in method `begin_update` - - Model `MetricsConfigurationsOperations` added parameter `match_condition` in method `begin_update` - - Model `RacksOperations` added parameter `etag` in method `begin_create_or_update` - - Model `RacksOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `RacksOperations` added parameter `etag` in method `begin_delete` - - Model `RacksOperations` added parameter `match_condition` in method `begin_delete` - - Model `RacksOperations` added parameter `etag` in method `begin_update` - - Model `RacksOperations` added parameter `match_condition` in method `begin_update` - - Model `StorageAppliancesOperations` added parameter `etag` in method `begin_create_or_update` - - Model `StorageAppliancesOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `StorageAppliancesOperations` added parameter `etag` in method `begin_delete` - - Model `StorageAppliancesOperations` added parameter `match_condition` in method `begin_delete` - - Model `StorageAppliancesOperations` added parameter `etag` in method `begin_update` - - Model `StorageAppliancesOperations` added parameter `match_condition` in method `begin_update` - - Model `TrunkedNetworksOperations` added parameter `etag` in method `begin_create_or_update` - - Model `TrunkedNetworksOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `TrunkedNetworksOperations` added parameter `etag` in method `begin_delete` - - Model `TrunkedNetworksOperations` added parameter `match_condition` in method `begin_delete` - - Model `TrunkedNetworksOperations` added parameter `etag` in method `update` - - Model `TrunkedNetworksOperations` added parameter `match_condition` in method `update` - - Model `VirtualMachinesOperations` added parameter `etag` in method `begin_create_or_update` - - Model `VirtualMachinesOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `VirtualMachinesOperations` added parameter `etag` in method `begin_delete` - - Model `VirtualMachinesOperations` added parameter `match_condition` in method `begin_delete` - - Model `VirtualMachinesOperations` added parameter `etag` in method `begin_update` - - Model `VirtualMachinesOperations` added parameter `match_condition` in method `begin_update` - - Model `VolumesOperations` added parameter `etag` in method `begin_create_or_update` - - Model `VolumesOperations` added parameter `match_condition` in method `begin_create_or_update` - - Model `VolumesOperations` added parameter `etag` in method `begin_delete` - - Model `VolumesOperations` added parameter `match_condition` in method `begin_delete` - - Model `VolumesOperations` added parameter `etag` in method `update` - - Model `VolumesOperations` added parameter `match_condition` in method `update` + - Operation group `BareMetalMachinesOperations` added parameter `content_type` in method `begin_reimage` + - Operation group `ClusterManagersOperations` added method `begin_update_relay_private_endpoint_connection` + - Operation group `ClustersOperations` added method `begin_inspect` + - Operation group `ClustersOperations` added method `begin_rotate_credential` - Added operation group `AccessBridgesOperations` - Added operation group `KubernetesVersionsOperations` ### Breaking Changes - - Model `AgentPool` deleted or renamed its instance variable `administrator_configuration` - - Model `AgentPool` deleted or renamed its instance variable `agent_options` - - Model `AgentPool` deleted or renamed its instance variable `attached_network_configuration` - - Model `AgentPool` deleted or renamed its instance variable `availability_zones` - - Model `AgentPool` deleted or renamed its instance variable `count` - - Model `AgentPool` deleted or renamed its instance variable `detailed_status` - - Model `AgentPool` deleted or renamed its instance variable `detailed_status_message` - - Model `AgentPool` deleted or renamed its instance variable `kubernetes_version` - - Model `AgentPool` deleted or renamed its instance variable `labels` - - Model `AgentPool` deleted or renamed its instance variable `mode` - - Model `AgentPool` deleted or renamed its instance variable `provisioning_state` - - Model `AgentPool` deleted or renamed its instance variable `taints` - - Model `AgentPool` deleted or renamed its instance variable `upgrade_settings` - - Model `AgentPool` deleted or renamed its instance variable `vm_sku_name` - - Model `AgentPoolPatchParameters` deleted or renamed its instance variable `administrator_configuration` - - Model `AgentPoolPatchParameters` deleted or renamed its instance variable `count` - - Model `AgentPoolPatchParameters` deleted or renamed its instance variable `upgrade_settings` - - Model `BareMetalMachine` deleted or renamed its instance variable `action_states` - - Model `BareMetalMachine` deleted or renamed its instance variable `associated_resource_ids` - - Model `BareMetalMachine` deleted or renamed its instance variable `bmc_connection_string` - - Model `BareMetalMachine` deleted or renamed its instance variable `bmc_credentials` - - Model `BareMetalMachine` deleted or renamed its instance variable `bmc_mac_address` - - Model `BareMetalMachine` deleted or renamed its instance variable `boot_mac_address` - - Model `BareMetalMachine` deleted or renamed its instance variable `ca_certificate` - - Model `BareMetalMachine` deleted or renamed its instance variable `cluster_id` - - Model `BareMetalMachine` deleted or renamed its instance variable `cordon_status` - - Model `BareMetalMachine` deleted or renamed its instance variable `detailed_status` - - Model `BareMetalMachine` deleted or renamed its instance variable `detailed_status_message` - - Model `BareMetalMachine` deleted or renamed its instance variable `hardware_inventory` - - Model `BareMetalMachine` deleted or renamed its instance variable `hardware_validation_status` - - Model `BareMetalMachine` deleted or renamed its instance variable `hybrid_aks_clusters_associated_ids` - - Model `BareMetalMachine` deleted or renamed its instance variable `kubernetes_node_name` - - Model `BareMetalMachine` deleted or renamed its instance variable `kubernetes_version` - - Model `BareMetalMachine` deleted or renamed its instance variable `machine_cluster_version` - - Model `BareMetalMachine` deleted or renamed its instance variable `machine_details` - - Model `BareMetalMachine` deleted or renamed its instance variable `machine_name` - - Model `BareMetalMachine` deleted or renamed its instance variable `machine_roles` - - Model `BareMetalMachine` deleted or renamed its instance variable `machine_sku_id` - - Model `BareMetalMachine` deleted or renamed its instance variable `oam_ipv4_address` - - Model `BareMetalMachine` deleted or renamed its instance variable `oam_ipv6_address` - - Model `BareMetalMachine` deleted or renamed its instance variable `os_image` - - Model `BareMetalMachine` deleted or renamed its instance variable `power_state` - - Model `BareMetalMachine` deleted or renamed its instance variable `provisioning_state` - - Model `BareMetalMachine` deleted or renamed its instance variable `rack_id` - - Model `BareMetalMachine` deleted or renamed its instance variable `rack_slot` - - Model `BareMetalMachine` deleted or renamed its instance variable `ready_state` - - Model `BareMetalMachine` deleted or renamed its instance variable `runtime_protection_status` - - Model `BareMetalMachine` deleted or renamed its instance variable `secret_rotation_status` - - Model `BareMetalMachine` deleted or renamed its instance variable `serial_number` - - Model `BareMetalMachine` deleted or renamed its instance variable `service_tag` - - Model `BareMetalMachine` deleted or renamed its instance variable `virtual_machines_associated_ids` + - This version introduces new hybrid models which have dual dictionary and model nature. Please follow https://aka.ms/azsdk/python/migrate/hybrid-models for migration. + - For the method breakings, please refer to https://aka.ms/azsdk/python/migrate/operations for migration. + - Model `AgentPool` moved instance variable `administrator_configuration`, `agent_options`, `attached_network_configuration`, `availability_zones`, `count`, `detailed_status`, `detailed_status_message`, `kubernetes_version`, `labels`, `mode`, `provisioning_state`, `taints`, `upgrade_settings` and `vm_sku_name` under property `properties` whose type is `AgentPoolProperties` + - Model `AgentPoolPatchParameters` moved instance variable `administrator_configuration`, `count` and `upgrade_settings` under property `properties` whose type is `AgentPoolPatchProperties` + - Model `BareMetalMachine` moved instance variable `action_states`, `associated_resource_ids`, `bmc_connection_string`, `bmc_credentials`, `bmc_mac_address`, `boot_mac_address`, `ca_certificate`, `cluster_id`, `cordon_status`, `detailed_status`, `detailed_status_message`, `hardware_inventory`, `hardware_validation_status`, `hybrid_aks_clusters_associated_ids`, `kubernetes_node_name`, `kubernetes_version`, `machine_cluster_version`, `machine_details`, `machine_name`, `machine_roles`, `machine_sku_id`, `oam_ipv4_address`, `oam_ipv6_address`, `os_image`, `power_state`, `provisioning_state`, `rack_id`, `rack_slot`, `ready_state`, `runtime_protection_status`, `secret_rotation_status`, `serial_number`, `service_tag` and `virtual_machines_associated_ids` under property `properties` whose type is `BareMetalMachineProperties` + - Model `BareMetalMachineKeySet` moved instance variable `azure_group_id`, `detailed_status`, `detailed_status_message`, `expiration`, `jump_hosts_allowed`, `last_validation`, `os_group_name`, `privilege_level`, `privilege_level_name`, `provisioning_state`, `user_list` and `user_list_status` under property `properties` whose type is `BareMetalMachineKeySetProperties` + - Model `BareMetalMachineKeySetPatchParameters` moved instance variable `expiration`, `jump_hosts_allowed` and `user_list` under property `properties` whose type is `BareMetalMachineKeySetPatchProperties` + - Model `BareMetalMachinePatchParameters` moved instance variable `machine_details` under property `properties` whose type is `BareMetalMachinePatchProperties` + - Model `BmcKeySet` moved instance variable `azure_group_id`, `detailed_status`, `detailed_status_message`, `expiration`, `last_validation`, `privilege_level`, `provisioning_state`, `user_list` and `user_list_status` under property `properties` whose type is `BmcKeySetProperties` + - Model `BmcKeySetPatchParameters` moved instance variable `expiration` and `user_list` under property `properties` whose type is `BmcKeySetPatchProperties` + - Model `CloudServicesNetwork` moved instance variable `additional_egress_endpoints`, `associated_resource_ids`, `cluster_id`, `detailed_status`, `detailed_status_message`, `enable_default_egress_endpoints`, `enabled_egress_endpoints`, `hybrid_aks_clusters_associated_ids`, `interface_name`, `provisioning_state`, `storage_options`, `storage_status` and `virtual_machines_associated_ids` under property `properties` whose type is `CloudServicesNetworkProperties` + - Model `CloudServicesNetworkPatchParameters` moved instance variable `additional_egress_endpoints`, `enable_default_egress_endpoints` and `storage_options` under property `properties` whose type is `CloudServicesNetworkPatchProperties` + - Model `Cluster` moved instance variable `action_states`, `aggregator_or_single_rack_definition`, `analytics_output_settings`, `analytics_workspace_id`, `available_upgrade_versions`, `cluster_capacity`, `cluster_connection_status`, `cluster_extended_location`, `cluster_location`, `cluster_manager_connection_status`, `cluster_manager_id`, `cluster_service_principal`, `cluster_type`, `cluster_version`, `command_output_settings`, `compute_deployment_threshold`, `compute_rack_definitions`, `detailed_status`, `detailed_status_message`, `hybrid_aks_extended_location`, `managed_resource_group_configuration`, `manual_action_count`, `network_fabric_id`, `provisioning_state`, `runtime_protection_configuration`, `secret_archive`, `secret_archive_settings`, `support_expiry_date`, `update_strategy`, `vulnerability_scanning_settings` and `workload_resource_ids` under property `properties` whose type is `ClusterProperties` + - Model `ClusterManager` moved instance variable `analytics_workspace_id`, `availability_zones`, `cluster_versions`, `detailed_status`, `detailed_status_message`, `fabric_controller_id`, `managed_resource_group_configuration`, `manager_extended_location`, `provisioning_state` and `vm_size` under property `properties` whose type is `ClusterManagerProperties` + - Model `ClusterMetricsConfiguration` moved instance variable `collection_interval`, `detailed_status`, `detailed_status_message`, `disabled_metrics`, `enabled_metrics` and `provisioning_state` under property `properties` whose type is `ClusterMetricsConfigurationProperties` + - Model `ClusterMetricsConfigurationPatchParameters` moved instance variable `collection_interval` and `enabled_metrics` under property `properties` whose type is `ClusterMetricsConfigurationPatchProperties` + - Model `ClusterPatchParameters` moved instance variable `aggregator_or_single_rack_definition`, `analytics_output_settings`, `cluster_location`, `cluster_service_principal`, `command_output_settings`, `compute_deployment_threshold`, `compute_rack_definitions`, `runtime_protection_configuration`, `secret_archive`, `secret_archive_settings`, `update_strategy` and `vulnerability_scanning_settings` under property `properties` whose type is `ClusterPatchProperties` + - Model `Console` moved instance variable `detailed_status`, `detailed_status_message`, `enabled`, `expiration`, `private_link_service_id`, `provisioning_state`, `ssh_public_key` and `virtual_machine_access_id` under property `properties` whose type is `ConsoleProperties` + - Model `ConsolePatchParameters` moved instance variable `enabled`, `expiration` and `ssh_public_key` under property `properties` whose type is `ConsolePatchProperties` + - Model `KubernetesCluster` moved instance variable `aad_configuration`, `administrator_configuration`, `attached_network_ids`, `available_upgrades`, `cluster_id`, `connected_cluster_id`, `control_plane_kubernetes_version`, `control_plane_node_configuration`, `detailed_status`, `detailed_status_message`, `feature_statuses`, `initial_agent_pool_configurations`, `kubernetes_version`, `managed_resource_group_configuration`, `network_configuration`, `nodes` and `provisioning_state` under property `properties` whose type is `KubernetesClusterProperties` + - Model `KubernetesClusterFeature` moved instance variable `availability_lifecycle`, `detailed_status`, `detailed_status_message`, `options`, `provisioning_state`, `required` and `version` under property `properties` whose type is `KubernetesClusterFeatureProperties` + - Model `KubernetesClusterFeaturePatchParameters` moved instance variable `options` under property `properties` whose type is `KubernetesClusterFeaturePatchProperties` + - Model `KubernetesClusterPatchParameters` moved instance variable `administrator_configuration`, `control_plane_node_configuration` and `kubernetes_version` under property `properties` whose type is `KubernetesClusterPatchProperties` + - Model `L2Network` moved instance variable `associated_resource_ids`, `cluster_id`, `detailed_status`, `detailed_status_message`, `hybrid_aks_clusters_associated_ids`, `hybrid_aks_plugin_type`, `interface_name`, `l2_isolation_domain_id`, `provisioning_state` and `virtual_machines_associated_ids` under property `properties` whose type is `L2NetworkProperties` + - Model `L3Network` moved instance variable `associated_resource_ids`, `cluster_id`, `detailed_status`, `detailed_status_message`, `hybrid_aks_clusters_associated_ids`, `hybrid_aks_ipam_enabled`, `hybrid_aks_plugin_type`, `interface_name`, `ip_allocation_type`, `ipv4_connected_prefix`, `ipv6_connected_prefix`, `l3_isolation_domain_id`, `provisioning_state`, `virtual_machines_associated_ids` and `vlan` under property `properties` whose type is `L3NetworkProperties` + - Model `MachineSkuSlot` moved instance variable `bootstrap_protocol`, `cpu_cores`, `cpu_sockets`, `disks`, `generation`, `hardware_version`, `memory_capacity_gb`, `model`, `network_interfaces`, `total_threads` and `vendor` under property `properties` whose type is `MachineSkuProperties` + - Model `OperationStatusResult` moved instance variable `exit_code`, `output_head`, `result_ref` and `result_url` under property `properties` whose type is `OperationStatusResultProperties` + - Model `Rack` moved instance variable `availability_zone`, `cluster_id`, `detailed_status`, `detailed_status_message`, `provisioning_state`, `rack_location`, `rack_serial_number` and `rack_sku_id` under property `properties` whose type is `RackProperties` + - Model `RackPatchParameters` moved instance variable `rack_location` and `rack_serial_number` under property `properties` whose type is `RacksPatchProperties` + - Model `RackSku` moved instance variable `compute_machines`, `controller_machines`, `description`, `max_cluster_slots`, `provisioning_state`, `rack_type`, `storage_appliances` and `supported_rack_sku_ids` under property `properties` whose type is `RackSkuProperties` + - Model `StorageAppliance` moved instance variable `administrator_credentials`, `ca_certificate`, `capacity`, `capacity_used`, `cluster_id`, `detailed_status`, `detailed_status_message`, `management_ipv4_address`, `manufacturer`, `model`, `provisioning_state`, `rack_id`, `rack_slot`, `remote_vendor_management_feature`, `remote_vendor_management_status`, `secret_rotation_status`, `serial_number`, `storage_appliance_sku_id` and `version` under property `properties` whose type is `StorageApplianceProperties` + - Model `StorageAppliancePatchParameters` moved instance variable `serial_number` under property `properties` whose type is `StorageAppliancePatchProperties` + - Model `StorageApplianceSkuSlot` moved instance variable `capacity_gb` and `model` under property `properties` whose type is `StorageApplianceSkuProperties` + - Model `TrunkedNetwork` moved instance variable `associated_resource_ids`, `cluster_id`, `detailed_status`, `detailed_status_message`, `hybrid_aks_clusters_associated_ids`, `hybrid_aks_plugin_type`, `interface_name`, `isolation_domain_ids`, `provisioning_state`, `virtual_machines_associated_ids` and `vlans` under property `properties` whose type is `TrunkedNetworkProperties` + - Model `VirtualMachine` moved instance variable `admin_username`, `availability_zone`, `bare_metal_machine_id`, `boot_method`, `cloud_services_network_attachment`, `cluster_id`, `console_extended_location`, `cpu_cores`, `detailed_status`, `detailed_status_message`, `isolate_emulator_thread`, `memory_size_gb`, `network_attachments`, `network_data`, `network_data_content`, `placement_hints`, `power_state`, `provisioning_state`, `ssh_public_keys`, `storage_profile`, `user_data`, `user_data_content`, `virtio_interface`, `vm_device_model`, `vm_image`, `vm_image_repository_credentials` and `volumes` under property `properties` whose type is `VirtualMachineProperties` + - Model `VirtualMachinePatchParameters` moved instance variable `vm_image_repository_credentials` under property `properties` whose type is `VirtualMachinePatchProperties` + - Model `Volume` moved instance variable `allocated_size_mi_b`, `attached_to`, `detailed_status`, `detailed_status_message`, `provisioning_state`, `serial_number`, `size_mi_b` and `storage_appliance_id` under property `properties` whose type is `VolumeProperties` - Deleted or renamed enum value `BareMetalMachineHardwareValidationResult.PASS_ENUM` - - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `azure_group_id` - - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `detailed_status` - - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `detailed_status_message` - - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `expiration` - - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `jump_hosts_allowed` - - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `last_validation` - - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `os_group_name` - - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `privilege_level` - - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `privilege_level_name` - - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `provisioning_state` - - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `user_list` - - Model `BareMetalMachineKeySet` deleted or renamed its instance variable `user_list_status` - - Model `BareMetalMachineKeySetPatchParameters` deleted or renamed its instance variable `expiration` - - Model `BareMetalMachineKeySetPatchParameters` deleted or renamed its instance variable `jump_hosts_allowed` - - Model `BareMetalMachineKeySetPatchParameters` deleted or renamed its instance variable `user_list` - - Model `BareMetalMachinePatchParameters` deleted or renamed its instance variable `machine_details` - - Model `BmcKeySet` deleted or renamed its instance variable `azure_group_id` - - Model `BmcKeySet` deleted or renamed its instance variable `detailed_status` - - Model `BmcKeySet` deleted or renamed its instance variable `detailed_status_message` - - Model `BmcKeySet` deleted or renamed its instance variable `expiration` - - Model `BmcKeySet` deleted or renamed its instance variable `last_validation` - - Model `BmcKeySet` deleted or renamed its instance variable `privilege_level` - - Model `BmcKeySet` deleted or renamed its instance variable `provisioning_state` - - Model `BmcKeySet` deleted or renamed its instance variable `user_list` - - Model `BmcKeySet` deleted or renamed its instance variable `user_list_status` - - Model `BmcKeySetPatchParameters` deleted or renamed its instance variable `expiration` - - Model `BmcKeySetPatchParameters` deleted or renamed its instance variable `user_list` - - Model `CloudServicesNetwork` deleted or renamed its instance variable `additional_egress_endpoints` - - Model `CloudServicesNetwork` deleted or renamed its instance variable `associated_resource_ids` - - Model `CloudServicesNetwork` deleted or renamed its instance variable `cluster_id` - - Model `CloudServicesNetwork` deleted or renamed its instance variable `detailed_status` - - Model `CloudServicesNetwork` deleted or renamed its instance variable `detailed_status_message` - - Model `CloudServicesNetwork` deleted or renamed its instance variable `enable_default_egress_endpoints` - - Model `CloudServicesNetwork` deleted or renamed its instance variable `enabled_egress_endpoints` - - Model `CloudServicesNetwork` deleted or renamed its instance variable `hybrid_aks_clusters_associated_ids` - - Model `CloudServicesNetwork` deleted or renamed its instance variable `interface_name` - - Model `CloudServicesNetwork` deleted or renamed its instance variable `provisioning_state` - - Model `CloudServicesNetwork` deleted or renamed its instance variable `storage_options` - - Model `CloudServicesNetwork` deleted or renamed its instance variable `storage_status` - - Model `CloudServicesNetwork` deleted or renamed its instance variable `virtual_machines_associated_ids` - - Model `CloudServicesNetworkPatchParameters` deleted or renamed its instance variable `additional_egress_endpoints` - - Model `CloudServicesNetworkPatchParameters` deleted or renamed its instance variable `enable_default_egress_endpoints` - - Model `CloudServicesNetworkPatchParameters` deleted or renamed its instance variable `storage_options` - - Model `Cluster` deleted or renamed its instance variable `action_states` - - Model `Cluster` deleted or renamed its instance variable `aggregator_or_single_rack_definition` - - Model `Cluster` deleted or renamed its instance variable `analytics_output_settings` - - Model `Cluster` deleted or renamed its instance variable `analytics_workspace_id` - - Model `Cluster` deleted or renamed its instance variable `available_upgrade_versions` - - Model `Cluster` deleted or renamed its instance variable `cluster_capacity` - - Model `Cluster` deleted or renamed its instance variable `cluster_connection_status` - - Model `Cluster` deleted or renamed its instance variable `cluster_extended_location` - - Model `Cluster` deleted or renamed its instance variable `cluster_location` - - Model `Cluster` deleted or renamed its instance variable `cluster_manager_connection_status` - - Model `Cluster` deleted or renamed its instance variable `cluster_manager_id` - - Model `Cluster` deleted or renamed its instance variable `cluster_service_principal` - - Model `Cluster` deleted or renamed its instance variable `cluster_type` - - Model `Cluster` deleted or renamed its instance variable `cluster_version` - - Model `Cluster` deleted or renamed its instance variable `command_output_settings` - - Model `Cluster` deleted or renamed its instance variable `compute_deployment_threshold` - - Model `Cluster` deleted or renamed its instance variable `compute_rack_definitions` - - Model `Cluster` deleted or renamed its instance variable `detailed_status` - - Model `Cluster` deleted or renamed its instance variable `detailed_status_message` - - Model `Cluster` deleted or renamed its instance variable `hybrid_aks_extended_location` - - Model `Cluster` deleted or renamed its instance variable `managed_resource_group_configuration` - - Model `Cluster` deleted or renamed its instance variable `manual_action_count` - - Model `Cluster` deleted or renamed its instance variable `network_fabric_id` - - Model `Cluster` deleted or renamed its instance variable `provisioning_state` - - Model `Cluster` deleted or renamed its instance variable `runtime_protection_configuration` - - Model `Cluster` deleted or renamed its instance variable `secret_archive` - - Model `Cluster` deleted or renamed its instance variable `secret_archive_settings` - - Model `Cluster` deleted or renamed its instance variable `support_expiry_date` - - Model `Cluster` deleted or renamed its instance variable `update_strategy` - - Model `Cluster` deleted or renamed its instance variable `vulnerability_scanning_settings` - - Model `Cluster` deleted or renamed its instance variable `workload_resource_ids` - - Model `ClusterManager` deleted or renamed its instance variable `analytics_workspace_id` - - Model `ClusterManager` deleted or renamed its instance variable `availability_zones` - - Model `ClusterManager` deleted or renamed its instance variable `cluster_versions` - - Model `ClusterManager` deleted or renamed its instance variable `detailed_status` - - Model `ClusterManager` deleted or renamed its instance variable `detailed_status_message` - - Model `ClusterManager` deleted or renamed its instance variable `fabric_controller_id` - - Model `ClusterManager` deleted or renamed its instance variable `managed_resource_group_configuration` - - Model `ClusterManager` deleted or renamed its instance variable `manager_extended_location` - - Model `ClusterManager` deleted or renamed its instance variable `provisioning_state` - - Model `ClusterManager` deleted or renamed its instance variable `vm_size` - - Model `ClusterMetricsConfiguration` deleted or renamed its instance variable `collection_interval` - - Model `ClusterMetricsConfiguration` deleted or renamed its instance variable `detailed_status` - - Model `ClusterMetricsConfiguration` deleted or renamed its instance variable `detailed_status_message` - - Model `ClusterMetricsConfiguration` deleted or renamed its instance variable `disabled_metrics` - - Model `ClusterMetricsConfiguration` deleted or renamed its instance variable `enabled_metrics` - - Model `ClusterMetricsConfiguration` deleted or renamed its instance variable `provisioning_state` - - Model `ClusterMetricsConfigurationPatchParameters` deleted or renamed its instance variable `collection_interval` - - Model `ClusterMetricsConfigurationPatchParameters` deleted or renamed its instance variable `enabled_metrics` - - Model `ClusterPatchParameters` deleted or renamed its instance variable `aggregator_or_single_rack_definition` - - Model `ClusterPatchParameters` deleted or renamed its instance variable `analytics_output_settings` - - Model `ClusterPatchParameters` deleted or renamed its instance variable `cluster_location` - - Model `ClusterPatchParameters` deleted or renamed its instance variable `cluster_service_principal` - - Model `ClusterPatchParameters` deleted or renamed its instance variable `command_output_settings` - - Model `ClusterPatchParameters` deleted or renamed its instance variable `compute_deployment_threshold` - - Model `ClusterPatchParameters` deleted or renamed its instance variable `compute_rack_definitions` - - Model `ClusterPatchParameters` deleted or renamed its instance variable `runtime_protection_configuration` - - Model `ClusterPatchParameters` deleted or renamed its instance variable `secret_archive` - - Model `ClusterPatchParameters` deleted or renamed its instance variable `secret_archive_settings` - - Model `ClusterPatchParameters` deleted or renamed its instance variable `update_strategy` - - Model `ClusterPatchParameters` deleted or renamed its instance variable `vulnerability_scanning_settings` - - Model `Console` deleted or renamed its instance variable `detailed_status` - - Model `Console` deleted or renamed its instance variable `detailed_status_message` - - Model `Console` deleted or renamed its instance variable `enabled` - - Model `Console` deleted or renamed its instance variable `expiration` - - Model `Console` deleted or renamed its instance variable `private_link_service_id` - - Model `Console` deleted or renamed its instance variable `provisioning_state` - - Model `Console` deleted or renamed its instance variable `ssh_public_key` - - Model `Console` deleted or renamed its instance variable `virtual_machine_access_id` - - Model `ConsolePatchParameters` deleted or renamed its instance variable `enabled` - - Model `ConsolePatchParameters` deleted or renamed its instance variable `expiration` - - Model `ConsolePatchParameters` deleted or renamed its instance variable `ssh_public_key` - - Model `KubernetesCluster` deleted or renamed its instance variable `aad_configuration` - - Model `KubernetesCluster` deleted or renamed its instance variable `administrator_configuration` - - Model `KubernetesCluster` deleted or renamed its instance variable `attached_network_ids` - - Model `KubernetesCluster` deleted or renamed its instance variable `available_upgrades` - - Model `KubernetesCluster` deleted or renamed its instance variable `cluster_id` - - Model `KubernetesCluster` deleted or renamed its instance variable `connected_cluster_id` - - Model `KubernetesCluster` deleted or renamed its instance variable `control_plane_kubernetes_version` - - Model `KubernetesCluster` deleted or renamed its instance variable `control_plane_node_configuration` - - Model `KubernetesCluster` deleted or renamed its instance variable `detailed_status` - - Model `KubernetesCluster` deleted or renamed its instance variable `detailed_status_message` - - Model `KubernetesCluster` deleted or renamed its instance variable `feature_statuses` - - Model `KubernetesCluster` deleted or renamed its instance variable `initial_agent_pool_configurations` - - Model `KubernetesCluster` deleted or renamed its instance variable `kubernetes_version` - - Model `KubernetesCluster` deleted or renamed its instance variable `managed_resource_group_configuration` - - Model `KubernetesCluster` deleted or renamed its instance variable `network_configuration` - - Model `KubernetesCluster` deleted or renamed its instance variable `nodes` - - Model `KubernetesCluster` deleted or renamed its instance variable `provisioning_state` - - Model `KubernetesClusterFeature` deleted or renamed its instance variable `availability_lifecycle` - - Model `KubernetesClusterFeature` deleted or renamed its instance variable `detailed_status` - - Model `KubernetesClusterFeature` deleted or renamed its instance variable `detailed_status_message` - - Model `KubernetesClusterFeature` deleted or renamed its instance variable `options` - - Model `KubernetesClusterFeature` deleted or renamed its instance variable `provisioning_state` - - Model `KubernetesClusterFeature` deleted or renamed its instance variable `required` - - Model `KubernetesClusterFeature` deleted or renamed its instance variable `version` - - Model `KubernetesClusterFeaturePatchParameters` deleted or renamed its instance variable `options` - - Model `KubernetesClusterPatchParameters` deleted or renamed its instance variable `administrator_configuration` - - Model `KubernetesClusterPatchParameters` deleted or renamed its instance variable `control_plane_node_configuration` - - Model `KubernetesClusterPatchParameters` deleted or renamed its instance variable `kubernetes_version` - - Model `L2Network` deleted or renamed its instance variable `associated_resource_ids` - - Model `L2Network` deleted or renamed its instance variable `cluster_id` - - Model `L2Network` deleted or renamed its instance variable `detailed_status` - - Model `L2Network` deleted or renamed its instance variable `detailed_status_message` - - Model `L2Network` deleted or renamed its instance variable `hybrid_aks_clusters_associated_ids` - - Model `L2Network` deleted or renamed its instance variable `hybrid_aks_plugin_type` - - Model `L2Network` deleted or renamed its instance variable `interface_name` - - Model `L2Network` deleted or renamed its instance variable `l2_isolation_domain_id` - - Model `L2Network` deleted or renamed its instance variable `provisioning_state` - - Model `L2Network` deleted or renamed its instance variable `virtual_machines_associated_ids` - - Model `L3Network` deleted or renamed its instance variable `associated_resource_ids` - - Model `L3Network` deleted or renamed its instance variable `cluster_id` - - Model `L3Network` deleted or renamed its instance variable `detailed_status` - - Model `L3Network` deleted or renamed its instance variable `detailed_status_message` - - Model `L3Network` deleted or renamed its instance variable `hybrid_aks_clusters_associated_ids` - - Model `L3Network` deleted or renamed its instance variable `hybrid_aks_ipam_enabled` - - Model `L3Network` deleted or renamed its instance variable `hybrid_aks_plugin_type` - - Model `L3Network` deleted or renamed its instance variable `interface_name` - - Model `L3Network` deleted or renamed its instance variable `ip_allocation_type` - - Model `L3Network` deleted or renamed its instance variable `ipv4_connected_prefix` - - Model `L3Network` deleted or renamed its instance variable `ipv6_connected_prefix` - - Model `L3Network` deleted or renamed its instance variable `l3_isolation_domain_id` - - Model `L3Network` deleted or renamed its instance variable `provisioning_state` - - Model `L3Network` deleted or renamed its instance variable `virtual_machines_associated_ids` - - Model `L3Network` deleted or renamed its instance variable `vlan` - - Model `MachineSkuSlot` deleted or renamed its instance variable `bootstrap_protocol` - - Model `MachineSkuSlot` deleted or renamed its instance variable `cpu_cores` - - Model `MachineSkuSlot` deleted or renamed its instance variable `cpu_sockets` - - Model `MachineSkuSlot` deleted or renamed its instance variable `disks` - - Model `MachineSkuSlot` deleted or renamed its instance variable `generation` - - Model `MachineSkuSlot` deleted or renamed its instance variable `hardware_version` - - Model `MachineSkuSlot` deleted or renamed its instance variable `memory_capacity_gb` - - Model `MachineSkuSlot` deleted or renamed its instance variable `model` - - Model `MachineSkuSlot` deleted or renamed its instance variable `network_interfaces` - - Model `MachineSkuSlot` deleted or renamed its instance variable `total_threads` - - Model `MachineSkuSlot` deleted or renamed its instance variable `vendor` - - Model `OperationStatusResult` deleted or renamed its instance variable `exit_code` - - Model `OperationStatusResult` deleted or renamed its instance variable `output_head` - - Model `OperationStatusResult` deleted or renamed its instance variable `result_ref` - - Model `OperationStatusResult` deleted or renamed its instance variable `result_url` - - Model `Rack` deleted or renamed its instance variable `availability_zone` - - Model `Rack` deleted or renamed its instance variable `cluster_id` - - Model `Rack` deleted or renamed its instance variable `detailed_status` - - Model `Rack` deleted or renamed its instance variable `detailed_status_message` - - Model `Rack` deleted or renamed its instance variable `provisioning_state` - - Model `Rack` deleted or renamed its instance variable `rack_location` - - Model `Rack` deleted or renamed its instance variable `rack_serial_number` - - Model `Rack` deleted or renamed its instance variable `rack_sku_id` - - Model `RackPatchParameters` deleted or renamed its instance variable `rack_location` - - Model `RackPatchParameters` deleted or renamed its instance variable `rack_serial_number` - - Model `RackSku` deleted or renamed its instance variable `compute_machines` - - Model `RackSku` deleted or renamed its instance variable `controller_machines` - - Model `RackSku` deleted or renamed its instance variable `description` - - Model `RackSku` deleted or renamed its instance variable `max_cluster_slots` - - Model `RackSku` deleted or renamed its instance variable `provisioning_state` - - Model `RackSku` deleted or renamed its instance variable `rack_type` - - Model `RackSku` deleted or renamed its instance variable `storage_appliances` - - Model `RackSku` deleted or renamed its instance variable `supported_rack_sku_ids` - - Model `StorageAppliance` deleted or renamed its instance variable `administrator_credentials` - - Model `StorageAppliance` deleted or renamed its instance variable `ca_certificate` - - Model `StorageAppliance` deleted or renamed its instance variable `capacity` - - Model `StorageAppliance` deleted or renamed its instance variable `capacity_used` - - Model `StorageAppliance` deleted or renamed its instance variable `cluster_id` - - Model `StorageAppliance` deleted or renamed its instance variable `detailed_status` - - Model `StorageAppliance` deleted or renamed its instance variable `detailed_status_message` - - Model `StorageAppliance` deleted or renamed its instance variable `management_ipv4_address` - - Model `StorageAppliance` deleted or renamed its instance variable `manufacturer` - - Model `StorageAppliance` deleted or renamed its instance variable `model` - - Model `StorageAppliance` deleted or renamed its instance variable `provisioning_state` - - Model `StorageAppliance` deleted or renamed its instance variable `rack_id` - - Model `StorageAppliance` deleted or renamed its instance variable `rack_slot` - - Model `StorageAppliance` deleted or renamed its instance variable `remote_vendor_management_feature` - - Model `StorageAppliance` deleted or renamed its instance variable `remote_vendor_management_status` - - Model `StorageAppliance` deleted or renamed its instance variable `secret_rotation_status` - - Model `StorageAppliance` deleted or renamed its instance variable `serial_number` - - Model `StorageAppliance` deleted or renamed its instance variable `storage_appliance_sku_id` - - Model `StorageAppliance` deleted or renamed its instance variable `version` - - Model `StorageAppliancePatchParameters` deleted or renamed its instance variable `serial_number` - - Model `StorageApplianceSkuSlot` deleted or renamed its instance variable `capacity_gb` - - Model `StorageApplianceSkuSlot` deleted or renamed its instance variable `model` - - Model `TrunkedNetwork` deleted or renamed its instance variable `associated_resource_ids` - - Model `TrunkedNetwork` deleted or renamed its instance variable `cluster_id` - - Model `TrunkedNetwork` deleted or renamed its instance variable `detailed_status` - - Model `TrunkedNetwork` deleted or renamed its instance variable `detailed_status_message` - - Model `TrunkedNetwork` deleted or renamed its instance variable `hybrid_aks_clusters_associated_ids` - - Model `TrunkedNetwork` deleted or renamed its instance variable `hybrid_aks_plugin_type` - - Model `TrunkedNetwork` deleted or renamed its instance variable `interface_name` - - Model `TrunkedNetwork` deleted or renamed its instance variable `isolation_domain_ids` - - Model `TrunkedNetwork` deleted or renamed its instance variable `provisioning_state` - - Model `TrunkedNetwork` deleted or renamed its instance variable `virtual_machines_associated_ids` - - Model `TrunkedNetwork` deleted or renamed its instance variable `vlans` - - Model `VirtualMachine` deleted or renamed its instance variable `admin_username` - - Model `VirtualMachine` deleted or renamed its instance variable `availability_zone` - - Model `VirtualMachine` deleted or renamed its instance variable `bare_metal_machine_id` - - Model `VirtualMachine` deleted or renamed its instance variable `boot_method` - - Model `VirtualMachine` deleted or renamed its instance variable `cloud_services_network_attachment` - - Model `VirtualMachine` deleted or renamed its instance variable `cluster_id` - - Model `VirtualMachine` deleted or renamed its instance variable `console_extended_location` - - Model `VirtualMachine` deleted or renamed its instance variable `cpu_cores` - - Model `VirtualMachine` deleted or renamed its instance variable `detailed_status` - - Model `VirtualMachine` deleted or renamed its instance variable `detailed_status_message` - - Model `VirtualMachine` deleted or renamed its instance variable `isolate_emulator_thread` - - Model `VirtualMachine` deleted or renamed its instance variable `memory_size_gb` - - Model `VirtualMachine` deleted or renamed its instance variable `network_attachments` - - Model `VirtualMachine` deleted or renamed its instance variable `network_data` - - Model `VirtualMachine` deleted or renamed its instance variable `network_data_content` - - Model `VirtualMachine` deleted or renamed its instance variable `placement_hints` - - Model `VirtualMachine` deleted or renamed its instance variable `power_state` - - Model `VirtualMachine` deleted or renamed its instance variable `provisioning_state` - - Model `VirtualMachine` deleted or renamed its instance variable `ssh_public_keys` - - Model `VirtualMachine` deleted or renamed its instance variable `storage_profile` - - Model `VirtualMachine` deleted or renamed its instance variable `user_data` - - Model `VirtualMachine` deleted or renamed its instance variable `user_data_content` - - Model `VirtualMachine` deleted or renamed its instance variable `virtio_interface` - - Model `VirtualMachine` deleted or renamed its instance variable `vm_device_model` - - Model `VirtualMachine` deleted or renamed its instance variable `vm_image` - - Model `VirtualMachine` deleted or renamed its instance variable `vm_image_repository_credentials` - - Model `VirtualMachine` deleted or renamed its instance variable `volumes` - - Model `VirtualMachinePatchParameters` deleted or renamed its instance variable `vm_image_repository_credentials` - - Model `Volume` deleted or renamed its instance variable `allocated_size_mi_b` - - Model `Volume` deleted or renamed its instance variable `attached_to` - - Model `Volume` deleted or renamed its instance variable `detailed_status` - - Model `Volume` deleted or renamed its instance variable `detailed_status_message` - - Model `Volume` deleted or renamed its instance variable `provisioning_state` - - Model `Volume` deleted or renamed its instance variable `serial_number` - - Model `Volume` deleted or renamed its instance variable `size_mi_b` - - Model `Volume` deleted or renamed its instance variable `storage_appliance_id` - Deleted or renamed model `AgentPoolConfiguration` - - Deleted or renamed model `AgentPoolList` - - Deleted or renamed model `BareMetalMachineKeySetList` - - Deleted or renamed model `BareMetalMachineList` - - Deleted or renamed model `BmcKeySetList` - - Deleted or renamed model `CloudServicesNetworkList` - - Deleted or renamed model `ClusterList` - - Deleted or renamed model `ClusterManagerList` - - Deleted or renamed model `ClusterMetricsConfigurationList` - - Deleted or renamed model `ConsoleList` - - Deleted or renamed model `KubernetesClusterFeatureList` - - Deleted or renamed model `KubernetesClusterList` - - Deleted or renamed model `L2NetworkList` - - Deleted or renamed model `L3NetworkList` - - Deleted or renamed model `OperationListResult` - - Deleted or renamed model `RackList` - - Deleted or renamed model `RackSkuList` - - Deleted or renamed model `StorageApplianceList` - Deleted or renamed model `TagsParameter` - - Deleted or renamed model `TrunkedNetworkList` - - Deleted or renamed model `VirtualMachineList` - - Deleted or renamed model `VolumeList` - - Method `AgentPoolsOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `AgentPoolsOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `AgentPoolsOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `AgentPoolsOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `AgentPoolsOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `AgentPoolsOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` + - Method `AgentPoolsOperations.begin_create_or_update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `AgentPoolsOperations.begin_delete` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `AgentPoolsOperations.begin_update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `BareMetalMachineKeySetsOperations.begin_create_or_update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `BareMetalMachineKeySetsOperations.begin_delete` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `BareMetalMachineKeySetsOperations.begin_update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `BareMetalMachinesOperations.begin_create_or_update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `BareMetalMachinesOperations.begin_delete` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `BareMetalMachinesOperations.begin_update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `BmcKeySetsOperations.begin_create_or_update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `BmcKeySetsOperations.begin_delete` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `BmcKeySetsOperations.begin_update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `CloudServicesNetworksOperations.begin_create_or_update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `CloudServicesNetworksOperations.begin_delete` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `CloudServicesNetworksOperations.begin_update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `ClusterManagersOperations.begin_create_or_update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `ClusterManagersOperations.begin_delete` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `ClusterManagersOperations.update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `ClustersOperations.begin_create_or_update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `ClustersOperations.begin_delete` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `ClustersOperations.begin_update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `ConsolesOperations.begin_create_or_update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `ConsolesOperations.begin_delete` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `ConsolesOperations.begin_update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `KubernetesClusterFeaturesOperations.begin_create_or_update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `KubernetesClusterFeaturesOperations.begin_delete` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `KubernetesClusterFeaturesOperations.begin_update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `KubernetesClustersOperations.begin_create_or_update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `KubernetesClustersOperations.begin_delete` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `KubernetesClustersOperations.begin_update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `L2NetworksOperations.begin_create_or_update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `L2NetworksOperations.begin_delete` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `L2NetworksOperations.update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `L3NetworksOperations.begin_create_or_update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `L3NetworksOperations.begin_delete` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `L3NetworksOperations.update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `MetricsConfigurationsOperations.begin_create_or_update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `MetricsConfigurationsOperations.begin_delete` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `MetricsConfigurationsOperations.begin_update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `RacksOperations.begin_create_or_update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `RacksOperations.begin_delete` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `RacksOperations.begin_update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `StorageAppliancesOperations.begin_create_or_update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `StorageAppliancesOperations.begin_delete` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `StorageAppliancesOperations.begin_update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `TrunkedNetworksOperations.begin_create_or_update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `TrunkedNetworksOperations.begin_delete` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `TrunkedNetworksOperations.update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `VirtualMachinesOperations.begin_create_or_update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `VirtualMachinesOperations.begin_delete` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `VirtualMachinesOperations.begin_update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `VolumesOperations.begin_create_or_update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `VolumesOperations.begin_delete` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` + - Method `VolumesOperations.update` replaced positional_or_keyword `if_match`/`if_none_match` to keyword_only `etag`/`match_condition` - Method `AgentPoolsOperations.list_by_kubernetes_cluster` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `BareMetalMachineKeySetsOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `BareMetalMachineKeySetsOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `BareMetalMachineKeySetsOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `BareMetalMachineKeySetsOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `BareMetalMachineKeySetsOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `BareMetalMachineKeySetsOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `BareMetalMachineKeySetsOperations.list_by_cluster` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `BareMetalMachinesOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `BareMetalMachinesOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `BareMetalMachinesOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `BareMetalMachinesOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `BareMetalMachinesOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `BareMetalMachinesOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `BareMetalMachinesOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `BareMetalMachinesOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `BmcKeySetsOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `BmcKeySetsOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `BmcKeySetsOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `BmcKeySetsOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `BmcKeySetsOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `BmcKeySetsOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `BmcKeySetsOperations.list_by_cluster` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `CloudServicesNetworksOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `CloudServicesNetworksOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `CloudServicesNetworksOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `CloudServicesNetworksOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `CloudServicesNetworksOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `CloudServicesNetworksOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `CloudServicesNetworksOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `CloudServicesNetworksOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `ClusterManagersOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `ClusterManagersOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `ClusterManagersOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `ClusterManagersOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `ClusterManagersOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `ClusterManagersOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `ClusterManagersOperations.update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `ClusterManagersOperations.update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `ClustersOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `ClustersOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `ClustersOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `ClustersOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `ClustersOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `ClustersOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `ClustersOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `ClustersOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `ConsolesOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `ConsolesOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `ConsolesOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `ConsolesOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `ConsolesOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `ConsolesOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `ConsolesOperations.list_by_virtual_machine` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `KubernetesClusterFeaturesOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `KubernetesClusterFeaturesOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `KubernetesClusterFeaturesOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `KubernetesClusterFeaturesOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `KubernetesClusterFeaturesOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `KubernetesClusterFeaturesOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `KubernetesClusterFeaturesOperations.list_by_kubernetes_cluster` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `KubernetesClustersOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `KubernetesClustersOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `KubernetesClustersOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `KubernetesClustersOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `KubernetesClustersOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `KubernetesClustersOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `KubernetesClustersOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `KubernetesClustersOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `L2NetworksOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `L2NetworksOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `L2NetworksOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `L2NetworksOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `L2NetworksOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `L2NetworksOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `L2NetworksOperations.update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `L2NetworksOperations.update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `L3NetworksOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `L3NetworksOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `L3NetworksOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `L3NetworksOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `L3NetworksOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `L3NetworksOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `L3NetworksOperations.update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `L3NetworksOperations.update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `MetricsConfigurationsOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `MetricsConfigurationsOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `MetricsConfigurationsOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `MetricsConfigurationsOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `MetricsConfigurationsOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `MetricsConfigurationsOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `MetricsConfigurationsOperations.list_by_cluster` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `RacksOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `RacksOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `RacksOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `RacksOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `RacksOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `RacksOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `RacksOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `RacksOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `StorageAppliancesOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `StorageAppliancesOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `StorageAppliancesOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `StorageAppliancesOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `StorageAppliancesOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `StorageAppliancesOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `StorageAppliancesOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `StorageAppliancesOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `TrunkedNetworksOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `TrunkedNetworksOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `TrunkedNetworksOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `TrunkedNetworksOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `TrunkedNetworksOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `TrunkedNetworksOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `TrunkedNetworksOperations.update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `TrunkedNetworksOperations.update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `VirtualMachinesOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `VirtualMachinesOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `VirtualMachinesOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `VirtualMachinesOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `VirtualMachinesOperations.begin_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `VirtualMachinesOperations.begin_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `VirtualMachinesOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `VirtualMachinesOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `VolumesOperations.begin_create_or_update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `VolumesOperations.begin_create_or_update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `VolumesOperations.begin_delete` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `VolumesOperations.begin_delete` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - Method `VolumesOperations.list_by_resource_group` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - Method `VolumesOperations.list_by_subscription` changed its parameter `skip_token` from `positional_or_keyword` to `keyword_only` - - Method `VolumesOperations.update` deleted or renamed its parameter `if_match` of kind `positional_or_keyword` - - Method `VolumesOperations.update` deleted or renamed its parameter `if_none_match` of kind `positional_or_keyword` - - Method `BmcKeySetsOperations.begin_update` re-ordered its parameters from `['self', 'bmc_key_set_name', 'bmc_key_set_update_parameters', 'cluster_name', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bmc_key_set_name', 'bmc_key_set_update_parameters', 'cluster_name', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `BmcKeySetsOperations.begin_delete` re-ordered its parameters from `['self', 'bmc_key_set_name', 'cluster_name', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bmc_key_set_name', 'cluster_name', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `BmcKeySetsOperations.begin_create_or_update` re-ordered its parameters from `['self', 'bmc_key_set_name', 'bmc_key_set_parameters', 'cluster_name', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bmc_key_set_name', 'bmc_key_set_parameters', 'cluster_name', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `AgentPoolsOperations.begin_update` re-ordered its parameters from `['self', 'agent_pool_name', 'agent_pool_update_parameters', 'content_type', 'if_match', 'if_none_match', 'kubernetes_cluster_name', 'resource_group_name', 'kwargs']` to `['self', 'agent_pool_name', 'agent_pool_update_parameters', 'content_type', 'etag', 'kubernetes_cluster_name', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `AgentPoolsOperations.begin_delete` re-ordered its parameters from `['self', 'agent_pool_name', 'if_match', 'if_none_match', 'kubernetes_cluster_name', 'resource_group_name', 'kwargs']` to `['self', 'agent_pool_name', 'etag', 'kubernetes_cluster_name', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `AgentPoolsOperations.begin_create_or_update` re-ordered its parameters from `['self', 'agent_pool_name', 'agent_pool_parameters', 'content_type', 'if_match', 'if_none_match', 'kubernetes_cluster_name', 'resource_group_name', 'kwargs']` to `['self', 'agent_pool_name', 'agent_pool_parameters', 'content_type', 'etag', 'kubernetes_cluster_name', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `VolumesOperations.begin_delete` re-ordered its parameters from `['self', 'if_match', 'if_none_match', 'resource_group_name', 'volume_name', 'kwargs']` to `['self', 'etag', 'match_condition', 'resource_group_name', 'volume_name', 'kwargs']` - - Method `VolumesOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'volume_name', 'volume_parameters', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'volume_name', 'volume_parameters', 'kwargs']` - - Method `VolumesOperations.update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'volume_name', 'volume_update_parameters', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'volume_name', 'volume_update_parameters', 'kwargs']` - - Method `VirtualMachinesOperations.begin_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'virtual_machine_name', 'virtual_machine_update_parameters', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'virtual_machine_name', 'virtual_machine_update_parameters', 'kwargs']` - - Method `VirtualMachinesOperations.begin_delete` re-ordered its parameters from `['self', 'if_match', 'if_none_match', 'resource_group_name', 'virtual_machine_name', 'kwargs']` to `['self', 'etag', 'match_condition', 'resource_group_name', 'virtual_machine_name', 'kwargs']` - - Method `VirtualMachinesOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'virtual_machine_name', 'virtual_machine_parameters', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'virtual_machine_name', 'virtual_machine_parameters', 'kwargs']` - - Method `KubernetesClusterFeaturesOperations.begin_update` re-ordered its parameters from `['self', 'content_type', 'feature_name', 'if_match', 'if_none_match', 'kubernetes_cluster_feature_update_parameters', 'kubernetes_cluster_name', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'feature_name', 'kubernetes_cluster_feature_update_parameters', 'kubernetes_cluster_name', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `KubernetesClusterFeaturesOperations.begin_delete` re-ordered its parameters from `['self', 'feature_name', 'if_match', 'if_none_match', 'kubernetes_cluster_name', 'resource_group_name', 'kwargs']` to `['self', 'etag', 'feature_name', 'kubernetes_cluster_name', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `KubernetesClusterFeaturesOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'feature_name', 'if_match', 'if_none_match', 'kubernetes_cluster_feature_parameters', 'kubernetes_cluster_name', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'feature_name', 'kubernetes_cluster_feature_parameters', 'kubernetes_cluster_name', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `ClusterManagersOperations.begin_delete` re-ordered its parameters from `['self', 'cluster_manager_name', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cluster_manager_name', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `ClusterManagersOperations.begin_create_or_update` re-ordered its parameters from `['self', 'cluster_manager_name', 'cluster_manager_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cluster_manager_name', 'cluster_manager_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `ClusterManagersOperations.update` re-ordered its parameters from `['self', 'cluster_manager_name', 'cluster_manager_update_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cluster_manager_name', 'cluster_manager_update_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `StorageAppliancesOperations.begin_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'storage_appliance_name', 'storage_appliance_update_parameters', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'storage_appliance_name', 'storage_appliance_update_parameters', 'kwargs']` - - Method `StorageAppliancesOperations.begin_delete` re-ordered its parameters from `['self', 'if_match', 'if_none_match', 'resource_group_name', 'storage_appliance_name', 'kwargs']` to `['self', 'etag', 'match_condition', 'resource_group_name', 'storage_appliance_name', 'kwargs']` - - Method `StorageAppliancesOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'storage_appliance_name', 'storage_appliance_parameters', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'storage_appliance_name', 'storage_appliance_parameters', 'kwargs']` - - Method `ClustersOperations.begin_update` re-ordered its parameters from `['self', 'cluster_name', 'cluster_update_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cluster_name', 'cluster_update_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `ClustersOperations.begin_delete` re-ordered its parameters from `['self', 'cluster_name', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cluster_name', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `ClustersOperations.begin_create_or_update` re-ordered its parameters from `['self', 'cluster_name', 'cluster_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cluster_name', 'cluster_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `L3NetworksOperations.begin_delete` re-ordered its parameters from `['self', 'if_match', 'if_none_match', 'l3_network_name', 'resource_group_name', 'kwargs']` to `['self', 'etag', 'l3_network_name', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `L3NetworksOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'l3_network_name', 'l3_network_parameters', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'l3_network_name', 'l3_network_parameters', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `L3NetworksOperations.update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'l3_network_name', 'l3_network_update_parameters', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'l3_network_name', 'l3_network_update_parameters', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `L2NetworksOperations.begin_delete` re-ordered its parameters from `['self', 'if_match', 'if_none_match', 'l2_network_name', 'resource_group_name', 'kwargs']` to `['self', 'etag', 'l2_network_name', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `L2NetworksOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'l2_network_name', 'l2_network_parameters', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'l2_network_name', 'l2_network_parameters', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `L2NetworksOperations.update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'l2_network_name', 'l2_network_update_parameters', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'l2_network_name', 'l2_network_update_parameters', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `CloudServicesNetworksOperations.begin_update` re-ordered its parameters from `['self', 'cloud_services_network_name', 'cloud_services_network_update_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cloud_services_network_name', 'cloud_services_network_update_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `CloudServicesNetworksOperations.begin_delete` re-ordered its parameters from `['self', 'cloud_services_network_name', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cloud_services_network_name', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `CloudServicesNetworksOperations.begin_create_or_update` re-ordered its parameters from `['self', 'cloud_services_network_name', 'cloud_services_network_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'cloud_services_network_name', 'cloud_services_network_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `MetricsConfigurationsOperations.begin_update` re-ordered its parameters from `['self', 'cluster_name', 'content_type', 'if_match', 'if_none_match', 'metrics_configuration_name', 'metrics_configuration_update_parameters', 'resource_group_name', 'kwargs']` to `['self', 'cluster_name', 'content_type', 'etag', 'match_condition', 'metrics_configuration_name', 'metrics_configuration_update_parameters', 'resource_group_name', 'kwargs']` - - Method `MetricsConfigurationsOperations.begin_delete` re-ordered its parameters from `['self', 'cluster_name', 'if_match', 'if_none_match', 'metrics_configuration_name', 'resource_group_name', 'kwargs']` to `['self', 'cluster_name', 'etag', 'match_condition', 'metrics_configuration_name', 'resource_group_name', 'kwargs']` - - Method `MetricsConfigurationsOperations.begin_create_or_update` re-ordered its parameters from `['self', 'cluster_name', 'content_type', 'if_match', 'if_none_match', 'metrics_configuration_name', 'metrics_configuration_parameters', 'resource_group_name', 'kwargs']` to `['self', 'cluster_name', 'content_type', 'etag', 'match_condition', 'metrics_configuration_name', 'metrics_configuration_parameters', 'resource_group_name', 'kwargs']` - - Method `BareMetalMachineKeySetsOperations.begin_update` re-ordered its parameters from `['self', 'bare_metal_machine_key_set_name', 'bare_metal_machine_key_set_update_parameters', 'cluster_name', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bare_metal_machine_key_set_name', 'bare_metal_machine_key_set_update_parameters', 'cluster_name', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `BareMetalMachineKeySetsOperations.begin_delete` re-ordered its parameters from `['self', 'bare_metal_machine_key_set_name', 'cluster_name', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bare_metal_machine_key_set_name', 'cluster_name', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `BareMetalMachineKeySetsOperations.begin_create_or_update` re-ordered its parameters from `['self', 'bare_metal_machine_key_set_name', 'bare_metal_machine_key_set_parameters', 'cluster_name', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bare_metal_machine_key_set_name', 'bare_metal_machine_key_set_parameters', 'cluster_name', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `ConsolesOperations.begin_update` re-ordered its parameters from `['self', 'console_name', 'console_update_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'virtual_machine_name', 'kwargs']` to `['self', 'console_name', 'console_update_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'virtual_machine_name', 'kwargs']` - - Method `ConsolesOperations.begin_delete` re-ordered its parameters from `['self', 'console_name', 'if_match', 'if_none_match', 'resource_group_name', 'virtual_machine_name', 'kwargs']` to `['self', 'console_name', 'etag', 'match_condition', 'resource_group_name', 'virtual_machine_name', 'kwargs']` - - Method `ConsolesOperations.begin_create_or_update` re-ordered its parameters from `['self', 'console_name', 'console_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'virtual_machine_name', 'kwargs']` to `['self', 'console_name', 'console_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'virtual_machine_name', 'kwargs']` - - Method `TrunkedNetworksOperations.begin_delete` re-ordered its parameters from `['self', 'if_match', 'if_none_match', 'resource_group_name', 'trunked_network_name', 'kwargs']` to `['self', 'etag', 'match_condition', 'resource_group_name', 'trunked_network_name', 'kwargs']` - - Method `TrunkedNetworksOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'trunked_network_name', 'trunked_network_parameters', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'trunked_network_name', 'trunked_network_parameters', 'kwargs']` - - Method `TrunkedNetworksOperations.update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'trunked_network_name', 'trunked_network_update_parameters', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'trunked_network_name', 'trunked_network_update_parameters', 'kwargs']` - - Method `KubernetesClustersOperations.begin_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'kubernetes_cluster_name', 'kubernetes_cluster_update_parameters', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'kubernetes_cluster_name', 'kubernetes_cluster_update_parameters', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `KubernetesClustersOperations.begin_delete` re-ordered its parameters from `['self', 'if_match', 'if_none_match', 'kubernetes_cluster_name', 'resource_group_name', 'kwargs']` to `['self', 'etag', 'kubernetes_cluster_name', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `KubernetesClustersOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'kubernetes_cluster_name', 'kubernetes_cluster_parameters', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'kubernetes_cluster_name', 'kubernetes_cluster_parameters', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `RacksOperations.begin_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'rack_name', 'rack_update_parameters', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'rack_name', 'rack_update_parameters', 'resource_group_name', 'kwargs']` - - Method `RacksOperations.begin_delete` re-ordered its parameters from `['self', 'if_match', 'if_none_match', 'rack_name', 'resource_group_name', 'kwargs']` to `['self', 'etag', 'match_condition', 'rack_name', 'resource_group_name', 'kwargs']` - - Method `RacksOperations.begin_create_or_update` re-ordered its parameters from `['self', 'content_type', 'if_match', 'if_none_match', 'rack_name', 'rack_parameters', 'resource_group_name', 'kwargs']` to `['self', 'content_type', 'etag', 'match_condition', 'rack_name', 'rack_parameters', 'resource_group_name', 'kwargs']` - - Method `BareMetalMachinesOperations.begin_update` re-ordered its parameters from `['self', 'bare_metal_machine_name', 'bare_metal_machine_update_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bare_metal_machine_name', 'bare_metal_machine_update_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `BareMetalMachinesOperations.begin_delete` re-ordered its parameters from `['self', 'bare_metal_machine_name', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bare_metal_machine_name', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` - - Method `BareMetalMachinesOperations.begin_create_or_update` re-ordered its parameters from `['self', 'bare_metal_machine_name', 'bare_metal_machine_parameters', 'content_type', 'if_match', 'if_none_match', 'resource_group_name', 'kwargs']` to `['self', 'bare_metal_machine_name', 'bare_metal_machine_parameters', 'content_type', 'etag', 'match_condition', 'resource_group_name', 'kwargs']` + +### Other Changes + + - Deleted model `AgentPoolList`/`BareMetalMachineKeySetList`/`BareMetalMachineList`/`BmcKeySetList`/`CloudServicesNetworkList`/`ClusterList`/`ClusterManagerList`/`ClusterMetricsConfigurationList`/`ConsoleList`/`KubernetesClusterFeatureList`/`KubernetesClusterList`/`L2NetworkList`/`L3NetworkList`/`OperationListResult`/`RackList`/`RackSkuList`/`StorageApplianceList`/`TrunkedNetworkList`/`VirtualMachineList`/`VolumeList` which actually were not used by SDK users ## 3.0.0b2 (2026-06-24)