o
    `j                     @   sV   d dl mZmZmZmZmZmZmZmZ dd Z	dd Z
dddZd	d
 Zdd ZdS )    )ACL	ACLFilterACLOperationACLPermissionTypeACLResourcePatternTypeResourceTypeResourcePatternResourcePatternFilterc                 C   s   dd | D S )Nc                 S   s   g | ]}|j  qS  )namelower).0er
   r
   Y/home/djax/ivt_ai_plugin/venv/lib/python3.10/site-packages/kafka/cli/admin/acls/common.py
<listcomp>   s    z_enum_names.<locals>.<listcomp>r
   )enum_clsr
   r
   r   _enum_names   s   r   c                 C   s   | j dtddd | j dtddd | j dtdttd	d
 | j dtdttdd
 | j dtdttdd
 | j dtddd | j dtdttdd
 dS )zFAdd arguments for building an ACLFilter (used by describe and delete).--principalNACL principal (e.g. User:alice)typedefaulthelp--hostzACL host (default: match any)--operationanyzACL operation (default: any)r   r   choicesr   --permission-typez"ACL permission type (default: any)--resource-typezResource type (default: any)--resource-name$Resource name (* wildcards accepted)--pattern-typez$Resource pattern type (default: any)add_argumentstrr   r   r   r   r   )parserr
   r
   r   add_acl_filter_args   &   




r'   Fc                 C   s   | j dt|dd | j dtddd | j dt|ttd	d
 | j dtdttdd | j dt|ttdd
 | j dt|dd | j dtdttdd dS )z;Add arguments for building a concrete ACL (used by create).r   r   )r   requiredr   r   *zACL host (default: *)r   r   zACL operation)r   r)   r   r   r   allowz$ACL permission type (default: allow)r   r   zResource typer    r!   r"   literalz(Resource pattern type (default: literal)Nr#   )r&   r)   r
   r
   r   add_acl_args   r(   r-   c                 C   sJ   t | j| jt| j  t| j  tt	| j
  | jt| j  ddS )z-Build an ACLFilter from parsed CLI arguments.resource_typeresource_namepattern_type	principalhost	operationpermission_typeresource_pattern)r   r3   r4   r   r5   upperr   r6   r	   r   r/   r0   r   r1   argsr
   r
   r   acl_filter_from_args1   s   r;   c                 C   sN   t | j| jpdt| j  t| j  tt	| j
  | jt| j  ddS )z'Build an ACL from parsed CLI arguments.r*   r.   r2   )r   r3   r4   r   r5   r8   r   r6   r   r   r/   r0   r   r1   r9   r
   r
   r   acl_from_args@   s   r<   N)F)kafka.admin._aclsr   r   r   r   r   r   r   r	   r   r'   r-   r;   r<   r
   r
   r
   r   <module>   s   ( 
