
    o                     J    S r SSKJr  SSKJr  S rS rS rS rS r	S	 r
S
 rg)zDArgument processors for disk/machine image import surface arguments.    )arg_parsers)hooksc                 :    A [         R                  " S5      " 5       $ )zReturns empty DataDiskImageImport entry.

Args:
  value: A pointer to the DataDiskImageImport field in the request.

Returns:
  An empty DataDiskImageImport message.
DataDiskImageImportr   GetMessageClassvalues    Blib/googlecloudsdk/command_lib/migration/vms/image_import/hooks.pyGetDataDiskImageImportTransformr      s     			4	5	77    c                 :    A [         R                  " S5      " 5       $ )zReturns empty SkipOsAdaptationTransform entry.

Args:
  value: A pointer to the SkipOsAdaptation field in the request.

Returns:
  An empty SkipOsAdaptation message.
SkipOsAdaptationr   r	   s    r   GetSkipOsAdaptationTransformr   $   s     			1	2	44r   c                 :    A [         R                  " S5      " 5       $ )zReturns empty Encryption entry.

Args:
  value: A pointer to the Encryption field in the request.

Returns:
  An empty Encryption message.

Encryptionr   r	   s    r   GetEncryptionTransformr   1   s     			|	,	..r   c                 >    U R                  5       R                  5       $ )zReturns the project name for the given resource reference.

Args:
  ref: The resource reference.
Returns:
  The project name for the given resource reference.
)Parent)refs    r   
GetProjectr   >   s     
			r   c                    UR                   (       d_  UR                  (       dN  UR                  (       d=  UR                  (       d,  UR                  (       d  SUR
                  R                  l        UR                  (       d)  U R                  5       UR
                  R                  l
        UR                  (       a  [        UR
                  R                  R                  5      UR
                  R                  l        UR                  UR
                  R                  R                  l        [        UR
                  R                  5      UR
                  l        UR                  UR
                  R                  l        / nUR                  (       a  UR
                  R                  R                  (       d4  [        R                   " S5      " 5       UR
                  R                  l        [#        UR                  5      n[#        UR                  5      UR
                  R                  R                  l        UR                  (       a4  UR'                  [        R                   " S5      " SUR                  S95        U(       a%  UUR
                  R                  R                  l        [        R(                  " [+        U 5      XR
                  R                  5        U$ )zFixes the Create Image Import request for disk image import.

Args:
  ref: The resource reference.
  args: The parsed arguments.
  req: The request message.

Returns:
  The modified request message.
N!ImageImportOsAdaptationParametersAdaptationModifierrootfs-uuidmodifierr
   )
generalizelicense_typeboot_conversionadaptation_modifiersrootfs_uuidimageImportdiskImageTargetDefaultsosAdaptationParameters
image_nameName	imageNamekms_keyr   
encryptionkmsKeyr   r   ProcessAdaptationModifiersadaptationModifiersappendFixTargetDetailsCommonFieldsr   r   argsreqr!   s       r   FixCreateDiskImageImportRequestr3   J   s    oo								"	"			EICOO++B	8;
COO++5	\\OO33>>	
 OO++6
 AECOO++66= 	s99: OO )-COO%	??22II


 C
D
F 
oo--D 6d6O6OPYs!!ZCOO++BBV 
23"$*:*:	

  OO++BBV $$ot__DD 
*r   c                    UR                   (       d)  U R                  5       UR                  R                  l        UR
                  (       d_  UR                  (       dN  UR                  (       d=  UR                  (       d,  UR                  (       d  SUR                  R                  l
        UR                  (       d=  UR                  (       d,  UR                  (       d  SUR                  R                  l        UR                  (       a  [!        UR                  R                  R"                  5      UR                  R                  l        UR                  UR                  R                  R"                  l        [!        UR                  R"                  5      UR                  l        UR                  UR                  R"                  l        / nUR                  (       an  UR                  R                  R                  (       d4  [&        R(                  " S5      " 5       UR                  R                  l
        [+        UR                  5      nUR                  (       a4  UR-                  [&        R(                  " S5      " SUR                  S95        U(       a%  UUR                  R                  R                  l        [&        R0                  " [3        U 5      XR                  R                  5        U$ )zFixes the Create Image Import request machine image import.

Args:
  ref: The resource reference.
  args: The parsed arguments.
  req: The request message.

Returns:
  The modified request message.
Nr   r   r   r   )machine_image_namer'   r#   machineImageTargetDefaultsmachineImageNamer   r   r    r!   r"   r%   secure_bootenable_vtpmenable_integrity_monitoringshieldedInstanceConfigr)   r   r*   r+   r   r   r,   r.   r-   r/   r   r0   s       r   "FixCreateMachineImageImportRequestr<      s    
	 	 BE((*COO..? //""''HLCOO..E 

..HLCOO..E	\\OO66AA	
 OO..9
 DH<<COO..99@ 	s99: OO )-COO%	??55LL


 C
D
F 
oo00G 6d6O6OP	23"$*:*:	

  OO..EEY $$ot__GG 
*r   c                     U (       d  / $ [        U [        5      (       a  U R                  S5      nO.[        U [        5      (       a  U nO[        R
                  " S5      e/ nU H  nU(       d  M  SU;  a)  [        R                  " S5      " UR                  5       S9nOKUR                  SS5      u  pV[        R                  " S5      " UR                  5       UR                  5       S9nUR                  U5        M     U$ )a  Processes the adaptation modifiers to match the API format.

Args:
  adaptation_modifiers: A string or a list of strings representing the
    adaptation flags.

Returns:
  A list of dictionaries, where each dictionary represents a key-value
  pair with 'key' and 'value' fields.
,z;adaptation-modifiers must be a string or a list of strings.=r   )r      r   )

isinstancestrsplitlistr   ArgumentTypeErrorr   r   stripr.   )r!   
flags_listresultflagadaptation_flag_messagekeyr
   s          r   r,   r,      s     
I$c**%++C0J&--%J

'
'E  &d
$ % 5 56J K::<! ::c1%jc % 5 56J K99;ekkm! MM)*  
-r   N)__doc__googlecloudsdk.callioper   (googlecloudsdk.command_lib.migration.vmsr   r   r   r   r   r3   r<   r,    r   r   <module>rP      s7    K / :
8
5
/;~@P$r   