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.