
    Vh"
                     N    d Z dZddlmZ  G d de      Zd Zedk(  r e        yy)	ac  
---
module: group_assignment
short_description: Assign OpenStack identity users to groups
author: OpenStack Ansible SIG
description:
  - Add and remove OpenStack identity (Keystone) users to/from groups.
options:
  group:
    description:
      - Name or ID for the group.
    required: true
    type: str
  state:
    description:
      - Should the user be present or absent in the group.
    choices: [present, absent]
    default: present
    type: str
  user:
    description:
      - Name or ID for the user.
    required: true
    type: str
extends_documentation_fragment:
  - openstack.cloud.openstack
z
- name: Add demo_user user to demo_group group
  openstack.cloud.group_assignment:
    cloud: mycloud
    user: demo_user
    group: demo_group
    )OpenStackModulec                   j    e Zd Z e ed       edddg       ed            Z ed      Zd Zy	)
IdentityGroupAssignmentT)requiredpresentabsent)defaultchoices)groupstateuser)supports_check_modec                    | j                   d   }| j                  j                  j                  |d      }| j                   d   }| j                  j                  j	                  |d      }| j                  j                  j                  ||      }| j                   d   }| j                  j                  r%| j                  |dk(  xr | xs	 |dk(  xr |       |dk(  r;|s9| j                  j                  j                  ||       | j                  d	       y |dk(  r;|r9| j                  j                  j                  ||       | j                  d	       y | j                  d       y )
Nr   F)ignore_missingr   r   r   r   )changedT)paramsconnidentity	find_user
find_groupcheck_user_in_groupansible
check_mode	exit_jsonadd_user_to_groupremove_user_from_group)selfuser_name_or_idr   group_name_or_idr   is_user_in_groupr   s          t/home/dcms/DCMS/lib/python3.12/site-packages/ansible_collections/openstack/cloud/plugins/modules/group_assignment.pyrunzIdentityGroupAssignment.run9   sW   ++f-yy!!++O;@ , B  ;;w/		""--.>=B . D II224? 	 G$<<""NNi'@0@,@ @)>.>  B
 I&6II00u=NN4N(h#3II55dEBNN4N(NN5N)    N)__name__
__module____qualname__dictargument_specmodule_kwargsr"    r#   r!   r   r   .   s?    D!9x.CD4 M  M*r#   r   c                  &    t               }  |         y )N)r   )modules    r!   mainr-   V   s    $&F
Hr#   __main__N)DOCUMENTATIONEXAMPLESBansible_collections.openstack.cloud.plugins.module_utils.openstackr   r   r-   r$   r*   r#   r!   <module>r2      s?   8 _%*o %*P
 zF r#   