
    P	                        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 ej                  ej                   ej                  ej                   j"                         G d d	ej$                                             Zy
)z)Command to update a reCAPTCHA key policy.    )encoding)apis)arg_parsers)base)policies_util)recaptchaenterprise_v1_messagesc                   &    e Zd ZdZed        Zd Zy)Updatea  Update a reCAPTCHA key's policy.

  ## EXAMPLES

  To update a policy for a reCAPTCHA key:

      $ {command} --key=test-key  --policy=policy.yaml

  See [https://cloud.google.com/sdk/gcloud/reference/recaptcha/keys] for more
  details for recaptcha keys.
  c                 ~    t        j                  | d       | j                  dddt        j                                y )Nz	to updatez--policyzDPath to a YAML file or a JSON file containing the policy definition.T)helprequiredtype)r   AddKeyResourceArgadd_argumentr   YAMLFileContents)parsers    (lib/surface/recaptcha/policies/update.pyArgszUpdate.Args)   s>    ##FK8
 ))+      c                 |   t        j                  dd      }|j                  j                  j	                         }|j                         dz   }|j                  |j                  ni }t        j                  |t        j                        }t        j                  ||      }|j                  j                  |      S )Nrecaptchaenterprisev1z/policy)name&googleCloudRecaptchaenterpriseV1Policy)r   GetClientInstanceCONCEPTSkeyParseRelativeNamepolicyr   DictToMessagemessages&GoogleCloudRecaptchaenterpriseV1Policy2RecaptchaenterpriseProjectsKeysUpdatePolicyRequestprojects_keysUpdatePolicy)selfargsclientkey_refpolicy_namepolicy_dictpolicy_messagerequests           r   Runz
Update.Run6   s    ##$94@Fmm%%'G&&(94K!%!8$++bK++XDDN
 II/=G ,,W55r   N)__name__
__module____qualname____doc__staticmethodr   r/    r   r   r
   r
      s     
 
 
6r   r
   N)r3   apitools.base.pyr   googlecloudsdk.api_lib.utilr   googlecloudsdk.callioper   r   $googlecloudsdk.command_lib.recaptchar   <googlecloudsdk.generated_clients.apis.recaptchaenterprise.v1r   r"   HiddenDefaultUniverseOnlyReleaseTracksReleaseTrackALPHAUpdateCommandr
   r5   r   r   <module>rA      sp    0 % , / ( > t D%%++,)6T )6 -  )6r   