
                            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 ddlmZ e	j*                   e	j,                  e	j.                  j0                         G d de	j2                                      Ze	j*                   e	j,                  e	j.                  j6                         G d de                    Zy)zList all secret names.    )absolute_import)division)unicode_literals)api)base)
exceptions)parser_arguments)parser_extensions)args)fmt)resource_expr_rewrite)resource_projection_specc                   r    e Zd ZdZedej                  fd       Zdej                  de
j                  fdZy)List  List all secret names.

  List all secret names. This command only returns the secret's names, not
  their secret data. To learn about retrieving a secret's data, run
  `$ {parent_command} versions access --help`.

  ## EXAMPLES

  List secret names.

    $ {command}
  parserc                     t        j                  |        t        j                  | dd       t        j                  j                  | d       y)zArgs is called by calliope to gather arguments for list secret command.

    Args:
      parser: An argparse parser that you can use to add arguments that will be
        available to this command.
    to list regional secretsFpurposehiddend   Nsecrets_args
AddProjectAddLocationr   PAGE_SIZE_FLAG
SetDefaultr   s    lib/surface/secrets/list.pyArgsz	List.Args0   s@     F#25 	""63/    r   returnc                    t        j                  | j                               }|j                  r<|j                  j                  j                         }t        j                  ||       n;|j                  j                  j                         }t        j                  ||       |st        j                  dd      d}|j                  rot        j                         }|j                         }t!        j"                  |j$                  |j&                        }|j)                  |j                  |      \  }}t        j*                  |      j-                  ||j.                  |      S )zRun is called by calliope to implement the list secrets command.

    Args:
      args: an argparse namespace, all the arguments that were provided to this
        command invocation.

    Returns:
      API call to invoke list secrets.
    api_versionprojectzUPlease set a project with `--project` flag or `gcloud config set project PROJECT_ID`.Nsymbolsaliasesdefaultsproject_reflimitrequest_filter)secrets_apiGetApiFromTrackReleaseTracklocationCONCEPTSParsesecrets_fmt RegionalSecretTableUsingArgumentr'   SecretTableUsingArgumentr   RequiredArgumentExceptionfilterr   BackendGetDisplayInfor   ProjectionSpec
transformsr*   RewriteSecretsListWithPagerr/   )	selfr   r&   r.   server_filterrewriterdisplay_infor,   _s	            r    RunzList.Run>   s1    --d.?.?.ABK}}MM**002k22
K MM))//1k**4[I00
" 
 M{{&..0h((*l)88))<3G3Gh "))$++)Ia;7EEtzz- F  r"   N)__name__
__module____qualname____doc__staticmethodr	   ArgumentInterceptorr!   r
   	Namespacer1   rA   rH    r"   r    r   r       sI     0#77 0 0$'11 $k6I6I $r"   r   c                   &    e Zd ZdZed        Zd Zy)ListBetar   c                     t        j                  |        t        j                  | dd       t        j                  j                  | d       y )Nr   Fr   r   r   r   s    r    r!   zListBeta.Argsu   s>    F#25 	""63/r"   c                    t        j                  | j                               }|j                  j                  j                         }|j                  j                  j                         }|j                  r|}t        j                  ||       nt        j                  ||       |st        j                  dd      d }|j                  rot        j                         }|j                         }t!        j"                  |j$                  |j&                        }|j)                  |j                  |      \  }	}t        j*                  |      j-                  ||j.                  |      S )Nr%   r'   zWPlease set a project with `--project` flag or `gcloud config set project <project_id>`.r(   r+   r-   )r1   r2   r3   r5   r'   r6   r4   r7   r8   r9   r   r:   r;   r   r<   r=   r   r>   r?   r*   r@   rA   rB   r/   )
rC   r   r&   r.   location_refrD   rE   rF   r,   rG   s
             r    rH   zListBeta.Run}   s4   --d.?.?.ABK--''--/K==))//1L}} k22
K **4[I00
$ 
 M{{&..0h((*l)88))<3G3Gh "))$++)Ia;7EEtzz- F  r"   N)rI   rJ   rK   rL   rM   r!   rH   rP   r"   r    rR   rR   e   s      0 0r"   rR   N)rL   
__future__r   r   r   googlecloudsdk.api_lib.secretsr   r1   googlecloudsdk.callioper   r   r	   r
   "googlecloudsdk.command_lib.secretsr   r   r   r7   googlecloudsdk.core.resourcer   r   DefaultUniverseOnlyReleaseTracksr3   GAListCommandr   BETArR   rP   r"   r    <module>r`      s     &  ' = ( . 4 5 C A > A D%%(()@4 @ * @F D%%**+2t 2 , 2r"   