# flake8: noqa # pylint: skip-file DOCUMENTATION = ''' --- module: oc_user short_description: Create, modify, and idempotently manage openshift users. description: - Modify openshift users programmatically. options: state: description: - State controls the action that will be taken with resource - 'present' will create or update a user to the desired state - 'absent' will ensure user is removed - 'list' will read and return a list of users default: present choices: ["present", "absent", "list"] aliases: [] kubeconfig: description: - The path for the kubeconfig file to use for authentication required: false default: /etc/origin/master/admin.kubeconfig aliases: [] debug: description: - Turn on debug output. required: false default: False aliases: [] username: description: - Short username to query/modify. required: false default: None aliases: [] full_name: description: - String with the full name/description of the user. required: false default: None aliases: [] groups: description: - List of groups the user should be a member of. This does not add/update the legacy 'groups' field in the OpenShift user object, but makes user entries into the appropriate OpenShift group object for the given user. required: false default: [] aliases: [] author: - "Joel Diaz " extends_documentation_fragment: [] ''' EXAMPLES = ''' - name: Ensure user exists oc_user: state: present username: johndoe full_name "John Doe" groups: - dedicated-admins register: user_johndoe user_johndoe variable will have contents like: ok: [ded-int-aws-master-61034] => { "user_johndoe": { "changed": true, "results": { "cmd": "oc -n default get users johndoe -o json", "results": [ { "apiVersion": "v1", "fullName": "John DOe", "groups": null, "identities": null, "kind": "User", "metadata": { "creationTimestamp": "2017-02-28T15:09:21Z", "name": "johndoe", "resourceVersion": "848781", "selfLink": "/oapi/v1/users/johndoe", "uid": "e23d3300-fdc7-11e6-9e3e-12822d6b7656" } } ], "returncode": 0 }, "state": "present" } } 'groups' is empty because this field is the OpenShift user object's 'group' field. - name: Ensure user does not exist oc_user: state: absent username: johndoe - name: List user's info oc_user: state: list username: johndoe register: user_johndoe user_johndoe will have contents similar to: ok: [ded-int-aws-master-61034] => { "user_johndoe": { "changed": false, "results": [ { "apiVersion": "v1", "fullName": "John Doe", "groups": null, "identities": null, "kind": "User", "metadata": { "creationTimestamp": "2017-02-28T15:04:44Z", "name": "johndoe", "resourceVersion": "848280", "selfLink": "/oapi/v1/users/johndoe", "uid": "3d479ad2-fdc7-11e6-9e3e-12822d6b7656" } } ], "state": "list" } } '''