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