def METHOD_NAME(self, state_ind=None, index=None):
    """creating bosh invocation file - json file with inputs values"""
    input_json = {}
    for f in attr_fields(self.inputs, exclude_names=("executable", "args")):
        if self.state and f"{self.name}.{f.name}" in state_ind:
            value = getattr(self.inputs, f.name)[state_ind[f"{self.name}.{f.name}"]]
        else:
            value = getattr(self.inputs, f.name)
        # adding to the json file if specified by the user
        if value is not attr.NOTHING and value != "NOTHING":
            if is_local_file(f):
                value = Path(value)
                self.bindings.extend(["-v", f"{value.parent}:{value.parent}:ro"])
                value = str(value)
            input_json[f.name] = value
    filename = self.cache_dir / f"{self.name}-{index}.json"
    with open(filename, "w") as jsonfile:
        json.dump(input_json, jsonfile)
    return str(filename)