示例#1
0
def validate_action_parameters(action_ref, inputs):
    input_set = set(inputs.keys())

    # Get the list of action and runner parameters.
    parameters = action_db_util.get_action_parameters_specs(action_ref)

    # Check required parameters that have no default defined.
    required = set([param for param, meta in six.iteritems(parameters)
                    if meta.get('required', False) and 'default' not in meta])

    requires = sorted(required.difference(input_set))

    # Check unexpected parameters:
    unexpected = sorted(input_set.difference(set(parameters.keys())))

    return requires, unexpected
示例#2
0
def validate_action_parameters(action_ref, inputs):
    input_set = set(inputs.keys())

    # Get the list of action and runner parameters.
    parameters = action_db_util.get_action_parameters_specs(action_ref)

    # Check required parameters that have no default defined.
    required = set([param for param, meta in six.iteritems(parameters)
                    if meta.get('required', False) and 'default' not in meta])

    requires = sorted(required.difference(input_set))

    # Check unexpected parameters:
    unexpected = sorted(input_set.difference(set(parameters.keys())))

    return requires, unexpected
示例#3
0
    def mask_secrets(self, value):
        from st2common.util import action_db

        result = copy.deepcopy(value)
        execution_parameters = value['parameters']

        # TODO: This results into two DB looks, we should cache action and runner type object
        # for each liveaction...
        #
        #       ,-'"-.
        # .    f .--. \
        # .\._,\._',' j_
        #  7______""-'__`,
        parameters = action_db.get_action_parameters_specs(action_ref=self.action)

        secret_parameters = get_secret_parameters(parameters=parameters)
        result['parameters'] = mask_secret_parameters(parameters=execution_parameters,
                                                      secret_parameters=secret_parameters)
        return result
    def mask_secrets(self, value):
        from st2common.util import action_db

        result = copy.deepcopy(value)
        execution_parameters = value['parameters']

        # TODO: This results into two DB looks, we should cache action and runner type object
        # for each liveaction...
        #
        #       ,-'"-.
        # .    f .--. \
        # .\._,\._',' j_
        #  7______""-'__`,
        parameters = action_db.get_action_parameters_specs(
            action_ref=self.action)

        secret_parameters = get_secret_parameters(parameters=parameters)
        result['parameters'] = mask_secret_parameters(
            parameters=execution_parameters,
            secret_parameters=secret_parameters)
        return result