Documentation
¶
Index ¶
- Constants
- Variables
- type Json
- func (j *Json) Changelog(from, to string) *result.Changelogs
- func (j *Json) Condition(source string, scm scm.ScmHandler) (pass bool, message string, err error)
- func (j *Json) ReportConfig() interface{}
- func (j *Json) Source(workingDir string, resultSource *result.Source) error
- func (j *Json) Target(source string, scm scm.ScmHandler, dryRun bool, resultTarget *result.Target) error
- type Spec
Constants ¶
View Source
const ( ENGINEDASEL_V1 = "dasel/v1" ENGINEDASEL_V2 = "dasel/v2" ENGINEDEFAULT = ENGINEDASEL_V1 )
Variables ¶
View Source
var ( // ErrSpecFileUndefined is returned when the Spec has no file defined ErrSpecFileUndefined = errors.New("json file undefined") // ErrSpecKeyUndefined is returned when the Spec has no key defined ErrSpecKeyUndefined = errors.New("json key or query undefined") // ErrSpecFileAndFilesDefined is returned when the Spec has both file and files defined ErrSpecFileAndFilesDefined = errors.New("parameter \"file\" and \"files\" are mutually exclusive") // ErrWrongSpec is returned when the Spec has wrong content ErrWrongSpec error = errors.New("wrong spec content") )
View Source
var (
ErrSpecVersionFilterRequireMultiple = errors.New("in the context of a source, parameter \"versionfilter\" and \"query\" must be used together")
)
Functions ¶
This section is empty.
Types ¶
type Json ¶
type Json struct {
// contains filtered or unexported fields
}
Json stores configuration about the file and the key value which needs to be updated.
func (*Json) Changelog ¶
func (j *Json) Changelog(from, to string) *result.Changelogs
Changelog returns the changelog for this resource, or an empty string if not supported
func (*Json) ReportConfig ¶ added in v0.99.0
func (j *Json) ReportConfig() interface{}
ReportConfig returns a new configuration without any sensitive information or context specific information
type Spec ¶
type Spec struct {
// default:
// * "dasel/v1" is the default engine used to manipulate json files
//
// accepted values:
// * "dasel/v1" for dasel v1 engine
// * "dasel/v2" for dasel v2 engine
// * "dasel" for the latest dasel engine which is currently dasel v2
Engine *string `yaml:",omitempty"`
// remark:
// * "file" and "files" are mutually exclusive
// * scheme "https://", "http://", and "file://" are supported in path for source and condition
File string `yaml:",omitempty"`
// remark:
// * "file" and "files" are mutually exclusive
// * scheme "https://", "http://", and "file://" are supported in path for source and condition
Files []string `yaml:",omitempty"`
// key defines the Jsonpath key to manipulate.
//
// compatible:
// * source
// * condition
// * target
//
// remark:
// * key is a simpler version of Jsonpath accepts keys.
// * key accepts Dasel query, more information on https://github.com/tomwright/dasel
// * key accepts values based on the engine used
//
// example:
// * key: $.name
// * key: name
// * file: https://nodejs.org/dist/index.json
// key: .(lts!=false).version
Key string `yaml:",omitempty"`
// value defines the Jsonpath key value to manipulate. Default to source output.
//
// compatible:
// * condition
// * target
//
// default:
// when used for a condition or a target, the default value is the output of the source.
Value string `yaml:",omitempty"`
// query defines the Jsonpath query to manipulate. It accepts advanced Dasel v1 query
// this parameter is now deprecated in Dasel v2 and replaced by the parameter "key".
//
// compatible:
// * source
// * condition
// * target
//
// example:
// * query: .name
// * query: ".[*].tag_name"
//
// remark:
// * query accepts Dasel query, more information on https://github.com/tomwright/dasel
Query string `yaml:",omitempty"`
VersionFilter version.Filter `yaml:",omitempty"`
// multiple allows to retrieve multiple values from a query. *Deprecated* Please look at query parameter to achieve similar objective
//
// compatible:
// * condition
// * target
Multiple bool `yaml:",omitempty" jsonschema:"-"`
}
"json" defines the specification for manipulating "json" files.
Click to show internal directories.
Click to hide internal directories.