freckles package

Submodules

freckles.defaults module

freckles.exceptions module

exception freckles.exceptions.FrecklesConfigException(keys=None, msg=None, solution=None, reason=None, references=None)[source]

Bases: frutils.exceptions.FrklException

exception freckles.exceptions.FrecklesPermissionException(key=None, msg=None, solution=None, reason=None, addition_references=None)[source]

Bases: frutils.exceptions.FrklException

exception freckles.exceptions.FrecklesRunException(msg=None, run_info=None)[source]

Bases: frutils.exceptions.FrklException

exception freckles.exceptions.FrecklesUnlockException(message)[source]

Bases: frutils.exceptions.FrklException

exception freckles.exceptions.FrecklesVarException(frecklet=None, frecklet_name=None, var_name=None, errors=None, task_path=None, vars=None, task=None, msg=None, solution=None, references=None)[source]

Bases: frutils.exceptions.FrklException

exception freckles.exceptions.FreckletBuildException(frecklet, msg, solution=None, reason=None, references=None)[source]

Bases: frutils.exceptions.FrklException

exception freckles.exceptions.FreckletException(frecklet, parent_exception, frecklet_name)[source]

Bases: frutils.exceptions.FrklException

exception freckles.exceptions.InvalidFreckletException(frecklet=None, parent_exception=None, frecklet_name=None)[source]

Bases: frutils.exceptions.FrklException

freckles.frecklecutable module

class freckles.frecklecutable.Frecklecutable(frecklet, context)[source]

Bases: object

check_become_pass(run_config, run_secrets, parent_task, password_callback)[source]
context
create_run_inventory(inventory=None, run_config=None, run_vars=None)[source]
frecklet
process_tasks(inventory)[source]

Calculates the tasklist for a given inventory.

run_frecklecutable(inventory=None, run_config=None, run_vars=None, parent_task=None, result_callback=None, elevated=None, env_dir=None, password_callback=None, extra_callbacks=None)[source]
class freckles.frecklecutable.FrecklecutableMixin(*args, **kwargs)[source]

Bases: object

create_frecklecutable(context)[source]
freckles.frecklecutable.ask_password(prompt)[source]
freckles.frecklecutable.is_duplicate_task(new_task, idempotency_cache)[source]
freckles.frecklecutable.remove_none_values(input)[source]
freckles.frecklecutable.set_run_defaults(inventory=None, run_config=None, run_vars=None)[source]

freckles.freckles module

class freckles.freckles.Freckles(context_config=None, extra_repos=None, config_repos=None, default_context_name='default')[source]

Bases: object

The main class to encapsulate most things a developer would want to achieve with ‘freckles’.

This has a fairly complex configuration processing mechanism in-built, which is mainly used to enable maximum flexibility when building user-facing apps on top of ‘freckles’. In most cases, you can safely ignore all that, and set the ‘config_repos’ value to ‘None’, and use ‘default_context_config’ to set the context defaults you want to use.

In case you want to utilize the config processing feature (but really, best to just ignore it, it is probably too complex for what it does and will be re-written and simplified at some stage):

The ‘default_context_config’, can be either a string, a dict or a dict. If a list, every element will be merged on-top of the previous (merged) dict. If a string, the ‘config_repos’ will be checked whether they contain a file with that name and a ‘.context’ file extension, if there is, the content of that file will be used, if not, the string must either be ‘default’, in which case an empty dict will be returned, or it must contain a ‘=’, in which case a one-item dict will be created with the left side (before ‘=’) used as key, and the right one as value (some simple auto-parsing will be used to determine whether the value is a bool or integer).

Parameters:
  • context_config – the default configuration that underlies everything
  • extra_repos (list) – a list of extra repositories to search for frecklets and resources (see above for format)
  • config_repos (dict, string) – a single path or a dictionary of alias/path to point to folders containing context configurations
create_context(context_name, context_config, set_current=False, extra_repos=None)[source]
create_frecklecutable(frecklet_name, context_name=None)[source]
current_context
frecklets
get_context(context_name=None)[source]
get_frecklet(frecklet_name, context_name=None)[source]
get_frecklet_index(context_name=None)[source]
class freckles.freckles.FrecklesDesc(context_config=None, extra_repos=None, context_alias=None)[source]

Bases: object

context()[source]
context_alias
context_config
extra_repos
freckles_obj
classmethod from_dict(context_config=None, extra_repos=None, context_alias='default')[source]
to_dict()[source]
class freckles.freckles.FrecklesRunDesc(frecklet_name, vars=None, run_config=None, freckles_desc=None)[source]

Bases: object

frecklet_name
classmethod from_dict(frecklet_name, vars=None, run_config=None, context_config=None, extra_repos=None, context_alias=None)[source]
run_config
run_frecklet(password_callback=None)[source]
to_dict()[source]
vars

freckles.output_callback module

class freckles.output_callback.FrecklesResultCallback[source]

Bases: object

Class to gather results of a frecklecute run.

add_result(result_id, result)[source]
register_task(frecklet_metadata)[source]
result
class freckles.output_callback.FrecklesRunRecord(run_id, adapter_name, task_list, run_vars, run_config, run_env, run_properties, result, success, parent_result, root_task, exception=None)[source]

Bases: object

freckles.schemas module

Module contents

freckles.print_version(ctx, param, value)[source]