lmaps.plugins package¶
Submodules¶
lmaps.plugins.ansible_playbook module¶
Since the arguments of the config are not validated (IoC reasons) at runtime, a schema needs to be declared here so that the unit can be validated. ALL plugins will need some schema declared so that the handler can make sure what is being asked is valid.
The bare minimum is:
`
args_schema = {}
`
to validate the unit config:
``` handler:
name: some_name type: the_name_of_this_file_minus_the_py args:
whatever: you put here gets: validated by args_schema: declared in the plugin
If a plugin needs to hand instance operations (as this example does)
there needs to be instance_create, instance_delete and instance_apply hook functions declared that can pass UnitHandler kwargs to your handler class.
Upon construction, the instance can be had in kwargs[‘instance’]
and the unit can be had in kwargs[‘unit’]. The instance gives you the “what”, the unit gives you the “where”, and you just need to supply the “how”.
Once you get to the point where you need an actual “something” to occur, work can
be dispatched and received from self.runner in your UnitHandler.
-
class
lmaps.plugins.ansible_playbook.
AnsiblePlaybook
(**kwargs)¶ Bases:
lmaps.core.handlers.Handler
Handles ansible-playbook type units
-
apply
()¶ Handles when a client wants to “apply” an instance :return: Boolean the fact that it was created (exceptions get propagated back to the clients)
-
create
()¶ Handles when a client wants to “create” an instance :return: Boolean the fact that it was created (exceptions get propagated back to the clients)
-
playbook
= None¶
-
preflight_checks
()¶ Makes sure things are all good before trying to use this handler
-
results
= None¶
-
setup
()¶ Configure this handler :return:
-
varfile
= None¶
-
write_varsfile
()¶ Write the instance to an ansible vars file. :return: Tempfile handle/anchor/link/cursor/semaphore/refint/ioctl/whatever
-
-
lmaps.plugins.ansible_playbook.
instance_apply
(**kwargs)¶ This is the main incoming hook from the Manager Handler wanting an “apply” to occur :return: A message for the client
-
lmaps.plugins.ansible_playbook.
instance_create
(**kwargs)¶ This is the main incoming hook from the Manager Handler wanting a “create” to occur :return: A message for the client
-
lmaps.plugins.ansible_playbook.
instance_delete
(**kwargs)¶ This is unsopperted at the moment :return: A message for the client
-
lmaps.plugins.ansible_playbook.
run_playbook
(*args, **kwargs)¶