diff options
author | Scott Moser <smoser@ubuntu.com> | 2011-08-03 12:26:27 -0400 |
---|---|---|
committer | Scott Moser <smoser@ubuntu.com> | 2011-08-03 12:26:27 -0400 |
commit | ac88bd830da5c283ba584e2a0cc6eeef447d5461 (patch) | |
tree | 6a4af07bfd91828ca8bc7c1c0c64d9b47d80a6e9 | |
parent | 9d4a9dc17696d0465ae4f8b56db9c0948fcac28c (diff) | |
download | vyos-cloud-init-ac88bd830da5c283ba584e2a0cc6eeef447d5461.tar.gz vyos-cloud-init-ac88bd830da5c283ba584e2a0cc6eeef447d5461.zip |
add example part-handler implementing the version 2 part-handler
-rw-r--r-- | doc/examples/part-handler-v2.txt | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/doc/examples/part-handler-v2.txt b/doc/examples/part-handler-v2.txt new file mode 100644 index 00000000..554c34a5 --- /dev/null +++ b/doc/examples/part-handler-v2.txt @@ -0,0 +1,38 @@ +#part-handler +# vi: syntax=python ts=4 +# this is an example of a version 2 part handler. +# the differences between the initial part-handler version +# and v2 is: +# * handle_part receives a 5th argument, 'frequency' +# frequency will be either 'always' or 'per-instance' +# * handler_version must be set +# +# A handler declaring version 2 will be called on all instance boots, with a +# different 'frequency' argument. + +handler_version = 2 + +def list_types(): + # return a list of mime-types that are handled by this module + return(["text/plain", "text/go-cubs-go"]) + +def handle_part(data,ctype,filename,payload,frequency): + # data: the cloudinit object + # ctype: '__begin__', '__end__', or the specific mime-type of the part + # filename: the filename for the part, or dynamically generated part if + # no filename is given attribute is present + # payload: the content of the part (empty for begin or end) + # frequency: the frequency that this cloud-init run is running for + # this is either 'per-instance' or 'always'. 'per-instance' + # will be invoked only on the first boot. 'always' will + # will be called on subsequent boots. + if ctype == "__begin__": + print "my handler is beginning, frequency=%s" % frequency + return + if ctype == "__end__": + print "my handler is ending, frequency=%s" % frequency + return + + print "==== received ctype=%s filename=%s ====" % (ctype,filename) + print payload + print "==== end ctype=%s filename=%s" % (ctype, filename) |