MCPcopy
hub / github.com/trailofbits/algo / main

Function main

library/linode_stackscript_v4.py:68–98  ·  view source on GitHub ↗

Module entrypoint.

()

Source from the content-addressed store, hash-verified

66
67
68def 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
101if __name__ == "__main__":

Callers 1

Calls 6

stackscript_availableFunction · 0.85
create_stackscriptFunction · 0.85
fail_jsonMethod · 0.80
exit_jsonMethod · 0.80
initialise_moduleFunction · 0.70
build_clientFunction · 0.70

Tested by

no test coverage detected