@@ -1981,11 +1981,38 @@ def _validate_gallery_image_reference(cmd, namespace):
19811981 'format, please refer to the help sample' .format (gallery_image_reference ))
19821982
19831983
1984+ def _validate_gallery_image_reference_by_aaz (namespace ):
1985+ is_validate = 'gallery_image_reference' in namespace and namespace .gallery_image_reference is not None
1986+
1987+ if not is_validate :
1988+ return
1989+
1990+ from azure .cli .command_modules .vm ._image_builder import GalleryImageReferenceType
1991+ from ._vm_utils import is_compute_gallery_image_id , is_community_gallery_image_id , \
1992+ is_shared_gallery_image_id
1993+
1994+ gallery_image_reference = namespace .gallery_image_reference
1995+ if is_compute_gallery_image_id (gallery_image_reference ):
1996+ namespace .gallery_image_reference_type = GalleryImageReferenceType .COMPUTE .backend_key
1997+ return
1998+ if is_community_gallery_image_id (gallery_image_reference ):
1999+ namespace .gallery_image_reference_type = GalleryImageReferenceType .COMMUNITY .backend_key
2000+ return
2001+ if is_shared_gallery_image_id (gallery_image_reference ):
2002+ namespace .gallery_image_reference_type = GalleryImageReferenceType .SHARED .backend_key
2003+ return
2004+
2005+ from azure .cli .core .parser import InvalidArgumentValueError
2006+ raise InvalidArgumentValueError ('usage error: {} is an invalid gallery image reference, please provide valid '
2007+ 'compute, shared or community gallery image version. For details about valid '
2008+ 'format, please refer to the help sample' .format (gallery_image_reference ))
2009+
2010+
19842011def process_disk_create_namespace (cmd , namespace ):
19852012 from azure .core .exceptions import HttpResponseError
19862013 validate_tags (namespace )
19872014 validate_edge_zone (cmd , namespace )
1988- _validate_gallery_image_reference ( cmd , namespace )
2015+ _validate_gallery_image_reference_by_aaz ( namespace )
19892016 _validate_security_data_uri (namespace )
19902017 _validate_upload_type (cmd , namespace )
19912018 _validate_secure_vm_disk_encryption_set (namespace )
@@ -2029,10 +2056,10 @@ def _validate_upload_type(cmd, namespace):
20292056
20302057 if namespace .upload_type == 'UploadWithSecurityData' :
20312058
2032- if not cmd .supported_api_version (min_api = '2021-08-01' , operation_group = 'disks' ):
2033- raise ArgumentUsageError (
2034- "'UploadWithSecurityData' is not supported in the current profile. "
2035- "Please upgrade your profile with 'az cloud set --profile newerProfile' and try again" )
2059+ # if not cmd.supported_api_version(min_api='2021-08-01', operation_group='disks'):
2060+ # raise ArgumentUsageError(
2061+ # "'UploadWithSecurityData' is not supported in the current profile. "
2062+ # "Please upgrade your profile with 'az cloud set --profile newerProfile' and try again")
20362063
20372064 if not namespace .security_type :
20382065 raise RequiredArgumentMissingError (
0 commit comments