1#!/usr/local/bin/python3.8
2# -*- coding:utf-8 -*-
3
4# Copyright (C) 2020 Inspur Inc. All Rights Reserved.
5# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
6
7from __future__ import (absolute_import, division, print_function)
8
9__metaclass__ = type
10
11DOCUMENTATION = '''
12---
13module: del_ad_group
14version_added: "0.1.0"
15author:
16    - WangBaoshan (@ISIB-group)
17short_description: Delete active directory group information.
18description:
19   - Delete active directory group information on Inspur server.
20deprecated:
21   removed_in: 3.0.0
22   why: Merge functions into the M(inspur.sm.ad_group) module.
23   alternative: Use M(inspur.sm.ad_group) instead.
24   removed_from_collection: inspur.sm
25options:
26    name:
27        description:
28            - Group name.
29        type: str
30        required: true
31extends_documentation_fragment:
32    - inspur.sm.ism
33'''
34
35EXAMPLES = '''
36- name: Ad group test
37  hosts: ism
38  connection: local
39  gather_facts: no
40  vars:
41    ism:
42      host: "{{ ansible_ssh_host }}"
43      username: "{{ username }}"
44      password: "{{ password }}"
45
46  tasks:
47
48  - name: "Delete active directory group information"
49    inspur.sm.del_ad_group:
50      name: "inspur"
51      provider: "{{ ism }}"
52'''
53
54RETURN = '''
55message:
56    description: Messages returned after module execution.
57    returned: always
58    type: str
59state:
60    description: Status after module execution.
61    returned: always
62    type: str
63changed:
64    description: Check to see if a change was made on the device.
65    returned: always
66    type: bool
67'''
68
69from ansible.module_utils.basic import AnsibleModule
70from ansible_collections.inspur.sm.plugins.module_utils.ism import (ism_argument_spec, get_connection)
71
72
73class AD(object):
74    def __init__(self, argument_spec):
75        self.spec = argument_spec
76        self.module = None
77        self.init_module()
78        self.results = dict()
79
80    def init_module(self):
81        """Init module object"""
82
83        self.module = AnsibleModule(
84            argument_spec=self.spec, supports_check_mode=False)
85
86    def run_command(self):
87        self.module.params['subcommand'] = 'deladgroup'
88        self.results = get_connection(self.module)
89        if self.results['State'] == 'Success':
90            self.results['changed'] = True
91
92    def show_result(self):
93        """Show result"""
94        self.module.exit_json(**self.results)
95
96    def work(self):
97        """Worker"""
98        self.run_command()
99        self.show_result()
100
101
102def main():
103    argument_spec = dict(
104        name=dict(type='str', required=True),
105    )
106    argument_spec.update(ism_argument_spec)
107    ad_obj = AD(argument_spec)
108    ad_obj.work()
109
110
111if __name__ == '__main__':
112    main()
113