def main(): argument_spec = intersight_argument_spec argument_spec.update( resource_path=dict(type='str', required=True), query_params=dict(type='dict', default={}), update_method=dict(type='str', choices=['patch', 'post'], default='patch'), api_body=dict(type='dict', default={}), return_list=dict(type='bool', default=False), state=dict(type='str', choices=['absent', 'present'], default='present'), ) module = AnsibleModule( argument_spec, supports_check_mode=True, mutually_exclusive=[ ['return_list', 'api_body'], ['return_list', 'state'], ], ) intersight = IntersightModule(module) intersight.result['api_response'] = {} intersight.result['trace_id'] = '' # get the current state of the resource get_resource(intersight) # determine requested operation (config, delete, or neither (get resource only)) if module.params['state'] == 'present': request_delete = False # api_body implies resource configuration through post/patch request_config = bool(module.params['api_body']) else: # state == 'absent' request_delete = True request_config = False moid = None resource_values_match = False if (request_config or request_delete) and intersight.result['api_response'].get('Moid'): # resource exists and moid was returned moid = intersight.result['api_response']['Moid'] if request_config: resource_values_match = compare_values( module.params['api_body'], intersight.result['api_response']) else: # request_delete delete_resource(intersight, moid) if request_config and not resource_values_match: configure_resource(intersight, moid) module.exit_json(**intersight.result)
def main(): argument_spec = intersight_argument_spec argument_spec.update(server_names=dict(type='list', required=True), ) module = AnsibleModule( argument_spec, supports_check_mode=True, ) intersight = IntersightModule(module) # one API call returning all requested servers module.exit_json(intersight_servers=get_servers(module, intersight))
def main(): argument_spec = intersight_argument_spec argument_spec.update( server_names=dict(type='list', required=True), ) module = AnsibleModule( argument_spec, supports_check_mode=True, ) if module._name == 'intersight_facts': module.deprecate("The 'intersight_facts' module has been renamed to 'intersight_info'", version='2.13') intersight = IntersightModule(module) # one API call returning all requested servers module.exit_json(intersight_servers=get_servers(module, intersight))