39 lines
1.5 KiB
Python
39 lines
1.5 KiB
Python
#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)
|