Server IP : 85.214.239.14 / Your IP : 18.225.72.181 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /lib/python3/dist-packages/ansible_collections/inspur/sm/plugins/modules/ |
Upload File : |
#!/usr/bin/python # -*- coding:utf-8 -*- # Copyright (C) 2020 Inspur Inc. All Rights Reserved. # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) from __future__ import (absolute_import, division, print_function) __metaclass__ = type DOCUMENTATION = ''' --- module: edit_power_budget version_added: "0.1.0" author: - WangBaoshan (@ISIB-group) short_description: Set power budget information. description: - Set power budget information on Inspur server. options: range: description: - Range of power budget watts. choices: ['True', 'False'] default: False type: bool domain: description: - Domain id. - Required when I(range=False). choices: ['system', 'cpu'] type: str action: description: - Type to action. - Required when I(range=False). choices: ['add', 'delete', 'open', 'close'] type: str id: description: - Policy id. - Required when I(range=False). choices: [1, 2, 3, 4] type: int watts: description: - Power budget watts of add. - Required when I(action=add). type: int start1: description: - Pause period of add, start time, from 0 to 24. type: int end1: description: - Pause period of add, end time,must be greater than start time,from 0 to 24. type: int week1: description: - Pause period of add,repetition period,the input parameters are 'Mon','Tue','Wed','Thur','Fri','Sat','Sun',separated by commas,such as Mon,Wed,Fri. type: list elements: str start2: description: - Pause period of add, start time, from 0 to 24. type: int end2: description: - Pause period of add, end time,must be greater than start time,from 0 to 24. type: int week2: description: - Pause period of add,repetition period,the input parameters are 'Mon','Tue','Wed','Thur','Fri','Sat','Sun',separated by commas,such as Mon,Wed,Fri. type: list elements: str start3: description: - Pause period of add, start time, from 0 to 24. type: int end3: description: - Pause period of add, end time,must be greater than start time,from 0 to 24. type: int week3: description: - Pause period of add,repetition period,the input parameters are 'Mon','Tue','Wed','Thur','Fri','Sat','Sun',separated by commas,such as Mon,Wed,Fri. type: list elements: str start4: description: - Pause period of add, start time, from 0 to 24. type: int end4: description: - Pause period of add, end time,must be greater than start time,from 0 to 24. type: int week4: description: - Pause period of add,repetition period,the input parameters are 'Mon','Tue','Wed','Thur','Fri','Sat','Sun',separated by commas,such as Mon,Wed,Fri. type: list elements: str start5: description: - Period of add, start time, from 0 to 24. type: int end5: description: - Pause period of add, end time,must be greater than start time,from 0 to 24. type: int week5: description: - Pause period of add,repetition period,the input parameters are 'Mon','Tue','Wed','Thur','Fri','Sat','Sun',separated by commas,such as Mon,Wed,Fri. type: list elements: str extends_documentation_fragment: - inspur.sm.ism ''' EXAMPLES = ''' - name: Power budget test hosts: ism connection: local gather_facts: no vars: ism: host: "{{ ansible_ssh_host }}" username: "{{ username }}" password: "{{ password }}" tasks: - name: "Get power budget range" inspur.sm.edit_power_budget: range: True provider: "{{ ism }}" - name: "add power budget" inspur.sm.edit_power_budget: action: "add" id: 1 watts: 1500 start1: 2 end1: 5 week1: - Mon - Wed - Fri provider: "{{ ism }}" - name: "Set power budget status to open" inspur.sm.edit_power_budget: action: "open" id: 1 provider: "{{ ism }}" - name: "Set power budget status to close" inspur.sm.edit_power_budget: action: "close" id: 1 provider: "{{ ism }}" - name: "Delete power budget" inspur.sm.edit_power_budget: action: "delete" id: 1 provider: "{{ ism }}" ''' RETURN = ''' message: description: Messages returned after module execution. returned: always type: str state: description: Status after module execution. returned: always type: str changed: description: Check to see if a change was made on the device. returned: always type: bool ''' from ansible.module_utils.basic import AnsibleModule from ansible_collections.inspur.sm.plugins.module_utils.ism import (ism_argument_spec, get_connection) class Power(object): def __init__(self, argument_spec): self.spec = argument_spec self.module = None self.init_module() self.results = dict() def init_module(self): """Init module object""" self.module = AnsibleModule( argument_spec=self.spec, supports_check_mode=False) def run_command(self): self.module.params['subcommand'] = 'setpowerbudget' self.results = get_connection(self.module) if self.results['State'] == 'Success': self.results['changed'] = True def show_result(self): """Show result""" self.module.exit_json(**self.results) def work(self): """Worker""" self.run_command() self.show_result() def main(): argument_spec = dict( range=dict(type='bool', default=False, choices=[True, False]), domain=dict(type='str', required=False, choices=['system', 'cpu']), action=dict(type='str', required=False, choices=['add', 'delete', 'open', 'close']), id=dict(type='int', required=False, choices=[1, 2, 3, 4]), watts=dict(type='int', required=False), start1=dict(type='int', required=False), end1=dict(type='int', required=False), week1=dict(type='list', elements='str', required=False), start2=dict(type='int', required=False), end2=dict(type='int', required=False), week2=dict(type='list', elements='str', required=False), start3=dict(type='int', required=False), end3=dict(type='int', required=False), week3=dict(type='list', elements='str', required=False), start4=dict(type='int', required=False), end4=dict(type='int', required=False), week4=dict(type='list', elements='str', required=False), start5=dict(type='int', required=False), end5=dict(type='int', required=False), week5=dict(type='list', elements='str', required=False), ) argument_spec.update(ism_argument_spec) power_obj = Power(argument_spec) power_obj.work() if __name__ == '__main__': main()