
    
                     L   d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z	 ddl
mZ ddl
mZ ddlmZ  e	j                  e	j                   j"                         G d	 d
e	j$                               Z e	j                  e	j                   j(                         G d de             Zy)z:Implements command to update a specified patch deployment.    )absolute_import)division)unicode_literals)utils)base)flags)
propertiesc                   0    e Zd ZdZdddZed        Zd Zy)Updatez%Update patch deployment in a project.z      Updates a patch deployment in a project. To update the patch deployment,
      you must specify a configuration file.
      z      To update a patch deployment `patch-deployment-1` in the current project,
      run:

          $ {command} patch-deployment-1 --file=path_to_config_file
      )DESCRIPTIONEXAMPLESc                 4    t        j                  | dd       y )Nv1 api_versionrelease_trackr   AddPatchDeploymentsUpdateFlagsparsers    9lib/surface/compute/os_config/patch_deployments/update.pyArgszUpdate.Args/   s    	((D4    c                    | j                         }t        j                  |      }t        j                  |      }t	        j
                  |j                  |j                        \  }}t        j                  j                  j                  j                         }|j                  |t	        j                  ||j                        d      }|j                   }	|	j#                  |      S )zSee base class.N)patchDeploymentname
updateMask)ReleaseTrackosconfig_api_utilsGetClientInstanceGetClientMessagesosconfig_command_utils"GetResourceAndUpdateFieldsFromFilefilePatchDeploymentr	   VALUEScoreproject	GetOrFail,OsconfigProjectsPatchDeploymentsPatchRequestGetPatchDeploymentUriPathPATCH_DEPLOYMENT_IDprojects_patchDeploymentsPatch)
selfargsr   clientmessagespatch_deployment_r)   requestservices
             r   Runz
Update.Run4   s    %%'M11-@F!33MBH !
C
C	H,,. $$,,668GCC(#==T--/	 D G ..G==!!r   N)__name__
__module____qualname____doc__detailed_helpstaticmethodr   r8    r   r   r   r      s/    -


- 4 4"r   r   c                        e Zd ZdZed        Zy)
UpdateBetaz'Update a patch deployment in a project.c                 4    t        j                  | dd       y )Nv1betabetar   r   r   s    r   r   zUpdateBeta.ArgsN   s    	((HF<r   N)r9   r:   r;   r<   r>   r   r?   r   r   rA   rA   J   s    /< <r   rA   N)r<   
__future__r   r   r   (googlecloudsdk.api_lib.compute.os_configr   r    googlecloudsdk.callioper   ,googlecloudsdk.command_lib.compute.os_configr   r#   googlecloudsdk.corer	   ReleaseTracksr   GACommandr   BETArA   r?   r   r   <module>rN      s    A &  ' P ( > X * D%%(()*"T\\ *" **"Z D%%**+< < ,<r   