Skip to content

Commit e3a802d

Browse files
committed
vm/vmss update migration
1 parent f026d52 commit e3a802d

File tree

3 files changed

+3357
-2613
lines changed

3 files changed

+3357
-2613
lines changed

src/azure-cli/azure/cli/command_modules/vm/custom.py

Lines changed: 49 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1649,6 +1649,7 @@ def update_vm(cmd, resource_group_name, vm_name, os_disk=None, disk_caching=None
16491649
security_type=None, enable_proxy_agent=None, proxy_agent_mode=None, additional_scheduled_events=None,
16501650
enable_user_reboot_scheduled_events=None, enable_user_redeploy_scheduled_events=None,
16511651
align_regional_disks_to_vm_zone=None, wire_server_mode=None, imds_mode=None,
1652+
add_proxy_agent_extension=None,
16521653
wire_server_access_control_profile_reference_id=None, imds_access_control_profile_reference_id=None,
16531654
key_incarnation_id=None, **kwargs):
16541655
from azure.mgmt.core.tools import parse_resource_id, resource_id, is_valid_resource_id
@@ -1680,6 +1681,26 @@ def _output(self, *args, **kwargs):
16801681
}))
16811682
vm = get_vm_to_update(cmd, resource_group_name, vm_name)
16821683

1684+
if add_proxy_agent_extension is not None:
1685+
from .aaz.latest.vm import Update as _Update
1686+
1687+
class Update(_Update):
1688+
pass
1689+
1690+
args = {
1691+
'resource_group': resource_group_name,
1692+
'vm_name': vm_name,
1693+
'no_wait': no_wait,
1694+
'security_profile': {
1695+
'proxy_agent_settings': {
1696+
'add_proxy_agent_extension': add_proxy_agent_extension
1697+
}
1698+
}
1699+
}
1700+
1701+
LongRunningOperation(cmd.cli_ctx)(Update(cli_ctx=cmd.cli_ctx)(command_args=args))
1702+
vm = get_vm_to_update(cmd, resource_group_name, vm_name)
1703+
16831704
disk_name = None
16841705
if os_disk is not None:
16851706
if is_valid_resource_id(os_disk):
@@ -1897,7 +1918,8 @@ def _output(self, *args, **kwargs):
18971918
}
18981919
client = _compute_client_factory(cmd.cli_ctx, aux_subscriptions=aux_subscriptions)
18991920
if wire_server_access_control_profile_reference_id is not None or \
1900-
imds_access_control_profile_reference_id is not None:
1921+
imds_access_control_profile_reference_id is not None or \
1922+
add_proxy_agent_extension is not None:
19011923
kwargs['parameters'] = vm
19021924
return sdk_no_wait(no_wait, client.virtual_machines.begin_create_or_update, resource_group_name, vm_name, **kwargs)
19031925
# endregion
@@ -4167,7 +4189,8 @@ def update_vmss(cmd, resource_group_name, name, license_type=None, no_wait=False
41674189
upgrade_policy_mode=None, enable_auto_os_upgrade=None, skuprofile_vmsizes=None,
41684190
skuprofile_allostrat=None, skuprofile_rank=None,
41694191
security_posture_reference_is_overridable=None, zone_balance=None,
4170-
wire_server_mode=None, imds_mode=None, wire_server_access_control_profile_reference_id=None,
4192+
wire_server_mode=None, imds_mode=None, add_proxy_agent_extension=None,
4193+
wire_server_access_control_profile_reference_id=None,
41714194
imds_access_control_profile_reference_id=None, enable_automatic_zone_balancing=None,
41724195
automatic_zone_balancing_strategy=None, automatic_zone_balancing_behavior=None, **kwargs):
41734196
vmss = kwargs['parameters']
@@ -4198,6 +4221,28 @@ def _output(self, *args, **kwargs):
41984221
}))
41994222
vmss = get_vmss_modified(cmd, resource_group_name, name, instance_id, security_type)
42004223

4224+
if add_proxy_agent_extension is not None:
4225+
from .aaz.latest.vmss import Update as _VMSSUpdate
4226+
4227+
class VMSSUpdate(_VMSSUpdate):
4228+
pass
4229+
4230+
args = {
4231+
'resource_group': resource_group_name,
4232+
'vm_scale_set_name': name,
4233+
'no_wait': no_wait,
4234+
'virtual_machine_profile': {
4235+
'security_profile': {
4236+
'proxy_agent_settings': {
4237+
'add_proxy_agent_extension': add_proxy_agent_extension
4238+
}
4239+
}
4240+
}
4241+
}
4242+
4243+
LongRunningOperation(cmd.cli_ctx)(VMSSUpdate(cli_ctx=cmd.cli_ctx)(command_args=args))
4244+
vmss = get_vmss_modified(cmd, resource_group_name, name, instance_id, security_type)
4245+
42014246
aux_subscriptions = None
42024247
# pylint: disable=too-many-boolean-expressions
42034248
if vmss and hasattr(vmss, 'virtual_machine_profile') and vmss.virtual_machine_profile and \
@@ -4543,7 +4588,8 @@ def _output(self, *args, **kwargs):
45434588
vmss.zone_balance = zone_balance
45444589

45454590
if wire_server_access_control_profile_reference_id is not None or \
4546-
imds_access_control_profile_reference_id is not None:
4591+
imds_access_control_profile_reference_id is not None or \
4592+
add_proxy_agent_extension is not None:
45474593
kwargs['parameters'] = vmss
45484594

45494595
return sdk_no_wait(no_wait, client.virtual_machine_scale_sets.begin_create_or_update,

0 commit comments

Comments
 (0)