
                             S r SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJ	r	  SSK
Jr  SSK
Jr   " S	 S
\R                  5      rg)zUpdate the EkmConfig.    )absolute_import)division)unicode_literals)base)
exceptions)flags)resource_argsc                   4    \ rS rSrSr\S 5       rS rS rSr	g)Update   a:  Update the EkmConfig.

{command} can be used to update the EkmConfig. Applies to all CryptoKeys and
CryptoKeyVersions with a `protection level` of `external vpc`.

## EXAMPLES

The following command sets the default ekm-connection to `laplace` for its
project `foo` and location `us-east1`:

  $ {command} --location=us-east1
  --default-ekm-connection="projects/foo/locations/us-east1/ekmConnections/laplace"

The following command removes the default-ekm-connection in `us-east1` for the
current project:

$ {command} --location=us-east1 --default-ekm-connection=""


c                 `    [         R                  " U 5        [        R                  " U SS5        g )NTz
--location)r   AddDefaultEkmConnectionFlagr	   AddKmsLocationResourceArgForKMS)parsers    $lib/surface/kms/ekm_config/update.pyArgsUpdate.Args2   s"    	%%f-11&$M    c                 X    UnX$l         UR                  UR                  US9nSUl        U$ )N)name	ekmConfigdefaultEkmConnection)r   /CloudkmsProjectsLocationsUpdateEkmConfigRequestr   
updateMask)selfmessagesec_name
ekm_configekm_config_to_updatereqs         r   CreateRequestUpdate.CreateRequest7   s<    %07-

B
B__(< C >C ,CNJr   c                    [         R                  " 5       n[         R                  " 5       nUR                  R                  R                  5       nUR                  c  [        R                  " SS5      eSR                  UR                  UR                  5      nUR                  R                  UR                  US95      nU R                  X1R                  U5      nUR                  R!                  U5      $ )Nz--default-ekm-connectionzMust be specified.z$projects/{0}/locations/{1}/ekmConfig)r   )cloudkms_baseGetClientInstanceGetMessagesModuleCONCEPTSlocationParsedefault_ekm_connectionr   RequiredArgumentExceptionformat
projectsIdlocationsIdprojects_locationsGetEkmConfig,CloudkmsProjectsLocationsGetEkmConfigRequestr!   UpdateEkmConfig)r   argsclientr   loc_refekm_config_namer   
update_reqs           r   Run
Update.RunA   s    ,,.F..0Hmm$$**,G ""*001K1EG G =CCG//1O**77==  	> 	"#J
 ##H.I.I$.0J $$44Z@@r    N)
__name__
__module____qualname____firstlineno____doc__staticmethodr   r!   r8   __static_attributes__r:   r   r   r   r      s(    * N NAr   r   N)r?   
__future__r   r   r   googlecloudsdk.api_lib.cloudkmsr   r$   googlecloudsdk.callioper   googlecloudsdk.command_lib.kmsr   r	   UpdateCommandr   r:   r   r   <module>rG      s6     &  ' A ( . 0 8;AT ;Ar   