
                             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 dd
lmZ ddlmZ ddlmZ ej$                   G d dej&                               Zy)z.`gcloud domains registrations update` command.    )absolute_import)division)unicode_literals)registrations)base)flags)resource_args)util)labels_util)
exceptions)logc                   &    e Zd ZdZed        Zd Zy)Updatea  Update a Cloud Domains registration.

  Update an existing registration. Currently used for updating labels only.
  Run:

    $ gcloud help alpha domains registrations configure

  to see how to change management, DNS or contact settings.

  ## EXAMPLES

  To add a label with key ``environment'' and value ``test'' for
  ``example.com'', run:

    $ {command} example.com --update-labels="project=example,environment=test"
  c                     t        j                  | d       t        j                  |        t	        j
                  |        y )Nz	to update)r	   AddRegistrationResourceArgr   AddUpdateLabelsFlagsr   AddAsyncFlagToParser)parsers    +lib/surface/domains/registrations/update.pyArgszUpdate.Args2   s.    ,,V[A$$V,	v&    c                    t        j                  |      }t        j                  |      }t        j                  |j
                        |_        |j                  j
                  j                         }d }t        j                  j                  |      }|j                         rZ|j                  |      }|j                  |j                  j                  j                   |j"                        j%                         }nt'        j(                  d      |re|j+                  ||      }t        j,                  |||j.                        }t1        j2                  |j5                         d|j.                         |S y )NzSpecify labels to update.
Run `gcloud help alpha domains registrations configure` to see how to change management, DNS or contact settings.)labelsregistration)r   GetApiVersionFromArgsRegistrationsClientr
   NormalizeResourceNamer   CONCEPTSParser   DiffFromUpdateArgsMayHaveUpdatesGetApplymessagesRegistrationLabelsValuer   	GetOrNoner   ErrorPatchWaitForOperationasync_r   UpdatedResourceName)	selfargsapi_versionclientregistration_reflabels_updatelabels_difforig_resourceresponses	            r   Runz
Update.Run8   s6   55d;K..{;F2243D3DED}}11779M""11$7K!!#jj!12m!''
//
&
&
2
2


  )	  ?@ @ .}Eh&&{HdkkJh	*//1>4;;Oo	 r   N)__name__
__module____qualname____doc__staticmethodr   r8    r   r   r   r      s     " ' '
r   r   N)r<   
__future__r   r   r   googlecloudsdk.api_lib.domainsr   googlecloudsdk.callioper   "googlecloudsdk.command_lib.domainsr   r	   r
   $googlecloudsdk.command_lib.util.argsr   googlecloudsdk.corer   r   DefaultUniverseOnlyUpdateCommandr   r>   r   r   <module>rG      sR    5 &  ' 8 ( 4 < 3 < * # .T . .r   