Skip to content

Commit e676715

Browse files
authored
[Compute] az vm/vmss create: Add new parameter --disable-integrity-monitoring-autoupgrade to support disabling auto upgrade when creating Trusted Launch VM with enabled integrity monitoring (#26878)
1 parent eac2fa1 commit e676715

File tree

5 files changed

+22535
-4
lines changed

5 files changed

+22535
-4
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1006,6 +1006,7 @@ def load_arguments(self, _):
10061006
c.argument('disable_integrity_monitoring', action='store_true', min_api='2020-12-01', help='Disable the default behavior of installing guest attestation extension and enabling System Assigned Identity for Trusted Launch enabled VMs and VMSS.')
10071007
c.argument('os_disk_security_encryption_type', arg_type=get_enum_type(self.get_models('SecurityEncryptionTypes')), min_api='2021-11-01', help='Specify the encryption type of the OS managed disk.')
10081008
c.argument('os_disk_secure_vm_disk_encryption_set', min_api='2021-11-01', help='Specify the customer managed disk encryption set resource ID or name for the managed disk that is used for customer managed key encrypted Confidential VM OS disk and VM guest blob.')
1009+
c.argument('disable_integrity_monitoring_autoupgrade', action='store_true', min_api='2020-12-01', help='Disable auto upgrade of guest attestation extension for Trusted Launch enabled VMs and VMSS.')
10091010

10101011
with self.argument_context(scope, arg_group='Authentication') as c:
10111012
c.argument('generate_ssh_keys', action='store_true', help='Generate SSH public and private key files if missing. The keys will be stored in the ~/.ssh directory')

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -895,7 +895,7 @@ def create_vm(cmd, vm_name, resource_group_name, image=None, size='Standard_DS1_
895895
data_disk_delete_option=None, user_data=None, capacity_reservation_group=None, enable_hibernation=None,
896896
v_cpus_available=None, v_cpus_per_core=None, accept_term=None, disable_integrity_monitoring=False,
897897
os_disk_security_encryption_type=None, os_disk_secure_vm_disk_encryption_set=None,
898-
disk_controller_type=None):
898+
disk_controller_type=None, disable_integrity_monitoring_autoupgrade=False):
899899

900900
from azure.cli.core.commands.client_factory import get_subscription_id
901901
from azure.cli.core.util import random_string, hash_string
@@ -1214,7 +1214,7 @@ def create_vm(cmd, vm_name, resource_group_name, image=None, size='Standard_DS1_
12141214
type_handler_version=version,
12151215
settings=None,
12161216
auto_upgrade_minor_version=True,
1217-
enable_automatic_upgrade=None)
1217+
enable_automatic_upgrade=not disable_integrity_monitoring_autoupgrade)
12181218
try:
12191219
LongRunningOperation(cmd.cli_ctx)(client.virtual_machine_extensions.begin_create_or_update(
12201220
resource_group_name, vm_name, 'GuestAttestation', ext))
@@ -3165,7 +3165,7 @@ def create_vmss(cmd, vmss_name, resource_group_name, image=None,
31653165
os_disk_security_encryption_type=None, os_disk_secure_vm_disk_encryption_set=None,
31663166
os_disk_delete_option=None, data_disk_delete_option=None, regular_priority_count=None,
31673167
regular_priority_percentage=None, disk_controller_type=None, nat_rule_name=None,
3168-
enable_osimage_notification=None, max_surge=None):
3168+
enable_osimage_notification=None, max_surge=None, disable_integrity_monitoring_autoupgrade=False):
31693169
from azure.cli.core.commands.client_factory import get_subscription_id
31703170
from azure.cli.core.util import random_string, hash_string
31713171
from azure.cli.core.commands.arm import ArmTemplateBuilder
@@ -3572,7 +3572,7 @@ def _get_public_ip_address_allocation(value, sku):
35723572
settings=None,
35733573
auto_upgrade_minor_version=True,
35743574
provision_after_extensions=None,
3575-
enable_automatic_upgrade=None)
3575+
enable_automatic_upgrade=not disable_integrity_monitoring_autoupgrade)
35763576
if not vmss.virtual_machine_profile.extension_profile:
35773577
vmss.virtual_machine_profile.extension_profile = VirtualMachineScaleSetExtensionProfile(extensions=[])
35783578
vmss.virtual_machine_profile.extension_profile.extensions.append(ext)

src/azure-cli/azure/cli/command_modules/vm/linter_exclusions.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,9 @@ vmss create:
5050
enable_osimage_notification:
5151
rule_exclusions:
5252
- option_length_too_long
53+
disable_integrity_monitoring_autoupgrade:
54+
rule_exclusions:
55+
- option_length_too_long
5356
vmss update:
5457
parameters:
5558
enable_cross_zone_upgrade:
@@ -100,6 +103,9 @@ vm create:
100103
os_disk_secure_vm_disk_encryption_set:
101104
rule_exclusions:
102105
- option_length_too_long
106+
disable_integrity_monitoring_autoupgrade:
107+
rule_exclusions:
108+
- option_length_too_long
103109
vm unmanaged-disk attach:
104110
parameters:
105111
size_gb:

0 commit comments

Comments
 (0)