@@ -25,9 +25,9 @@ class Create(AAZCommand):
2525 """
2626
2727 _aaz_info = {
28- "version" : "2023-05 -01" ,
28+ "version" : "2025-06 -01" ,
2929 "resources" : [
30- ["mgmt-plane" , "/subscriptions/{}/resourcegroups/{}/providers/microsoft.netapp/netappaccounts/{}" , "2023-05 -01" ],
30+ ["mgmt-plane" , "/subscriptions/{}/resourcegroups/{}/providers/microsoft.netapp/netappaccounts/{}" , "2025-06 -01" ],
3131 ]
3232 }
3333
@@ -83,11 +83,6 @@ def _build_arguments_schema(cls, *args, **kwargs):
8383 # define Arg Group "Encryption"
8484
8585 _args_schema = cls ._args_schema
86- _args_schema .encryption_identity = AAZObjectArg (
87- options = ["--encryption-identity" ],
88- arg_group = "Encryption" ,
89- help = "Identity used to authenticate to KeyVault. Applicable if keySource is 'Microsoft.KeyVault'." ,
90- )
9186 _args_schema .key_source = AAZStrArg (
9287 options = ["--key-source" ],
9388 arg_group = "Encryption" ,
@@ -100,7 +95,7 @@ def _build_arguments_schema(cls, *args, **kwargs):
10095 arg_group = "Encryption" ,
10196 help = "The name of KeyVault key." ,
10297 )
103- _args_schema .key_vault_resource_id = AAZStrArg (
98+ _args_schema .key_vault_resource_id = AAZResourceIdArg (
10499 options = ["--keyvault-resource-id" , "--key-vault-resource-id" ],
105100 arg_group = "Encryption" ,
106101 help = "The resource ID of KeyVault." ,
@@ -111,29 +106,53 @@ def _build_arguments_schema(cls, *args, **kwargs):
111106 help = "The Uri of KeyVault." ,
112107 )
113108
114- encryption_identity = cls ._args_schema .encryption_identity
115- encryption_identity .user_assigned_identity = AAZStrArg (
116- options = ["user-assigned-identity" ],
109+ # define Arg Group "EncryptionIdentity"
110+
111+ _args_schema = cls ._args_schema
112+ _args_schema .federated_client_id = AAZStrArg (
113+ options = ["--federated-client-id" ],
114+ arg_group = "EncryptionIdentity" ,
115+ help = "ClientId of the multi-tenant AAD Application. Used to access cross-tenant keyvaults." ,
116+ )
117+ _args_schema .user_assigned_identity = AAZStrArg (
118+ options = ["-u" , "--user-assigned-identity" ],
119+ arg_group = "EncryptionIdentity" ,
117120 help = "The ARM resource identifier of the user assigned identity used to authenticate with key vault. Applicable if identity.type has 'UserAssigned'. It should match key of identity.userAssignedIdentities." ,
118121 )
119122
120123 # define Arg Group "Identity"
121124
122125 _args_schema = cls ._args_schema
126+ _args_schema .mi_system_assigned = AAZStrArg (
127+ options = ["--system-assigned" , "--mi-system-assigned" ],
128+ arg_group = "Identity" ,
129+ help = "Set the system managed identity." ,
130+ blank = "True" ,
131+ )
123132 _args_schema .identity_type = AAZStrArg (
124133 options = ["--type" , "--identity-type" ],
125134 arg_group = "Identity" ,
126135 help = "Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed)." ,
127136 enum = {"None" : "None" , "SystemAssigned" : "SystemAssigned" , "SystemAssigned,UserAssigned" : "SystemAssigned,UserAssigned" , "UserAssigned" : "UserAssigned" },
128137 )
138+ _args_schema .mi_user_assigned = AAZListArg (
139+ options = ["--user-assigned" , "--mi-user-assigned" ],
140+ arg_group = "Identity" ,
141+ help = "Set the user managed identities." ,
142+ blank = [],
143+ )
129144 _args_schema .user_assigned_identities = AAZDictArg (
130145 options = ["--user-ids" , "--user-assigned-identities" ],
131146 arg_group = "Identity" ,
132147 help = "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests." ,
133148 )
134149
150+ mi_user_assigned = cls ._args_schema .mi_user_assigned
151+ mi_user_assigned .Element = AAZStrArg ()
152+
135153 user_assigned_identities = cls ._args_schema .user_assigned_identities
136154 user_assigned_identities .Element = AAZObjectArg (
155+ nullable = True ,
137156 blank = {},
138157 )
139158
@@ -145,6 +164,16 @@ def _build_arguments_schema(cls, *args, **kwargs):
145164 arg_group = "Properties" ,
146165 help = "Active Directories" ,
147166 )
167+ _args_schema .nfs_v4_id_domain = AAZStrArg (
168+ options = ["--nfs-v4-id-domain" ],
169+ arg_group = "Properties" ,
170+ help = "Domain for NFSv4 user ID mapping. This property will be set for all NetApp accounts in the subscription and region and only affect non ldap NFSv4 volumes." ,
171+ nullable = True ,
172+ fmt = AAZStrArgFormat (
173+ pattern = "^[a-zA-Z0-9][a-zA-Z0-9.-]{0,253}[a-zA-Z0-9]$" ,
174+ max_length = 255 ,
175+ ),
176+ )
148177
149178 active_directories = cls ._args_schema .active_directories
150179 active_directories .Element = AAZObjectArg ()
@@ -196,9 +225,9 @@ def _build_arguments_schema(cls, *args, **kwargs):
196225 )
197226 _element .kdc_ip = AAZStrArg (
198227 options = ["kdc-ip" ],
199- help = "kdc server IP addresses for the active directory machine. This optional parameter is used only while creating kerberos volume." ,
228+ help = "kdc server IP address for the active directory machine. This optional parameter is used only while creating kerberos volume." ,
200229 fmt = AAZStrArgFormat (
201- pattern = "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\ .(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\ .(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\ .(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?) \\ .(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?) \\ .(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?) \\ .(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))* $" ,
230+ pattern = "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\ .(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\ .(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\ .(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" ,
202231 ),
203232 )
204233 _element .ldap_over_tls = AAZBoolArg (
@@ -387,7 +416,7 @@ def url_parameters(self):
387416 def query_parameters (self ):
388417 parameters = {
389418 ** self .serialize_query_param (
390- "api-version" , "2023-05 -01" ,
419+ "api-version" , "2025-06 -01" ,
391420 required = True ,
392421 ),
393422 }
@@ -421,15 +450,22 @@ def content(self):
421450 if identity is not None :
422451 identity .set_prop ("type" , AAZStrType , ".identity_type" , typ_kwargs = {"flags" : {"required" : True }})
423452 identity .set_prop ("userAssignedIdentities" , AAZDictType , ".user_assigned_identities" )
453+ identity .set_prop ("userAssigned" , AAZListType , ".mi_user_assigned" , typ_kwargs = {"flags" : {"action" : "create" }})
454+ identity .set_prop ("systemAssigned" , AAZStrType , ".mi_system_assigned" , typ_kwargs = {"flags" : {"action" : "create" }})
424455
425456 user_assigned_identities = _builder .get (".identity.userAssignedIdentities" )
426457 if user_assigned_identities is not None :
427- user_assigned_identities .set_elements (AAZObjectType , "." )
458+ user_assigned_identities .set_elements (AAZObjectType , "." , typ_kwargs = {"nullable" : True })
459+
460+ user_assigned = _builder .get (".identity.userAssigned" )
461+ if user_assigned is not None :
462+ user_assigned .set_elements (AAZStrType , "." )
428463
429464 properties = _builder .get (".properties" )
430465 if properties is not None :
431466 properties .set_prop ("activeDirectories" , AAZListType , ".active_directories" )
432467 properties .set_prop ("encryption" , AAZObjectType )
468+ properties .set_prop ("nfsV4IDDomain" , AAZStrType , ".nfs_v4_id_domain" , typ_kwargs = {"nullable" : True })
433469
434470 active_directories = _builder .get (".properties.activeDirectories" )
435471 if active_directories is not None :
@@ -479,18 +515,19 @@ def content(self):
479515
480516 encryption = _builder .get (".properties.encryption" )
481517 if encryption is not None :
482- encryption .set_prop ("identity" , AAZObjectType , ".encryption_identity" )
518+ encryption .set_prop ("identity" , AAZObjectType )
483519 encryption .set_prop ("keySource" , AAZStrType , ".key_source" )
484520 encryption .set_prop ("keyVaultProperties" , AAZObjectType )
485521
486522 identity = _builder .get (".properties.encryption.identity" )
487523 if identity is not None :
524+ identity .set_prop ("federatedClientId" , AAZStrType , ".federated_client_id" )
488525 identity .set_prop ("userAssignedIdentity" , AAZStrType , ".user_assigned_identity" )
489526
490527 key_vault_properties = _builder .get (".properties.encryption.keyVaultProperties" )
491528 if key_vault_properties is not None :
492529 key_vault_properties .set_prop ("keyName" , AAZStrType , ".key_name" , typ_kwargs = {"flags" : {"required" : True }})
493- key_vault_properties .set_prop ("keyVaultResourceId" , AAZStrType , ".key_vault_resource_id" , typ_kwargs = { "flags" : { "required" : True }} )
530+ key_vault_properties .set_prop ("keyVaultResourceId" , AAZStrType , ".key_vault_resource_id" )
494531 key_vault_properties .set_prop ("keyVaultUri" , AAZStrType , ".key_vault_uri" , typ_kwargs = {"flags" : {"required" : True }})
495532
496533 tags = _builder .get (".tags" )
@@ -559,7 +596,9 @@ def _build_schema_on_200_201(cls):
559596 )
560597
561598 user_assigned_identities = cls ._schema_on_200_201 .identity .user_assigned_identities
562- user_assigned_identities .Element = AAZObjectType ()
599+ user_assigned_identities .Element = AAZObjectType (
600+ nullable = True ,
601+ )
563602
564603 _element = cls ._schema_on_200_201 .identity .user_assigned_identities .Element
565604 _element .client_id = AAZStrType (
@@ -581,6 +620,14 @@ def _build_schema_on_200_201(cls):
581620 flags = {"read_only" : True },
582621 )
583622 properties .encryption = AAZObjectType ()
623+ properties .multi_ad_status = AAZStrType (
624+ serialized_name = "multiAdStatus" ,
625+ flags = {"read_only" : True },
626+ )
627+ properties .nfs_v4_id_domain = AAZStrType (
628+ serialized_name = "nfsV4IDDomain" ,
629+ nullable = True ,
630+ )
584631 properties .provisioning_state = AAZStrType (
585632 serialized_name = "provisioningState" ,
586633 flags = {"read_only" : True },
@@ -683,6 +730,9 @@ def _build_schema_on_200_201(cls):
683730 )
684731
685732 identity = cls ._schema_on_200_201 .properties .encryption .identity
733+ identity .federated_client_id = AAZStrType (
734+ serialized_name = "federatedClientId" ,
735+ )
686736 identity .principal_id = AAZStrType (
687737 serialized_name = "principalId" ,
688738 flags = {"read_only" : True },
@@ -702,7 +752,6 @@ def _build_schema_on_200_201(cls):
702752 )
703753 key_vault_properties .key_vault_resource_id = AAZStrType (
704754 serialized_name = "keyVaultResourceId" ,
705- flags = {"required" : True },
706755 )
707756 key_vault_properties .key_vault_uri = AAZStrType (
708757 serialized_name = "keyVaultUri" ,
0 commit comments