custodian.ansible.actions module

This module defines various classes of supported actions. All actions are implemented as static methods, but are defined using classes (as opposed to modules) so that a set of well-defined actions can be namespaced easily.

class custodian.ansible.actions.DictActions()

Bases: object

Class to implement the supported mongo-like modifications on a dict. Supported keywords include the following Mongo-based keywords, with the usual meanings (refer to Mongo documentation for information):

_inc _set _unset _push _push_all _add_to_set (but _each is not supported) _pop _pull _pull_all _rename

However, note that “_set” does not support modification of nested dicts using the mongo {“a.b”:1} notation. This is because mongo does not allow keys with “.” to be inserted. Instead, nested dict modification is supported using a special “->” keyword, e.g. {“a->b”: 1}

static add_to_set(input_dict, settings)

Add to set using MongoDB syntax.

  • Parameters
    • input_dict (dict) – The input dictionary to be modified.
    • settings (dict) – The specification of the modification to be made.

static inc(input_dict, settings)

Increment a value using MongdoDB syntax.

  • Parameters
    • input_dict (dict) – The input dictionary to be modified.
    • settings (dict) – The specification of the modification to be made.

static pop(input_dict, settings)

Pop item from a list using MongoDB syntax.

  • Parameters
    • input_dict (dict) – The input dictionary to be modified.
    • settings (dict) – The specification of the modification to be made.

static pull(input_dict, settings)

Pull an item using MongoDB syntax.

  • Parameters
    • input_dict (dict) – The input dictionary to be modified.
    • settings (dict) – The specification of the modification to be made.

static pull_all(input_dict, settings)

Pull multiple items to a list using MongoDB syntax.

  • Parameters
    • input_dict (dict) – The input dictionary to be modified.
    • settings (dict) – The specification of the modification to be made.

static push(input_dict, settings)

Push to a list using MongoDB syntax.

  • Parameters
    • input_dict (dict) – The input dictionary to be modified.
    • settings (dict) – The specification of the modification to be made.

static push_all(input_dict, settings)

Push multiple items to a list using MongoDB syntax.

  • Parameters
    • input_dict (dict) – The input dictionary to be modified.
    • settings (dict) – The specification of the modification to be made.

static rename(input_dict, settings)

Rename a key using MongoDB syntax.

  • Parameters
    • input_dict (dict) – The input dictionary to be modified.
    • settings (dict) – The specification of the modification to be made.

static set(input_dict, settings)

Sets a value using MongoDB syntax.

  • Parameters
    • input_dict (dict) – The input dictionary to be modified.
    • settings (dict) – The specification of the modification to be made.

static unset(input_dict, settings)

Unsets a value using MongoDB syntax.

  • Parameters
    • input_dict (dict) – The input dictionary to be modified.
    • settings (dict) – The specification of the modification to be made.

class custodian.ansible.actions.FileActions()

Bases: object

Class of supported file actions. For FileActions, the modder class takes in a filename as a string. The filename should preferably be a full path to avoid ambiguity.

static file_copy(filename, settings)

Copies a file. {‘_file_copy’: {‘dest’: ‘new_file_name’}}

  • Parameters
    • filename (str) – Filename.
    • settings (dict) – Must be {“dest”: path of new file}

static file_create(filename, settings)

Creates a file.

  • Parameters
    • filename (str) – Filename.
    • settings (dict) – Must be {“content”: actual_content}

static file_delete(filename, settings)

Deletes a file. {‘_file_delete’: {‘mode’: “actual”}}

  • Parameters
    • filename (str) – Filename.
    • settings (dict) – Must be {“mode”: actual/simulated}. Simulated mode only prints the action without performing it.

static file_modify(filename, settings)

Modifies file access

  • Parameters
    • filename (str) – Filename.
    • settings (dict) – Can be “mode” or “owners”

static file_move(filename, settings)

Moves a file. {‘_file_move’: {‘dest’: ‘new_file_name’}}

  • Parameters
    • filename (str) – Filename.
    • settings (dict) – Must be {“dest”: path of new file}

custodian.ansible.actions.get_nested_dict(input_dict, key)

Helper function to interpret a nested dict input.


© Copyright 2011, Materials Project