
    -                     Z    d Z ddlmZ ddlmZ ddlmZ ddlmZ dZd Zd Z	d	 Z
d
 Zd Zy)zCUseful commands for interacting with the Cloud Identity Groups API.    )absolute_import)division)unicode_literals)apiscloudidentityc                 6    t        j                  t        |       S )zImport and return the appropriate Cloud Identity Groups client.

  Args:
    version: str, the version of the API desired

  Returns:
    Cloud Identity Groups client for the appropriate release track
  )r   GetClientInstanceAPI_NAMEversions    ;lib/googlecloudsdk/api_lib/identity/cloudidentity_client.py	GetClientr           
		'	22    c                 6    t        j                  t        |       S )zImport and return the appropriate Cloud Identity Groups messages module.

  Args:
    version: str, the version of the API desired

  Returns:
    Cloud Identity Groups messages for the appropriate release track
  )r   GetMessagesModuler
   r   s    r   GetMessagesr   %   r   r   c                     t        |       }t        |       }|j                  j                  |j	                  |            S )zGet a Cloud Identity Group.

  Args:
    version: Release track information.
    group: Name of group as returned by LookupGroupName()
      (i.e. 'groups/{group_id}').
  Returns:
    Group resource object.
  )name)r   r   groupsGetCloudidentityGroupsGetRequest)r   groupclientmessagess       r   GetGroupr   1   s@     W&!(			,,%,8
: :r   c                     t        |       }t        |       }|j                  j                  |j	                  |            S )a8  Lookup Group Name for a specified group key id.

  Args:
    version: Release track information
    email: str, group email

  Returns:
    LookupGroupNameResponse: Response message for LookupGroupName operation
    which is containing a resource name of the group in the format:
    'name: groups/{group_id}'
  )groupKey_id)r   r   r   Lookup CloudidentityGroupsLookupRequest)r   emailr   r   s       r   LookupGroupNamer"   A   sB     W&!(			//E/B
D Dr   c                     t        |       }t        |       }|j                  j                  |j	                  ||            S )a  Lookup membership name for a specific pair of member key id and group email.

  Args:
    version: Release track information
    group_id: str, group id (e.g. groups/03qco8b4452k99t)
    member_email: str, member email
  Returns:
    LookupMembershipNameResponse: Response message for LookupMembershipName
    operation which is containing a resource name of the membership in the
    format:
    'name: members/{member_id}'
  )memberKey_idparent)r   r   groups_membershipsr   +CloudidentityGroupsMembershipsLookupRequest)r   group_idmember_emailr   r   s        r   LookupMembershipNamer*   U   sI     W&!(		"	"	)	)::#H ; 6
7 7r   N)__doc__
__future__r   r   r   googlecloudsdk.api_lib.utilr   r
   r   r   r   r"   r*    r   r   <module>r/      s6    J &  ' ,	3	3: D(7r   