Module entrypoint.
()
| 66 | |
| 67 | |
| 68 | def main(): |
| 69 | """Module entrypoint.""" |
| 70 | module = initialise_module() |
| 71 | |
| 72 | if not HAS_LINODE_DEPENDENCY: |
| 73 | module.fail_json(msg=missing_required_lib("linode-api4"), exception=LINODE_IMP_ERR) |
| 74 | |
| 75 | client = build_client(module) |
| 76 | stackscript = stackscript_available(module, client) |
| 77 | |
| 78 | if module.params["state"] == "present" and stackscript is not None: |
| 79 | module.exit_json(changed=False, stackscript=stackscript._raw_json) |
| 80 | |
| 81 | elif module.params["state"] == "present" and stackscript is None: |
| 82 | stackscript_json = create_stackscript( |
| 83 | module, |
| 84 | client, |
| 85 | label=module.params["label"], |
| 86 | script=module.params["script"], |
| 87 | images=module.params["images"], |
| 88 | desc=module.params["description"], |
| 89 | public=module.params["public"], |
| 90 | ) |
| 91 | module.exit_json(changed=True, stackscript=stackscript_json) |
| 92 | |
| 93 | elif module.params["state"] == "absent" and stackscript is not None: |
| 94 | stackscript.delete() |
| 95 | module.exit_json(changed=True, stackscript=stackscript._raw_json) |
| 96 | |
| 97 | elif module.params["state"] == "absent" and stackscript is None: |
| 98 | module.exit_json(changed=False, stackscript={}) |
| 99 | |
| 100 | |
| 101 | if __name__ == "__main__": |
no test coverage detected