Skip to content

Commit e39ecb4

Browse files
authored
{Compute} az vmss encryption: Migrate to AAZ (#31622)
1 parent 7ff0a80 commit e39ecb4

29 files changed

+8798
-226
lines changed

src/azure-cli/azure/cli/command_modules/vm/aaz/latest/vmss/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515
from ._list_instance_public_ips import *
1616
from ._list_instances import *
1717
from ._list_skus import *
18+
from ._patch import *
1819
from ._perform_maintenance import *
1920
from ._simulate_eviction import *
21+
from ._update import *
2022
from ._update_domain_walk import *
23+
from ._wait import *

src/azure-cli/azure/cli/command_modules/vm/aaz/latest/vmss/_get_os_upgrade_history.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,7 @@ def _build_schema_on_200(cls):
213213
)
214214
rollback_info.rollback_error = AAZObjectType(
215215
serialized_name="rollbackError",
216+
flags={"read_only": True},
216217
)
217218
_GetOsUpgradeHistoryHelper._build_schema_api_error_read(rollback_info.rollback_error)
218219
rollback_info.successfully_rolledback_instance_count = AAZIntType(

src/azure-cli/azure/cli/command_modules/vm/aaz/latest/vmss/_list.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ def _build_schema_on_200(cls):
169169
_element.id = AAZStrType(
170170
flags={"read_only": True},
171171
)
172-
_element.identity = AAZObjectType()
172+
_element.identity = AAZIdentityObjectType()
173173
_element.location = AAZStrType(
174174
flags={"required": True},
175175
)
@@ -1262,7 +1262,7 @@ def _build_schema_on_200(cls):
12621262
_element.id = AAZStrType(
12631263
flags={"read_only": True},
12641264
)
1265-
_element.identity = AAZObjectType()
1265+
_element.identity = AAZIdentityObjectType()
12661266
_element.location = AAZStrType(
12671267
flags={"required": True},
12681268
)

src/azure-cli/azure/cli/command_modules/vm/aaz/latest/vmss/_list_instance_public_ips.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -534,6 +534,7 @@ def _build_schema_network_interface_ip_configuration_read(cls, _schema):
534534
properties.location = AAZStrType()
535535
properties.outbound_rule = AAZObjectType(
536536
serialized_name="outboundRule",
537+
flags={"read_only": True},
537538
)
538539
cls._build_schema_sub_resource_read(properties.outbound_rule)
539540
properties.outbound_rules = AAZListType(
@@ -586,6 +587,7 @@ def _build_schema_network_interface_ip_configuration_read(cls, _schema):
586587
cls._build_schema_sub_resource_read(properties.load_balancer_frontend_ip_configuration)
587588
properties.network_interface_ip_configuration = AAZObjectType(
588589
serialized_name="networkInterfaceIPConfiguration",
590+
flags={"read_only": True},
589591
)
590592
cls._build_schema_sub_resource_read(properties.network_interface_ip_configuration)
591593
properties.subnet = AAZObjectType()
@@ -649,6 +651,7 @@ def _build_schema_network_interface_ip_configuration_read(cls, _schema):
649651
cls._build_schema_sub_resource_read(properties.backend_address_pool)
650652
properties.backend_ip_configuration = AAZObjectType(
651653
serialized_name="backendIPConfiguration",
654+
flags={"read_only": True},
652655
)
653656
cls._build_schema_network_interface_ip_configuration_read(properties.backend_ip_configuration)
654657
properties.backend_port = AAZIntType(
@@ -801,6 +804,7 @@ def _build_schema_network_interface_read(cls, _schema):
801804
)
802805
properties.dscp_configuration = AAZObjectType(
803806
serialized_name="dscpConfiguration",
807+
flags={"read_only": True},
804808
)
805809
cls._build_schema_sub_resource_read(properties.dscp_configuration)
806810
properties.enable_accelerated_networking = AAZBoolType(
@@ -1023,6 +1027,7 @@ def _build_schema_network_interface_read(cls, _schema):
10231027
)
10241028
properties.private_endpoint = AAZObjectType(
10251029
serialized_name="privateEndpoint",
1030+
flags={"read_only": True},
10261031
)
10271032
cls._build_schema_private_endpoint_read(properties.private_endpoint)
10281033
properties.private_link_service_connection_state = AAZObjectType(

src/azure-cli/azure/cli/command_modules/vm/aaz/latest/vmss/_list_instances.py

Lines changed: 70 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ class ListInstances(AAZCommand):
2121
"""
2222

2323
_aaz_info = {
24-
"version": "2023-09-01",
24+
"version": "2024-11-01",
2525
"resources": [
26-
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.compute/virtualmachinescalesets/{}/virtualmachines", "2023-09-01"],
26+
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.compute/virtualmachinescalesets/{}/virtualmachines", "2024-11-01"],
2727
]
2828
}
2929

@@ -141,7 +141,7 @@ def query_parameters(self):
141141
"$select", self.ctx.args.select,
142142
),
143143
**self.serialize_query_param(
144-
"api-version", "2023-09-01",
144+
"api-version", "2024-11-01",
145145
required=True,
146146
),
147147
}
@@ -191,7 +191,7 @@ def _build_schema_on_200(cls):
191191
_element.id = AAZStrType(
192192
flags={"read_only": True},
193193
)
194-
_element.identity = AAZObjectType()
194+
_element.identity = AAZIdentityObjectType()
195195
_element.instance_id = AAZStrType(
196196
serialized_name="instanceId",
197197
flags={"read_only": True},
@@ -209,7 +209,9 @@ def _build_schema_on_200(cls):
209209
_element.resources = AAZListType(
210210
flags={"read_only": True},
211211
)
212-
_element.sku = AAZObjectType()
212+
_element.sku = AAZObjectType(
213+
flags={"read_only": True},
214+
)
213215
_element.tags = AAZDictType()
214216
_element.type = AAZStrType(
215217
flags={"read_only": True},
@@ -269,6 +271,7 @@ def _build_schema_on_200(cls):
269271
)
270272
properties.instance_view = AAZObjectType(
271273
serialized_name="instanceView",
274+
flags={"read_only": True},
272275
)
273276
properties.latest_model_applied = AAZBoolType(
274277
serialized_name="latestModelApplied",
@@ -297,6 +300,9 @@ def _build_schema_on_200(cls):
297300
serialized_name="provisioningState",
298301
flags={"read_only": True},
299302
)
303+
properties.resilient_vm_deletion_status = AAZStrType(
304+
serialized_name="resilientVMDeletionStatus",
305+
)
300306
properties.security_profile = AAZObjectType(
301307
serialized_name="securityProfile",
302308
)
@@ -393,6 +399,7 @@ def _build_schema_on_200(cls):
393399
)
394400
instance_view.vm_health = AAZObjectType(
395401
serialized_name="vmHealth",
402+
flags={"read_only": True},
396403
)
397404

398405
boot_diagnostics = cls._schema_on_200.value.Element.properties.instance_view.boot_diagnostics
@@ -404,7 +411,9 @@ def _build_schema_on_200(cls):
404411
serialized_name="serialConsoleLogBlobUri",
405412
flags={"read_only": True},
406413
)
407-
boot_diagnostics.status = AAZObjectType()
414+
boot_diagnostics.status = AAZObjectType(
415+
flags={"read_only": True},
416+
)
408417
_ListInstancesHelper._build_schema_instance_view_status_read(boot_diagnostics.status)
409418

410419
disks = cls._schema_on_200.value.Element.properties.instance_view.disks
@@ -481,7 +490,9 @@ def _build_schema_on_200(cls):
481490
_ListInstancesHelper._build_schema_instance_view_status_read(statuses.Element)
482491

483492
vm_health = cls._schema_on_200.value.Element.properties.instance_view.vm_health
484-
vm_health.status = AAZObjectType()
493+
vm_health.status = AAZObjectType(
494+
flags={"read_only": True},
495+
)
485496
_ListInstancesHelper._build_schema_instance_view_status_read(vm_health.status)
486497

487498
network_profile = cls._schema_on_200.value.Element.properties.network_profile
@@ -754,6 +765,7 @@ def _build_schema_on_200(cls):
754765
serialized_name="publicIPAddressConfiguration",
755766
)
756767
properties.subnet = AAZObjectType()
768+
_ListInstancesHelper._build_schema_api_entity_reference_read(properties.subnet)
757769

758770
application_gateway_backend_address_pools = cls._schema_on_200.value.Element.properties.network_profile_configuration.network_interface_configurations.Element.properties.ip_configurations.Element.properties.application_gateway_backend_address_pools
759771
application_gateway_backend_address_pools.Element = AAZObjectType()
@@ -820,9 +832,6 @@ def _build_schema_on_200(cls):
820832
)
821833
_element.tag = AAZStrType()
822834

823-
subnet = cls._schema_on_200.value.Element.properties.network_profile_configuration.network_interface_configurations.Element.properties.ip_configurations.Element.properties.subnet
824-
subnet.id = AAZStrType()
825-
826835
os_profile = cls._schema_on_200.value.Element.properties.os_profile
827836
os_profile.admin_password = AAZStrType(
828837
serialized_name="adminPassword",
@@ -931,6 +940,7 @@ def _build_schema_on_200(cls):
931940
)
932941
windows_configuration.enable_vm_agent_platform_updates = AAZBoolType(
933942
serialized_name="enableVMAgentPlatformUpdates",
943+
flags={"read_only": True},
934944
)
935945
windows_configuration.patch_settings = AAZObjectType(
936946
serialized_name="patchSettings",
@@ -1026,10 +1036,16 @@ def _build_schema_on_200(cls):
10261036

10271037
proxy_agent_settings = cls._schema_on_200.value.Element.properties.security_profile.proxy_agent_settings
10281038
proxy_agent_settings.enabled = AAZBoolType()
1039+
proxy_agent_settings.imds = AAZObjectType()
1040+
_ListInstancesHelper._build_schema_host_endpoint_settings_read(proxy_agent_settings.imds)
10291041
proxy_agent_settings.key_incarnation_id = AAZIntType(
10301042
serialized_name="keyIncarnationId",
10311043
)
10321044
proxy_agent_settings.mode = AAZStrType()
1045+
proxy_agent_settings.wire_server = AAZObjectType(
1046+
serialized_name="wireServer",
1047+
)
1048+
_ListInstancesHelper._build_schema_host_endpoint_settings_read(proxy_agent_settings.wire_server)
10331049

10341050
uefi_settings = cls._schema_on_200.value.Element.properties.security_profile.uefi_settings
10351051
uefi_settings.secure_boot_enabled = AAZBoolType(
@@ -1040,6 +1056,9 @@ def _build_schema_on_200(cls):
10401056
)
10411057

10421058
storage_profile = cls._schema_on_200.value.Element.properties.storage_profile
1059+
storage_profile.align_regional_disks_to_vm_zone = AAZBoolType(
1060+
serialized_name="alignRegionalDisksToVMZone",
1061+
)
10431062
storage_profile.data_disks = AAZListType(
10441063
serialized_name="dataDisks",
10451064
)
@@ -1089,6 +1108,10 @@ def _build_schema_on_200(cls):
10891108
)
10901109
_ListInstancesHelper._build_schema_managed_disk_parameters_read(_element.managed_disk)
10911110
_element.name = AAZStrType()
1111+
_element.source_resource = AAZObjectType(
1112+
serialized_name="sourceResource",
1113+
)
1114+
_ListInstancesHelper._build_schema_api_entity_reference_read(_element.source_resource)
10921115
_element.to_be_detached = AAZBoolType(
10931116
serialized_name="toBeDetached",
10941117
)
@@ -1187,7 +1210,7 @@ def _build_schema_on_200(cls):
11871210
serialized_name="instanceView",
11881211
)
11891212
_ListInstancesHelper._build_schema_virtual_machine_extension_instance_view_read(properties.instance_view)
1190-
properties.protected_settings = AAZObjectType(
1213+
properties.protected_settings = AAZFreeFormDictType(
11911214
serialized_name="protectedSettings",
11921215
)
11931216
properties.protected_settings_from_key_vault = AAZObjectType(
@@ -1202,7 +1225,7 @@ def _build_schema_on_200(cls):
12021225
flags={"read_only": True},
12031226
)
12041227
properties.publisher = AAZStrType()
1205-
properties.settings = AAZObjectType()
1228+
properties.settings = AAZFreeFormDictType()
12061229
properties.suppress_failures = AAZBoolType(
12071230
serialized_name="suppressFailures",
12081231
)
@@ -1234,6 +1257,21 @@ def _build_schema_on_200(cls):
12341257
class _ListInstancesHelper:
12351258
"""Helper class for ListInstances"""
12361259

1260+
_schema_api_entity_reference_read = None
1261+
1262+
@classmethod
1263+
def _build_schema_api_entity_reference_read(cls, _schema):
1264+
if cls._schema_api_entity_reference_read is not None:
1265+
_schema.id = cls._schema_api_entity_reference_read.id
1266+
return
1267+
1268+
cls._schema_api_entity_reference_read = _schema_api_entity_reference_read = AAZObjectType()
1269+
1270+
api_entity_reference_read = _schema_api_entity_reference_read
1271+
api_entity_reference_read.id = AAZStrType()
1272+
1273+
_schema.id = cls._schema_api_entity_reference_read.id
1274+
12371275
_schema_disk_encryption_set_parameters_read = None
12381276

12391277
@classmethod
@@ -1286,6 +1324,26 @@ def _build_schema_disk_encryption_settings_read(cls, _schema):
12861324
_schema.enabled = cls._schema_disk_encryption_settings_read.enabled
12871325
_schema.key_encryption_key = cls._schema_disk_encryption_settings_read.key_encryption_key
12881326

1327+
_schema_host_endpoint_settings_read = None
1328+
1329+
@classmethod
1330+
def _build_schema_host_endpoint_settings_read(cls, _schema):
1331+
if cls._schema_host_endpoint_settings_read is not None:
1332+
_schema.in_vm_access_control_profile_reference_id = cls._schema_host_endpoint_settings_read.in_vm_access_control_profile_reference_id
1333+
_schema.mode = cls._schema_host_endpoint_settings_read.mode
1334+
return
1335+
1336+
cls._schema_host_endpoint_settings_read = _schema_host_endpoint_settings_read = AAZObjectType()
1337+
1338+
host_endpoint_settings_read = _schema_host_endpoint_settings_read
1339+
host_endpoint_settings_read.in_vm_access_control_profile_reference_id = AAZStrType(
1340+
serialized_name="inVMAccessControlProfileReferenceId",
1341+
)
1342+
host_endpoint_settings_read.mode = AAZStrType()
1343+
1344+
_schema.in_vm_access_control_profile_reference_id = cls._schema_host_endpoint_settings_read.in_vm_access_control_profile_reference_id
1345+
_schema.mode = cls._schema_host_endpoint_settings_read.mode
1346+
12891347
_schema_instance_view_status_read = None
12901348

12911349
@classmethod

0 commit comments

Comments
 (0)