
    w                         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
KJr  SrS rS rS rS rS rSS jrS rS rS rS rS rS rS rS rS rg)zBFlags and helpers for the Cloud NetApp Files KMS Configs commands.    )absolute_import)division)unicode_literals)concepts)deps)flags)labels_util)concept_parsers)
propertiesz    table(
        name.basename():label=KMS_CONFIG_NAME:sort=1,
        name.segment(3):label=LOCATION,
        cryptoKeyName,
        state
    )c                  ,    [         R                  " SSS9$ )Nzkms-keyzThe KMS key of the {resource}name	help_textr    ResourceParameterAttributeConfig     :lib/googlecloudsdk/command_lib/netapp/kms_configs/flags.pyGetKmsKeyAttributeConfigr   )   s    		2	2 ?
 r   c                  ,    [         R                  " SSS9$ )Nzkms-keyringz!The KMS keyring of the {resource}r   r   r   r   r   GetKmsKeyRingAttributeConfigr   /   s    		2	2$G
 r   c                      [         R                  " SS[        R                  " [        R
                  R                  R                  5      /S9$ )Nzkms-projectz%The Cloud project for the {resource}.r   r   fallthroughs)r   r   r   PropertyFallthroughr   VALUEScoreprojectr   r   r   GetKmsProjectAttributeConfigr   5   s>    		2	27,,Z->->-C-C-K-KLM
 r   c                      [         R                  " S5      [         R                  " [        R                  R
                  R                  5      /n [        R                  " SSU S9$ )Nz
--locationzkms-locationz&The Cloud location for the {resource}.r   )	r   ArgFallthroughr   r   r   netapplocationr   r   )r   s    r   GetKmsLocationAttributeConfigr$   =   sW     ,'
z0077@@A	, 
	2	28
 r   c            	      t    [         R                  " SS[        5       [        5       [	        5       [        5       S9$ )Nz/cloudkms.projects.locations.keyRings.cryptoKeyskms_key)resource_name
projectsIdlocationsId
keyRingsIdcryptoKeysId)r   ResourceSpecr   r$   r   r   r   r   r   GetKmsKeyResourceSpecr-   K   s3    			7-//1-/+-
 r   c                 r    [         R                  R                  S[        5       SUS9R	                  U 5        g )Nz	--kms-keyzCThe Cloud KMS (Key Management Service) Crypto Key that will be used)r   resource_spec
group_helprequired)r
   ConceptParserForResourcer-   AddToParser)parserr1   s     r   AddKmsKeyResourceArgr6   Y   s6    ++)+
O ,  Kr   c                 &    SU < SU< SU< SU< 3$ )Nz	projects/z/locations/z
/keyRings/z/cryptoKeys/r   )kms_projectkms_locationkms_keyringr&   s       r   ConstructCryptoKeyNamer;   g   s    	
 r   c                 .    U R                  S5      nUS   $ )N/   splitr   
name_splits     r   "ExtractKmsProjectFromCryptoKeyNamerC   p       zz#*	Ar   c                 .    U R                  S5      nUS   $ )Nr=      r?   rA   s     r   #ExtractKmsLocationFromCryptoKeyNamerG   u   rD   r   c                 .    U R                  S5      nUS   $ )Nr=      r?   rA   s     r   "ExtractKmsKeyRingFromCryptoKeyNamerJ   z   rD   r   c                 .    U R                  S5      nUS   $ )Nr=      r?   rA   s     r   $ExtractKmsCryptoKeyFromCryptoKeyNamerM      rD   r   c                    [         R                  " [        R                  " S5      /5      R	                  U 5        [        U SS9  [        R                  " U S5        [        R                  " U 5        [        R                  " U 5        g)z#Add args for creating a KMS Config.zThe KMS Config to createTr1   
KMS ConfigN)
r
   r2   r   GetKmsConfigPresentationSpecr4   r6   AddResourceDescriptionArgAddResourceAsyncFlagr	   AddCreateLabelsFlagsr5   s    r   AddKMSConfigCreateArgsrV      sb    ))*DEFKv-!!&,7V$""6*r   c                     [         R                  " [        R                  " S5      /5      R	                  U 5        [        R
                  " U 5        g)z#Add args for deleting a KMS Config.zThe KMS Config to deleteNr
   r2   r   rQ   r4   rS   rU   s    r   AddKMSConfigDeleteArgsrY      s:    ))*DEFKV$r   c                    [         R                  " [        R                  " S5      /5      R	                  U 5        [        U SS9  [        R                  " U S5        [        R                  " U 5        [        R                  " U 5        g)z#Add args for updating a KMS Config.zThe KMS Config to updateFrO   rP   N)
r
   r2   r   rQ   r4   r6   rR   rS   r	   AddUpdateLabelsFlagsrU   s    r   AddKMSConfigUpdateArgsr\      sb    ))*DEFKv.!!&,7V$""6*r   c                     [         R                  " [        R                  " S5      /5      R	                  U 5        [        R
                  " U 5        g)z3Add args for encrypting volumes under a KMS Config.zThe KMS Config used to encryptNrX   rU   s    r   AddKMSConfigEncryptArgsr^      s:    ))*JKLKV$r   N)T) __doc__
__future__r   r   r    googlecloudsdk.calliope.conceptsr   r   !googlecloudsdk.command_lib.netappr   $googlecloudsdk.command_lib.util.argsr	   (googlecloudsdk.command_lib.util.conceptsr
   googlecloudsdk.corer   KMS_CONFIGS_LIST_FORMATr   r   r   r$   r-   r6   r;   rC   rG   rJ   rM   rV   rY   r\   r^   r   r   r   <module>rg      sy    I &  ' 5 1 3 < D *	 


+%+%r   